:root{--ink:#203535;--muted:#63716a;--paper:#f3eddf;--panel:#fcf8ee;--gold:#b78a42;--line:#d7cbb5;--red:#843d39;--green:#335b50;--serif:Georgia,'Times New Roman',serif;--text:17px;--shadow:0 18px 60px #162c291c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-bottom:90px}body{margin:0;color:var(--ink);font:var(--text)/1.6 'Segoe UI',Arial,sans-serif;background:var(--paper);background-image:radial-gradient(#9d875412 .7px,transparent .7px);background-size:6px 6px;padding-bottom:70px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;min-height:44px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:5px;padding:9px 16px;font-weight:600;transition:background .15s,transform .15s}button:hover{background:#e9e1cf}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:default}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--red)}:focus-visible{outline:3px solid #b36520;outline-offset:4px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12}h1{font-size:clamp(44px,5.4vw,80px);letter-spacing:-2.5px}h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.8px}h3{font-size:25px}h4{font-size:21px;margin-bottom:10px}.eyebrow{text-transform:uppercase;letter-spacing:2.3px;font-size:11px;font-weight:800;color:var(--red);display:block;margin-bottom:10px}.primary{background:var(--green);color:#fff8e7;border-color:var(--green)}.primary:hover{background:#25493f;color:white}.accent{background:var(--red);border-color:var(--red);color:#fff7e9}.accent:hover{background:#69302d}.muted,.small{color:var(--muted)}.small{font-size:14px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.stack{display:grid;gap:12px}.rule{border:0;border-top:1px solid var(--line);margin:24px 0}.skip{position:fixed;left:10px;top:-100px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}.masthead{max-width:1480px;margin:auto;min-height:103px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 5%;border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:11px;line-height:1.6;letter-spacing:2px}.wordmark b{font-size:10px;letter-spacing:1.3px}.mark{font:32px var(--serif);border:1px solid #a99369;border-radius:50%;width:49px;height:49px;display:grid;place-items:center;letter-spacing:-3px;padding-right:3px}.series{font-size:13px;letter-spacing:.6px;color:var(--red)}.return{font-size:13px;min-height:44px;display:flex;align-items:center}.hero{max-width:1480px;margin:auto;display:grid;grid-template-columns:1fr 1.03fr;min-height:570px}.hero-copy{padding:70px 5% 60px 10%;display:flex;justify-content:center;flex-direction:column}.hero h1{margin-bottom:24px}.hero h1 em{color:var(--red);font-weight:400}.hero p{max-width:480px;font-size:18px;line-height:1.8}.hero-art{position:relative;overflow:hidden;margin:30px 5% 28px 0;min-height:490px;border-radius:130px 130px 7px 7px;background:#243f3a}.hero-art>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:58% center}.hero-seal{position:absolute;left:28px;right:28px;bottom:23px;color:#fff3d9;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px;text-shadow:0 1px 5px #000}.hero-seal b{font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:0}.case-section{max-width:1340px;margin:0 auto;padding:35px 35px 60px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading h2{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.case-card{background:var(--panel);border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:0 4px 18px #253d3506;display:flex;flex-direction:column}.case-picture{height:185px;position:relative;overflow:hidden;background:#243f3a}.case-picture img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.case-card:hover .case-picture img{transform:scale(1.03)}.case-number{position:absolute;top:14px;left:15px;background:var(--panel);font-size:11px;font-weight:700;letter-spacing:1.5px;padding:5px 11px;border-radius:2px}.case-card-content{padding:23px 24px;display:flex;flex:1;flex-direction:column}.case-card h3{margin-bottom:12px}.case-card p{font-size:15px;flex:1;margin-bottom:19px}.case-card button{width:100%}.case-meta{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin-bottom:15px}.agency-note{margin:32px 0 0;border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;gap:20px;align-items:center}.footer{max-width:1340px;margin:auto;display:flex;justify-content:space-between;gap:15px;padding:20px 35px 32px;color:var(--muted);font-size:11px}.footer span:last-child{font-size:9px;letter-spacing:1.6px}.game-shell{max-width:1380px;margin:0 auto;padding:25px 35px 35px}.game-heading{margin-bottom:20px}.game-heading h1{font-size:35px;letter-spacing:-1px;margin:0}.game-heading .eyebrow{margin-bottom:4px}.objective{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:4px;background:var(--panel);padding:13px 18px;display:flex;align-items:center;gap:14px;margin-bottom:18px}.objective span:first-child{font-size:11px;letter-spacing:1.3px;font-weight:800;color:var(--red);flex-shrink:0}.objective p{margin:0;font-size:15px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:23px;align-items:start}.scene-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel)}.scene-art{position:relative;aspect-ratio:1.76;background:#24413a}.scene-art>img{position:absolute;width:100%;height:100%;object-fit:cover}.scene-art:after{content:'';position:absolute;inset:60% 0 0;pointer-events:none;background:linear-gradient(transparent,#0e292940)}.hotspot{position:absolute;z-index:1;border-radius:50%;width:46px;height:46px;padding:0;transform:translate(-50%,-50%);background:#fcf5e7eb;border:2px solid var(--gold);box-shadow:0 0 0 5px #f3eddf28;font-size:19px}.hotspot:hover{background:#fff9ec;transform:translate(-50%,-50%) scale(1.12)}.hotspot.done{background:#315b51d9;color:white;border-color:#bad0a5}.hotspot .spot-name{display:none;position:absolute;left:50%;top:48px;transform:translateX(-50%);background:#fdf7e7;padding:5px 9px;border-radius:3px;color:var(--ink);font-size:12px;width:max-content;max-width:160px;white-space:normal;box-shadow:var(--shadow)}.hotspot:hover .spot-name,.hotspot:focus-visible .spot-name,.hotspots-on .hotspot .spot-name{display:block}.hide-hotspots .hotspot{background:#fff8;border:1px solid #fff7;box-shadow:none;width:44px;height:44px}.scene-caption{padding:23px 26px}.scene-caption h2{font-size:29px;margin:0 0 12px}.scene-caption p{font-size:15px;margin-bottom:15px}.scene-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:12px}.scene-bottom span{font-size:12px;color:var(--muted)}.side-panel{display:grid;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:20px}.panel h3{font-size:22px;margin-bottom:15px}.person-button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:9px;margin-bottom:8px;background:transparent;border-color:transparent}.person-button:hover{border-color:var(--line)}.portrait{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#e2d4b9;flex-shrink:0}.person-button b{display:block;font-size:14px}.person-button small{display:block;font-size:12px;color:var(--muted);font-weight:400}.object-list{display:grid;gap:7px}.object-list button{text-align:left;font-size:13px;font-weight:500;padding:8px 11px;display:flex;gap:9px}.check{color:#4e7451}.toolbar{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.toolbar button{font-size:13px;padding:10px 14px}.toolbar .count{font-size:10px;border-radius:20px;padding:2px 6px;background:#dfd5c0;margin-left:5px}.case-progress{font-size:12px;display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);margin:10px 0}.progress-track{width:100%;height:4px;background:#dbd2be;margin:8px 0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--green)}.audio-bar{position:fixed;z-index:10;bottom:0;width:100%;background:#1d3534;color:#f7efdb;border-top:1px solid #a59362;display:flex;align-items:center;padding:9px max(20px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));gap:8px;font-size:12px}.audio-bar button{min-height:38px;padding:6px 12px;background:transparent;color:#f7efdb;border-color:#74827c;font-size:12px}.audio-bar button:hover{background:#35504a}.audio-bar #audioStatus{flex:1;text-align:center;color:#d6d7c8;font-size:11px}.audio-bar button:last-child{margin-left:auto}dialog{background:var(--panel);border:1px solid #ae9466;border-radius:10px;color:var(--ink);padding:0;width:min(790px,calc(100% - 30px));max-height:calc(100dvh - 48px);max-height:calc(100vh - 48px);box-shadow:0 30px 120px #0005}dialog::backdrop{background:#102d2bbb;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;padding:25px 30px 20px;border-bottom:1px solid var(--line);gap:15px;position:sticky;top:0;background:var(--panel);z-index:3}.dialog-head h2{font-size:30px;margin:0}.dialog-head .eyebrow{font-size:10px}.close{border:0;background:transparent;font-size:28px;min-width:44px;padding:0;line-height:1}.dialog-head .close:hover{background:#e9e0cc}#modalBody{padding:25px 30px 30px;overflow-wrap:anywhere}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.dialogue{border-left:2px solid var(--gold);padding:16px 20px;margin:18px 0;background:#ebe4d380}.dialogue .speaker{font-size:11px;letter-spacing:1.5px;font-weight:800;text-transform:uppercase;color:var(--red);margin-bottom:8px}.dialogue p{font:21px/1.65 var(--serif);margin:0}.dialogue.subtitles-off p{visibility:hidden;position:absolute;pointer-events:none}.topic-list{display:grid;gap:8px;margin:18px 0}.topic-list button{text-align:left;font-size:15px}.topic-list button small{display:block;color:var(--muted);font-weight:400}.interview-heading{display:flex;gap:18px;align-items:center}.interview-heading img{width:90px;height:90px}.clue-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.clue-card{background:#f2ead9;border:1px solid var(--line);border-radius:5px;padding:18px}.clue-card h4{font-size:20px}.clue-card p{font-size:14px;margin-bottom:7px}.clue-card .source{font-size:11px;color:var(--muted)}.evidence-choice{display:block;text-align:left;width:100%;min-height:80px;font-size:15px;font-weight:400}.evidence-choice strong{display:block;font-family:var(--serif);font-size:21px;font-weight:500}.evidence-choice[aria-pressed=true]{background:#e1e7d9;border:2px solid var(--green);padding:17px}.board-summary{position:sticky;bottom:-30px;background:var(--panel);border-top:1px solid var(--line);padding:15px 0 6px;margin-top:20px}.connection{border-left:3px solid var(--green);padding:12px 17px;background:#e5e8da;margin:15px 0}.connection h4{margin-bottom:8px}.connection p{font-size:15px;margin-bottom:0}.map-wrap{position:relative;background:#e9dec8;border-radius:6px;overflow:hidden;margin-bottom:20px}.map-wrap>img{width:100%;display:block}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-grid button{text-align:left;position:relative}.map-grid button small{display:block;font-weight:400;color:var(--muted);font-size:12px}.map-grid .current{border:2px solid var(--green)}.tabrow{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:22px}.tabrow button{font-size:13px}.tabrow .selected{background:var(--green);color:white}.timeline{border-left:2px solid var(--gold);padding-left:22px}.timeline p{font-size:15px;margin-bottom:20px}.timeline strong{display:block;color:var(--red);font-size:13px}.settings-grid{display:grid;gap:22px}.settings-grid label{display:grid;gap:7px;font-weight:600;font-size:15px}.settings-grid input[type=range]{width:100%}.settings-grid input[type=checkbox]{width:20px;height:20px;margin-right:10px;vertical-align:middle}.settings-grid label.check-label{display:block}.settings-grid select,.form-field select,.form-field input{padding:11px;border:1px solid #9f9e89;border-radius:4px;background:#fffdf7;color:var(--ink);width:100%;min-height:46px}.setting-note{font-size:13px;font-weight:400;color:var(--muted)}.form-field{display:grid;gap:8px;margin-bottom:20px;font-size:15px;font-weight:600}.puzzle-choice{display:grid;gap:9px}.puzzle-choice button{text-align:left;font-size:15px}.puzzle-choice .selected{background:#e1e7d9;border:2px solid var(--green)}.sequence{border:1px dashed var(--gold);padding:15px;background:#f1e6cf;min-height:54px;margin:15px 0;font-size:14px}.inline-feedback{padding:12px 16px;margin-top:16px;border-left:3px solid var(--red);background:#efe3d8;font-size:15px}.inline-feedback.good{border-color:var(--green);background:#e5e9da}.save-row{display:grid;grid-template-columns:1fr auto auto;gap:9px;border-bottom:1px solid var(--line);padding:15px 0;align-items:center;font-size:14px}.save-row small{display:block;color:var(--muted)}.empty{padding:25px;border:1px dashed var(--line);text-align:center;color:var(--muted);font-size:15px}.badge{display:inline-block;padding:4px 9px;font-size:10px;letter-spacing:1px;font-weight:800;background:#e3e8d8;color:var(--green);border-radius:3px}.intro-oreo{width:115px;float:right;margin:0 0 15px 20px;border-radius:50%}.ending-title{text-align:center;padding:10px 0 25px}.ending-title img{width:120px;border-radius:50%;margin-bottom:15px}.ending-title h3{font-size:33px}.star{font-size:29px;color:var(--gold)}#toast{position:fixed;z-index:30;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:#1e3b35;color:#fff6df;border:1px solid #b19d62;padding:13px 22px;border-radius:5px;box-shadow:var(--shadow);max-width:min(520px,90%);text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:14px}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.hint-count{font-size:11px;letter-spacing:1px;color:var(--red)}.solution-guide{font-size:14px}.solution-guide li{margin-bottom:12px}.subheading{font:20px var(--serif);color:var(--red)}
@media(min-width:1450px){.hero{min-height:640px}.hero-art{min-height:560px}}@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 260px}.hero-copy{padding-top:40px;padding-bottom:40px}.hero-art{min-height:430px}.cards{gap:15px}.case-card-content{padding:20px}.game-shell{padding:20px}.case-section{padding:30px 25px}.hotspots-on .hotspot .spot-name{display:none}}@media(max-width:760px){:root{--text:16px}.masthead{padding:12px 17px;min-height:78px;gap:10px}.series{display:none}.wordmark{font-size:10px;gap:8px;letter-spacing:1px}.wordmark b{font-size:9px;letter-spacing:.6px}.mark{width:39px;height:39px;font-size:26px}.return{font-size:12px}.hero{display:flex;flex-direction:column-reverse;min-height:auto}.hero-art{margin:20px 20px 0;min-height:300px;height:300px;border-radius:90px 90px 5px 5px}.hero-art>img{object-position:center 53%}.hero-copy{padding:28px 24px 20px}.hero h1{font-size:48px;letter-spacing:-1.8px;margin-bottom:18px}.hero p{font-size:16px;line-height:1.7;margin-bottom:20px}.hero-copy .eyebrow{font-size:10px}.hero-seal{left:20px;right:20px;bottom:15px;font-size:9px}.hero-seal b{font-size:21px}.cards{grid-template-columns:1fr 1fr}.case-picture{height:150px}.case-card-content{padding:17px}.case-card h3{font-size:23px}.case-card p{font-size:14px}.case-section{padding:20px 20px 35px}.section-heading{align-items:start}.section-heading h2{font-size:30px}.section-heading .small{display:none}.agency-note{align-items:start;flex-direction:column;gap:12px}.game-shell{padding:17px 13px}.game-heading h1{font-size:29px}.game-heading .row>button{font-size:12px}.game-heading .eyebrow{font-size:9px}.objective{gap:8px;padding:10px 12px;align-items:start;margin-bottom:12px}.objective span:first-child{font-size:9px;padding-top:3px}.objective p{font-size:13px}.workspace{grid-template-columns:1fr;gap:12px}.scene-art{aspect-ratio:1.54}.scene-caption{padding:17px}.scene-caption h2{font-size:27px}.scene-caption p{font-size:14px}.side-panel{grid-template-columns:1fr 1fr;gap:10px}.panel{padding:14px}.panel h3{font-size:20px;margin-bottom:10px}.person-button{padding:3px;gap:8px;flex-wrap:wrap}.portrait{width:44px;height:44px}.person-button b{font-size:13px}.person-button small{font-size:11px}.object-list button{font-size:12px;padding:6px 8px;min-height:44px}.toolbar{gap:6px;margin:14px 0}.toolbar button{font-size:12px;padding:9px 11px;flex:1 1 auto}.audio-bar{padding-left:10px;padding-right:10px;gap:5px}.audio-bar #audioStatus{display:none}.audio-bar button{font-size:11px;padding:6px 9px}.audio-bar button:last-child{margin-left:auto}.footer{padding:17px 20px 30px;font-size:10px}.footer span:last-child{display:none}dialog{width:calc(100% - 18px);max-height:calc(100dvh - 24px)}.dialog-head{padding:19px 20px 15px}.dialog-head h2{font-size:27px}#modalBody{padding:19px 20px 25px}.clue-grid{gap:9px}.clue-card{padding:13px}.clue-card h4,.evidence-choice strong{font-size:19px}.clue-card p{font-size:13px}.dialogue{padding:13px 15px}.dialogue p{font-size:20px}.map-grid{grid-template-columns:1fr 1fr}.board-summary{bottom:-25px}.save-row{grid-template-columns:1fr auto auto;font-size:13px;gap:6px}.save-row button{padding:7px 9px}.hotspot{width:44px;height:44px;font-size:18px}.hotspot .spot-name{display:none!important}.interview-heading img{width:72px;height:72px}.intro-oreo{width:90px}.case-progress{font-size:11px;gap:10px}.scene-bottom button{font-size:12px;padding:7px 10px}}
@media(max-width:440px){.cards{grid-template-columns:1fr}.case-picture{height:180px}.case-card-content p{font-size:15px}.case-card h3{font-size:26px}.hero-art{min-height:265px;height:265px}.hero h1{font-size:45px}.hero-seal span{font-size:8px}.clue-grid{grid-template-columns:1fr}.side-panel{grid-template-columns:1fr 1fr}.game-heading .row{gap:8px}.game-heading h1{font-size:27px}.map-grid{grid-template-columns:1fr}.toolbar button{font-size:12px}.objective span:first-child{letter-spacing:.6px}.hero-copy .row button{flex:1}.section-heading{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}body.reduce-motion *{animation:none!important;transition:none!important}body.large-text{--text:20px}body.large-text .scene-caption p,body.large-text .clue-card p,body.large-text .topic-list button{font-size:18px}
@media print{.masthead,.audio-bar,.toolbar,.dialog-head button,.dialog-actions,.footer,.hero-art{display:none!important}body{background:white;color:black;padding:0}dialog[open]{position:static;max-height:none;width:100%;box-shadow:none;border:0}dialog::backdrop{display:none}}
.clue-icon{width:42px;height:42px;float:right;margin:0 0 9px 10px;border-radius:7px}
/* All essential controls retain a comfortable touch target. */
body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.audio-bar button{min-height:44px}.settings-grid label.check-label{min-height:44px;display:flex;align-items:center}.dialog-head h2:focus{outline:none}
/* Keep evidence actions fully inside long, scrolling panels. */
html{scroll-behavior:auto}.board-summary{bottom:0;padding:14px 0 20px;z-index:2;box-shadow:0 -7px 20px var(--panel)}
