:root{--ink:#0e1a25;--muted:#607080;--paper:#f5f3ec;--card:#fffefa;--line:#d6d9d3;--mint:#bdffd4;--green:#08684d;--orange:#e56d35;--blue:#176e83;--shadow:0 22px 60px #0e1a2514}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.9 Vazirmatn,system-ui,sans-serif}.skip{position:absolute;right:-999px}.skip:focus{right:18px;top:10px;background:#fff;padding:8px;z-index:9}.site-header{min-height:74px;padding:0 max(5vw,24px);display:flex;align-items:center;gap:30px;border-bottom:1px solid #dde0da;background:#f9f8f3cc;backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:baseline;gap:2px;font-size:22px;letter-spacing:-1px}.brand span{font-weight:800}.brand b{background:var(--orange);color:#fff;padding:0 5px;line-height:1.2}.brand i{font-style:normal;font-weight:500;font-size:11px;letter-spacing:0;margin-right:9px;color:var(--muted)}nav{display:flex;gap:20px;margin:auto}a{color:inherit}nav a{font-size:13px;text-decoration:none;color:#41505c}.back,.button{border:1px solid #b9c0b9;border-radius:999px;padding:8px 14px;text-decoration:none;font-size:12px;white-space:nowrap}.back span{color:var(--orange)}main{overflow:hidden}.hero,.section,.lens-section{max-width:1220px;margin:auto;padding-right:28px;padding-left:28px}.hero{min-height:550px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:70px;padding-top:68px;padding-bottom:68px;background-image:linear-gradient(90deg,transparent 0 96%,#d8dbd4 96% 96.1%,transparent 96.1%),linear-gradient(#ffffff00 95%,#d8dbd4 95% 95.2%,#ffffff00 95.2%);background-size:80px 80px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--green);margin:0 0 10px}.hero h1{font-size:clamp(38px,5vw,70px);line-height:1.23;letter-spacing:-.07em;margin:0 0 20px}.hero h1 em{font-style:normal;color:var(--blue);position:relative}.hero h1 em:after{content:"";position:absolute;height:8px;background:var(--mint);right:0;left:0;bottom:3px;z-index:-1}.lede{max-width:700px;color:#41505c;font-size:16px}.hero-actions{display:flex;gap:10px;margin-top:28px}.button{display:inline-block;background:#fff;font-weight:700;cursor:pointer}.button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.truth-card{background:var(--ink);color:#f4f8f2;padding:26px;border-radius:4px;box-shadow:var(--shadow);transform:rotate(-1.3deg)}.truth-title{font-size:12px;font-weight:700;border-bottom:1px solid #ffffff29;padding-bottom:12px;margin-bottom:4px}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mint);margin-left:7px}.status-row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:12px 0;border-bottom:1px solid #ffffff1c;font-size:13px}.chip{font-size:10px;border-radius:99px;padding:2px 8px;font-weight:800;white-space:nowrap}.chip.live{background:#c5ffda;color:#07563d}.chip.pilot{background:#f9e7a5;color:#755000}.chip.unavailable{background:#e6e8e6;color:#56606a}.truth-card p{font-size:12px;line-height:1.8;color:#d0d8d0;margin:16px 0 8px}.truth-card small{font-size:10px;color:#a5b3ab}.lens-section{padding-top:25px;padding-bottom:60px;display:grid;grid-template-columns:.7fr 1.3fr;gap:26px;align-items:start}.lens-section h2,.section h2{font-size:clamp(26px,3.2vw,42px);letter-spacing:-.05em;line-height:1.35;margin:0}.lens-buttons{display:flex;flex-wrap:wrap;gap:8px}.lens{font:inherit;font-size:12px;border:1px solid var(--line);background:#fffefa;padding:8px 12px;cursor:pointer;border-radius:3px}.lens.active{background:var(--green);border-color:var(--green);color:white}.lens-note{grid-column:2;padding:18px 20px;background:#e7efe8;border-right:4px solid var(--green);min-height:92px;color:#264538}.lens-note b{display:block;font-size:16px;margin-bottom:3px}.section{padding-top:76px;padding-bottom:76px}.architecture{background:#e9e7dc;max-width:none;padding-right:max(28px,calc((100% - 1220px)/2 + 28px));padding-left:max(28px,calc((100% - 1220px)/2 + 28px))}.section-head{max-width:820px}.section-head>p:last-child{color:var(--muted);margin-top:12px}.pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#c7ccc4;margin-top:38px;border:1px solid #c7ccc4}.stage{min-height:232px;background:#fbfaf4;padding:22px;position:relative}.stage-no{font-size:30px;font-weight:800;color:#c6d1cc}.stage h3{font-size:18px;margin:28px 0 8px;line-height:1.45}.stage p{font-size:12px;color:#52616b;min-height:55px}.stage .chip{position:absolute;bottom:19px;right:20px}.unavailable-stage{background:#f1f0eb}.explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.plain-window{background:var(--card);padding:21px;border:1px solid #d4d7d0;border-top:5px solid var(--orange);box-shadow:0 10px 24px #1a252912}.window-kicker{font-size:10px;font-weight:800;color:var(--orange)}.plain-window h3{font-size:16px;line-height:1.65;margin:9px 0}.plain-window p{font-size:12px;color:#4e5d65}.plain-window a{color:var(--green);font-size:12px;font-weight:700}.harness{background:var(--ink);color:#f6f5ee;max-width:none;padding-right:max(28px,calc((100% - 1220px)/2 + 28px));padding-left:max(28px,calc((100% - 1220px)/2 + 28px))}.harness .eyebrow{color:var(--mint)}.harness .section-head>p:last-child{color:#c1cbc4}.harness-map{display:flex;align-items:stretch;gap:10px;margin:35px 0 20px;overflow:auto;padding-bottom:6px}.harness-map div{background:#1b2b38;min-width:150px;padding:16px;border-top:3px solid var(--mint)}.harness-map strong{display:block;font-size:14px}.harness-map span{font-size:11px;color:#b9c7c0}.harness-map i{font-style:normal;color:var(--mint);align-self:center}.callout{border:1px solid #8eb99b;padding:16px 19px;color:#d9ebdc;background:#ffffff0b;font-size:13px}.kpi-section{background:#fffefa;max-width:none;padding-right:max(28px,calc((100% - 1220px)/2 + 28px));padding-left:max(28px,calc((100% - 1220px)/2 + 28px))}.calculator{margin-top:35px;display:grid;grid-template-columns:320px 1fr;border:1px solid var(--line)}.input-panel{background:#eef1ea;padding:20px;display:grid;gap:12px}.input-panel label{font-size:11px;font-weight:700;color:#334450}.input-panel input{width:100%;font:inherit;direction:ltr;text-align:left;margin-top:3px;padding:7px 8px;border:1px solid #bfc8bf;background:#fff;border-radius:2px}.input-panel .button{margin-top:5px;text-align:center}.reset{border:0;background:none;font:inherit;color:#566b60;font-size:11px;cursor:pointer}.metric-panel{padding:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{border-bottom:1px solid #dce0d9;padding:10px 4px}.metric span,.metric small{display:block;font-size:11px;color:var(--muted)}.metric strong{font-size:28px;letter-spacing:-.04em;color:var(--green);display:block;margin:3px 0}.formula{grid-column:1/-1;background:#fff5dc;padding:10px 13px;font-size:11px;margin:0;color:#76531b}.table-wrap{overflow:auto;margin-top:28px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:750px;font-size:12px}th{text-align:right;background:var(--ink);color:#fff;padding:13px}td{vertical-align:top;padding:14px;border-bottom:1px solid var(--line);color:#3f515a}.guard-grid,.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}.guard-grid article{padding:22px;background:#e8f0ed;border-right:4px solid var(--green)}.guard-grid h3{margin:0;font-size:18px}.guard-grid p{font-size:13px;color:#46565c}.guard-grid span{font-size:11px;font-weight:700;color:var(--green)}.roadmap{background:#e9e7dc;max-width:none;padding-right:max(28px,calc((100% - 1220px)/2 + 28px));padding-left:max(28px,calc((100% - 1220px)/2 + 28px))}.roadmap-list{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:1px;background:#c8cdc5}.roadmap-list li{display:grid;grid-template-columns:185px 1fr;background:#fbfaf5}.roadmap-list li>span{background:var(--green);color:#fff;padding:23px;font-size:13px;font-weight:700}.roadmap-list div{padding:18px 24px}.roadmap-list h3{margin:0;font-size:17px}.roadmap-list p{margin:5px 0 0;color:#53616a;font-size:13px}.action-section{padding-bottom:95px}.action-grid{grid-template-columns:repeat(3,1fr)}.action{display:flex;gap:12px;background:#fff;border:1px solid var(--line);padding:16px;cursor:pointer}.action:has(input:checked){border-color:var(--green);background:#eaf6ef}.action input{accent-color:var(--green);margin-top:5px}.action b{display:block;font-size:14px}.action small{display:block;color:var(--muted);font-size:11px;line-height:1.75;margin-top:4px}.readiness{margin-top:20px;max-width:600px}.readiness>div:first-child{display:flex;justify-content:space-between;font-size:12px;font-weight:700}.progress{height:10px;background:#dbe0d9;margin-top:7px}.progress i{display:block;height:100%;width:0;background:var(--green);transition:width .2s}footer{background:#0e1a25;color:#dbe4dc;padding:30px max(5vw,28px);display:flex;justify-content:space-between;gap:30px}footer b{font-size:14px;letter-spacing:.08em}footer p{margin:5px 0;font-size:11px;color:#a8bbb0}footer div:last-child{display:flex;gap:18px;align-items:center}footer a{font-size:12px;color:#fff}@media(max-width:850px){.site-header nav{display:none}.site-header{gap:12px}.back{margin-right:auto}.hero{grid-template-columns:1fr;gap:30px;padding-top:45px}.truth-card{transform:none}.lens-section{grid-template-columns:1fr}.lens-note{grid-column:auto}.pipeline{grid-template-columns:1fr 1fr}.explain-grid{grid-template-columns:1fr}.calculator{grid-template-columns:1fr}.metric-panel{grid-template-columns:1fr 1fr}.action-grid{grid-template-columns:1fr 1fr}}@media(max-width:530px){body{font-size:14px}.site-header{padding:0 18px}.brand i{display:none}.hero,.section,.lens-section{padding-right:18px;padding-left:18px}.architecture,.harness,.kpi-section,.roadmap{padding-right:18px;padding-left:18px}.hero h1{font-size:37px}.pipeline,.metric-panel,.guard-grid,.action-grid{grid-template-columns:1fr}.hero-actions{flex-wrap:wrap}.harness-map{margin-left:-5px;margin-right:-5px}.roadmap-list li{grid-template-columns:1fr}.roadmap-list li>span{padding:11px 16px}footer{display:block;padding:27px 18px}footer div:last-child{margin-top:14px;flex-wrap:wrap}}

/* Technical atlas — industrial editorial documentation system. */
h1,h2,h3,.brand{font-family:"Noto Kufi Arabic",Vazirmatn,sans-serif}.reading-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:30;background:transparent}.reading-progress i{display:block;height:100%;width:0;background:var(--orange)}.search-trigger{font:600 11px Vazirmatn,sans-serif;color:#3c4b56;background:#fffefa;border:1px solid var(--line);border-radius:999px;padding:7px 11px;cursor:pointer}.search-trigger kbd{font:700 10px monospace;background:#e6e8e2;border-radius:3px;padding:1px 5px;margin-right:5px}.atlas-section{padding-top:35px}.atlas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#c9cec6;border:1px solid #c9cec6;margin-top:30px}.atlas-card{min-height:240px;padding:22px;background:var(--card);text-decoration:none;display:flex;flex-direction:column;transition:transform .18s,background .18s;position:relative}.atlas-card:hover,.atlas-card:focus-visible{z-index:2;transform:translateY(-5px);background:#f0f8f2;outline:2px solid var(--green);outline-offset:-2px}.atlas-card.accent{background:var(--ink);color:white}.atlas-card.accent:hover{background:#18303b}.atlas-card span{font:800 10px Vazirmatn,sans-serif;color:var(--orange)}.atlas-card h3{font-size:18px;margin:35px 0 8px;line-height:1.55}.atlas-card p{font-size:12px;color:var(--muted);margin:0}.atlas-card.accent p{color:#bdc9c3}.atlas-card b{font-size:11px;color:var(--green);margin-top:auto}.atlas-card.accent b{color:var(--mint)}
.search-dialog{border:0;padding:0;width:min(720px,calc(100% - 28px));max-height:80vh;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #07131ccc}.search-dialog::backdrop{background:#08131bba;backdrop-filter:blur(5px)}.search-box{padding:22px}.search-box header{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:15px}.search-box input{flex:1;font:600 16px Vazirmatn,sans-serif;border:0;background:transparent;outline:0}.search-close{border:0;background:var(--ink);color:#fff;width:32px;height:32px;cursor:pointer}.search-results{display:grid;gap:7px;margin-top:14px;max-height:55vh;overflow:auto}.search-result{padding:13px 15px;background:#fff;border-right:4px solid var(--green);text-decoration:none}.search-result b,.search-result small{display:block}.search-result small{color:var(--muted);font-size:11px}.search-empty{color:var(--muted);text-align:center;padding:25px}
.doc-body{background-color:#f4f2e9;background-image:linear-gradient(#d9dcd510 1px,transparent 1px),linear-gradient(90deg,#d9dcd510 1px,transparent 1px);background-size:42px 42px}.doc-header .brand{flex-shrink:0}.doc-header .back{margin-right:0}.doc-header nav{margin:auto;display:flex}.doc-shell{max-width:1320px;margin:auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;padding:45px 28px 90px;overflow:visible}.doc-sidebar{position:sticky;top:104px;align-self:start;border-top:6px solid var(--ink);background:#eceae1;padding:17px}.doc-sidebar>span{font:800 10px Vazirmatn,sans-serif;color:var(--orange)}.doc-sidebar h2{font-size:16px;margin:5px 0 14px}.doc-sidebar nav{display:grid;margin:0;gap:1px}.doc-sidebar nav a{padding:8px 10px;background:#f8f7f1;color:#44535d;font-size:11px}.doc-sidebar nav a[aria-current="page"]{background:var(--green);color:white;font-weight:700}.doc-sidebar .side-note{font-size:10px;color:var(--muted);margin:14px 0 0}.doc-main{min-width:0;overflow:visible}.breadcrumbs{font-size:11px;color:var(--muted);margin-bottom:25px}.breadcrumbs a{color:var(--green)}.doc-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:35px;align-items:end;padding-bottom:42px;border-bottom:1px solid #cbd0c8}.doc-hero .chapter{font:800 11px Vazirmatn,sans-serif;color:var(--orange)}.doc-hero h1{font-size:clamp(34px,5vw,64px);line-height:1.25;letter-spacing:-.06em;margin:8px 0 16px}.doc-hero p{font-size:16px;color:#4b5a64;max-width:780px}.chapter-stamp{background:var(--ink);color:#fff;padding:18px;transform:rotate(1.5deg)}.chapter-stamp span,.chapter-stamp small{display:block}.chapter-stamp b{font-size:34px;color:var(--mint)}.chapter-stamp small{font-size:10px;color:#aebeb4}.status-legend{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.doc-section{padding:55px 0;border-bottom:1px solid #d0d4cc;scroll-margin-top:92px}.doc-section>h2{font-size:clamp(25px,3vw,38px);margin:0 0 10px;letter-spacing:-.04em}.doc-section>.intro{color:var(--muted);max-width:820px}.toc-inline{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.toc-inline a{font-size:11px;text-decoration:none;background:#fff;border:1px solid var(--line);padding:6px 10px}.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:25px}.doc-grid.three{grid-template-columns:repeat(3,1fr)}.doc-card{background:#fffefa;border:1px solid var(--line);padding:20px}.doc-card.signal{border-top:5px solid var(--green)}.doc-card.caution{border-top:5px solid var(--orange)}.doc-card.dark{background:var(--ink);color:#fff}.doc-card h3{font-size:16px;margin:0 0 8px}.doc-card p,.doc-card li{font-size:12px;color:#52616a}.doc-card.dark p,.doc-card.dark li{color:#c1cdc6}.doc-card ul,.doc-card ol{padding-right:18px;margin:8px 0}.plain-language{margin:24px 0;background:#fff2d6;border:1px solid #e4c47f;border-right:7px solid var(--orange);padding:20px 22px;position:relative}.plain-language:before{content:"به زبان ساده";position:absolute;top:-12px;right:18px;background:var(--orange);color:white;font:800 10px Vazirmatn,sans-serif;padding:2px 9px}.plain-language h3{font-size:17px;margin:5px 0}.plain-language p{font-size:13px;margin-bottom:0}.status-panel{margin:22px 0;display:grid;grid-template-columns:150px 1fr;border:1px solid var(--line)}.status-panel>div{padding:16px}.status-panel>div:first-child{background:var(--ink);color:white}.status-panel>div:last-child{background:#fff}.status-panel h3{font-size:15px;margin:0 0 5px}.status-panel p{font-size:12px;margin:0;color:var(--muted)}.technical-flow{display:flex;align-items:stretch;gap:8px;overflow:auto;margin:25px 0;padding-bottom:8px}.flow-node{min-width:150px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);padding:15px}.flow-node b,.flow-node small{display:block}.flow-node small{font-size:10px;color:var(--muted)}.flow-arrow{align-self:center;color:var(--orange);font-size:23px}.fact-table{overflow:auto;margin-top:22px;border:1px solid var(--line)}.fact-table table{background:#fff}.fact-table code{direction:ltr;unicode-bidi:embed}.decision-table td:first-child,.decision-table th:first-child{font-weight:800}.code-sample{direction:ltr;text-align:left;background:#0b1721;color:#d9f4e1;padding:18px;overflow:auto;border-right:5px solid var(--mint);font:12px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;position:relative;white-space:pre}.copy-code{position:absolute;left:8px;top:8px;font:700 10px Vazirmatn,sans-serif;background:#213542;color:#fff;border:1px solid #4e6877;padding:4px 8px;cursor:pointer}.definition-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:24px}.definition{background:#fff;padding:15px;border-right:4px solid var(--blue)}.definition dt{font:700 13px "Noto Kufi Arabic",sans-serif}.definition dd{font-size:11px;color:var(--muted);margin:4px 0 0}.glossary-filter{width:100%;max-width:520px;font:inherit;padding:10px 12px;border:1px solid var(--line);background:#fff}.learning-path{counter-reset:learn;display:grid;gap:1px;background:var(--line);margin-top:24px}.learning-step{counter-increment:learn;background:#fff;padding:18px 18px 18px 70px;position:relative}.learning-step:before{content:counter(learn,decimal-leading-zero);position:absolute;right:auto;left:18px;font:800 25px "Noto Kufi Arabic",sans-serif;color:#c5d0ca}.learning-step h3{font-size:15px;margin:0}.learning-step p{font-size:12px;color:var(--muted);margin:4px 0}.metric-lab{display:grid;grid-template-columns:330px 1fr;border:1px solid var(--line);margin-top:25px}.metric-lab form{padding:20px;background:#e9ede6;display:grid;gap:10px}.metric-lab label{font-size:11px;font-weight:700}.metric-lab input,.metric-lab select{width:100%;font:inherit;padding:7px;background:#fff;border:1px solid #bec7bd}.lab-output{padding:22px;background:#fff;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.lab-metric{border-bottom:1px solid var(--line);padding:10px}.lab-metric span,.lab-metric small{display:block;color:var(--muted);font-size:10px}.lab-metric b{display:block;font-size:24px;color:var(--green)}.role-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:24px}.role-rail article{background:#fff;padding:18px}.role-rail span{font-size:10px;color:var(--orange);font-weight:800}.role-rail h3{font-size:15px}.role-rail p{font-size:11px;color:var(--muted)}.gate-list{list-style:none;padding:0;counter-reset:gate}.gate-list li{counter-increment:gate;display:grid;grid-template-columns:65px 1fr;background:#fff;border-bottom:1px solid var(--line);padding:16px}.gate-list li:before{content:"G" counter(gate);font:800 18px monospace;color:var(--green)}.gate-list b,.gate-list small{display:block}.gate-list small{font-size:11px;color:var(--muted)}.next-chapter{display:flex;justify-content:space-between;gap:15px;padding-top:35px}.next-chapter a{flex:1;background:var(--ink);color:#fff;text-decoration:none;padding:17px}.next-chapter small,.next-chapter b{display:block}.next-chapter small{color:#aac0b3;font-size:10px}.doc-footer{margin-top:0}.print-only{display:none}
@media(max-width:1000px){.atlas-grid{grid-template-columns:repeat(2,1fr)}.doc-shell{grid-template-columns:210px minmax(0,1fr);gap:25px}.doc-grid.three,.role-rail{grid-template-columns:repeat(2,1fr)}.doc-header nav{display:none}}
@media(max-width:760px){.search-trigger kbd{display:none}.doc-shell{display:block;padding:25px 18px 70px}.doc-sidebar{position:static;margin-bottom:28px}.doc-sidebar nav{grid-template-columns:repeat(2,1fr)}.doc-hero{grid-template-columns:1fr}.chapter-stamp{width:180px}.doc-grid,.doc-grid.three,.definition-list,.role-rail,.metric-lab{grid-template-columns:1fr}.lab-output{grid-template-columns:1fr 1fr}.status-panel{grid-template-columns:1fr}.next-chapter{display:grid}.site-header{gap:8px}.search-trigger{margin-right:auto}.doc-header .back{display:none}}
@media(max-width:530px){.atlas-grid{grid-template-columns:1fr}.atlas-card{min-height:190px}.search-trigger{padding:6px 9px}.doc-sidebar nav{grid-template-columns:1fr 1fr}.lab-output{grid-template-columns:1fr}.doc-hero h1{font-size:34px}.technical-flow{margin-left:-18px;margin-right:-18px;padding-right:18px;padding-left:18px}.site-header .brand i{display:none}}
@media print{.site-header,.doc-sidebar,.search-dialog,.reading-progress,.next-chapter,footer{display:none!important}.doc-body{background:#fff}.doc-shell{display:block;padding:0}.doc-main{width:100%}.doc-section{break-inside:avoid}.print-only{display:block}}

/* Extended atlas chapters: Academy, defect register, and reference. */
.chip.roadmap{background:#d9e6f0;color:#24566d}.chip.blocked{background:#f4d8d2;color:#8a3628}.defect-register,.knowledge-checks{display:grid;gap:9px;margin-top:24px}.defect-register details,.knowledge-checks details{background:#fff;border:1px solid var(--line)}.defect-register summary,.knowledge-checks summary{cursor:pointer;padding:15px 17px;display:flex;justify-content:space-between;gap:15px;align-items:center}.defect-register summary::marker,.knowledge-checks summary::marker{color:var(--orange)}.defect-register details>div,.knowledge-checks details>p{padding:0 18px 16px;margin:0;color:var(--muted);font-size:12px}.defect-register details>div p{margin:7px 0}.curriculum-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:24px}.curriculum-grid .doc-card{border:0;min-height:220px;display:flex;flex-direction:column}.curriculum-grid .doc-card a{margin-top:auto;color:var(--green);font-size:11px;font-weight:700}.module-code{font:800 10px Vazirmatn,sans-serif;color:var(--orange)}.reference-download{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.reference-download small{color:var(--muted)}.reference-matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:24px}.reference-matrix article{background:#fff;padding:18px}.reference-matrix h3{font-size:15px}.reference-matrix li{font-size:11px;color:var(--muted)}.source-ladder{list-style:none;padding:0;counter-reset:source;margin-top:24px}.source-ladder li{counter-increment:source;display:grid;grid-template-columns:55px 1fr;background:#fff;border-bottom:1px solid var(--line);padding:15px}.source-ladder li:before{content:counter(source,decimal-leading-zero);font:800 20px monospace;color:var(--orange);grid-row:1/3}.source-ladder b,.source-ladder small{display:block}.source-ladder small{font-size:11px;color:var(--muted)}.claim-card{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:24px}.claim-card>div{background:#fff;padding:15px}.claim-card span,.claim-card b{display:block}.claim-card span{font-size:10px;color:var(--orange);font-weight:800}.claim-card b{font-size:12px;margin-top:4px}
@media(max-width:1000px){.curriculum-grid,.reference-matrix{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.curriculum-grid,.reference-matrix,.claim-card{grid-template-columns:1fr}.defect-register summary,.knowledge-checks summary{align-items:flex-start}}

/* Self-hosted typefaces: no third-party request is required to read the atlas. */
@font-face{font-family:"Noto Kufi Arabic";font-style:normal;font-weight:600 800;font-display:swap;src:url("./fonts/noto-kufi-arabic.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:Vazirmatn;font-style:normal;font-weight:400 800;font-display:swap;src:url("./fonts/vazirmatn-arabic.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:Vazirmatn;font-style:normal;font-weight:400 800;font-display:swap;src:url("./fonts/vazirmatn-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Interactive workflow atlas: purposeful motion, status-bound and reduced-motion safe. */
.workflow-intro { max-width: 100%; overflow: hidden; }
.chapter-meta { display: flex; flex-wrap: wrap; gap: .45rem; max-width: 100%; }
.workflow-lab { --ink: #112b2a; --line: #b8cac4; --surface: #f6faf7; background: linear-gradient(145deg, #f5faf7 0%, #edf5f0 52%, #f8faf8 100%); border: 1px solid #d5e4dc; border-radius: 24px; padding: clamp(1rem, 3vw, 2rem); box-shadow: 0 18px 50px rgba(21, 67, 55, .08); }
.workflow-toolbar, .workflow-actions, .workflow-status-legend { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.workflow-toolbar { border-bottom: 1px solid #d9e5df; padding-bottom: 1rem; }
.workflow-mode { background: #fff; border: 1px solid #c9d9d1; border-radius: 999px; color: #1c3d35; cursor: pointer; font: inherit; font-weight: 700; padding: .65rem .9rem; transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.workflow-mode:hover, .workflow-mode:focus-visible { transform: translateY(-2px); box-shadow: 0 7px 18px rgba(16, 65, 51, .15); outline: 3px solid rgba(15, 122, 94, .24); outline-offset: 2px; }
.workflow-mode.is-selected { background: #123f34; border-color: #123f34; color: #fff; }
.workflow-actions { justify-content: space-between; margin: 1rem 0 .75rem; }
.workflow-actions .button { margin: 0; }
.workflow-actions .ghost { background: transparent; border: 1px solid #9ab5a9; color: #17493d; }
.workflow-snapshot { color: #4b625a; font-size: .84rem; margin: 0; max-width: 38rem; }
.workflow-status-legend { color: #416058; font-size: .8rem; margin: .75rem 0 1rem; }
.workflow-status-legend span { align-items: center; display: inline-flex; gap: .35rem; }
.workflow-current-title { border-right: 4px solid #c77f1b; color: #173f34; font-weight: 800; margin: .8rem 0; padding: .55rem .75rem; }
.legend-dot { border-radius: 50%; display: inline-block; height: .55rem; width: .55rem; }
.legend-dot.live { background: #15966c; box-shadow: 0 0 0 4px rgba(21, 150, 108, .12); }.legend-dot.pilot { background: #bd7a16; box-shadow: 0 0 0 4px rgba(189, 122, 22, .12); }.legend-dot.unavailable { background: #8b9690; }.legend-dot.roadmap { background: #7471bf; }
.workflow-scroller { direction: ltr; max-width: 100%; overflow-x: auto; padding: .2rem; }
.workflow-map { background: radial-gradient(circle at 48% 45%, rgba(154, 214, 183, .19), transparent 39%), #fbfdfb; border: 1px solid #cbdcd3; border-radius: 18px; isolation: isolate; min-height: 510px; min-width: 740px; overflow: hidden; position: relative; }
.workflow-map::after { background-image: linear-gradient(rgba(27, 77, 62, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(27, 77, 62, .055) 1px, transparent 1px); background-size: 28px 28px; content: ''; inset: 0; pointer-events: none; position: absolute; z-index: -1; }
.network-band { border-left: 1px dashed transparent; color: #72877f; display: none; font-size: .72rem; inset-block: 0; padding: 1rem .75rem; position: absolute; text-align: right; width: 21%; z-index: 0; }
.network-band b, .network-band small { display: block; }.network-band small { font-size: .66rem; margin-top: .2rem; }
.band-client { background: rgba(126, 175, 210, .08); left: 0; }.band-edge { background: rgba(110, 178, 146, .08); left: 21%; }.band-service { background: rgba(78, 135, 112, .09); left: 42%; width: 36%; }.band-external { background: rgba(163, 147, 207, .09); left: 78%; width: 22%; }
.workflow-map[data-overlay='on'] .network-band { border-left-color: rgba(46, 92, 77, .25); display: block; }
.workflow-links { inset: 0; overflow: visible; pointer-events: none; position: absolute; z-index: 1; }
.workflow-link { fill: none; stroke: var(--line); stroke-linecap: round; stroke-width: 3; }.workflow-link.status-live { stroke: #13956b; stroke-dasharray: 8 11; animation: workflow-dash 1.3s linear infinite; }.workflow-link.status-pilot { stroke: #c77f1b; stroke-dasharray: 5 10; animation: workflow-dash 2.2s linear infinite; }.workflow-link.status-roadmap { stroke: #7772c3; stroke-dasharray: 2 10; }.workflow-link.status-unavailable { stroke: #a5aaa7; stroke-dasharray: 2 8; opacity: .62; }.workflow-link.is-traced { filter: drop-shadow(0 0 5px rgba(17, 119, 84, .5)); stroke-width: 5; }
.workflow-nodes { inset: 0; position: absolute; z-index: 2; }
.workflow-node { background: rgba(255,255,255,.97); border: 1px solid #cadad1; border-radius: 14px; box-shadow: 0 7px 18px rgba(19, 57, 47, .1); color: #153c31; cursor: pointer; display: grid; gap: .2rem; min-height: 84px; padding: .56rem .68rem; position: absolute; text-align: right; top: var(--y); transform: translate(50%, -50%); transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; width: 145px; right: calc(100% - var(--x)); }
.workflow-node:hover, .workflow-node:focus-visible, .workflow-node.is-active { border-color: #158363; box-shadow: 0 10px 25px rgba(10, 100, 73, .23); outline: 0; transform: translate(50%, -50%) scale(1.035); }.workflow-node:focus-visible { outline: 3px solid rgba(15, 122, 94, .3); }
.workflow-node b { font-size: .82rem; line-height: 1.45; }.workflow-node small { color: #6b8379; font-size: .7rem; }.node-status { align-items: center; border-radius: 999px; display: inline-flex; font-size: .58rem; font-weight: 800; justify-self: start; padding: .12rem .38rem; width: fit-content; }.workflow-node.status-live .node-status { background: #dff6eb; color: #087452; }.workflow-node.status-pilot .node-status { background: #fff0d8; color: #8b570c; }.workflow-node.status-unavailable { background: #f3f5f4; filter: saturate(.45); }.workflow-node.status-unavailable .node-status { background: #e6e9e7; color: #63706a; }.workflow-node.status-roadmap .node-status { background: #ebe9ff; color: #514d9e; }
.workflow-details { display: grid; gap: 1rem; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); margin-top: 1rem; max-width: 100%; min-width: 0; }.workflow-inspector, .workflow-code-panel { background: #fff; border: 1px solid #d5e2da; border-radius: 16px; max-width: 100%; min-width: 0; padding: 1.15rem; }.workflow-inspector h3, .workflow-code-panel h3 { color: #153c31; font-size: 1.06rem; margin: .15rem 0 .8rem; }.workflow-inspector dl { display: grid; gap: .6rem; margin: 0; }.workflow-inspector dl div { border-bottom: 1px solid #edf2ee; padding-bottom: .55rem; }.workflow-inspector dt { color: #618077; font-size: .72rem; font-weight: 800; }.workflow-inspector dd { color: #27473e; font-size: .84rem; line-height: 1.7; margin: .12rem 0 0; overflow-wrap: anywhere; }.workflow-evidence { color: #0f775a; display: inline-block; font-weight: 800; margin-top: .85rem; }
.workflow-code { background: #102d28; border-radius: 12px; color: #d7eee4; counter-reset: code; font: .78rem/1.8 ui-monospace, SFMono-Regular, Consolas, monospace; list-style: none; margin: .75rem 0 0; overflow: auto; padding: .75rem; }.workflow-code li { border-right: 3px solid transparent; padding: .26rem .5rem; transition: background .2s ease, border-color .2s ease; white-space: pre; }.workflow-code li::before { color: #7eb4a2; content: counter(code, decimal-leading-zero); counter-increment: code; display: inline-block; margin-left: .8rem; }.workflow-code li.is-active { background: rgba(72, 187, 143, .18); border-right-color: #63ddae; color: #fff; }.code-note { color: #60776f; font-size: .76rem; margin: .65rem 0 0; }
.workflow-map.is-paused .workflow-link { animation-play-state: paused; }.workflow-map.is-paused .workflow-node.is-active { box-shadow: 0 7px 18px rgba(19, 57, 47, .1); }
@keyframes workflow-dash { to { stroke-dashoffset: -38; } }
@media (prefers-reduced-motion: reduce) { .workflow-link { animation: none !important; }.workflow-node, .workflow-mode { transition: none; } }
@media (max-width: 760px) { .workflow-lab { max-width: 100%; min-width: 0; padding: 1rem; }.workflow-actions { align-items: flex-start; flex-direction: column; }.workflow-details { grid-template-columns: minmax(0, 1fr); }.workflow-code li { overflow-wrap: anywhere; white-space: pre-wrap; }.workflow-map { min-height: 470px; }.workflow-node { width: 132px; } }
