:root{--ink:#102740;--navy:#0b2038;--deep:#091c31;--blue:#14648e;--sky:#9bdaf1;--ice:#e7f4fa;--paper:#f6f8fa;--line:#cfdbe5;--muted:#455970;--gold:#f1ba56;--green:#146246;--red:#8c3139;--serif:Georgia,Cambria,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.62 var(--sans)}a{color:#07577f;text-underline-offset:.19em}a:hover{text-decoration-thickness:2px}button,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.47}:focus-visible{outline:3px solid #c47e13;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;top:0;left:1rem;background:#fff;padding:.7rem;transform:translateY(-150%);z-index:20}.skip:focus{transform:none}.wrap{max-width:1200px;width:calc(100% - 88px);margin:auto}.mast{background:#fff;border-bottom:1px solid #dae4eb}.mast-in{display:flex;align-items:center;justify-content:space-between;min-height:70px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:-.025em}.edition,.micro{color:var(--muted);font-size:.82rem}.edition span{color:#8195aa;margin:0 .4em}.site-nav{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:5}.site-nav .wrap{display:flex;gap:clamp(16px,3vw,38px);overflow:auto;white-space:nowrap;scrollbar-width:thin}.site-nav a{font-size:.83rem;font-weight:700;padding:12px 1px;text-decoration:none;color:#324961}.site-nav a:hover,.site-nav a:focus-visible{color:var(--blue);text-decoration:underline}
.hero{background:linear-gradient(117deg,#0b2038 0%,#102d4b 69%,#18496c 100%);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(118deg,transparent 56%,#86cdec1f 56.1%,transparent 56.45%,transparent 63%,#86cdec28 63.1%,transparent 63.55%,transparent 70%,#86cdec24 70.1%,transparent 70.4%,transparent 77%,#86cdec3b 77.1%,transparent 77.45%,transparent 84%,#86cdec32 84.1%,transparent 84.4%);pointer-events:none}.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:clamp(25px,6vw,92px);padding:clamp(55px,8vw,109px) 0;align-items:center}.eyebrow,.kicker{font-weight:800;letter-spacing:.13em;font-size:.7rem;margin:0 0 .85rem}.hero .eyebrow{color:#b1e4f5}.hero h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:1.04;margin:0}.hero h1{font-size:clamp(3.55rem,7.8vw,7.2rem);max-width:8.2ch}.hero-copy{font-size:clamp(1.03rem,2vw,1.2rem);color:#e2edf6;max-width:48ch;margin:1.1rem 0 1.5rem}.byline{font-size:.82rem;color:#c9dcec;max-width:59ch;margin:1.5rem 0 0}.hero-side{padding:26px 26px 22px;background:#0b2038ba;border:1px solid #52738c;border-top:3px solid var(--sky);box-shadow:0 14px 34px #08162750}.hero-side>a{display:inline-block;color:#b9ecff;font-size:.82rem;margin-top:.9rem}.hero-stat{display:grid;grid-template-columns:5.9rem 1fr;align-items:center;gap:.6rem;border-bottom:1px solid #45617a;padding:.7rem 0}.hero-stat strong{font:2.8rem/1 var(--serif);color:#fff}.hero-stat strong span{font-size:.58em}.hero-stat div{font-size:.93rem;font-weight:700}.hero-stat small{display:block;font-size:.65rem;letter-spacing:.08em;color:var(--sky);margin-top:3px}
.actions,.controls,.control-row{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:43px;padding:.52rem .88rem;border:1px solid transparent;border-radius:4px;font-size:.87rem;font-weight:750;text-decoration:none}.primary{background:#125f87;color:#fff}.primary:hover{background:#0a4b6c}.hero .primary{background:var(--gold);color:#19293a}.hero .primary:hover{background:#ffd47f}.ghost{color:#fff;border-color:#9db9cb}.ghost:hover{background:#ffffff20}.secondary{background:#fff;color:var(--ink);border-color:#9eafbf}.secondary:hover{background:var(--ice)}.text-btn{background:none;border:0;color:#07577f;text-decoration:underline;text-underline-offset:.2em;padding:.35rem .2rem}
.section{padding:clamp(42px,6vw,77px) 0;border-bottom:1px solid var(--line);scroll-margin-top:3.5rem}.section-head{margin-bottom:1.45rem}.kicker{color:#125f87}.section h2{font-size:clamp(2.5rem,5.1vw,4.3rem)}.section-head>p{color:var(--muted);max-width:70ch;margin:.7rem 0 0}.panel{border:1px solid var(--line);background:#fff;border-radius:5px;padding:clamp(17px,3vw,30px)}.panel h3,.side-note h3,.worked h3,.format h3{margin:.15rem 0 .55rem;font-size:1.38rem;line-height:1.22;letter-spacing:-.02em}.panel p{margin:.35rem 0 .8rem}.plan-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(250px,1fr);gap:1rem}.side-note{padding:clamp(18px,3vw,26px);background:var(--ice);border-left:3px solid #397d9e}.side-note .eyebrow{color:#135579}.side-note p{font-size:.88rem;color:#34506a}.side-note ol,.side-note ul{padding-left:1.3rem;margin:.65rem 0 1rem}.side-note li{margin:.4rem 0}.side-note li span{display:block;font-size:.91rem;color:#34506a}.switch{display:flex;gap:.36rem;flex-wrap:wrap;margin-bottom:.8rem}.switch button{border:1px solid var(--line);background:#fff;border-radius:4px;padding:.52rem .82rem;font-size:.86rem;font-weight:750}.switch button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.plan-list{list-style:none;margin:.75rem 0 0;padding:0}.plan-list li{display:grid;grid-template-columns:5.15rem 1fr;gap:.65rem;padding:.65rem 0;border-top:1px solid #e0e7ee}.plan-list time{color:var(--blue);font-weight:800;font-size:.84rem;padding-top:.1rem}.plan-list span{display:block;color:var(--muted);font-size:.9rem}.plan-list strong{font-size:.96rem}
details{border:1px solid var(--line);border-radius:4px;background:#fff;margin:.45rem 0}summary{padding:.73rem 1rem;cursor:pointer;font-weight:750}summary:hover{background:#eef6fb}.detail{padding:0 1.05rem .9rem}.detail>p{margin:.55rem 0}.domain summary{display:grid;grid-template-columns:2.7rem minmax(0,1fr) 3rem 1rem;align-items:center;gap:.7rem;list-style:none}.domain summary::-webkit-details-marker{display:none}.domain summary::after{content:"+";color:var(--blue);font-size:1.15rem}.domain[open] summary::after{content:"−"}.domain .num{color:var(--blue);font-size:.77rem;letter-spacing:.09em}.domain .weight{text-align:right;font:1.35rem var(--serif)}.domain .detail ul{margin:.5rem 0;padding-left:1.2rem}.domain .detail li{margin:.3rem 0}.cue{background:#edf6fa;padding:.65rem .8rem;margin:.7rem 0 0}.format{scroll-margin-top:4rem;background:#e9f2f8;margin-top:1.25rem;padding:clamp(18px,3vw,30px);border-top:3px solid var(--blue)}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.two h4{margin:.55rem 0 .2rem}.two p{margin:.4rem 0 .7rem}.method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.method-grid article{background:#fff;padding:clamp(14px,2vw,22px)}.method-grid b{color:var(--blue);font:.95rem var(--serif)}.method-grid h3{line-height:1.15;margin:.4rem 0}.method-grid p{margin:0;color:var(--muted);font-size:.89rem}.worked{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(16px,3vw,35px);background:var(--navy);color:#e1eef9;margin:1rem 0;padding:clamp(17px,3vw,30px)}.worked h3{color:#fff}.worked .eyebrow{color:var(--sky)}.worked p{margin:.5rem 0}.compare article{padding:0 .3rem}.compare h3{margin:.2rem 0}.trainer .control-row{border-bottom:1px solid var(--line);padding-bottom:.85rem;margin-bottom:1rem}.control-row label{font-size:.85rem;font-weight:800}.control-row .micro,.control-row .text-btn{margin-left:auto}select,textarea{border:1px solid #9eafbf;border-radius:4px;background:#fff;padding:.45rem .55rem;max-width:100%}.drill-question{font:clamp(1.45rem,3vw,2.35rem)/1.22 var(--serif);margin:.5rem 0 1rem}.answer{background:#eaf5f9;border-left:3px solid #4287a7;padding:.75rem .9rem;margin:0 0 1rem}.answer p{margin:.2rem 0}.controls+.controls{margin-top:.55rem}.pill{display:inline-block;background:#e3f1f7;color:#124d70;font-weight:800;font-size:.72rem;vertical-align:middle;border-radius:50px;padding:.17rem .5rem}.case-stage{margin-bottom:1rem}.case-stage h3{margin:.4rem 0}.case-facts{background:#edf5f9;padding:.75rem .9rem;border-left:3px solid #4e87a4}.case-facts p{margin:.25rem 0}.case-options{border:0;padding:0;margin:.7rem 0}.case-options legend{font-weight:800;line-height:1.36;margin:.1rem 0 .55rem;padding:0}.option{display:flex;align-items:flex-start;gap:.6rem;margin:.33rem 0;padding:.6rem .7rem;background:#f6f8fa;border:1px solid #d6e0e8;border-radius:4px;cursor:pointer}.option:hover{border-color:#7296ab}.option input{margin:.3rem 0 0;width:1rem;height:1rem;flex-shrink:0;accent-color:#125f87}.option.good{border-color:#78af96;background:#edf8f2}.option.bad{border-color:#d5a0a4;background:#fff0f0}.rationale{font-size:.88rem;display:block;color:#3d5369;margin-top:.2rem}.rationale b{color:var(--ink)}.feedback{padding:.6rem .8rem;margin:.7rem 0;background:#e6f2f8;border-left:3px solid #477c9d}.log-list{list-style:none;padding:0}.log-entry{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;border-bottom:1px solid var(--line);padding:.55rem 0;overflow-wrap:anywhere}.log-entry p{margin:0}.log-entry .text-btn{flex:none}.source-box ul{padding-left:1.1rem;margin:.5rem 0 0}.source-box li{margin:.45rem 0;font-size:.91rem}#log-form{display:grid;gap:.45rem;justify-items:start;margin:.8rem 0}#log-form label{font-size:.88rem;font-weight:800}textarea{width:100%}.footer-in{display:flex;gap:1.5rem;align-items:flex-start;justify-content:space-between;padding:2rem 0}footer{background:var(--navy);color:#e2eff9}footer a{white-space:nowrap;color:var(--sky)}footer p{margin:.3rem 0 0;font-size:.85rem;max-width:68ch}
@media(max-width:820px){.wrap{width:calc(100% - 42px)}.hero-in{gap:1.5rem}.hero-stat{grid-template-columns:4.6rem 1fr}.hero-stat strong{font-size:2.4rem}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.wrap{width:calc(100% - 30px)}.mast-in{min-height:58px}.edition{display:none}.hero-in,.plan-grid,.two,.worked{grid-template-columns:minmax(0,1fr)}.hero-in{padding:2.75rem 0}.hero h1{font-size:clamp(3.3rem,12vw,5rem)}.hero-side{padding:1rem}.hero-stat{grid-template-columns:4.8rem 1fr}.footer-in{display:block}.footer-in a{display:inline-block;margin-top:1rem}.control-row .micro,.control-row .text-btn{margin-left:0}.section-head>p{font-size:.95rem}.domain summary{grid-template-columns:2rem minmax(0,1fr) 2.6rem .7rem;gap:.4rem;padding:.6rem .72rem}.domain .weight{font-size:1.12rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.mast,.site-nav,.actions,.controls,.switch,#log-form,#log-export,#print-guide,.skip,footer a{display:none!important}.hero{color:#111;background:#fff}.hero .eyebrow,.hero-copy,.byline{color:#333}.hero-in{padding:0}.hero-side{display:none}.section{padding:1.2rem 0}.section h2{font-size:2rem}.hero h1{font-size:3rem}body{background:#fff}.wrap{width:100%}.panel,article,.worked{break-inside:avoid}.worked,footer{color:#111;background:#fff}.worked h3,.worked .eyebrow{color:#111}a{color:#111}}
.quiz-question{margin:.55rem 0 .75rem!important}.option input[type=radio]{border-radius:50%}
.scoring{width:100%;max-width:42rem;border-collapse:collapse;margin:.5rem 0 .8rem;font-size:.9rem;text-align:left}.scoring caption{text-align:left;font-weight:700;font-size:.78rem;color:var(--muted);margin-bottom:.35rem}.scoring th,.scoring td{border:1px solid var(--line);padding:.36rem .58rem}.scoring thead{background:var(--ice)}
.practice-controls select{min-width:0;max-width:100%;flex:1 1 12rem}
#practice-card{--practice-size:1rem;font-size:var(--practice-size)}
#practice-card .case-options legend{font-size:1.1em}
#practice-card .controls{margin:.65rem 0}
#practice-card h4{margin:.2rem 0 .6rem}
#practice-context p{margin:.6rem 0}
#practice-rating{border-top:1px solid var(--line);margin-top:1rem;padding-top:.6rem}
.file-label{position:relative;overflow:hidden}
.file-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.file-label:focus-within{outline:3px solid #c47e13;outline-offset:4px}
#materials{scroll-margin-top:3.5rem}
.sync-badge{font-size:.8rem;white-space:nowrap;margin-left:1rem}
.material-list{padding-left:1.2rem}.material-list li{margin:.55rem 0}
#study-sync-status{font-weight:650}
