@font-face{font-family:Jakarta;src:url('assets/fonts/PlusJakartaSans-latin-wght.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--primary:#2250e0;--green:#0a7a5a;--ink:#0e1c3a;--muted:#53627f;--wash:#f6f8fc;--paper:#fff;--line:#d9e2ee;--soft:#e9f5f0;--focus:#2250e0}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:16px/1.5 Jakarta,Arial,sans-serif;color:var(--ink);background:var(--wash)}body.dark{color-scheme:dark;--ink:#f1f5fb;--muted:#bdcce0;--wash:#0c172b;--paper:#15243a;--line:#3d506b;--soft:#173e35;--green:#7be0b9;--focus:#a3bdff}
button,input,select{font:inherit}button{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 16px;cursor:pointer;transition:background .15s,transform .15s}button:hover:not(:disabled){border-color:var(--primary);background:var(--wash)}button:disabled{cursor:default;color:var(--muted);background:var(--wash);opacity:1}button[aria-pressed=true]{border:2px solid var(--primary);background:var(--wash)}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.primary:hover:not(:disabled){background:#193eb7}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:12px;z-index:50;background:var(--paper);color:var(--ink);padding:8px}.skip:focus{top:6px}#player{height:100dvh;max-width:1440px;margin:auto;display:flex;flex-direction:column;padding:12px 20px 16px}.header{display:flex;align-items:center;gap:12px;min-height:56px;margin-bottom:10px}.header>div{order:0}.brand{order:2;margin-left:auto;display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--primary);flex-shrink:0}.brand .logo{width:24px;height:27px}.wordmark{font-size:16px;font-weight:800;position:relative;letter-spacing:-.7px}.wordmark:after{content:'';position:absolute;height:3px;width:30px;border-radius:2px;background:#f2c744;bottom:-4px;right:0}.dark .brand{color:#f1f5fb}.divider{display:none}.collection{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.course-title{font-size:13px;font-weight:700}.progress{height:3px;background:var(--line);border-radius:3px;margin-bottom:10px}#progress-fill{height:100%;background:var(--green);border-radius:3px}#status{padding:5px;font-size:13px}
#slide{position:relative;flex:1;min-height:0;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;padding-top:59px;box-shadow:0 10px 40px #0e1c3a08}#slide-controls{position:absolute;top:12px;right:16px;display:flex;gap:7px;align-items:center;z-index:10}#slide-controls>button,#additional-controls-button{height:33px;min-height:33px;max-height:33px;font-size:12px;line-height:1;padding:6px 11px;border-radius:20px;white-space:nowrap}#page-label{font-size:11px;color:var(--muted);margin-right:8px}.more{position:relative}#additional-controls-menu{position:absolute;right:0;top:40px;width:205px;max-height:min(65vh,360px);overflow:auto;background:var(--paper);border:1px solid var(--line);padding:8px;box-shadow:0 10px 28px #0002;border-radius:16px;display:grid;gap:5px}#additional-controls-menu button{min-height:33px;font-size:13px;text-align:left;padding:7px 10px}
#screen{height:100%;overflow:auto;overscroll-behavior:contain;padding:4px 32px 28px;scrollbar-gutter:stable}#screen:focus{outline:none}.screen-heading{margin-bottom:18px;max-width:1100px}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:800;color:var(--green);margin:0 0 8px}h1{font-size:clamp(24px,2.5vw,38px);line-height:1.14;letter-spacing:-1.1px;margin:0 0 12px;max-width:1000px}h1:focus{outline:none}h2{font-size:clamp(19px,1.8vw,25px);line-height:1.3;margin:0 0 14px;letter-spacing:-.5px}p{margin:0 0 14px}.intro{color:var(--muted);max-width:980px;font-size:16px}.stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}figure{margin:0;min-width:0}.art{display:block;width:100%;height:auto;max-height:42vh;object-fit:contain;border-radius:16px}.panel{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--paper);min-width:0}.choices{display:grid;gap:10px}.choices button{text-align:left;font-size:16px;padding:12px 15px}.feedback{margin-top:14px;border-left:4px solid var(--primary);background:var(--wash);border-radius:4px 10px 10px 4px;padding:13px 15px;font-size:16px}.feedback.good{border-color:var(--green);background:var(--soft)}.feedback:focus{outline:2px solid var(--focus);outline-offset:3px}.feedback+button{margin-top:14px}.small{font-size:14px;color:var(--muted);margin-top:14px}.path{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.path span{border-bottom:3px solid var(--green);font-weight:700;padding:4px 10px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.tabs button{font-size:14px;padding:7px 10px}.model-beat{animation:enter .24s ease}.step-number{display:inline-grid;place-items:center;border-radius:50%;width:34px;height:34px;background:var(--soft);color:var(--green);font-weight:800;margin-bottom:12px}.task-tile{border:2px solid var(--primary);background:var(--wash);padding:18px;border-radius:14px;margin-bottom:14px;cursor:grab}.task-tile h2{margin:0}.lanes{display:grid;gap:9px}.lane{text-align:left;font-size:16px}.dossier{display:flex;gap:14px;margin-bottom:16px}.dossier img{width:76px;height:76px;border-radius:12px;object-fit:contain;background:var(--wash)}.dossier p{font-size:14px;color:var(--muted);margin:4px 0 0}.time-track{display:flex;justify-content:space-between;gap:8px;border-bottom:3px solid var(--green);padding-bottom:10px;margin-bottom:18px;font-size:13px}.hotspot-scene{position:relative}.hotspot{position:absolute;transform:translate(-50%,-50%);width:38px;height:38px;border:2px solid #fff;border-radius:50%;padding:0;background:var(--primary);color:#fff;font-weight:800;box-shadow:0 2px 8px #0003}.hotspot.visited{background:#0a7a5a}.hotspot:hover:not(:disabled){background:#193eb7;color:#fff}details{border:1px solid var(--line);border-radius:10px;padding:10px 13px;margin-bottom:9px}summary{cursor:pointer;font-weight:700;font-size:15px}details p{font-size:15px;margin:10px 0 0}.comparisons{margin-bottom:14px}.quiz-panel{max-width:900px;margin:auto}.quiz-panel h2{font-size:23px}.results-panel{max-width:720px;margin:auto}.result-ring{width:105px;height:105px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:7px solid var(--green);border-radius:50%;font-size:32px;font-weight:800;margin:0 0 18px}.result-ring span{font-size:13px;font-weight:500}.results-panel>button{margin:8px 8px 0 0}#finish-note{margin-top:12px}body:has([data-finish]) .eyebrow:before,body:has([data-start]) .eyebrow:before{content:'';display:inline-block;width:18px;height:3px;border-radius:2px;background:#f2c744;margin-right:8px;vertical-align:middle}
dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;max-width:650px;max-height:85vh}dialog::backdrop{background:#0e1c3a88}#close-dialog{display:block;margin-left:auto;margin-bottom:14px}.caption{position:absolute;bottom:10px;left:20px;right:20px;background:#0e1c3a;color:#fff;padding:10px 14px;border-radius:10px;z-index:8;max-height:100px;overflow:auto;font-size:15px}
@keyframes enter{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:1500px){#player{padding:20px 34px}#screen{padding:8px 40px 28px}.stage{gap:36px}.panel{padding:28px}.art{max-height:47vh}}
@media(max-width:900px){#player{padding:8px 12px}#screen{padding:6px 22px 24px}.stage{gap:18px}.panel{padding:17px}.header{min-height:52px}.wordmark{font-size:14px}.collection{font-size:9px}.course-title{max-width:300px;font-size:12px}}
@media(max-width:650px){.stage{grid-template-columns:1fr}.art{max-height:26vh}.header{gap:8px}.collection{display:none}.course-title{font-size:11px;max-width:180px}.brand .logo{width:21px;height:23px}.wordmark{font-size:12px}.header{min-height:42px}#slide{border-radius:16px;padding-top:57px}#slide-controls{right:10px;top:12px;gap:5px}#page-label{display:none}#screen{padding:5px 16px 24px}.screen-heading{margin-bottom:16px}h1{font-size:26px;letter-spacing:-.8px}.panel{padding:17px}.intro{font-size:16px}.choices button{font-size:16px}.hotspot-scene{max-width:400px;margin:auto;width:100%}.hotspot{width:33px;height:33px}.time-track{font-size:12px}.quiz-panel h2{font-size:20px}.caption{left:8px;right:8px}.dossier img{width:66px;height:66px}}

.stage.no-art{grid-template-columns:1fr;max-width:950px;margin-inline:auto}
@media(min-width:651px) and (max-height:700px){
 #player{padding:6px 12px 8px}.header{min-height:40px;margin-bottom:6px}.progress{margin-bottom:6px}
 #screen{padding:0 20px 18px}.screen-heading{margin-bottom:12px}h1{font-size:27px;margin-bottom:8px}h2{font-size:20px;margin-bottom:10px}p{margin-bottom:10px}
 .stage{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:16px}.panel{padding:14px}.tabs{gap:5px;margin-bottom:10px}.tabs button{padding:5px 8px}.choices{gap:7px}.choices button{padding:8px 12px}.dossier{margin-bottom:10px}.dossier p{line-height:1.35}.model-beat .step-number{margin-bottom:6px}
 #screen[data-type=compare] .stage,#screen[data-type=action] .stage{grid-template-columns:1fr}
 #screen[data-type=compare] figure,#screen[data-type=action] figure{display:none}
 #screen[data-type=compare] .comparisons,#screen[data-type=compare] .choices,#screen[data-type=action] .choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 #screen[data-type=compare] .choices button,#screen[data-type=action] .choices button{font-size:16px}
 .results-panel .result-ring{float:right;width:70px;height:70px;font-size:26px;margin:0 0 12px 15px}.results-panel p{margin-bottom:8px}.results-panel button{padding:7px 12px}
}

/* IN-17 editorial case desk; all substantive text >=16px. */
.theme-case-desk #slide{border-radius:8px;border-top:4px solid var(--ink);box-shadow:8px 8px 0 var(--line)}
.theme-case-desk .screen-heading{border-left:4px solid var(--green);padding-left:16px}
.theme-case-desk .stage.no-art{max-width:1100px}.theme-case-desk .panel{border-radius:5px;border-top:3px solid var(--line)}
.theme-case-desk .tabs button,.theme-case-desk .small{font-size:16px}.theme-case-desk .art{border-radius:4px}
.theme-case-desk .stage{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.theme-case-desk .stage.no-art{grid-template-columns:1fr}.theme-case-desk .choices button{border-radius:6px;font-size:16px}
.theme-case-desk .model-beat{padding:8px 12px;border-left:3px solid var(--primary)}
.accounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.accounts aside{display:flex;gap:12px;padding:12px;background:var(--wash);border:1px solid var(--line)}.accounts img{width:52px;height:52px;object-fit:contain;flex-shrink:0}.accounts p{font-size:16px;line-height:1.4;margin:5px 0 0}
.evidence-desk{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:20px;max-width:1100px;margin:auto}.evidence-tabs{display:grid;align-content:start;gap:10px}.evidence-tab{text-align:left;border-radius:4px;font-size:16px}.evidence-tab.visited{border-left:4px solid var(--green)}.evidence-paper{background:var(--wash);border:1px solid var(--line);padding:24px;min-height:230px}
.agreement-lab{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);gap:20px;align-items:start;max-width:1200px;margin:auto}.agreement-record{border:1px solid var(--line);background:var(--wash);padding:18px}.agreement-record summary{font-size:16px;font-weight:700}.agreement-record p{font-size:16px}.primary:disabled{background:var(--wash);border-color:var(--line);color:var(--muted)}
@media(min-width:651px) and (max-height:700px){.accounts{margin-bottom:10px}.accounts aside{padding:8px}.accounts p{margin-top:3px}.agreement-lab{gap:14px;grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr)}.agreement-record{padding:12px}.theme-case-desk .stage{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr)}.theme-case-desk .stage.no-art{grid-template-columns:1fr}}
@media(max-width:650px){.theme-case-desk .stage,.agreement-lab{grid-template-columns:1fr}.accounts{grid-template-columns:1fr}.accounts aside{padding:9px}.evidence-desk{grid-template-columns:1fr;gap:12px}.evidence-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-paper{padding:17px;min-height:0}.agreement-record{padding:12px}.agreement-record details{margin-bottom:7px}.theme-case-desk h1{font-size:26px}}

.agreement-record>summary{font-size:16px;font-weight:800;cursor:pointer}.agreement-record[open]>summary{margin-bottom:12px}.agreement-record>details{margin-top:10px}
@media(max-width:650px){.agreement-lab .panel{grid-row:1}.agreement-lab .agreement-record{grid-row:2}}
