/* FDE workspace: a quiet learning surface with a connected syllabus as its spine. */
:root{--paper:#F2F4F9;--paper-0:rgba(242,244,249,0);--panel:#FFFFFF;--panel-2:#EAEFF6;--panel-3:#DDE4F0;--rail-bg:#FFFFFF;--ink:#242A42;--ink-2:#515C74;--ink-3:#69748A;--rule:#D9E0EC;--rule-soft:#E9EDF4;--plot:#4559C7;--plot-ink:#3546AE;--plot-soft:#A2ACE3;--plot-wash:#EBEEFC;--plot-hover:#DEE4FB;--plot-fill:rgba(69,89,199,.15);--signal:#4559C7;--signal-wash:#EBEEFC;--signal-ink:#3546AE;--signal-ink-2:#3546AE;--signal-line:#C5CDEF;--signal-line-2:#C5CDEF;--verified:#247467;--verified-ink:#1D665B;--verified-wash:#E1F1EB;--verified-line:#B5DAD0;--sel-bg:#4559C7;--sel-line:#4559C7;--sel-fg:#FFFFFF;--sel-mute:#DAE0FF;--on-ink:#FFFFFF;--on-ink-2:#D3DBF1;--on-ink-3:#D3DBF1;--disp:"Manrope",sans-serif;--body:"Source Sans 3",sans-serif;--rail:232px;--doc:1160px;--measure:65ch;--measure-lede:65ch;--fs-body:17px;--fs-ui:15px;--fs-meta:14px;--fs-key:12px;--fs-lede:19px;--fs-h3:25px;--fs-h4:20px;--shadow-soft:rgba(30,43,81,.06);--shadow:rgba(30,43,81,.16)}
:root[data-theme="dark"]{--paper:#151B2B;--paper-0:rgba(21,27,43,0);--panel:#1E263A;--panel-2:#2A344B;--panel-3:#35425D;--rail-bg:#1B2234;--ink:#ECF0FA;--ink-2:#BBC6DA;--ink-3:#A0AFC8;--rule:#3A4660;--rule-soft:#303B52;--plot:#9FADFF;--plot-ink:#BEC8FF;--plot-soft:#6371B5;--plot-wash:#303B65;--plot-hover:#3C4979;--plot-fill:rgba(159,173,255,.18);--signal:#AAB7FF;--signal-wash:#303B65;--signal-ink:#C7CFFF;--signal-ink-2:#C7CFFF;--signal-line:#596B9E;--signal-line-2:#596B9E;--verified:#80CEB6;--verified-ink:#A2E2CF;--verified-wash:#233F3B;--verified-line:#436C61;--sel-bg:#A9B7FF;--sel-line:#A9B7FF;--sel-fg:#172048;--sel-mute:#34497B;--on-ink:#19223B;--on-ink-2:#A3B2D0;--on-ink-3:#A3B2D0}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#151B2B;--paper-0:rgba(21,27,43,0);--panel:#1E263A;--panel-2:#2A344B;--panel-3:#35425D;--rail-bg:#1B2234;--ink:#ECF0FA;--ink-2:#BBC6DA;--ink-3:#A0AFC8;--rule:#3A4660;--rule-soft:#303B52;--plot:#9FADFF;--plot-ink:#BEC8FF;--plot-soft:#6371B5;--plot-wash:#303B65;--plot-hover:#3C4979;--plot-fill:rgba(159,173,255,.18);--signal:#AAB7FF;--signal-wash:#303B65;--signal-ink:#C7CFFF;--signal-ink-2:#C7CFFF;--signal-line:#596B9E;--signal-line-2:#596B9E;--verified:#80CEB6;--verified-ink:#A2E2CF;--verified-wash:#233F3B;--verified-line:#436C61;--sel-bg:#A9B7FF;--sel-line:#A9B7FF;--sel-fg:#172048;--sel-mute:#34497B;--on-ink:#19223B;--on-ink-2:#A3B2D0;--on-ink-3:#A3B2D0}}
body{background-image:none;line-height:1.6;letter-spacing:0;font-feature-settings:normal}h1,h2,h3,h4{letter-spacing:-.035em;line-height:1.2;font-weight:700}a{text-underline-offset:3px}button,input,select,textarea{font-family:var(--body)}button,a,input{touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--plot);outline-offset:3px}.shell{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100vh}.rail{height:100dvh;padding:32px 20px 20px;gap:0;background:var(--rail-bg);backdrop-filter:none;z-index:40;overflow:auto;display:flex;flex-direction:column}.rail-head{display:block}.rail-brand{display:flex;gap:13px;align-items:center;color:var(--ink);font-family:var(--disp);text-decoration:none;font-size:24px;line-height:1;font-weight:800;letter-spacing:-1px}.brand-sub{display:block;font-size:12px;font-weight:500;color:var(--ink-3);letter-spacing:0;margin-top:7px}.brand-symbol{width:34px;height:38px;display:flex;gap:4px;align-items:flex-end;transform:skewY(-10deg)}.brand-symbol i{width:8px;background:var(--plot);border-radius:2px;display:block;height:36px}.brand-symbol i:nth-child(2){height:25px;opacity:.75}.brand-symbol i:nth-child(3){height:15px;opacity:.45}.guide-search{border:1px solid var(--rule);background:var(--paper);padding:10px 11px;border-radius:7px;display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink-3);margin:34px 0 25px;cursor:pointer;text-align:left}.guide-search kbd{font:11px var(--body);margin-left:auto;border:1px solid var(--rule);border-radius:3px;padding:0 4px;background:var(--panel)}.rail-nav{display:flex;flex-direction:column;gap:7px;overflow:visible;margin:0}.rail-nav a{border:0;border-radius:7px;gap:11px;padding:11px 12px;align-items:center;font-size:14px;font-weight:500;font-family:var(--disp);line-height:1.4;color:var(--ink-2)}.rail-nav a svg{flex-shrink:0;opacity:.78}.rail-nav a:hover{background:var(--paper)}.rail-nav a.on{background:var(--plot-wash);color:var(--plot-ink);font-weight:700}.rail-nav a.on svg{opacity:1}.rail-progress{margin:36px 10px 26px;font-size:13px;color:var(--ink-3)}.rail-progress strong{display:block;color:var(--ink);font-weight:600;font-size:14px;margin:5px 0 10px}.rail-meter{height:5px;border-radius:5px;overflow:hidden;background:var(--panel-2);margin-bottom:10px}.rail-meter i{display:block;height:100%;width:0;background:var(--verified);transition:width .2s}.rail-progress a{font-size:13px;text-decoration:none}.rail-foot{padding:18px 10px 0;border-top:1px solid var(--rule-soft);font-size:12px;line-height:1.5;position:relative}.sources-shortcut{display:block;color:var(--ink-2);font-size:13px;text-decoration:none;margin-bottom:9px}.rail-fresh{display:block;font-size:11px}.rail-save{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0;font-size:11px;line-height:1.4}.rail-save.off{display:none}.rail-save button{border:0;padding:0 3px;background:transparent;color:var(--plot);cursor:pointer}.rail-foot .utl{margin-top:12px;width:34px;height:32px;background:var(--paper);border:1px solid var(--rule);border-radius:6px}.workspace-top{height:72px;padding:0 48px;border-bottom:1px solid var(--rule-soft);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;color:var(--ink-2);background:var(--panel)}.fresh-link{display:flex;align-items:center;gap:7px;color:var(--ink-3);font-size:12px;text-decoration:none}.fresh-link>span{height:6px;width:6px;background:var(--verified);border-radius:50%}main{width:100%;min-width:0}.workspace-ready main>section[hidden]{display:none!important}main>section{max-width:1260px;margin:0 auto;padding:48px 48px 60px;border-bottom:0;scroll-margin-top:25px}main>section>*{max-width:none}main>section+section[data-workspace]{border-top:1px solid var(--rule-soft)}.workspace-ready main>section.view-first{border-top:0}.sec-key{display:none}.sec-head{display:block;margin-bottom:18px}.sec-head h2{font-size:clamp(28px,3vw,40px);max-width:27ch;letter-spacing:-.045em;line-height:1.2}.sec-meta{display:none}.lede{font-size:18px;max-width:72ch;margin-bottom:30px;color:var(--ink-2)}.workspace-footer{padding:30px 48px;border-top:1px solid var(--rule);background:transparent;max-width:1260px;margin:auto;font-size:12px;color:var(--ink-3)}.workspace-footer p{max-width:100ch}.foot-rule{display:none}.learning-home{padding-top:40px}.learn-heading{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:35px}.learn-heading h1{font-size:clamp(30px,3.1vw,48px);line-height:1.15;letter-spacing:-.05em;font-weight:800;margin:0 0 17px}.learn-heading p{font-size:17px;line-height:1.55;color:var(--ink-2);margin:0}.path-summary{flex:none;border-left:1px solid var(--rule);padding-left:30px;display:flex;flex-direction:column;gap:3px;align-self:center;min-width:160px}.path-summary-label{font-size:13px;color:var(--ink-3)}.path-summary>strong{font-family:var(--disp);font-size:44px;letter-spacing:-.055em;color:var(--plot);line-height:1.2;font-weight:600}.path-summary>strong span{font-size:22px;margin-left:2px}.path-summary>span:last-child{font-size:12px;color:var(--ink-3)}.starting-point{margin-bottom:32px}.starting-point h2{font:600 15px var(--disp);letter-spacing:-.015em;margin-bottom:12px}.background-choices{display:flex;gap:8px;flex-wrap:wrap}.background-choices button{border:1px solid var(--rule);background:var(--panel);color:var(--ink-2);border-radius:6px;padding:10px 15px;cursor:pointer;font-size:14px;line-height:1.35}.background-choices button[aria-pressed=true]{border-color:var(--plot);color:var(--plot-ink);background:var(--plot-wash);box-shadow:inset 0 0 0 1px var(--plot)}.background-guidance{display:flex;align-items:baseline;gap:15px;margin-top:12px;font-size:14px;line-height:1.45}.background-guidance p{margin:0;max-width:80ch;color:var(--ink-2)}.background-guidance button{border:0;color:var(--plot);background:transparent;cursor:pointer;font-weight:600;font-size:13px;flex-shrink:0;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.learning-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:24px;align-items:start}.syllabus{padding:3px 0}.syllabus-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-right:15px}.syllabus-head h2{font-size:17px;letter-spacing:-.025em}.syllabus-head>span{font-size:12px;color:var(--ink-3)}#phaseList{list-style:none;padding:0;margin:0;position:relative}#phaseList:before{content:"";position:absolute;left:17px;width:1px;background:var(--rule);top:18px;bottom:32px}#phaseList li{position:relative;margin-bottom:8px}#phaseList button{width:100%;text-align:left;display:flex;align-items:flex-start;gap:12px;border:0;background:transparent;padding:10px 10px 10px 0;cursor:pointer;border-radius:7px;color:var(--ink-2)}.phase-index{display:grid;place-items:center;flex:none;width:35px;height:35px;border:1px solid var(--rule);background:var(--paper);border-radius:50%;font-size:13px;font-weight:600;z-index:1}.phase-copy{min-width:0;padding-top:1px}.phase-copy strong{display:block;font-size:14px;font-family:var(--disp);font-weight:600;line-height:1.45;letter-spacing:-.02em}.phase-copy small{display:block;color:var(--ink-3);font-size:12px;margin-top:3px}#phaseList button[aria-current=step]{background:var(--plot-wash);color:var(--plot-ink)}#phaseList button[aria-current=step] .phase-index{background:var(--plot);color:var(--panel);border-color:var(--plot)}#phaseList button.is-complete .phase-index{background:var(--verified-wash);border-color:var(--verified-line);color:var(--verified-ink)}.pace-control{padding:20px 0 0;margin:15px 15px 0 0;border-top:1px solid var(--rule)}.pace-control label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:8px}.pace-control>div{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-3)}.pace-control input{background:var(--panel);color:var(--ink);border:1px solid var(--rule);width:54px;padding:6px 5px 6px 9px;border-radius:5px;font-size:16px}.pace-control strong{font-weight:600;color:var(--ink);margin-left:auto;font-size:13px}.pace-control p{font-size:12px;color:var(--ink-3);line-height:1.4;margin-top:9px}.syllabus-skillmap{font-size:13px;text-decoration:none}.lesson-panel{border:1px solid var(--rule);border-radius:12px;background:var(--panel);overflow:hidden;box-shadow:0 5px 20px var(--shadow-soft);min-width:0}.lesson-header{padding:28px 30px 25px;background:var(--plot-wash);border-bottom:1px solid var(--rule)}.lesson-stage-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;color:var(--plot-ink);font-size:12px;font-weight:600;gap:12px}.lesson-header h2{font-size:27px;line-height:1.25;letter-spacing:-.035em;max-width:26ch}.lesson-header p{margin:12px 0 0;color:var(--ink-2);font-size:16px;line-height:1.5;max-width:63ch}.lesson-outcome{padding:20px 30px;border-bottom:1px solid var(--rule-soft);display:flex;gap:14px;align-items:flex-start;background:var(--panel)}.outcome-symbol{color:var(--verified);background:var(--verified-wash);width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.lesson-outcome strong{display:block;font-size:13px;font-weight:600;margin-bottom:2px}.lesson-outcome p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.5}.milestone{padding:0 30px;border-bottom:1px solid var(--rule-soft)}.milestone-top{display:flex;gap:13px;align-items:flex-start;padding-top:20px}.milestone-check{width:22px;height:22px;flex:none;appearance:none;display:grid;place-content:center;border:1.5px solid var(--rule);border-radius:5px;margin:2px 0 0;cursor:pointer;background:var(--panel)}.milestone-check:checked{background:var(--verified);border-color:var(--verified)}.milestone-check:checked:after{content:"";width:9px;height:5px;border-left:2px solid var(--panel);border-bottom:2px solid var(--panel);transform:rotate(-45deg) translateY(-1px)}.milestone-top label{font-family:var(--disp);font-size:15px;font-weight:700;line-height:1.55;cursor:pointer;letter-spacing:-.02em}.milestone.is-complete .milestone-top label{color:var(--verified-ink)}.milestone details{padding-left:35px}.milestone summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;font-size:13px;color:var(--ink-3);padding:5px 0 17px;gap:10px}.milestone summary::-webkit-details-marker{display:none}.milestone summary:after{content:"+";font-size:20px;line-height:1;color:var(--plot)}.milestone details[open] summary:after{content:"−"}.milestone-body{padding:0 0 23px;color:var(--ink-2);font-size:15px;line-height:1.55}.milestone-body p{margin:0 0 13px;max-width:62ch}.milestone-body h3{font:600 13px var(--body);letter-spacing:0;margin:15px 0 5px;color:var(--ink)}.practice-prompt{border-left:3px solid var(--plot-soft);padding:2px 0 2px 13px;margin:15px 0}.practice-prompt strong{display:block;font-size:13px;color:var(--plot-ink);margin-bottom:4px}.practice-prompt p{margin:0}.proof-line{font-size:14px;color:var(--verified-ink)}.lesson-resources{display:grid;gap:8px;margin-top:12px}.lesson-resources a{display:block;border:1px solid var(--rule);border-radius:6px;padding:10px 12px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:600;background:var(--paper)}.lesson-resources a span{display:block;font-size:12px;font-weight:400;color:var(--ink-3);margin-top:2px}.lesson-resources a:hover{border-color:var(--plot-soft)}.phase-review{padding:22px 30px 24px}.phase-review h3{font-size:16px;letter-spacing:-.025em;margin-bottom:7px}.phase-review p{color:var(--ink-2);font-size:14px;line-height:1.5;margin-bottom:15px}.phase-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.phase-actions button{border:1px solid var(--rule);border-radius:6px;padding:9px 13px;font-size:14px;background:var(--panel);color:var(--ink-2);cursor:pointer}.phase-actions button:last-child{background:var(--sel-bg);color:var(--sel-fg);border-color:var(--sel-line)}.phase-note{display:block;color:var(--ink-3);font-size:12px;padding:0 30px 22px;line-height:1.5}.learning-support{margin-top:40px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr);gap:34px;align-items:start}.project-studio{border-radius:12px;padding:28px 30px;background:#3547A0;color:#FFFFFF}.project-label{display:block;color:#D5DDFF;font-size:12px;margin-bottom:13px}.project-intro h2{font-size:27px;color:#FFF;line-height:1.25;letter-spacing:-.035em}.project-intro p{font-size:15px;color:#E3E8FF;margin:15px 0 20px;line-height:1.6;max-width:54ch}.project-options{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.project-options button{background:transparent;border:1px solid #7181CA;color:#ECF0FF;cursor:pointer;font-size:12px;border-radius:5px;padding:7px 9px}.project-options button[aria-pressed=true]{background:#FFFFFF;color:#3547A0;border-color:#FFFFFF}.project-brief h3{font-size:17px;letter-spacing:-.025em;margin-bottom:8px;color:#FFF}.project-brief p{font-size:14px;color:#E3E8FF;line-height:1.55}.project-brief dl{display:grid;grid-template-columns:80px 1fr;gap:8px 15px;margin:18px 0;font-size:13px;line-height:1.5}.project-brief dt{color:#BDCCFF}.project-brief dd{margin:0;color:#F4F6FF}.project-link{color:#FFF;font-size:13px;text-decoration:underline}.study-method{padding-top:3px}.study-method h2{font-size:20px;margin-bottom:22px}.study-method ol{list-style:none;counter-reset:practice;margin:0;padding:0}.study-method li{position:relative;padding:0 0 20px 37px;counter-increment:practice}.study-method li:before{content:counter(practice);position:absolute;left:0;top:0;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid var(--rule);font-size:12px;color:var(--ink-3)}.study-method strong{display:block;font-size:15px;font-weight:600;margin-bottom:3px}.study-method li span,.study-method p{display:block;font-size:14px;line-height:1.5;color:var(--ink-2);max-width:48ch}.study-method p{padding-top:15px;border-top:1px solid var(--rule);margin-bottom:12px}.study-method>a{font-size:14px}.learning-faq{margin-top:42px}.learning-faq h2{font-size:23px;margin-bottom:20px}.learning-faq details{border-bottom:1px solid var(--rule);padding:15px 0}.learning-faq summary{font-size:16px;font-weight:600;cursor:pointer}.learning-faq details p{max-width:80ch;color:var(--ink-2);font-size:16px;padding:12px 0 0;margin:0}.curriculum-note{font-size:13px;color:var(--ink-3);margin:25px 0 0;max-width:90ch!important}.subnav{display:flex;gap:8px;flex-wrap:wrap;padding:22px 48px 0;max-width:1260px;margin:auto}.subnav a{font-size:13px;line-height:1.3;padding:7px 11px;background:var(--panel);border:1px solid var(--rule);border-radius:5px;text-decoration:none;color:var(--ink-2)}.subnav a[aria-current=true]{color:var(--plot-ink);border-color:var(--plot-soft);background:var(--plot-wash)}
/* Bring the existing tools into the new visual system. */
.panel,.verdict,.q-list,.matrix-wrap,.research-table-wrap,.rmx-dash,.auto-verdict,.rmap,.pb,.xray,.dir-wrap{border-radius:9px}.btn{font-family:var(--body);font-size:15px;font-weight:600;padding:10px 17px;border-radius:6px}.tab{font-family:var(--body);font-size:16px}.tab.on{border-bottom-color:var(--plot)}.tabs{gap:8px}.seg{border-radius:6px;overflow:hidden}.seg button{min-height:36px;font-size:13px}.q{padding:16px 18px}.q .t{font-size:16px}.q .hint{font-size:13px}.xray textarea{font-size:16px;border-radius:6px}.bar-track,.bar-fill{border-radius:5px}.research-block{margin:30px 0}.research-block h3{font-size:23px}.research-block p,.research-block ul{max-width:78ch}.research-table{font-size:15px}.research-table caption{font-size:13px;line-height:1.5;text-align:left}.research-table th,.research-table td{padding:15px 17px}.research-table thead th{background:var(--panel-2);font-family:var(--body);font-size:13px;color:var(--ink-2)}.research-table-wrap{background:var(--panel);border:1px solid var(--rule);overflow:auto}.reference-list{columns:2;column-gap:32px}.reference-list li{break-inside:avoid;font-size:14px;padding:16px 0;margin:0;border-bottom:1px solid var(--rule-soft)}.reference-list small{font-size:12px}.research-note{font-size:14px;border-radius:6px}.research-archive{padding:15px;border-radius:6px;background:var(--panel)}.rmx-bar{padding:18px;background:var(--panel);border:1px solid var(--rule);border-radius:9px;gap:9px}.rmx-bar input[type=search]{font-size:16px;border-radius:6px;min-height:40px;background:var(--paper)}.rmx-tg{border-radius:5px;min-height:36px}.rmx-key{font-size:12px;flex-wrap:wrap}.rmx-dash{margin-top:18px;padding:24px;gap:28px}.rmx-dash h4{font-family:var(--body);font-size:14px;font-weight:600}.rmx-ready .pc{font-size:36px}.rmx-stagehead{border-radius:8px;font-family:var(--disp)}.rmx-sn{font-size:19px}.rmx-group{border-radius:8px;overflow:hidden}.rmx-ghead{padding:12px 15px}.rmx-gt{font-family:var(--body);font-size:16px}.rmx-l{font-size:15px}.rmx-node{padding-top:3px;padding-bottom:3px}.rmx-drawer{border-radius:14px 0 0 14px;max-width:95vw}.rmx-dhead{padding:26px}.rmx-dhead h3{font-size:30px}.rmx-dbody{padding:24px 26px}.rmx-dbody h4{font-size:17px;margin:24px 0 10px}.rmx-dbody li{font-size:16px}.rmx-status{border-radius:6px}.rmx-proof{border-radius:7px;font-size:15px}.rmx-close{width:40px;height:40px;border-radius:6px}.pb-item{border-radius:8px}.rme{background:var(--panel);padding:23px;border:1px solid var(--rule);border-radius:8px;margin-bottom:12px}.rme-cost{text-transform:none;letter-spacing:0;font-family:var(--body);font-size:12px}.dir-controls{gap:9px}.dir-controls input,.dir-controls select{background:var(--panel);border-radius:6px;font-size:15px;min-height:42px}.dir-scroll{border-radius:9px}table.dir{font-size:14px}table.dir thead th{font-family:var(--body);font-size:12px}table.dir td{padding:14px 13px}.cp{border-radius:12px;box-shadow:0 20px 80px var(--shadow);overflow:hidden}.cp-in{padding:20px}.cp-in input{font-size:18px}.cp-row{padding:13px 18px}.cp-k{font-family:var(--body);font-size:11px;letter-spacing:0;text-transform:none}.cp-t{font-size:16px}.cp-t span{font-size:13px}.cp-foot{font-size:12px}.flow{border-radius:8px}.flow .step{padding:16px}.loop-note{border-radius:7px;max-width:80ch}.ev{border-radius:8px}.grid2,.grid3{gap:20px}
@media(min-width:1600px){.workspace-top{padding-left:max(48px,calc((100vw - 232px - 1164px)/2))}.learn-heading h1{font-size:48px}}
@media(max-width:1180px){:root{--rail:205px}.rail{padding-left:14px;padding-right:14px}.rail-nav a{font-size:13px}.workspace-top{padding:0 32px}main>section{padding:35px 32px 50px}.learning-layout{grid-template-columns:205px minmax(0,1fr);gap:20px}.lesson-header,.phase-review{padding:24px}.lesson-outcome{padding:18px 24px}.milestone{padding:0 24px}.background-guidance{display:block}.background-guidance button{margin-top:4px}.subnav{padding:18px 32px 0}.path-summary{padding-left:20px;min-width:140px}.learn-heading h1{font-size:38px}.learning-support{gap:24px}.project-studio{padding:25px}.reference-list{columns:1}}
@media(max-width:960px){:root{--rail:185px}.rail-nav a{padding:10px 8px;gap:8px;font-size:12px}.rail-nav svg{width:18px}.guide-search{padding:9px 8px;font-size:12px}.guide-search kbd{display:none}.rail-progress{margin-left:5px;margin-right:5px}.path-summary{display:none}.learning-layout{grid-template-columns:1fr}.syllabus{display:grid;grid-template-columns:1fr auto;gap:0 18px}.syllabus-head{grid-column:1/-1;padding:0;margin-bottom:12px}#phaseList{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#phaseList:before{display:none}#phaseList li{margin:0}#phaseList button{height:100%;padding:10px;border:1px solid var(--rule);gap:8px;background:var(--panel)}.phase-index{width:25px;height:25px;font-size:11px}.phase-copy strong{font-size:12px}.phase-copy small{font-size:11px}.pace-control{margin:15px 0 0;padding-top:0;border:0;max-width:280px}.pace-control label{margin-bottom:4px}.pace-control p{margin-bottom:0}.syllabus-skillmap{align-self:center;font-size:12px}.learning-support{grid-template-columns:1fr}.study-method ol{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.study-method p{max-width:none}.learn-heading{margin-bottom:28px}.background-choices button{font-size:13px;padding:9px 10px}.rmx-dash{grid-template-columns:1fr}.rmx-dash>div{border:0!important;padding:0!important}.sec-head h2{font-size:32px}}
@media(max-width:760px){.shell{display:block}.rail{position:sticky;top:0;height:auto;display:grid;grid-template-columns:1fr auto;padding:13px 18px 0;border:0;border-bottom:1px solid var(--rule);overflow:visible;z-index:40;gap:0}.rail-head{display:block}.rail-brand{font-size:19px;gap:10px;line-height:1}.brand-sub{font-size:10px;margin-top:4px}.brand-symbol{width:26px;height:28px;gap:3px}.brand-symbol i{width:6px;height:27px}.brand-symbol i:nth-child(2){height:20px}.brand-symbol i:nth-child(3){height:12px}.guide-search{grid-column:2;margin:0;width:37px;height:35px;padding:8px}.guide-search>span{display:none}.rail-nav{grid-column:1/-1;display:flex;flex-direction:row;overflow-x:auto;gap:6px;margin:13px -18px 0;padding:0 12px 10px;scrollbar-width:none}.rail-nav a{white-space:nowrap;font-size:12px;padding:8px 10px;gap:6px}.rail-nav a svg{width:15px;height:15px}.rail-nav::-webkit-scrollbar{display:none}.rail-progress{display:none}.rail-foot{position:absolute;right:66px;top:12px;border:0;padding:0;margin:0}.rail-foot .utl{margin:0;width:34px;height:35px}.rail-foot>a,.rail-foot>.rail-fresh,.rail-foot>.rail-save{display:none}.workspace-top{height:45px;padding:0 21px;font-size:12px}.fresh-link{font-size:10px;gap:5px}.fresh-link>span{width:5px;height:5px}main>section{padding:28px 21px 40px;scroll-margin-top:132px}.learn-heading h1{font-size:35px}.learn-heading p{font-size:16px}.desktop-br{display:none}.starting-point h2{font-size:14px}.background-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px}.background-choices button{font-size:12px;padding:10px 9px}.background-guidance{font-size:13px;margin-top:12px}.starting-point{margin-bottom:25px}.lesson-header h2{font-size:25px}.lesson-header,.phase-review{padding:23px 20px}.lesson-outcome{padding:18px 20px}.milestone{padding:0 20px}.milestone details{padding-left:0}.milestone summary{padding-left:35px}.milestone-body{padding-top:5px}.milestone-body p{font-size:15px}.phase-note{padding:0 20px 20px}.learning-support{margin-top:28px;gap:30px}.project-studio{padding:26px 22px}.learning-faq h2{font-size:22px}.study-method ol{grid-template-columns:1fr 1fr;gap:0 14px}.study-method li{padding-left:30px}.study-method li span{font-size:13px}.study-method li strong{font-size:14px}.subnav{padding:18px 21px 0;gap:7px}.subnav a{font-size:12px}.workspace-footer{padding:25px 21px;font-size:11px}.sec-head h2{font-size:30px}.lede{font-size:17px}.grid2,.grid3,.checker{grid-template-columns:1fr}.research-table{font-size:14px;min-width:600px}.research-table th,.research-table td{padding:12px}.reference-list{padding-left:18px}.rmx-bar{padding:12px}.rmx-bar .seg{flex-wrap:wrap}.rmx-key em{display:none}.rmx-dash{padding:18px}.rmx-cols{grid-template-columns:1fr}.rmx-gut{display:none}.rmx-stagehead{padding:12px;gap:6px}.rmx-sn{font-size:17px}.rmx-ss{font-size:12px}.rmx-drawer{width:100vw;max-width:100vw;border-radius:0}.cp{width:calc(100vw - 24px);max-height:80dvh;top:10dvh}.cp-k{width:55px}.cp-t span{font-size:12px}.cp-foot{gap:8px}.rme{padding:18px}.learning-faq summary{font-size:15px}}
@media(max-width:420px){#phaseList{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-heading h1{font-size:31px}.fresh-link{max-width:170px;text-align:right}.phase-copy strong{font-size:12px}.study-method ol{grid-template-columns:1fr}.pace-control{max-width:205px}.syllabus{gap:0 10px}.pace-control strong{font-size:11px}.lesson-stage-line{font-size:11px}.lesson-header h2{font-size:23px}.project-options button{font-size:11px}.phase-actions button{font-size:12px;padding:9px}.milestone-top label{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.rail,.workspace-top,.subnav,.path-summary,.background-choices,.phase-actions,.project-options,.pace-control{display:none!important}.shell{display:block}.workspace-ready main>section[hidden]{display:block!important}main>section{padding:24px 0}.learning-layout,.learning-support{display:block}.syllabus{display:none}.lesson-panel{box-shadow:none}.project-studio{background:white;color:black}.project-studio *{color:black!important}.lesson-panel,.project-studio{break-inside:avoid}}

[hidden]{display:none!important}
.library-intro{margin:25px 0 20px}.library-intro h3,.library-subhead{font-size:22px;margin-bottom:10px}.library-intro p{font-size:16px;color:var(--ink-2);max-width:75ch}.learning-library{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-bottom:40px}.learning-library>a{display:block;padding:21px 0;border-bottom:1px solid var(--rule);text-decoration:none}.learning-library h3{font-size:16px;letter-spacing:-.025em;color:var(--ink);line-height:1.4}.learning-library p{font-size:13px;color:var(--ink-3);line-height:1.5;margin:7px 0}.learning-library span{font-size:13px;color:var(--plot)}.learning-library a:hover h3{color:var(--plot)}.library-subhead{margin-bottom:20px}
@media(max-width:760px){#lessonPanel,.milestone{scroll-margin-top:132px}.learning-library{grid-template-columns:1fr}.learning-library>a{padding:18px 0}}
/* The resource library is a reading workbench: one clear catalogue, expandable evidence. */
.lib-overview{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;font-size:13px;color:var(--ink-3);margin:-10px 0 26px}.lib-overview span:first-child{font-weight:600;color:var(--ink)}.lib-overview a{margin-left:auto;font-size:12px}.lib-view-tabs{display:flex;gap:22px;border-bottom:1px solid var(--rule);margin-bottom:24px;overflow-x:auto}.lib-view-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:11px 0 14px;font-size:15px;white-space:nowrap;color:var(--ink-3);cursor:pointer}.lib-view-tabs button[aria-selected=true]{border-color:var(--plot);color:var(--plot-ink);font-weight:600}.lib-collections{display:flex;gap:8px;margin-bottom:20px}.lib-collections button{border:1px solid var(--rule);background:var(--panel);padding:8px 13px;border-radius:6px;font-size:14px;cursor:pointer;color:var(--ink-2)}.lib-collections button[aria-pressed=true]{border-color:var(--plot-soft);color:var(--plot-ink);background:var(--plot-wash)}.lib-collections button span{display:inline-block;min-width:20px;text-align:center;margin-left:4px;font-size:12px}.lib-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:var(--panel);border:1px solid var(--rule);border-radius:9px;padding:20px}.lib-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ink-3);min-width:0}.lib-filters label.lib-query{grid-column:1/-1}.lib-filters input,.lib-filters select{font:15px var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:5px;width:100%;min-width:0;min-height:40px;padding:8px 10px}.lib-filters input{background:var(--panel);font-size:17px;min-height:45px}.lib-results-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.lib-results-bar p{font-size:14px;font-weight:600;margin:0;color:var(--ink)}.lib-results-bar button{font-size:13px;background:transparent;border:0;color:var(--plot);padding:5px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.lib-selection-note{font-size:13px;line-height:1.5;color:var(--ink-3);margin:7px 0 20px;max-width:90ch}.lib-resource{display:grid;grid-template-columns:120px minmax(0,1fr);gap:25px;padding:25px 0;border-top:1px solid var(--rule);scroll-margin-top:35px}.lib-resource-type{font-size:13px;padding-top:3px;color:var(--ink-2)}.lib-resource-type>span{font-weight:600}.lib-resource-type small{display:block;font-size:12px;color:var(--ink-3);margin-top:4px}.lib-resource-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.lib-resource h3{font:700 19px var(--disp);letter-spacing:-.035em;line-height:1.4}.lib-resource h3 a{color:var(--ink);text-decoration:none}.lib-resource h3 a:hover{color:var(--plot);text-decoration:underline}.lib-save{flex:none;font:13px var(--body);background:var(--panel);border:1px solid var(--rule);border-radius:5px;padding:5px 11px;cursor:pointer;color:var(--ink-3)}.lib-save[aria-pressed=true]{background:var(--verified-wash);border-color:var(--verified-line);color:var(--verified-ink)}.lib-author{font-size:13px;line-height:1.5;margin:6px 0 9px;color:var(--ink-3)}.lib-author span{margin-left:16px;color:var(--ink-2)}.lib-summary{font-size:16px;color:var(--ink-2);max-width:78ch;margin:0 0 12px;line-height:1.55}.lib-resource-meta{display:flex;align-items:center;gap:9px 13px;flex-wrap:wrap;font-size:11px;color:var(--ink-3)}.lib-access{border-radius:4px;border:1px solid var(--rule);padding:2px 7px;font-size:11px;font-weight:600}.lib-access.free{background:var(--verified-wash);border-color:var(--verified-line);color:var(--verified-ink)}.lib-access.paid{background:var(--panel-2);color:var(--ink-2)}.lib-access.mixed{background:var(--plot-wash);border-color:var(--plot-soft);color:var(--plot-ink)}.lib-starter{color:var(--plot-ink);font-weight:600}.lib-details{margin-top:13px}.lib-details summary{font-size:13px;color:var(--plot);cursor:pointer;width:fit-content}.lib-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;margin-top:15px;padding:20px;background:var(--panel);border:1px solid var(--rule-soft);border-radius:7px}.lib-detail-grid h4{font:600 13px var(--body);letter-spacing:0;margin:0 0 5px;color:var(--ink)}.lib-detail-grid p{font-size:14px;color:var(--ink-2);line-height:1.55;margin:0 0 17px}.lib-detail-grid p:last-child{margin-bottom:0}.lib-evidence{font-size:12px;line-height:1.5;color:var(--ink-3);max-width:95ch;margin:13px 0 7px}.lib-source{font-size:13px}.lib-more{text-align:center;margin:18px 0}.lib-more button,.lib-empty button{padding:10px 18px;border:1px solid var(--rule);border-radius:6px;background:var(--panel);color:var(--plot-ink);font-size:14px;cursor:pointer}.lib-footnote{font-size:12px;color:var(--ink-3);border-top:1px solid var(--rule);padding-top:18px;line-height:1.55;max-width:95ch}.lib-empty{padding:42px 25px;background:var(--panel);border:1px dashed var(--rule);border-radius:8px;text-align:center}.lib-empty h3{font-size:22px;margin-bottom:10px}.lib-empty p{font-size:15px;color:var(--ink-2);max-width:65ch;margin:0 auto 18px}.lib-section-intro{max-width:80ch;margin-bottom:28px}.lib-section-intro h3{font-size:25px;margin-bottom:13px}.lib-section-intro p{font-size:17px;color:var(--ink-2)}.lib-pattern{border-top:1px solid var(--rule);padding:20px 0}.lib-pattern summary{cursor:pointer;list-style:none;position:relative;padding-right:30px}.lib-pattern summary::-webkit-details-marker{display:none}.lib-pattern summary:after{content:'+';position:absolute;right:0;top:0;font-size:22px;color:var(--plot)}.lib-pattern[open] summary:after{content:'−'}.lib-pattern summary span{display:block;font:700 19px var(--disp);line-height:1.4;letter-spacing:-.025em;color:var(--ink)}.lib-pattern summary small{display:block;font-size:14px;color:var(--ink-3);margin-top:6px;max-width:75ch}.lib-pattern-body{padding:20px 25px 4px;margin-top:18px;background:var(--panel);border-left:3px solid var(--plot-soft)}.lib-pattern-body h4{font:600 14px var(--body);letter-spacing:0;margin:0 0 5px}.lib-pattern-body p{font-size:16px;max-width:78ch;line-height:1.55;color:var(--ink-2);margin:0 0 17px}.lib-pattern-body .lib-pattern-sources{font-size:13px;line-height:1.7}#libReadingPaths{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px}.lib-reading-path{padding:23px;background:var(--panel);border:1px solid var(--rule);border-radius:8px}.lib-reading-path h3{font-size:20px;margin-bottom:12px}.lib-reading-path p{font-size:15px;color:var(--ink-2);line-height:1.55;margin:0 0 16px}.lib-reading-path ol{padding-left:20px;font-size:14px;margin:0 0 18px}.lib-reading-path li{padding:5px 0}.lib-reading-path li span{display:block;font-size:11px;color:var(--ink-3)}.lib-reading-path .lib-path-result{padding-top:15px;border-top:1px solid var(--rule-soft);font-size:13px;margin-bottom:0}.lib-buying{max-width:82ch;margin-top:34px}.lib-buying h3{font-size:23px;margin:30px 0 13px}.lib-buying p{font-size:16px;color:var(--ink-2);line-height:1.6}
@media(max-width:1100px){.lib-resource{grid-template-columns:100px minmax(0,1fr);gap:18px}.lib-author span{display:block;margin-left:0;margin-top:3px}.lib-overview a{margin-left:0}.lib-detail-grid{grid-template-columns:1fr;gap:20px}}
@media(max-width:760px){.lib-filters{padding:15px;grid-template-columns:1fr 1fr;gap:12px}.lib-filters input,.lib-filters select{font-size:16px}.lib-view-tabs{gap:20px}.lib-view-tabs button{font-size:13px}.lib-overview{font-size:12px;gap:7px 13px}.lib-resource{grid-template-columns:1fr;gap:9px;padding:23px 0;scroll-margin-top:132px}.lib-resource-type{display:flex;gap:12px;font-size:11px;padding-top:0}.lib-resource-type small{margin-top:0;font-size:11px}.lib-resource h3{font-size:18px}.lib-resource-heading{gap:13px}.lib-summary{font-size:15px}.lib-detail-grid{padding:17px}.lib-resource-meta{gap:7px 10px}.lib-collections button{font-size:13px;padding:8px 10px}#libReadingPaths{grid-template-columns:1fr;gap:17px}.lib-section-intro h3{font-size:23px}.lib-pattern summary span{font-size:18px}.lib-pattern-body{padding:17px 18px 3px}.lib-pattern-body p{font-size:15px}.lib-reading-path{padding:20px}.lib-footnote{font-size:12px}}


/* FDE workflow atlas: one stable frame, progressive detail, and a persistent field board. */
.case-lab{
  --case-cyan:#168C8C;
  --case-blue:#5368E7;
  --case-amber:#B96F19;
  --case-navy:#202A54;
  margin:64px 0 0;
  padding:48px 0 0;
  border-top:1px solid var(--rule);
}
:root[data-theme="dark"] .case-lab{--case-cyan:#69D3CE;--case-blue:#A9B7FF;--case-amber:#F1BB70;--case-navy:#11182C}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .case-lab{--case-cyan:#69D3CE;--case-blue:#A9B7FF;--case-amber:#F1BB70;--case-navy:#11182C}}
.case-lab-heading{
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(390px,1.18fr);
  gap:56px;
  align-items:end;
  margin-bottom:28px;
}
.case-lab-kicker{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--verified-ink)}
.case-lab-heading h2{font:800 clamp(31px,3.2vw,44px)/1.09 var(--disp);letter-spacing:-.05em;max-width:15ch}
.case-lab-heading p{margin:0;max-width:62ch;font-size:17px;line-height:1.58;color:var(--ink-2)}
.case-flow-shell{overflow:hidden;border:1px solid var(--rule);border-radius:16px 16px 0 0;background:var(--panel)}
.case-flow-status{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 20px;border-bottom:1px solid var(--rule-soft);background:var(--panel)}
.case-flow-status>div:first-child span,.case-flow-status>div:first-child strong{display:block}
.case-flow-status>div:first-child span{font-size:12px;color:var(--ink-3)}
.case-flow-status>div:first-child strong{margin-top:1px;font:700 14px/1.4 var(--disp);color:var(--ink)}
.case-readiness{display:grid;grid-template-columns:auto 104px 34px;align-items:center;gap:9px;font-size:12px;color:var(--ink-3)}
.case-readiness>div{height:5px;overflow:hidden;border-radius:5px;background:var(--panel-3)}
.case-readiness i{display:block;height:100%;border-radius:inherit;background:var(--verified)}
.case-readiness strong{font-size:12px;color:var(--verified-ink)}
.case-progress{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--panel)}
.case-progress:before{content:"";position:absolute;left:6%;right:6%;top:31px;height:1px;background:var(--rule);z-index:0}
.case-progress button{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 7px;
  gap:9px;
  align-items:center;
  min-width:0;
  min-height:70px;
  padding:14px 12px;
  border:0;
  border-right:1px solid var(--rule-soft);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.case-progress button:last-child{border-right:0}
.case-progress button:hover{background:var(--paper)}
.case-progress button.is-active{background:var(--plot-wash)}
.case-stage-index{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid var(--rule);
  border-radius:50%;
  background:var(--panel);
  font:700 11px var(--disp);
  color:var(--ink-3);
}
.case-progress button.is-active .case-stage-index{border-color:var(--case-blue);background:var(--case-blue);color:var(--sel-fg);box-shadow:0 0 0 4px var(--plot-wash)}
.case-stage-copy{min-width:0}
.case-stage-copy strong,.case-stage-copy small{display:block;overflow:hidden;text-overflow:ellipsis}
.case-stage-copy strong{font:700 13px/1.35 var(--disp)}
.case-stage-copy small{margin-top:2px;font-size:11px;line-height:1.3;color:var(--ink-3);white-space:nowrap}
.case-progress button>i{width:7px;height:7px;border-radius:50%;background:var(--rule)}
.case-progress button.is-decided>i{background:var(--case-blue)}
.case-progress button.is-assessed>i{background:var(--verified)}
.case-return-loop{display:flex;justify-content:center;padding:7px 14px;border-top:1px solid var(--rule-soft);background:var(--paper)}
.case-return-loop span{position:relative;padding-left:34px;font-size:11px;color:var(--ink-3)}
.case-return-loop span:before{content:"↺";position:absolute;left:9px;top:-5px;font-size:18px;color:var(--case-blue)}
.case-workbench{overflow:hidden;border:1px solid var(--rule);border-top:0;border-radius:0 0 16px 16px;background:var(--panel);box-shadow:0 16px 42px var(--shadow-soft)}
.case-stage-header{
  display:grid;
  grid-template-columns:50px minmax(0,1fr) minmax(170px,.28fr);
  gap:18px;
  align-items:start;
  padding:30px 32px 27px;
  border-bottom:1px solid var(--rule);
  background:var(--panel);
}
.case-stage-number{font:500 40px/1 var(--disp);letter-spacing:-.06em;color:var(--plot-soft)}
.case-stage-header>div:nth-child(2)>span{display:block;margin-bottom:5px;font-size:12px;font-weight:600;color:var(--plot-ink)}
.case-stage-header h3{margin:0;font:800 clamp(24px,2.4vw,34px)/1.16 var(--disp);letter-spacing:-.045em;max-width:25ch}
.case-stage-header p{max-width:66ch;margin:10px 0 0;font-size:15px;line-height:1.55;color:var(--ink-2)}
.case-stage-output{align-self:center;padding-left:18px;border-left:1px solid var(--rule)}
.case-stage-output span,.case-stage-output strong{display:block}
.case-stage-output span{font-size:11px;color:var(--ink-3)}
.case-stage-output strong{margin-top:3px;font:700 14px/1.35 var(--disp);color:var(--verified-ink)}
.case-mode-tabs{display:flex;align-items:stretch;padding:0 32px;border-bottom:1px solid var(--rule);background:var(--panel)}
.case-mode-tabs>span{display:flex;align-items:center;width:140px;font-size:12px;color:var(--ink-3)}
.case-mode-tabs button{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:145px;
  padding:15px 18px 14px;
  border:0;
  background:transparent;
  color:var(--ink-3);
  text-align:left;
  cursor:pointer;
}
.case-mode-tabs button:after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:transparent}
.case-mode-tabs button:hover{color:var(--ink)}
.case-mode-tabs button[aria-selected=true]{color:var(--plot-ink)}
.case-mode-tabs button[aria-selected=true]:after{background:var(--case-blue)}
.case-mode-tabs strong{font:700 14px/1.35 var(--disp)}
.case-mode-tabs small{margin-top:2px;font-size:11px;line-height:1.3;color:var(--ink-3)}
.case-atlas-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:stretch}
.case-atlas-main{min-width:0;padding:32px;background:var(--panel)}
.case-field-board{min-width:0;padding:24px;border-left:1px solid var(--rule);background:var(--paper)}
.case-field-board>section{padding:21px 0;border-bottom:1px solid var(--rule)}
.case-field-board>section:first-child{padding-top:0}
.case-field-board>section:last-child{border-bottom:0}
.case-view-head{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:24px}
.case-view-head>div>span{display:block;margin-bottom:5px;font-size:12px;font-weight:600;color:var(--plot-ink)}
.case-view-head h4{margin:0;font:750 clamp(20px,2vw,27px)/1.25 var(--disp);letter-spacing:-.035em;max-width:28ch}
.case-view-head>p{max-width:38ch;margin:2px 0 0;font-size:14px;line-height:1.5;color:var(--ink-3)}
.case-view-head>a{flex:none;padding:8px 11px;border:1px solid var(--rule);border-radius:7px;background:var(--panel);font-size:12px;font-weight:600;text-decoration:none}
.case-view-head>a:hover{border-color:var(--plot-soft);background:var(--plot-wash)}
.case-process-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px}
.case-process{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}
.case-process li{position:relative}
.case-process li+li{margin-top:5px}
.case-process button{
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  width:100%;
  min-height:68px;
  margin-left:-1px;
  padding:10px 11px;
  border:0;
  border-left:2px solid transparent;
  border-radius:0 8px 8px 0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.case-process button:hover{background:var(--paper)}
.case-process button[aria-pressed=true]{border-left-color:var(--case-blue);background:var(--plot-wash)}
.case-process button>span{padding-top:2px;font:700 11px var(--disp);color:var(--ink-3)}
.case-process button strong,.case-process button small{display:block}
.case-process button strong{font:700 14px/1.35 var(--disp)}
.case-process button small{margin-top:3px;font-size:12px;line-height:1.3;color:var(--ink-3)}
.case-process-detail{position:relative;min-height:288px;padding:28px 28px 24px;border:1px solid var(--rule);border-radius:12px;background:var(--paper)}
.case-detail-index{display:block;font:500 48px/1 var(--disp);letter-spacing:-.06em;color:var(--plot-soft)}
.case-process-detail h5{margin:8px 0 22px;font:750 21px var(--disp);letter-spacing:-.03em}
.case-process-detail dl{margin:0}
.case-process-detail dl>div{display:grid;grid-template-columns:76px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--rule-soft)}
.case-process-detail dt{font-size:12px;font-weight:700;color:var(--plot-ink)}
.case-process-detail dd{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}
.case-system{margin-top:30px;padding-top:24px;border-top:1px solid var(--rule)}
.case-system-head span{display:block;font-size:12px;color:var(--ink-3)}
.case-system-head h4{margin:3px 0 0;font:700 16px var(--disp);letter-spacing:-.02em}
.case-system-scroll{overflow-x:auto;margin-top:8px}
.case-system-scroll svg{display:block;min-width:520px;width:100%;height:auto}
.case-edge{fill:none;stroke:var(--ink-3);stroke-width:1.35;opacity:.62;vector-effect:non-scaling-stroke}
.case-edge-label{font:10px var(--body);fill:var(--ink-3);paint-order:stroke;stroke:var(--panel);stroke-width:5px;stroke-linejoin:round}
.case-system-scroll marker path{fill:var(--ink-3)}
.case-node rect{fill:var(--panel);stroke:var(--rule);stroke-width:1.4;vector-effect:non-scaling-stroke}
.case-node text{font:11px var(--body);font-weight:600;fill:var(--ink)}
.case-node.is-system rect{fill:var(--plot-wash);stroke:var(--plot-soft)}
.case-node.is-human rect{fill:var(--verified-wash);stroke:var(--verified-line)}
.case-node.is-target rect{fill:var(--case-blue);stroke:var(--case-blue)}
.case-node.is-target text{fill:var(--sel-fg)}
.case-node.is-risk rect{stroke:var(--case-amber);stroke-dasharray:4 3}
.case-node.is-muted{opacity:.52}
.case-public{max-width:780px}
.case-public-title{max-width:29ch;margin:2px 0 28px;font:750 clamp(24px,2.7vw,36px)/1.2 var(--disp);letter-spacing:-.045em;color:var(--ink)}
.case-evidence-stack{border-top:1px solid var(--rule)}
.case-evidence-stack section{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--rule-soft)}
.case-evidence-stack section>span{font:700 11px var(--disp);color:var(--plot-soft)}
.case-evidence-stack h5{margin:0 0 5px;font:700 14px var(--disp);letter-spacing:-.015em}
.case-evidence-stack p{max-width:66ch;margin:0;font-size:15px;line-height:1.56;color:var(--ink-2)}
.case-evidence-stack .is-limit{border-bottom:0}
.case-evidence-stack .is-limit h5{color:var(--case-amber)}
.case-source-note{max-width:72ch;margin:20px 0 0;padding:13px 15px;border-radius:8px;background:var(--paper);font-size:12px;line-height:1.5;color:var(--ink-3)}
.case-situation{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;margin-bottom:24px;padding:16px 18px;border-left:3px solid var(--case-blue);background:var(--plot-wash)}
.case-situation span{font-size:12px;font-weight:700;color:var(--plot-ink)}
.case-situation p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}
.case-options{display:grid;gap:9px}
.case-options button{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:12px;
  width:100%;
  padding:14px 15px;
  border:1px solid var(--rule);
  border-radius:10px;
  background:var(--panel);
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.case-options button:hover{border-color:var(--plot-soft);background:var(--paper)}
.case-options button[aria-pressed=true]{border-color:var(--case-blue);background:var(--plot-wash);box-shadow:inset 3px 0 var(--case-blue)}
.case-options button>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--rule);border-radius:50%;font:700 11px var(--disp);color:var(--ink-3)}
.case-options button[aria-pressed=true]>span{border-color:var(--case-blue);background:var(--case-blue);color:var(--sel-fg)}
.case-options button strong,.case-options button small{display:block}
.case-options button strong{font:700 14px/1.4 var(--disp)}
.case-options button small{margin-top:3px;font-size:13px;line-height:1.45;color:var(--ink-3)}
.case-feedback{margin-top:12px;padding:14px 16px;border-radius:9px;background:var(--verified-wash)}
.case-feedback>span{display:block;font-size:12px;font-weight:700;color:var(--verified-ink)}
.case-feedback p{margin:4px 0 0;font-size:14px;line-height:1.5;color:var(--ink-2)}
.case-feedback.is-empty{border:1px dashed var(--rule);background:transparent}
.case-feedback.is-empty>span{font-weight:400;color:var(--ink-3)}
.case-artifact>span{display:block;font-size:12px;color:var(--ink-3)}
.case-artifact>strong{display:block;margin:5px 0 7px;font:750 19px var(--disp);letter-spacing:-.025em;color:var(--verified-ink)}
.case-artifact>p{margin:0;font-size:13px;line-height:1.45;color:var(--ink-2)}
.case-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.case-chart-head>div>span{display:block;font-size:12px;color:var(--ink-3)}
.case-chart-head h4{margin:3px 0 0;font:700 15px var(--disp);letter-spacing:-.02em}
.case-chart-head button{border:0;background:transparent;color:var(--plot-ink);font-size:12px;font-weight:600;cursor:pointer}
.case-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:12px}
.case-legend span{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--ink-3)}
.case-legend i{width:10px;height:3px;border-radius:3px;background:var(--series)}
.case-chart-wrap{margin:5px 0 8px;overflow:hidden}
.case-chart-wrap svg{display:block;width:100%;height:auto;overflow:visible}
.case-grid{stroke:var(--rule);stroke-width:1;vector-effect:non-scaling-stroke}
.case-axis{font:10px var(--body);fill:var(--ink-3)}
.case-axis.is-current{font-weight:700;fill:var(--plot-ink)}
.case-cursor{fill:var(--plot-wash)}
.case-line{fill:none;stroke:var(--series);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.case-point{fill:var(--panel);stroke:var(--series);stroke-width:2;vector-effect:non-scaling-stroke}
.case-point.is-forecast{opacity:.28}
.case-current-values{display:grid;gap:7px}
.case-current-values>div{display:grid;grid-template-columns:minmax(0,1fr) 26px;gap:5px 8px;align-items:center}
.case-current-values span{font-size:11px;color:var(--ink-3)}
.case-current-values strong{text-align:right;font:700 12px var(--disp);color:var(--ink)}
.case-current-values>div>i{grid-column:1/-1;height:3px;overflow:hidden;border-radius:3px;background:var(--panel-3)}
.case-current-values b{display:block;height:100%;border-radius:inherit;background:var(--series)}
.case-board-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.case-board-head span{font:700 14px var(--disp);color:var(--ink)}
.case-board-head b{font-size:11px;font-weight:400;color:var(--ink-3)}
.case-ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:13px 0}
.case-ratings button{min-height:42px;padding:6px;border:1px solid var(--rule);border-radius:7px;background:var(--panel);color:var(--ink-2);font-size:11px;line-height:1.25;cursor:pointer}
.case-ratings button:hover{border-color:var(--plot-soft)}
.case-ratings button[aria-pressed=true]{border-color:var(--case-blue);background:var(--case-blue);color:var(--sel-fg)}
.case-note{display:block}
.case-note>span{display:block;margin-bottom:6px;font-size:12px;color:var(--ink-3)}
.case-note textarea{display:block;width:100%;resize:vertical;padding:9px 10px;border:1px solid var(--rule);border-radius:7px;background:var(--panel);color:var(--ink);font-size:13px;line-height:1.45}
.case-save{margin-top:8px;padding:7px 10px;border:1px solid var(--rule);border-radius:7px;background:var(--panel);color:var(--plot-ink);font-size:12px;font-weight:600;cursor:pointer}
.case-next-move>span{display:block;font-size:11px;font-weight:700;color:var(--plot-ink)}
.case-next-move>strong{display:block;margin:5px 0;font:750 17px/1.35 var(--disp);letter-spacing:-.02em}
.case-next-move>p{margin:0;font-size:13px;line-height:1.48;color:var(--ink-2)}
.case-next-move>a{display:inline-block;margin-top:9px;font-size:12px;font-weight:600}
.case-actions{display:flex;align-items:center;gap:8px;padding:15px 24px;border-top:1px solid var(--rule);background:var(--panel)}
.case-actions>div{display:flex;gap:14px;margin-right:auto}
.case-actions>div span{font-size:12px;color:var(--ink-3)}
.case-actions button{padding:9px 12px;border:1px solid var(--rule);border-radius:7px;background:var(--panel);color:var(--ink-2);font-size:12px;font-weight:600;cursor:pointer}
.case-actions button:last-child{border-color:var(--sel-line);background:var(--sel-bg);color:var(--sel-fg)}
.case-method-note{max-width:98ch!important;margin:13px 0 0;font-size:11px;line-height:1.5;color:var(--ink-3)}
.case-lab button:focus-visible,.case-lab a:focus-visible,.case-lab textarea:focus-visible{outline:3px solid var(--case-blue);outline-offset:2px}
@media(max-width:1100px){
  .case-atlas-grid{grid-template-columns:minmax(0,1fr) 320px}
  .case-stage-header{grid-template-columns:45px minmax(0,1fr)}
  .case-stage-output{grid-column:2;padding:10px 0 0;border-left:0;border-top:1px solid var(--rule-soft)}
}
@media(max-width:900px){
  .case-flow-status{align-items:flex-start}
  .case-progress{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
  .case-progress:before{display:none}
  .case-progress button{flex:0 0 156px;scroll-snap-align:start}
  .case-atlas-grid{grid-template-columns:1fr}
  .case-field-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;border-left:0;border-top:1px solid var(--rule)}
  .case-field-board>section:nth-child(even){padding-left:24px;border-left:1px solid var(--rule)}
  .case-field-board>section:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:720px){
  .case-lab{margin-top:42px;padding-top:34px;scroll-margin-top:130px}
  .case-lab-heading{grid-template-columns:1fr;gap:12px;margin-bottom:22px}
  .case-lab-heading h2{font-size:31px}
  .case-lab-heading p{font-size:15px}
  .case-flow-status{display:block}
  .case-readiness{grid-template-columns:auto minmax(60px,104px) 34px;margin-top:12px}
  .case-stage-header{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:24px 18px 21px}
  .case-stage-number{font-size:32px}
  .case-stage-output{grid-column:1/-1}
  .case-mode-tabs{padding:0 7px;overflow-x:auto}
  .case-mode-tabs>span{display:none}
  .case-mode-tabs button{flex:1 0 122px;min-width:0;padding:13px 11px}
  .case-mode-tabs button:after{left:11px;right:11px}
  .case-atlas-main{padding:24px 18px}
  .case-view-head{display:block;margin-bottom:20px}
  .case-view-head>p,.case-view-head>a{display:block;margin-top:9px}
  .case-process-layout{grid-template-columns:1fr}
  .case-process{display:grid;grid-template-columns:repeat(4,minmax(116px,1fr));overflow-x:auto;border-left:0}
  .case-process li+li{margin-top:0}
  .case-process button{height:100%;margin:0;border-left:0;border-bottom:2px solid transparent;border-radius:8px 8px 0 0}
  .case-process button[aria-pressed=true]{border-left:0;border-bottom-color:var(--case-blue)}
  .case-process-detail{min-height:0}
  .case-field-board{display:block;padding:22px 18px}
  .case-field-board>section:nth-child(even){padding-left:0;border-left:0}
  .case-field-board>section{border-bottom:1px solid var(--rule)!important}
  .case-field-board>section:last-child{border-bottom:0!important}
  .case-actions{flex-wrap:wrap;padding:14px 18px}
  .case-actions>div{flex:1 0 100%}
  .case-actions button:last-child{margin-left:auto}
}
@media(max-width:430px){
  .case-flow-status{padding:13px 14px}
  .case-progress button{flex-basis:145px}
  .case-stage-copy small{white-space:normal}
  .case-process-detail{padding:22px 18px}
  .case-process-detail dl>div{grid-template-columns:1fr;gap:3px}
  .case-situation{grid-template-columns:1fr;gap:5px}
  .case-options button{grid-template-columns:28px minmax(0,1fr);padding:12px}
  .case-ratings{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .case-lab *{scroll-behavior:auto!important;transition:none!important}
}
@media print{
  .case-flow-status,.case-return-loop,.case-mode-tabs,.case-field-board,.case-actions{display:none!important}
  .case-progress{display:grid!important}
  .case-atlas-grid{display:block}
  .case-stage-header{grid-template-columns:45px 1fr}
  .case-atlas-main{padding:20px 0}
  .case-workbench{box-shadow:none}
}

/* Reading guidance extends the existing field-guide typography. */
.method-reading{margin:36px 0;padding:24px;border:1px solid var(--rule);border-top:3px solid var(--plot);min-width:0}
.method-reading h2{font-size:1.5rem;margin:0 0 12px}
.method-reading p{font-size:1rem;line-height:1.65}
.case-delivery-gate{margin-top:24px;padding:20px;border:1px solid var(--rule);border-left:3px solid var(--plot);background:var(--panel);overflow-wrap:anywhere}
.case-delivery-gate h4{margin:0 0 12px;font-size:1.125rem}
.case-delivery-gate p{margin:10px 0;font-size:1rem;line-height:1.6}
.case-delivery-gate small{font-size:.875rem;line-height:1.5;color:var(--ink-2)}
.lib-access.provided{border:1px solid var(--rule)}
@media(max-width:600px){.method-reading{padding:16px}.case-delivery-gate{padding:16px}}
