
:root{
 --bg:#050608;--panel:#0a0d12;--panel2:#111721;--ink:#f1ecdc;--muted:#87909c;
 --line:#2b3440;--gold:#e4c05b;--mint:#72e5ad;--ice:#8ed8ff;--violet:#a58cff;
 --red:#ff6178;--shadow:0 20px 70px rgba(0,0,0,.6)
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
body{overflow:hidden}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
#app{height:100%;display:grid;grid-template-rows:calc(48px * var(--text-scale,1)) minmax(0,1fr) 30px;background:#030405}
header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border-bottom:1px solid var(--line);background:rgba(5,6,8,.96);z-index:20;min-width:0;max-width:100vw;overflow:hidden}
.brand{font-weight:900;letter-spacing:.13em;font-size:13px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}.brand b{color:var(--gold)}
.build{margin-left:8px;color:var(--muted);font-size:8px;letter-spacing:.1em}
.actions{display:flex;gap:6px;min-width:0;max-width:min(72vw,900px);overflow-x:auto;overflow-y:hidden;flex:0 1 auto;scrollbar-width:thin}
.actions .btn{flex:0 0 auto}
.btn{border:1px solid var(--line);background:#0d1219;color:var(--ink);padding:7px 9px;border-radius:4px;min-height:32px}
.btn:hover{border-color:var(--gold)}
main{position:relative;min-height:0;overflow:hidden;background:#020305}
#game{display:block;width:100%;height:100%;image-rendering:auto;background:#06080c}
.scan{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:.13;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(255,255,255,.025) 4px)}
.vignette{position:absolute;inset:0;z-index:7;pointer-events:none;box-shadow:inset 0 0 140px rgba(0,0,0,.78)}
#hud{position:absolute;z-index:8;left:12px;top:12px;width:240px;pointer-events:none}
.hudCard{background:rgba(7,10,14,.86);border:1px solid rgba(52,62,75,.8);padding:9px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.hudMap{font-size:8px;letter-spacing:.18em;color:var(--muted)}
.hudTitle{font-size:12px;font-weight:900;letter-spacing:.08em;margin-top:3px}
.objective{font-size:9px;line-height:1.5;color:#b8bcc1;margin-top:8px}
.meters{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}
.meter{border:1px solid #27313c;padding:5px;background:#070a0f}.meter small{display:block;font-size:7px;color:var(--muted)}.meter strong{font-size:11px}
#prompt{position:absolute;z-index:10;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(7,9,13,.94);border:1px solid #3c4655;padding:7px 10px;font-size:9px;letter-spacing:.08em;display:none}
#prompt.show{display:block}
#toast{position:absolute;z-index:40;top:14px;left:50%;transform:translateX(-50%);background:#0b1017;border:1px solid #465166;padding:8px 10px;font-size:9px;display:none;box-shadow:var(--shadow)}
#toast.show{display:block}
.overlay{position:absolute;inset:0;z-index:30;display:none}
.overlay.show{display:flex}
#dialogOverlay{align-items:flex-end;justify-content:center;padding:18px;background:linear-gradient(transparent 38%,rgba(0,0,0,.78))}
.dialog{width:min(780px,100%);background:rgba(7,9,13,.98);border:1px solid #424c5c;padding:14px;box-shadow:var(--shadow)}
.dialogMeta{font-size:8px;letter-spacing:.15em;color:var(--muted);margin-bottom:6px}
.dialog h2{margin:0 0 8px;font-size:12px;letter-spacing:.11em;color:var(--gold)}
.dialog p{font-size:12px;line-height:1.62;margin:0 0 12px}
.choices{display:grid;gap:6px}
.choice{text-align:left;border:1px solid #313b49;background:#0d1219;color:var(--ink);padding:9px 10px}
.choice:hover{border-color:var(--gold)}
#docOverlay{align-items:center;justify-content:center;padding:20px;background:rgba(2,3,5,.92)}
.document{width:min(820px,100%);max-height:90%;overflow:auto;background:#e9e5d8;color:#151515;border:8px solid #c9c4b8;padding:24px;box-shadow:var(--shadow);position:relative}
.document .stamp{font-size:10px;letter-spacing:.14em;font-weight:900;color:#731c27}
.document h1{font-family:Georgia,serif;font-size:26px;margin:8px 0 6px}
.document .meta{font-size:10px;color:#444;margin-bottom:18px}
.document p{font-family:Georgia,serif;font-size:14px;line-height:1.6}
.document .what{border-top:1px solid #777;margin-top:14px;padding-top:12px;font-family:ui-monospace,monospace;font-size:10px;line-height:1.55}
.document .source{margin-top:16px;font-size:9px;word-break:break-word}
.document .source a{color:#174f80}
.docClose{position:sticky;top:0;float:right;border:1px solid #666;background:#f8f4e8;padding:5px 8px}
#inventoryOverlay,#recordsOverlay{align-items:center;justify-content:center;padding:20px;background:rgba(2,3,5,.94)}
.panel{width:min(900px,100%);height:min(700px,90%);background:#080b10;border:1px solid #3a4555;display:grid;grid-template-rows:auto 1fr}
.panelTop{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line)}
.panelTop h2{margin:0;font-size:11px;letter-spacing:.16em}
.panelBody{overflow:auto;padding:12px}
.itemGrid,.recordGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.item,.recordCard{border:1px solid #29323f;background:#0b0f15;padding:10px;min-height:100px}
.item b,.recordCard b{display:block;font-size:10px;margin-bottom:5px}
.item span,.recordCard span{font-size:8px;line-height:1.5;color:#9fa6b0}
.recordCard .class{color:var(--mint);font-size:8px;letter-spacing:.12em;margin-bottom:5px}
#battleOverlay{align-items:center;justify-content:center;padding:18px;background:rgba(1,2,4,.9)}
.battle{width:min(800px,100%);border:1px solid #424d60;background:#080b11;padding:16px}
.enemyArt{height:160px;position:relative;overflow:hidden;border:1px solid #242d3b;background:#030508;display:grid;place-items:center}
.enemyCore{width:52px;height:52px;border:2px solid var(--red);transform:rotate(45deg);box-shadow:0 0 30px rgba(255,97,120,.25)}
.enemyRing{position:absolute;border:1px solid rgba(255,97,120,.25);border-radius:50%;animation:spin 8s linear infinite}
.r1{width:110px;height:110px}.r2{width:170px;height:170px;animation-direction:reverse;animation-duration:13s}
@keyframes spin{to{transform:rotate(360deg)}}
.battleName{font-size:11px;color:var(--red);letter-spacing:.14em;margin:10px 0 6px}
.bars{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bar label{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);margin-bottom:4px}
.track{height:7px;background:#222936}.fill{height:100%;background:var(--mint);width:100%}.fill.enemy{background:var(--red)}
.battleLog{height:100px;overflow:auto;margin:10px 0;border:1px solid #26303d;background:#05070b;padding:8px;font-size:9px;line-height:1.45}
.battleActions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#agreementOverlay,#endingOverlay,#finalOverlay{align-items:center;justify-content:center;padding:22px;background:#030406}
.bigCard{width:min(760px,100%);text-align:center}
.kicker{font-size:8px;letter-spacing:.23em;color:var(--violet)}
.bigCard h1{font-size:clamp(28px,6vw,66px);letter-spacing:.03em;margin:10px 0}
.bigCard p{font-size:12px;line-height:1.75;color:#c8c7c2}
.buttons{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:14px}
.finalInput{display:flex;gap:6px;width:min(540px,100%);margin:16px auto}
.finalInput input{flex:1;padding:11px;border:1px solid #555;background:#fff;color:#111}
.finalInput button{padding:10px 14px;border:1px solid #111;background:#111;color:#fff}
.whiteout{background:#f2eee4!important;color:#090909!important}
.whiteout header,.whiteout footer,.whiteout #hud,.whiteout .scan,.whiteout .vignette,.whiteout #toast{display:none!important}
.whiteout main{background:#f2eee4!important}
.whiteout #finalOverlay{background:#f2eee4!important;color:#090909!important}
.whiteout .bigCard p{color:#222!important}
.mobile{display:none}
footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;border-top:1px solid var(--line);background:#06080c;color:var(--muted);font-size:8px;letter-spacing:.08em}
@media(max-width:760px){
 .actions .minor{display:none}#hud{width:190px;top:8px;left:8px}.meters{display:none}
 .mobile{display:grid;position:absolute;z-index:15;left:12px;bottom:12px;grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px;gap:4px}
 .mobile button,.mobileAct{border:1px solid #475264;background:rgba(8,11,16,.86);color:#fff;border-radius:8px}
 .mobile .up{grid-column:2}.mobile .left{grid-column:1;grid-row:2}.mobile .down{grid-column:2;grid-row:2}.mobile .right{grid-column:3;grid-row:2}
 .mobileAct{display:block;position:absolute;z-index:15;right:14px;bottom:14px;width:58px;height:58px;border-radius:50%}
}

/* BUILD 4.1 — FEDERAL SACRED PRESENTATION SYSTEM */
body[data-presentation="americana"]{
 --panel:#0a0d12;--ink:#f1ecdc;--muted:#8d9296;--gold:#dfb85a;--mint:#72e5ad;--violet:#9d89ff;
}
body[data-presentation="federal"]{
 --panel:#0b0d0f;--panel2:#111415;--ink:#e9e6dc;--muted:#969a96;--gold:#b7aa7a;--mint:#8bbf9c;--violet:#8f88a8;
}
body[data-presentation="aporia"]{
 --panel:#06070a;--panel2:#0b0c10;--ink:#eeeae0;--muted:#7d7e89;--gold:#c5b071;--mint:#8cd3b4;--violet:#ad94ff;
}
body[data-presentation="absence"]{
 --panel:#000;--panel2:#000;--ink:#eeeae0;--muted:#696969;--gold:#eeeae0;--mint:#eeeae0;--violet:#eeeae0;
}
body[data-presentation="federal"] .scan{opacity:.045}
body[data-presentation="aporia"] .scan{opacity:.075}
body[data-presentation="absence"] .scan,
body[data-presentation="absence"] .vignette{display:none}
body[data-presentation="absence"] header{border-color:#151515;background:#000}
.series{color:var(--muted);font-size:8px;letter-spacing:.16em;margin-right:8px}
.artifact{color:var(--ink);font-size:14px;letter-spacing:.22em}
.witnessMark{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;position:relative;vertical-align:middle}
.witnessMark:after{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}
.witnessMark:before{content:"";position:absolute;right:-2px;top:5px;width:5px;height:6px;background:var(--bg)}
.aporiaSeal{width:62px;height:62px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;position:relative;margin:0 auto 10px}
.aporiaSeal:before{content:"";width:21px;height:21px;border:1px solid currentColor;border-radius:50%}
.aporiaSeal:after{content:"";position:absolute;width:78px;height:1px;background:currentColor;opacity:.35;transform:rotate(-19deg)}
#titleOverlay{z-index:60;background:#040506;align-items:center;justify-content:center}
.titleArtifact{width:min(760px,92vw);text-align:center}
.titleSeries{font-size:9px;letter-spacing:.28em;color:#747b84;margin-bottom:20px}
.titleLogo{font-size:clamp(64px,12vw,138px);font-weight:800;letter-spacing:.16em;line-height:.9}
.titleSubtitle{font-size:11px;letter-spacing:.32em;color:#a2a5a3;margin-top:20px}
.titleWitness{margin:28px auto 0;color:#a58cff}
.titleStatus{margin:20px auto 0;max-width:580px;font-size:9px;line-height:1.6;color:#747b84;letter-spacing:.1em}
.titleButtons{margin-top:26px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.titleBtn{min-width:180px}
.chapterCard{position:absolute;inset:0;z-index:25;display:none;place-items:center;background:#050608;pointer-events:none}
.chapterCard.show{display:grid}
.chapterInner{text-align:center}
.chapterCode{font-size:9px;letter-spacing:.26em;color:#777f89}
.chapterName{font-size:clamp(32px,7vw,74px);font-weight:900;letter-spacing:.07em;margin-top:8px}
.chapterLine{font-size:10px;letter-spacing:.13em;color:#9ca1a8;margin-top:12px}
.semanticSubstitute{transform:translateX(2px)}
.semanticErase{opacity:.28;text-decoration:line-through}
.semanticChronology{letter-spacing:.22em;color:var(--violet)}

/* BUILD 4.2 — PRODUCTION PRESENTATION PASS */
.titleLogo{display:flex;align-items:center;justify-content:center;height:130px}.titleLogoMaster{display:block;width:min(720px,86vw);max-height:130px}
.zeroGlyph{
 width:clamp(62px,10vw,126px);height:clamp(62px,10vw,126px);border:clamp(7px,1vw,13px) solid #ece8dc;
 border-radius:50%;display:inline-block;position:relative;transform:scaleX(.84);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)
}
.zeroGlyph:after{
 content:"";position:absolute;right:-16%;top:25%;width:30%;height:22%;background:#040506;transform:rotate(-19deg)
}
.logoDot{font-size:clamp(48px,8vw,104px);line-height:1;color:#ece8dc;transform:translateY(-.09em)}
.introScene{width:min(900px,94vw);height:min(560px,80vh);position:relative;overflow:hidden;border:1px solid #1d2430;background:#05080d;box-shadow:0 30px 100px #000}
.introScene:before{
 content:"";position:absolute;left:0;right:0;bottom:0;height:42%;
 background:linear-gradient(#0b1117,#090d12 24%,#111820 25%,#111820 57%,#080b0f 58%)
}
.introScene:after{
 content:"";position:absolute;left:8%;right:8%;bottom:12%;height:2px;background:rgba(228,192,91,.14);
 box-shadow:0 -56px 0 rgba(142,216,255,.06),0 -112px 0 rgba(255,255,255,.025)
}
.introTime{position:absolute;z-index:2;top:22px;left:24px;font-size:8px;letter-spacing:.2em;color:#777f88}
.introRadio{position:absolute;z-index:2;bottom:28px;left:24px;right:24px;font-size:9px;color:#a9adb2;letter-spacing:.08em}
.introLine{position:absolute;z-index:2;left:50%;top:28%;transform:translateX(-50%);width:90%;text-align:center;font-size:11px;color:#d8d4c9;letter-spacing:.08em}
.introSky{position:absolute;inset:0;z-index:1}
.airLight{position:absolute;width:4px;height:4px;border-radius:50%;background:#f2e6b0;left:25%;top:31%;box-shadow:0 0 8px rgba(242,230,176,.65);animation:airMove 5s linear infinite}
@keyframes airMove{
 0%{left:25%}38%{left:48%}56%{left:48%}72%{left:43%}100%{left:76%}
}
.chapterCard{background:#040506}
.chapterInner{max-width:820px;padding:28px}
.chapterName{font-weight:800}
body[data-presentation="federal"] .chapterName{font-size:clamp(28px,6vw,64px);letter-spacing:.12em}
body[data-presentation="aporia"] .chapterName{letter-spacing:.18em}
body[data-presentation="absence"] .chapterLine{color:#777}
#hud .hudCard{backdrop-filter:none}
body[data-presentation="federal"] #hud .hudCard{border-radius:0;border-color:#384039;background:rgba(12,14,14,.94)}
body[data-presentation="aporia"] #hud .hudCard{border-color:#4c4565;background:rgba(5,5,8,.94)}
body[data-presentation="absence"] #hud{display:none}
body[data-presentation="absence"] #prompt{border:0;background:transparent;color:#777}


/* ART BUILD 5.0 — AUTHORED PIXEL RENDER SYSTEM */
#game{image-rendering:auto;image-rendering:auto}
.artBadge{display:flex;gap:7px;align-items:center}
.artBadge img{width:18px;height:18px}
body[data-presentation="federal"] .dialog{border-radius:0}
body[data-presentation="aporia"] .dialog{border-color:#554a73}
body[data-presentation="absence"] .dialog{border:0;box-shadow:none;background:rgba(0,0,0,.92)}
.recordCard[data-class="A"]{border-left:3px solid #8cd3b4}
.recordCard[data-class="B"]{border-left:3px solid #d6b867}
.recordCard[data-class="C"]{border-left:3px solid #8ed8ff}
.recordCard[data-class="Ø"]{border-left:3px solid #a58cff}


/* COMPLETE BUILD 5.7 — RELEASE UI */
.settingsPanel{height:auto;max-height:min(760px,92vh)}
.settingsBody{display:grid;gap:8px}
.settingRow{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #2a3441;background:#0a0e14;padding:13px}
.settingRow span{display:block}.settingRow b{display:block;font-size:10px;letter-spacing:.08em}.settingRow small{display:block;margin-top:4px;color:var(--muted);font-size:8px;line-height:1.4}
.settingRow input[type="range"]{width:min(260px,42vw)}
.settingRow input[type="checkbox"]{width:22px;height:22px}
.settingsNote{font-size:8px;line-height:1.6;color:var(--muted);padding-top:6px}
.creditsCard{max-height:90vh;overflow:auto}
.creditsLead{letter-spacing:.18em;color:var(--muted)}
.creditsList{margin:22px auto;max-width:560px;text-align:left;border-top:1px solid var(--line)}
.creditsList p{border-bottom:1px solid var(--line);padding:12px 0;margin:0;font-size:10px!important}
body.highContrast{--ink:#fff;--muted:#b8c1ce;--line:#596579;--gold:#ffe17a;--mint:#9dffc7;--ice:#a8e6ff;--violet:#c1b2ff;--red:#ff8595}
body.userReducedMotion *{animation:none!important;transition:none!important}
body.userReducedMotion .scan{display:none}
.fadeCurtain{position:absolute;inset:0;background:#000;z-index:24;pointer-events:none;opacity:0;transition:opacity .28s linear}
.fadeCurtain.active{opacity:1}
body.userReducedMotion .fadeCurtain{transition:none}
.autosaveIndicator{position:absolute;right:12px;top:12px;z-index:12;font-size:8px;color:var(--muted);letter-spacing:.12em;opacity:0;transition:opacity .2s}
.autosaveIndicator.show{opacity:1}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
#dialogText{white-space:pre-line}

/* BRAND MASTER 6.2 */
.titleDesignation{margin-top:10px;font-size:8px;letter-spacing:.24em;color:#5f6670}
.microMeta{font-variant-numeric:tabular-nums;letter-spacing:.09em}
.build,.class,.meta,#footerState,#dialogMeta,.titleStatus,.chapterCode{font-variant-numeric:tabular-nums}
.brand .artifact{letter-spacing:.26em}
body[data-presentation="aporia"] .chapterCode,
body[data-presentation="aporia"] .meta,
body[data-presentation="aporia"] #dialogMeta{letter-spacing:.16em}
.brandSig{display:inline-flex;align-items:center;gap:7px}
.brandSig img{width:14px;height:14px;opacity:.72}

.titleWitnessMaster{display:block;width:34px;height:34px;margin:28px auto 0;opacity:.82}
.agreementSealMaster{display:block;width:78px;height:78px;margin:0 auto 14px;opacity:.76}


/* COMPLETE EDITION 7.0 — RENDER FIXES */
.whiteout #app{grid-template-rows:minmax(0,1fr)}
.whiteout main{grid-row:1;min-height:0}
.mobileAct{display:none}
@media(max-width:760px){
 #app{width:100vw;min-width:0;overflow:hidden}
 header,main,footer{min-width:0;max-width:100vw}
 header{overflow:hidden}
 .brand{min-width:0;overflow:hidden;text-overflow:ellipsis}
 .build{display:none}
 footer>span:first-child{display:none}
 footer{justify-content:flex-end}
 #game{min-width:0;max-width:100%;width:100%;height:100%}
 .mobileAct{display:block!important}
}


/* COMPLETE EDITION 7.0 — SELF-CONTAINED BRAND FALLBACK */
.titleLogo{position:relative}
.titleLogoFallback{display:none!important}
.titleLogoMaster{position:relative;z-index:1;display:block}
.titleLogoMaster:not([src]),.titleLogoMaster[src=""]{display:none}


/* COMPLETE EDITION 7.0 — BOSS IMPACT */
@keyframes bossImpact{
 0%{transform:translate3d(0,0,0)}
 20%{transform:translate3d(-5px,2px,0)}
 40%{transform:translate3d(4px,-2px,0)}
 60%{transform:translate3d(-3px,1px,0)}
 80%{transform:translate3d(2px,0,0)}
 100%{transform:translate3d(0,0,0)}
}
.battle.impact{animation:bossImpact .18s steps(2,end)}
.userReducedMotion .battle.impact{animation:none}


/* CINEMATIC EDITION 7.1 — VISUAL MASTER PASS */
:root{
 --cinema-edge:rgba(242,238,228,.10);
 --cinema-dim:rgba(2,3,5,.82);
}
main:before,main:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5}
main:before{
 background:
  linear-gradient(90deg,rgba(255,255,255,.018),transparent 16%,transparent 84%,rgba(255,255,255,.018)),
  linear-gradient(180deg,rgba(255,255,255,.018),transparent 18%,transparent 82%,rgba(0,0,0,.20));
 mix-blend-mode:screen;opacity:.42
}
main:after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),inset 0 0 110px rgba(0,0,0,.36)}
.scan{opacity:.055}
.vignette{box-shadow:inset 0 0 175px rgba(0,0,0,.72)}
body[data-presentation="federal"] .scan{opacity:.025}
body[data-presentation="aporia"] .scan,
body[data-presentation="absence"] .scan{opacity:0}

/* Title: museum artifact, not marketing splash */
#titleOverlay{
 overflow:hidden;
 background:
  linear-gradient(90deg,transparent 49.9%,rgba(242,238,228,.035) 50%,transparent 50.1%),
  linear-gradient(0deg,transparent 49.9%,rgba(242,238,228,.025) 50%,transparent 50.1%),
  #040506
}
#titleOverlay:before{
 content:"";position:absolute;width:min(76vw,880px);aspect-ratio:1;border:1px solid rgba(242,238,228,.055);
 border-radius:50%;left:50%;top:50%;transform:translate(-50%,-51%);
 box-shadow:0 0 0 72px rgba(242,238,228,.012),0 0 0 144px rgba(242,238,228,.008);
 pointer-events:none
}
#titleOverlay:after{
 content:"WITNESS / UNASSIGNED";position:absolute;right:24px;bottom:22px;
 font:700 7px/1 ui-monospace,monospace;letter-spacing:.22em;color:#59616c
}
.titleArtifact{position:relative;z-index:1}
.titleArtifact:before,.titleArtifact:after{
 content:"";position:absolute;top:50%;width:clamp(45px,10vw,150px);height:1px;background:linear-gradient(90deg,transparent,#515965)
}
.titleArtifact:before{right:calc(100% + 28px)}
.titleArtifact:after{left:calc(100% + 28px);transform:scaleX(-1)}
.titleLogoMaster{filter:drop-shadow(0 22px 42px rgba(0,0,0,.42))}
.titleSeries{color:#6e7681!important}
.titleSubtitle{letter-spacing:.22em!important}
.titleDesignation{border-top:1px solid #1e252e;padding-top:10px;width:max-content;margin-left:auto!important;margin-right:auto!important}

/* HUD: instrument panel with hard corner logic */
#hud{width:258px;left:16px;top:16px}
.hudCard{
 position:relative;background:linear-gradient(135deg,rgba(5,8,12,.92),rgba(8,12,17,.78));
 border:0;padding:13px 13px 12px 14px;box-shadow:0 18px 44px rgba(0,0,0,.28)
}
.hudCard:before{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:
  linear-gradient(#66707c,#66707c) left top/24px 1px no-repeat,
  linear-gradient(#66707c,#66707c) left top/1px 24px no-repeat,
  linear-gradient(#303945,#303945) right bottom/18px 1px no-repeat,
  linear-gradient(#303945,#303945) right bottom/1px 18px no-repeat
}
.hudMap{font-size:7px;letter-spacing:.24em}
.hudTitle{font-size:13px;letter-spacing:.105em}
.objective{border-top:1px solid #202832;margin-top:9px;padding-top:9px;color:#c2c6c8}
.meters{gap:1px;background:#202832;border:1px solid #202832}
.meter{border:0;background:#070a0e;padding:6px 7px}
.meter small{letter-spacing:.13em}
.meter strong{font-size:12px}

/* Prompt / interaction */
#prompt{
 border:0;padding:8px 13px 8px 31px;letter-spacing:.13em;
 background:rgba(5,8,12,.94);box-shadow:0 12px 30px rgba(0,0,0,.28)
}
#prompt:before{
 content:"";position:absolute;left:10px;top:50%;width:9px;height:9px;border:1px solid #a58cff;
 border-radius:50%;transform:translateY(-50%);box-shadow:inset 0 0 0 2px #05080c
}
#prompt:after{
 content:"";position:absolute;left:13px;top:50%;width:3px;height:3px;border-radius:50%;
 background:#ece8dc;transform:translateY(-50%)
}

/* Dialogue: cinematic lower-third */
#dialogOverlay{padding:0 22px 24px;background:linear-gradient(transparent 25%,rgba(0,0,0,.38) 58%,rgba(0,0,0,.92))}
.dialog{
 position:relative;width:min(880px,100%);border:0;border-left:2px solid #a58cff;
 background:linear-gradient(90deg,rgba(7,9,13,.99),rgba(7,9,13,.92));padding:17px 18px 16px 20px;
 box-shadow:0 24px 70px rgba(0,0,0,.46)
}
.dialog:after{content:"";position:absolute;left:0;top:0;width:82px;height:1px;background:#a58cff}
.dialog h2{font-size:13px;color:#ece8dc;letter-spacing:.16em}
.dialogMeta{color:#747c86}
.choice{position:relative;border:0;border-top:1px solid #262e39;background:#090d13;padding:10px 12px}
.choice:hover,.choice:focus-visible{background:#101620;border-color:#a58cff;outline:none}
.choice:before{content:"";display:inline-block;width:5px;height:5px;border:1px solid #59636f;margin-right:9px;transform:rotate(45deg)}

/* Documents: tactile federal paper, still readable */
.document{
 background:
  repeating-linear-gradient(0deg,rgba(25,20,12,.018) 0 1px,transparent 1px 4px),
  linear-gradient(90deg,rgba(89,70,35,.035),transparent 16%,transparent 84%,rgba(89,70,35,.025)),
  #e9e5d8;
 border:0;border-left:12px solid #c8c1ad;padding:30px 34px;box-shadow:0 35px 100px rgba(0,0,0,.60)
}
.document:before{content:"";position:absolute;left:16px;top:24px;bottom:24px;width:1px;background:rgba(123,38,52,.18)}
.document .stamp{border:1px solid rgba(123,38,52,.45);display:inline-block;padding:5px 7px;transform:rotate(-1.2deg)}
.document h1{font-size:29px;letter-spacing:-.02em}
.document .meta{border-bottom:1px solid rgba(20,20,20,.25);padding-bottom:13px}

/* Inventory / records */
.panel{border:0;box-shadow:0 30px 100px rgba(0,0,0,.56);background:#06090d}
.panelTop{border-bottom:1px solid #252d38;padding:14px 16px}
.item,.recordCard{position:relative;border:0;border-left:2px solid #34404c;background:#0a0e14;transition:transform .12s ease,background .12s ease}
.recordCard[data-class="A"]{border-left-color:#8cd3b4}
.recordCard[data-class="B"]{border-left-color:#7894a3}
.recordCard[data-class="C"]{border-left-color:#b8a475}
.recordCard[data-class="Ø"]{border-left-color:#a58cff}
.recordCard:hover,.recordCard:focus-within{transform:translateY(-2px);background:#10161e}

/* Chapter cards */
.chapterCard{
 background:
  radial-gradient(circle at 50% 50%,rgba(165,140,255,.035),transparent 34%),
  #030405
}
.chapterInner{position:relative;padding:60px 90px}
.chapterInner:before{
 content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(242,238,228,.08);border-radius:50%;
 left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 64px rgba(242,238,228,.008)
}
.chapterCode,.chapterName,.chapterLine{position:relative;z-index:1}
.chapterCode{letter-spacing:.34em}
.chapterName{text-shadow:0 24px 50px rgba(0,0,0,.6)}
.chapterLine{color:#858d97}

/* Transition becomes a physical shutter */
.fadeCurtain{background:#020304!important}
.fadeCurtain:before,.fadeCurtain:after{
 content:"";position:absolute;left:0;right:0;height:1px;background:#2a313a;top:50%;
 transform:scaleX(.15);transition:transform .22s ease
}
.fadeCurtain:after{transform:translateY(6px) scaleX(.05);opacity:.6}
.fadeCurtain.active:before{transform:scaleX(1)}
.fadeCurtain.active:after{transform:translateY(6px) scaleX(.72)}

/* Battle identity: the two bosses no longer share one generic emblem */
.enemyArt{height:190px;border:0;background:#020305;isolation:isolate}
.enemyArt:before,.enemyArt:after{content:"";position:absolute;pointer-events:none}
#battleOverlay[data-kind="classification"] .enemyArt{
 background:
  repeating-linear-gradient(0deg,transparent 0 20px,rgba(255,97,120,.04) 21px 22px),
  #030508
}
#battleOverlay[data-kind="classification"] .enemyArt:before{
 width:270px;height:86px;background:
  linear-gradient(#ff6178,#ff6178) 0 8px/100% 7px no-repeat,
  linear-gradient(#66717f,#66717f) 38px 34px/232px 5px no-repeat,
  linear-gradient(#ff6178,#ff6178) 0 58px/190px 7px no-repeat,
  linear-gradient(#66717f,#66717f) 78px 78px/192px 3px no-repeat;
 opacity:.55
}
#battleOverlay[data-kind="classification"] .enemyArt:after{
 width:74px;height:74px;border:1px solid #ff6178;transform:rotate(45deg);
 box-shadow:0 0 0 22px rgba(255,97,120,.025),0 0 0 44px rgba(255,97,120,.014)
}
#battleOverlay[data-kind="classification"] .enemyCore{display:block}
#battleOverlay[data-kind="disclosure"] .enemyCore{display:none}
#battleOverlay[data-kind="disclosure"] .enemyArt{
 background:radial-gradient(ellipse at 50% 58%,rgba(165,140,255,.13),transparent 34%),#020305
}
#battleOverlay[data-kind="disclosure"] .enemyArt:before{
 width:300px;height:86px;border:2px solid #a58cff;border-radius:50%;
 transform:scaleY(.42);box-shadow:0 0 0 18px rgba(165,140,255,.025),0 0 45px rgba(142,216,255,.08)
}
#battleOverlay[data-kind="disclosure"] .enemyArt:after{
 width:8px;height:8px;border-radius:50%;background:#ece8dc;
 box-shadow:-102px 16px 0 -2px #8ed8ff,112px -14px 0 -2px #a58cff,72px 36px 0 -3px #ece8dc,-64px -34px 0 -3px #8ed8ff
}
#battleOverlay[data-kind="disclosure"] .enemyRing{border-color:rgba(165,140,255,.16)}
.battle{border:0;background:#06090e;box-shadow:0 32px 100px rgba(0,0,0,.65)}
.battleName{font-size:12px;letter-spacing:.18em}

/* Presentation-specific edge language */
body[data-presentation="americana"] .hudCard:before{filter:sepia(.18)}
body[data-presentation="federal"] .hudCard{background:rgba(7,10,12,.94)}
body[data-presentation="federal"] .hudCard:before{background:
 linear-gradient(#8fa295,#8fa295) left top/24px 1px no-repeat,
 linear-gradient(#8fa295,#8fa295) left top/1px 24px no-repeat,
 linear-gradient(#3a4444,#3a4444) right bottom/18px 1px no-repeat,
 linear-gradient(#3a4444,#3a4444) right bottom/1px 18px no-repeat}
body[data-presentation="aporia"] .hudCard:before{background:
 linear-gradient(#a58cff,#a58cff) left top/24px 1px no-repeat,
 linear-gradient(#a58cff,#a58cff) left top/1px 24px no-repeat,
 linear-gradient(#41434b,#41434b) right bottom/18px 1px no-repeat,
 linear-gradient(#41434b,#41434b) right bottom/1px 18px no-repeat}
body[data-presentation="absence"] #hud{display:none}

@media(prefers-reduced-motion:reduce){
 .item,.recordCard{transition:none}
}
@media(max-width:760px){
 #hud{width:210px;left:8px;top:8px}
 .hudCard{padding:9px 10px}
 .objective{font-size:8px}
 .dialog{padding:13px 13px 12px 15px}
 .chapterInner{padding:40px 20px}
}


@keyframes witnessBreath{0%,100%{opacity:.70}50%{opacity:.93}}
@keyframes titleResolve{0%{transform:translateY(6px);opacity:0}100%{transform:none;opacity:1}}
#titleOverlay.show .titleArtifact{animation:titleResolve .62s cubic-bezier(.2,.8,.2,1) both}
#titleOverlay.show .titleWitnessMaster{animation:witnessBreath 4.8s ease-in-out infinite}
.userReducedMotion #titleOverlay.show .titleArtifact,.userReducedMotion #titleOverlay.show .titleWitnessMaster{animation:none}


/* INVESTIGATION EDITION 8.0 — THEORY ENGINE */
.investigationPanel{width:min(1180px,96vw);height:min(790px,94vh);display:grid;grid-template-rows:auto auto auto minmax(0,1fr);background:#05080d}
.investigationTop{gap:18px}
.investigationSub{font-size:7px;color:#7f8791;letter-spacing:.16em;margin-top:5px}
.investigationTabs{display:flex;gap:1px;overflow:auto;border-bottom:1px solid #252d38;background:#10151c;padding:0 8px}
.primaryFirewall{border:1px solid rgba(216,191,122,.25);background:#0b0e0e;padding:12px 14px;margin:0 0 14px;font-size:9px;line-height:1.6;color:#c8c3b6}
.primaryFirewall b{color:#d8bf7a;letter-spacing:.12em}
.primaryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:8px}
.primaryCard{border:1px solid #293238;background:#080c0e;padding:12px;display:grid;gap:8px;min-width:0}
.primaryCard .primaryHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.primaryCard h4{margin:0;color:#e8e3d6;font-size:10px;line-height:1.35;letter-spacing:.04em}
.primaryCard .sourceTier{font-size:6px;letter-spacing:.12em;border:1px solid #3a4650;padding:4px 5px;color:#aeb9b5;white-space:nowrap}
.primaryCard .sourceTier.PRIMARY{border-color:rgba(114,229,173,.35);color:#72e5ad}
.primaryCard .sourceTier.OFFICIAL_CONTEXT{border-color:rgba(216,191,122,.32);color:#d8bf7a}
.primaryCard .primaryMeta{font-size:7px;color:#77847f;line-height:1.45}
.primaryCard .primaryClaim{font-size:8px;line-height:1.55;color:#c8d0cc}
.primaryCard .primaryLimit{font-size:8px;line-height:1.55;color:#a99386;border-top:1px solid #20282b;padding-top:7px}
.primaryCard .primaryLinks{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.primaryCard a{color:#8ed8ff;overflow-wrap:anywhere}
.docPrimaryGrounding{margin-top:10px;border-top:1px solid #2b3338;padding-top:10px}
.docPrimaryGrounding h3{font-size:7px;letter-spacing:.16em;color:#d8bf7a;margin:0 0 8px}
.docPrimaryGrounding .primaryCard{margin:6px 0}
.primaryCount{font-size:7px;color:#72e5ad;letter-spacing:.08em}

.invTab{appearance:none;border:0;border-bottom:2px solid transparent;background:#0b1016;color:#858d98;padding:11px 12px;font:700 8px/1 ui-monospace,monospace;letter-spacing:.1em;white-space:nowrap}
.invTab:hover,.invTab:focus-visible{color:#ece8dc;outline:1px solid #536170;outline-offset:-2px}
.invTab.active{color:#ece8dc;border-bottom-color:#a58cff;background:#0d131b}
.investigationToolbar{display:flex;gap:7px;padding:8px;border-bottom:1px solid #202832;background:#070b10}
.investigationToolbar input{flex:1;min-width:0;border:1px solid #2c3644;background:#05080d;color:#ece8dc;padding:9px 10px;font:9px ui-monospace,monospace}
.investigationBody{overflow:auto;padding:12px}
.invGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:9px}
.invCard{position:relative;border:1px solid #27313d;background:#090e14;padding:12px;min-height:120px}
.invCard h3{margin:0 0 7px;font-size:10px;letter-spacing:.09em}
.invCard p{margin:6px 0;font-size:8px;line-height:1.55;color:#aab0b7}
.invMeta{font-size:7px;line-height:1.45;color:#707986;letter-spacing:.08em}
.invBadge{display:inline-block;border:1px solid #394552;padding:3px 5px;margin:2px 3px 2px 0;font-size:7px;color:#aab2bc}
.invBadge.good{border-color:#416c5c;color:#8cd3b4}
.invBadge.warn{border-color:#735d36;color:#d8bf7a}
.invBadge.bad{border-color:#713d49;color:#ff8797}
.invBadge.violet{border-color:#564b75;color:#b7a6ff}
.invActions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.invActions .btn{font-size:7px;padding:6px 8px}
.invSection{margin-bottom:16px}
.invSectionTitle{display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:1px solid #27303b;padding:0 2px 7px;margin-bottom:8px}
.invSectionTitle h3{margin:0;font-size:9px;letter-spacing:.16em}
.invSectionTitle span{font-size:7px;color:#727b87}
.theoryCard.activeTheory{border-color:#a58cff;box-shadow:inset 3px 0 0 #a58cff}
.theoryMeter{height:4px;background:#1c2530;margin:8px 0}
.theoryMeter>i{display:block;height:100%;background:#8cd3b4}
.theoryRoots{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}
.theoryRoots div{background:#06090d;padding:6px;font-size:7px;color:#9098a2}
.evidenceRow{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:start;border-bottom:1px solid #1f2832;padding:9px 4px}
.evidenceRow:last-child{border:0}
.evidenceId{font-size:7px;color:#8cd3b4;letter-spacing:.08em}
.evidenceMain b{display:block;font-size:9px}.evidenceMain span{display:block;font-size:7px;color:#828b96;line-height:1.5;margin-top:3px}
.evidenceTools{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.evidenceTools button{font-size:7px;padding:5px 6px}
.compareTray{border:1px solid #455062;background:#070b11;padding:10px;margin-bottom:10px}
.compareGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.compareDoc{background:#0b1016;padding:10px;border-left:2px solid #687788}
.compareDoc b{font-size:9px}.compareDoc p{font-size:7px;line-height:1.55;color:#a4abb4}
.rootChain{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;font-size:7px;color:#8a939d}
.rootNode{border:1px solid #36404b;padding:4px 6px}.rootArrow{color:#5d6670}
.contradiction{border-left:3px solid #d8bf7a}.contradiction.resolved{border-left-color:#8cd3b4}
.timelineRow{display:grid;grid-template-columns:92px 110px 1fr;gap:8px;border-bottom:1px solid #202833;padding:8px 3px;font-size:8px}
.timelineDate{color:#a58cff}.timelineRoot{color:#7e8791}
.missingCard{border-style:dashed}
.fragmentPips{display:flex;gap:4px;margin:8px 0}.fragmentPips i{width:16px;height:4px;background:#293340}.fragmentPips i.on{background:#a58cff}
.rumorTrack{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:8px}.rumorTrack span{border:1px solid #2c3540;padding:5px;font-size:6px;color:#68727e}.rumorTrack span.on{border-color:#ff8db4;color:#ffc0d5}
.communityFragment{border:1px solid #52496a;background:#08070c;padding:18px;text-align:center;margin:10px 0}
.communityFragment strong{display:block;font-size:24px;letter-spacing:.12em;color:#ece8dc}.communityFragment span{font-size:8px;color:#a58cff;letter-spacing:.16em}
.caseProgress{height:4px;background:#1f2833;margin-top:8px}.caseProgress i{display:block;height:100%;background:#8cd3b4}
.caseTravel{border-top:1px solid #252e39;padding-top:9px;margin-top:9px}
.psychProfile{border:1px solid #51496a;background:#07070b;padding:12px;margin-top:10px}
.psychProfile code{display:block;white-space:pre-wrap;color:#b7a6ff;font:8px/1.55 ui-monospace,monospace}
@media(max-width:760px){
 .investigationPanel{width:100vw;height:100vh;max-height:none}
 .investigationToolbar{flex-wrap:wrap}.investigationToolbar input{flex-basis:100%}
 .evidenceRow{grid-template-columns:1fr}.evidenceTools{justify-content:flex-start}
 .compareGrid{grid-template-columns:1fr}
 .timelineRow{grid-template-columns:72px 1fr}.timelineRow .timelineRoot{display:none}
}

.compareDoc mark{background:#5b462b;color:#f2e2b7;padding:0 1px}


.authLine{display:block;margin-top:4px;color:#9a8fc5;font-size:6px;letter-spacing:.04em}
.rootCollapseViz{position:relative;display:grid;grid-template-columns:1fr 90px 1fr;gap:8px;align-items:center;margin:12px 0;padding:15px;border:1px solid #564b75;background:#07080c;overflow:hidden}
.rootCollapseViz .leaf,.rootCollapseViz .rootCore{border:1px solid #48515e;background:#0b1016;padding:9px;text-align:center;font-size:7px;letter-spacing:.08em}
.rootCollapseViz .rootCore{border-color:#a58cff;color:#d7cdfd}
.rootCollapseViz .merge{position:absolute;left:49%;top:0;bottom:0;width:2px;background:linear-gradient(transparent,#a58cff,transparent);opacity:.6}
.rootCollapseViz.collapsed .leaf{opacity:.42;text-decoration:line-through}
@keyframes rootCollapsePulse{0%{box-shadow:0 0 0 rgba(165,140,255,0)}50%{box-shadow:0 0 32px rgba(165,140,255,.18)}100%{box-shadow:0 0 0 rgba(165,140,255,0)}}
.rootCollapseViz.justCollapsed{animation:rootCollapsePulse .7s ease}
.caseResolution{border:1px solid #3c4651;background:#070a0e;padding:12px;margin-top:10px}
.caseResolution .stateRow{display:grid;grid-template-columns:150px 1fr;gap:8px;border-bottom:1px solid #202832;padding:6px 0;font-size:7px}
.caseResolution .stateRow:last-child{border:0}
.caseResolution b{color:#d5d0c4}


/* 9.0.3 — HARROW COUNTY TRAVEL MAP */
.countyMapPanel{width:min(1040px,96vw);height:min(760px,92vh);display:grid;grid-template-rows:auto minmax(0,1fr);background:#070a0e}
.countyMapSub{margin-top:4px;font-size:7px;letter-spacing:.14em;color:#78818b}
.countyMapBody{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:0}
.countyMapCanvas{position:relative;min-height:0;overflow:hidden;background:
 linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
 #0b1014;background-size:22px 22px;border-right:1px solid #27313b}
.countyMapSvg{position:absolute;inset:0;width:100%;height:100%}
.countyBoundary{fill:#151712;stroke:#6d6b5b;stroke-width:2;stroke-dasharray:8 6}
.countyRiver{fill:none;stroke:#31495b;stroke-width:12;opacity:.8}
.countyRoad{fill:none;stroke:#4f4b3f;stroke-width:3;stroke-dasharray:7 5}
.countyRoad.roadMajor{stroke:#766d57;stroke-width:5;stroke-dasharray:none}
.cityGlow{fill:rgba(216,191,122,.03);stroke:rgba(216,191,122,.12);stroke-width:2}
.mapWatermark{fill:#3d3d35;font:700 24px ui-monospace,monospace;letter-spacing:.22em;text-anchor:middle}
.mapWatermark.small{font-size:10px;letter-spacing:.35em}
.riverLabel,.roadLabel{fill:#546372;font:700 8px ui-monospace,monospace;letter-spacing:.12em}
.roadLabel{fill:#625f51}
.countyPin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;appearance:none;border:0;background:transparent;color:#c9c4b7;padding:7px;min-width:44px;min-height:44px;font:700 7px/1 ui-monospace,monospace;letter-spacing:.08em;cursor:pointer;z-index:3}
.countyPin .pinDot{width:10px;height:10px;flex:0 0 10px;border:2px solid #8a8370;background:#0c1014;transform:rotate(45deg)}
.countyPin .pinLabel{background:#090d11;border:1px solid #333b42;padding:5px 6px;white-space:nowrap}
.countyPin:hover .pinLabel,.countyPin:focus-visible .pinLabel{border-color:#d8bf7a;color:#f0e3bb}
.countyPin:focus-visible{outline:1px solid #d8bf7a;outline-offset:2px}
.countyPin.current .pinDot{background:#d8bf7a;border-color:#f1e1ad}
.countyPin.current .pinLabel{border-color:#d8bf7a;color:#f1e1ad}
.countyMapInfo{padding:18px;background:#080b0f;overflow:auto}
.countyMapInfoLabel{font-size:7px;letter-spacing:.14em;color:#6f7882}
.countyMapInfo strong{display:block;margin:8px 0 13px;font-size:12px;letter-spacing:.08em;color:#ece8dc}
.countyMapInfo p{font-size:8px;line-height:1.65;color:#9da4ac}
.countyMapLegend{display:grid;gap:8px;margin-top:22px;padding-top:12px;border-top:1px solid #262f38;font-size:7px;color:#7f8790}
.countyMapLegend span{display:flex;align-items:center;gap:7px}
.legendDot{width:8px;height:8px;border:1px solid #8a8370;transform:rotate(45deg)}
.legendDot.current{background:#d8bf7a;border-color:#f1e1ad}
@media(max-width:760px){
 .countyMapPanel{width:100vw;height:100vh;max-height:none}
 .countyMapBody{grid-template-columns:1fr;grid-template-rows:minmax(420px,1fr) auto}
 .countyMapCanvas{border-right:0;border-bottom:1px solid #27313b}
 .countyMapInfo{padding:11px 14px;max-height:170px}
 .countyPin{padding:5px}
 .countyPin .pinLabel{font-size:6px;padding:4px}
}
@media(prefers-reduced-motion:reduce){.countyPin{transition:none}}


/* 9.1 — PLAYER MODEL EDITOR + BELIEF LOOP */
#modelEditorOverlay{z-index:46}
.modelEditorPanel{width:min(760px,94vw);background:#070a0e}
.modelEditorSub{font-size:7px;letter-spacing:.12em;color:#7c858e;margin-top:5px}
.modelEditorForm{display:grid;gap:13px;padding:16px}
.modelEditorForm label{display:grid;gap:6px}
.modelEditorForm label>span{font:700 7px/1.4 ui-monospace,monospace;letter-spacing:.11em;color:#9ca5ae}
.modelEditorForm textarea{width:100%;min-height:92px;resize:vertical;border:1px solid #303a45;background:#05080c;color:#ece8dc;padding:11px;font:9px/1.6 ui-monospace,monospace}
.modelEditorForm textarea:focus{outline:1px solid #a58cff;outline-offset:2px}
.modelEditorError{min-height:16px;color:#ff8797;font:7px/1.4 ui-monospace,monospace;letter-spacing:.08em}
.modelStateGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:9px 0}
.modelStateGrid>div{padding:7px;background:#06090d;border:1px solid #26313b;font-size:7px;color:#8e98a1}
.beliefLoopCard{border-color:#564b75;background:#09080e}
.beliefChain{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:10px 0}
.beliefNode{border:1px solid #3a4651;background:#080d12;padding:7px 8px;font-size:7px;max-width:190px}
.beliefNode.self{border-color:#a58cff;color:#d0c4ff}
.beliefNode.derivative{border-color:#6c4f65;color:#d8a9c4}
.beliefArrow{color:#6d7680}
.beliefCollapse{padding:12px;border:1px solid #66578b;background:#08070d;margin-top:10px}
.beliefCollapse strong{display:block;font-size:13px;color:#d8cdfd;letter-spacing:.08em}
.beliefCollapse span{font-size:7px;color:#8f87a0;letter-spacing:.1em}
.loopStatus{display:grid;grid-template-columns:150px 1fr;gap:7px;border-bottom:1px solid #202831;padding:6px 0;font-size:7px}
.loopStatus:last-child{border:0}
.loopStatus b{color:#d5d0c4}
.predictionBadge{border-color:#3f6774;color:#8ed8ff}
@media(max-width:640px){
 .modelStateGrid{grid-template-columns:1fr}
 .modelEditorForm textarea{min-height:110px;font-size:16px}
 .beliefChain{display:grid;grid-template-columns:1fr}
 .beliefArrow{transform:rotate(90deg);justify-self:center}
}


/* 10.0 RC — HUMAN CONSEQUENCE / PROVENANCE / GOLD CASES */
.peopleArc{border-left:3px solid #3b4652}
.peopleArc.resolved{border-left-color:#8cd3b4}
.peopleArc.damaged{border-left-color:#ff8797}
.arcLedger{display:grid;grid-template-columns:110px 1fr;gap:6px;font-size:7px;margin-top:8px}
.arcLedger b{color:#d8d2c6}
.provStage{position:relative;min-height:430px;padding:18px;background:#06090d;border:1px solid #27313a;overflow:auto}
.provRootFamily{position:relative;margin:0 0 16px;border:1px solid #303a45;background:#090d12}
.provRootHead{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #29333e;background:#0d1218}
.provRootHead strong{font-size:9px;letter-spacing:.08em}
.provRecords{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;padding:9px}
.provNode{position:relative;border:1px solid #37424c;background:#070a0e;padding:9px;min-height:78px}
.provNode.derivative{border-style:dashed;opacity:.78}
.provNode.missing{border-color:#7b5b38;color:#d8bf7a;background:#0d0a06}
.provNode.playerRoot{border-color:#a58cff}
.provNode .provId{font-size:7px;color:#7f8993}
.provNode .provTitle{font-size:8px;font-weight:700;margin:5px 0}
.provNode .provCustody{font-size:6px;color:#8f98a0;line-height:1.5}
.provCollapsed .provRecords{display:none}
.provCount{font-size:7px;color:#8d96a0}
.provDependency{margin-top:5px;font-size:6px;color:#a58cff}
.goldCaseState{border:1px solid #4a4f54;background:#07090b;margin-top:9px;padding:9px}
.goldCaseState .stateRow{display:grid;grid-template-columns:155px 1fr;gap:8px;padding:5px;border-bottom:1px solid #20262d;font-size:7px}
.goldCaseState .stateRow:last-child{border:0}
.mentalArcWhisper{position:absolute;right:18px;top:18px;font:700 6px ui-monospace,monospace;letter-spacing:.18em;color:rgba(165,140,255,.22);pointer-events:none}
.disclosureDossier{border:1px solid #635582;background:#09070f;padding:12px;margin-top:9px}
.disclosureDossier h4{font-size:9px;margin:0 0 7px;color:#d8cdfd}
.disclosureDossier .seduction{font-size:7px;line-height:1.6;color:#a9a0bc}
.disclosureCollapse{border:1px solid #ff6178;background:#0b0608;padding:12px;margin-top:9px}
.disclosureCollapse strong{display:block;font-size:14px;letter-spacing:.08em;color:#ff8797}
body.zeroStrip header,body.zeroStrip footer,body.zeroStrip .hud,body.zeroStrip #audioBtn,body.zeroStrip #settingsBtn,body.zeroStrip #theoryBtn,body.zeroStrip .mobile,body.zeroStrip .mobileAct{opacity:0!important;pointer-events:none!important}
body.zeroStrip main{background:#000}
body.zeroStrip #gameWrap{border-color:#111}
@media(max-width:700px){
 .provRecords{grid-template-columns:1fr}
 .arcLedger{grid-template-columns:90px 1fr}
}


/* 10.0 RC2 certification accessibility repairs */
.srOnly{
 position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
 overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}
.titleDesignation{color:#aeb5b9!important}
.titleSeries{color:#aab0b4!important}
.invMeta,.countyMapInfoLabel{color:#969fa8!important}
#game:focus-visible{outline:2px solid #d8bf7a;outline-offset:3px}


/* ROBERTDURANIV.COM / FIELD 000 integration */
.siteReturn{
 display:inline-flex;align-items:center;text-decoration:none;
 white-space:nowrap
}
.siteReturn:visited{color:var(--ink)}
@media(max-width:760px){
 .brand .series{display:none}
 .siteReturn{display:none}
}
body.zeroStrip .siteReturn{display:none!important}


/* === CINEMATIC VECTOR REBUILD 11.0 === */
#game{
  image-rendering:auto!important;
  filter:saturate(.88) contrast(1.035);
}
main{background:#010203}
.scan{opacity:.018!important}
.vignette{box-shadow:inset 0 0 210px rgba(0,0,0,.72)!important}
#hud .hudCard{
  background:linear-gradient(135deg,rgba(4,7,9,.88),rgba(4,7,9,.62))!important;
  border:1px solid rgba(226,235,231,.12)!important;
  box-shadow:0 18px 54px rgba(0,0,0,.42)!important;
}
#prompt{
  border:1px solid rgba(232,240,236,.18)!important;
  background:rgba(3,6,7,.9)!important;
  backdrop-filter:blur(7px);
}


/* === MASTER SYSTEMS 12.0 / SCENE DIRECTOR + ACCESSION HUD === */
.hudMetaLine{display:flex;justify-content:space-between;gap:12px;margin-top:5px;padding-top:6px;border-top:1px solid rgba(225,234,230,.09);font-size:7px;letter-spacing:.12em;color:var(--muted)}
.hudMetaLine b{font-weight:700;color:#d9dfdc;font-variant-numeric:tabular-nums}
#hud[data-mode="COMPACT"] .objective{display:none}
#hud[data-mode="COMPACT"] .meters .meter:nth-child(n+4){display:none}
#hud[data-mode="INTERACTION"] .meters{display:none}
#hud[data-mode="INTERACTION"] .objective{margin-top:5px}
#hud[data-mode="EVIDENCE"]{opacity:.56}
#hud[data-mode="CINEMATIC"]{opacity:.18;transform:translateY(-4px);transition:opacity .25s,transform .25s}
#hud[data-mode="CRITICAL"] .hudCard{border-color:rgba(255,97,120,.35)!important}
#hud[data-mode="HIDDEN"]{opacity:0;pointer-events:none}
body.userReducedFlash .captureFlash{background:#6d7471!important}
body.largeText{font-size:112%}
body.largeText .dialog p,body.largeText .document p{font-size:1.05em}
.captureFlash{position:absolute;inset:0;z-index:52;background:#f4f7f4;opacity:0;pointer-events:none}
.captureFlash.fire{animation:captureExposure .46s ease-out}
@keyframes captureExposure{0%{opacity:0}9%{opacity:.95}22%{opacity:.62}100%{opacity:0}}
body.userReducedFlash .captureFlash.fire{animation:captureExposureReduced .34s ease-out}
@keyframes captureExposureReduced{0%{opacity:0}16%{opacity:.22}100%{opacity:0}}
.letterboxBar{position:absolute;z-index:9;left:0;right:0;height:0;background:#000;pointer-events:none;transition:height .34s ease}
.letterboxBar.top{top:0}.letterboxBar.bottom{bottom:0}
body.userReducedMotion .letterboxBar{transition:none}
.fieldEvidencePanel{width:min(1020px,96vw);height:min(760px,92vh)}
.fieldEvidenceBody{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;min-height:0;overflow:auto;padding:14px}
.fieldFrame{background:#020304;border:1px solid #29333b;min-height:280px;display:grid;place-items:center;overflow:hidden}
.fieldFrame img{display:block;max-width:100%;max-height:440px;object-fit:contain}
.fieldEvidenceMeta{font-size:8px;line-height:1.65;color:#aeb6b3}
.fieldEvidenceMeta dl{display:grid;grid-template-columns:120px 1fr;gap:5px 10px;margin:0}
.fieldEvidenceMeta dt{color:#737d79}.fieldEvidenceMeta dd{margin:0;color:#e3e8e5}
.provChain{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:12px}
.provChain span{border:1px solid #344039;background:#090d0f;padding:5px 7px;font-size:7px}.provChain i{font-style:normal;color:#626e69}
.fieldContradiction{margin-top:12px;border:1px solid rgba(216,191,122,.35);background:rgba(91,67,34,.08);padding:10px}
.fieldContradiction strong{font-size:9px;letter-spacing:.1em}.fieldCompare{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.fieldCompare div{border:1px solid #28323a;padding:9px}.fieldCompare b{display:block;font-size:26px;margin-top:4px}
.revisionTabs{display:flex;gap:5px;margin-bottom:8px}.revisionTabs button{font-size:7px}
.devOnly[hidden]{display:none!important}
.directorPanel{width:min(1160px,97vw);height:min(790px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr);background:#05080b}
.directorBody{overflow:auto;padding:12px}
.directorGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.directorCard{border:1px solid #2a343b;background:#090d10;padding:10px;min-height:120px}
.directorCard h3{font-size:9px;letter-spacing:.13em;margin:0 0 6px;color:#e5e9e6}
.directorCard p,.directorCard pre{font-size:7px;line-height:1.55;color:#9fa9a5;white-space:pre-wrap;margin:5px 0}
.directorActions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.directorActions .btn{font-size:7px;padding:6px 7px;min-height:28px}
.directorStatus{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px}
.directorStatus>div{border:1px solid #263037;background:#070a0c;padding:7px;font-size:7px;color:#78837e}
.directorStatus b{display:block;color:#e2e7e4;font-size:10px;margin-top:3px}
.certRow{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid #20282e;font-size:7px}
.certPass{color:#8cd3b4}.certWarn{color:#d8bf7a}
.debugOverlayLabel{position:absolute;z-index:18;right:12px;bottom:42px;background:rgba(2,4,5,.86);border:1px solid #344047;padding:7px 9px;font-size:7px;letter-spacing:.1em;color:#b5bfbb;display:none}
.debugOverlayLabel.show{display:block}
@media(max-width:760px){
 .fieldEvidenceBody{grid-template-columns:1fr}.directorGrid{grid-template-columns:1fr}.directorStatus{grid-template-columns:1fr 1fr}
}


/* === EVIDENCE LOCK 13.0 / EVIDENCE OS === */
.eosObject{border:1px solid #2a343b;background:#070a0c;margin:9px 0;padding:10px}
.eosHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.eosHeader h4{margin:0;font-size:10px;letter-spacing:.08em;color:#e6ebe7}
.eosPlane{font-size:7px;letter-spacing:.12em;color:#8c9692;border:1px solid #2d373d;padding:4px 6px;white-space:nowrap}
.eosGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
.eosMetric{border:1px solid #222c31;padding:6px;background:#050708}
.eosMetric small{display:block;font-size:6px;letter-spacing:.1em;color:#707b77}.eosMetric b{display:block;margin-top:3px;font-size:8px;color:#d9dfdc}
.eosAssertions{margin-top:9px;border-top:1px solid #20292e;padding-top:7px}
.eosAssertion{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;padding:5px 0;border-bottom:1px solid #192126;font-size:7px;line-height:1.5}
.eosAssertion .kind{letter-spacing:.08em;color:#86918d}.eosAssertion .prop{color:#d2d9d5}
.eosLinks{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.eosLink{font-size:6px;border:1px solid #29343a;padding:4px 5px;color:#9ca7a2}
.eosFingerprint{margin-top:7px;font-family:ui-monospace,monospace;font-size:6px;word-break:break-all;color:#79857f}
.eosFingerprint b{color:#cfd7d2}
.eosStatus{display:inline-flex;align-items:center;gap:5px;border:1px solid #344047;padding:4px 6px;font-size:7px;letter-spacing:.09em}
.eosStatus.PROMOTE{border-color:rgba(114,229,173,.35);color:#8cd3b4}
.eosStatus.HOLD{border-color:rgba(216,191,122,.35);color:#d8bf7a}
.eosStatus.DOWNGRADE,.eosStatus.CLOSE{border-color:rgba(142,216,255,.28);color:#8ed8ff}
.eosStatus.BLOCKED,.eosStatus.TRANSFER{border-color:rgba(165,140,255,.30);color:#a58cff}
.eosFinding{border:1px solid #2b343b;background:#080b0d;padding:9px;margin:7px 0}
.eosFinding h4{margin:5px 0;font-size:10px}.eosFinding p{margin:5px 0;font-size:7px;line-height:1.55;color:#aab4b0}
.eosContradiction{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.eosContradiction>div{border:1px solid #283238;padding:8px}
.eosContradiction small{display:block;font-size:6px;color:#77817d;letter-spacing:.09em}.eosContradiction p{font-size:7px!important;margin:4px 0!important}
.eosDiagnostic{margin-top:7px;border-left:2px solid #d8bf7a;padding-left:8px;font-size:7px;color:#b8c0bc}
.eosQuality{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:7px}
.eosQuality>div{border:1px solid #242d32;padding:5px}.eosQuality small{display:block;font-size:5.8px;color:#727d78;letter-spacing:.08em}.eosQuality b{font-size:7px;color:#d8dedb}
.eosPrediction{border:1px solid rgba(165,140,255,.24);background:rgba(66,53,92,.08);padding:9px;margin-top:8px}
.eosPredictionGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.eosPredictionGrid>div{border:1px solid #2b3139;padding:6px}
.eosPredictionGrid small{display:block;font-size:6px;color:#837b91}.eosPredictionGrid p{font-size:7px!important;margin:4px 0!important}
.eosAudit{max-height:240px;overflow:auto;border:1px solid #252e33;background:#050708}
.eosAuditRow{display:grid;grid-template-columns:135px 110px 1fr;gap:7px;padding:6px;border-bottom:1px solid #1d2529;font-size:6.5px}
.eosAuditRow time{color:#79837f}.eosAuditRow b{color:#a6b0ab}.eosAuditRow span{color:#cbd2ce}
.eosAcquisition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:7px}.eosAcquisition>div{border:1px solid #263036;padding:6px;font-size:7px;color:#a7b0ac}
.eosAcquisition small{display:block;color:#737e79;font-size:6px;letter-spacing:.08em}
.eosNegative{border:1px solid rgba(216,191,122,.22);background:rgba(80,64,29,.06);padding:8px;margin-top:7px;font-size:7px;line-height:1.55}
#docEvidenceOS{margin-top:14px;border-top:1px solid #343d43;padding-top:10px}
#docEvidenceOS h3{font-size:9px;letter-spacing:.13em;color:#dce2df;margin:0 0 7px}
.predictionPanel{width:min(900px,96vw);max-height:92vh;overflow:auto;background:#06090b}
.predictionBody{padding:14px;display:grid;gap:10px}
.predictionTarget{border:1px solid #303941;padding:10px;background:#080c0f}
.predictionBody label{display:grid;gap:5px;font-size:7px;letter-spacing:.08em;color:#8e9894}
.predictionBody textarea{min-height:90px;background:#040607;border:1px solid #303a41;color:#e2e7e4;padding:9px;font:inherit;resize:vertical}
.predictionLock{font-size:7px;line-height:1.55;color:#89938f}
.shareEvidenceBtn{margin-top:8px}
@media(max-width:760px){
 .eosGrid{grid-template-columns:1fr 1fr}.eosQuality{grid-template-columns:1fr 1fr}.eosPredictionGrid{grid-template-columns:1fr}.eosContradiction{grid-template-columns:1fr}.eosAuditRow{grid-template-columns:1fr}.eosAcquisition{grid-template-columns:1fr}
}


/* === BRAND LOCK 14.0 / FAME//SHIFT BRAND OPERATING SYSTEM === */
:root{
 --brand-black:#050608;
 --brand-bone:#F2EEE4;
 --brand-witness:#A58CFF;
 --brand-provenance:#D8BF7A;
 --brand-physical:#58D7E6;
 --brand-failure:#FF6178;
 --brand-confirm:#72E5AD;
 --brand-muted:#7E8985;
 --brand-line:#293238;
 --brand-notch-angle:19deg;
 --font-artifact:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
 --font-instrument:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
 --font-human:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --font-document:Georgia,"Times New Roman",serif;
 --motion-retain:260ms;
 --motion-revision:420ms;
 --motion-withdraw:720ms;
 --motion-known:1200ms;
 --ease-field:cubic-bezier(.2,.75,.2,1);
 --bg:var(--brand-black);
 --ink:var(--brand-bone);
 --gold:var(--brand-provenance);
 --mint:var(--brand-confirm);
 --ice:var(--brand-physical);
 --violet:var(--brand-witness);
 --red:var(--brand-failure);
}
html,body{font-family:var(--font-instrument)}
.brand{display:flex;align-items:baseline;gap:.36em;font-family:var(--font-artifact)}
.brand .series{color:var(--brand-bone);font-weight:800}
.brand .artifact{color:var(--brand-provenance);font-variant-numeric:tabular-nums}
.brand .build{color:var(--brand-muted);font-weight:600}
.titleSeries{letter-spacing:.24em!important;color:var(--brand-muted)!important}
.titleSubtitle{letter-spacing:.24em}
.titleDesignation{letter-spacing:.2em!important;color:var(--brand-provenance)!important}
.titleCreator{margin-top:10px;font-size:7px;letter-spacing:.18em;color:#69736f}
.dialog p,.dialog .choices{font-family:var(--font-human)}
.document{font-family:var(--font-document)}
.document .stamp,.document .meta,.document .source,.document #docEvidenceOS,.document .what,.docClose{font-family:var(--font-instrument)}
.panel,.hudCard,.chapterCard,.creditsCard{font-family:var(--font-instrument)}
.btn{border-radius:2px;clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,0 100%)}
.panel,.dialog,.document,.hudCard,.bigCard{border-radius:0}
.hudCard,.panel,.dialog{position:relative}
.hudCard:after,.panel:after,.dialog:after{
 content:"";position:absolute;right:-1px;top:-1px;width:18px;height:1px;background:var(--brand-provenance);transform:rotate(19deg);transform-origin:right center;opacity:.45;pointer-events:none
}
body[data-institution="aporia"]{--institution-accent:var(--brand-witness)}
body[data-institution="field"]{--institution-accent:var(--brand-provenance)}
body[data-institution="bluebook"]{--institution-accent:var(--brand-physical)}
body[data-institution="harrow"]{--institution-accent:#b7aa91}
body[data-institution="kx17"]{--institution-accent:#d26b63}
body[data-institution="ridge"]{--institution-accent:#8ba8b6}
body[data-institution="grace"]{--institution-accent:#d9bd8d}
body[data-institution="vale"]{--institution-accent:#9eb19e}
body[data-institution="relay"]{--institution-accent:#9c5d56}
body[data-institution="cormorant"]{--institution-accent:#84909a}
body[data-institution="zero"]{--institution-accent:var(--brand-bone)}
#hud .hudCard{border-top-color:color-mix(in srgb,var(--institution-accent,var(--brand-provenance)) 42%,transparent)!important}
.document[data-source-institution="harrow"]{background:#eee8da;color:#171816;border-color:#9e9278}
.document[data-source-institution="harrow"] .stamp{color:#6e2f2d;border-color:#6e2f2d}
.document[data-source-institution="bluebook"]{background:#eee9dd;color:#16191b;border-color:#617f86}
.document[data-source-institution="bluebook"] .stamp{color:#1c6f7a;border-color:#1c6f7a}
.document[data-source-institution="kx17"]{background:#e7e8e2;color:#171918;border-color:#747c76}
.document[data-source-institution="kx17"] .stamp{color:#843f3a;border-color:#843f3a}
.document[data-source-institution="cormorant"]{background:#e5e6e2;color:#151719;border-color:#606a72}
.document[data-source-institution="cormorant"] .stamp{color:#323e49;border-color:#323e49}
.document[data-source-institution="aporia"]{background:#070709;color:var(--brand-bone);border-color:rgba(165,140,255,.28);font-family:var(--font-instrument)}
.document[data-source-institution="aporia"] .stamp{color:var(--brand-witness);border-color:rgba(165,140,255,.5)}
.document[data-source-institution="public"]{background:#f1eee5;color:#171819}
.document[data-source-institution="public"] .stamp{color:#313941;border-color:#6f777c}
.document[data-source-institution="field"]{background:#080b0d;color:var(--brand-bone);border-color:#354039;font-family:var(--font-instrument)}
.brand-retain{animation:brandRetain var(--motion-retain) var(--ease-field)}
.brand-revision{animation:brandRevision var(--motion-revision) var(--ease-field)}
.brand-withdraw{animation:brandWithdraw var(--motion-withdraw) var(--ease-field)}
.brand-known{animation:brandKnown var(--motion-known) var(--ease-field)}
@keyframes brandRetain{0%{box-shadow:inset 0 0 0 0 rgba(216,191,122,0)}45%{box-shadow:inset 0 -2px 0 0 rgba(216,191,122,.75)}100%{box-shadow:inset 0 -2px 0 0 rgba(216,191,122,0)}}
@keyframes brandRevision{0%{transform:translateX(0);opacity:1}38%{transform:translateX(-4px);opacity:.65}58%{transform:translateX(4px);opacity:1}100%{transform:translateX(0);opacity:1}}
@keyframes brandWithdraw{from{transform:scale(1);opacity:1}to{transform:scale(.985);opacity:.75}}
@keyframes brandKnown{0%{letter-spacing:.08em}50%{letter-spacing:.28em}100%{letter-spacing:.08em}}
body.userReducedMotion .brand-retain,body.userReducedMotion .brand-revision,body.userReducedMotion .brand-withdraw,body.userReducedMotion .brand-known{animation:none!important}
body.brandSilence #toast{border-color:var(--brand-line)}
.brandMarkInline{width:16px;height:16px;display:inline-block;vertical-align:-4px;margin-right:6px}
@media(max-width:390px){
 .brand .build{display:none}
 .titleCreator{display:none}
 .titleSeries{font-size:6px!important}
 .titleDesignation{font-size:6px!important}
}
@media(min-width:1600px){
 #hud{width:270px}
 .hudTitle{font-size:13px}
}


/* Brand QA / responsive / accessibility certification */
body.brandQaNoLogo .brand,
body.brandQaNoLogo .titleLogo,
body.brandQaNoLogo .titleWitnessMaster,
body.brandQaNoLogo .titleSeries,
body.brandQaNoLogo .titleDesignation,
body.brandQaNoLogo .brandSig img{visibility:hidden!important}
body.brandQaGrayscale #app{filter:grayscale(1)!important}
body.brandQaThumbnail #app{transform:scale(.25);transform-origin:top left;width:400%;height:400%}
@media (forced-colors:active){
 .titleWitnessMaster,.titleLogoMaster{forced-color-adjust:none}
 .btn,.hudCard,.panel,.document,.dialog{border:1px solid CanvasText}
 .brand .artifact{color:CanvasText}
}
@media (prefers-contrast:more){
 :root{--brand-muted:#AEB7B2;--brand-line:#56615D}
 .hudCard,.panel,.dialog,.document{border-width:2px}
}
@media(max-width:340px){
 #app{grid-template-rows:44px minmax(0,1fr) 26px}
 header{padding:0 7px}
 .actions{gap:3px}.actions .btn{padding:5px 6px;min-height:30px;font-size:7px}
 .brand{font-size:10px}
 #hud{left:7px;top:7px;width:205px}
 footer{font-size:6px}
}
@media(min-width:341px) and (max-width:430px){
 #hud{width:220px}.brand{font-size:11px}
}
@media(min-width:700px) and (max-width:1024px) and (orientation:portrait){
 #hud{width:250px}
 .titleArtifact{width:min(88vw,760px)}
}
@media(min-width:1920px){
 #app{max-width:1920px;margin:0 auto;border-left:1px solid #171c1e;border-right:1px solid #171c1e}
}


/* === MOBILE LOCK 15.0 / RESPONSIVE FIELD RUNTIME === */
:root{
 --safe-t:env(safe-area-inset-top,0px);
 --safe-r:env(safe-area-inset-right,0px);
 --safe-b:env(safe-area-inset-bottom,0px);
 --safe-l:env(safe-area-inset-left,0px);
 --vvh:100dvh;
 --touch-scale:1;
 --touch-opacity:.82;
 --touch-stick:116px;
 --touch-action:68px;
 --mobile-hud-w:230px;
}
html,body{height:100%;height:100dvh;overscroll-behavior:none}
body{min-height:100svh}
#app{height:100%;height:var(--vvh);max-height:100dvh;min-height:100svh}
main{isolation:isolate;overscroll-behavior:none;touch-action:none}
#game{
 width:100%!important;height:100%!important;
 object-fit:cover;object-position:center center;
 touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
}
.mobileOnly,.mobileControls,.mobileAct,.mobileCoach,.touchControlHelp,.touchSetting{display:none!important}

/* safe-area ownership */
.touchCapable #app{grid-template-rows:calc(48px + var(--safe-t)) minmax(0,1fr) calc(30px + var(--safe-b))}
.touchCapable header{padding-top:var(--safe-t);padding-left:calc(8px + var(--safe-l));padding-right:calc(8px + var(--safe-r))}
.touchCapable footer{padding-bottom:var(--safe-b);padding-left:calc(8px + var(--safe-l));padding-right:calc(8px + var(--safe-r))}
.touchCapable #hud{left:calc(9px + var(--safe-l));top:calc(9px + var(--safe-t));width:min(var(--mobile-hud-w),calc(100vw - var(--safe-l) - var(--safe-r) - 18px))}
.touchCapable #toast{top:calc(10px + var(--safe-t));max-width:min(78vw,520px);text-align:center}
.touchCapable .overlay{padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);box-sizing:border-box}
.touchCapable .letterboxBar.top{top:var(--safe-t)}
.touchCapable .letterboxBar.bottom{bottom:var(--safe-b)}

/* capability-based controls: never width-gated */
.mobile,.mobileAct{display:none!important}
.touchCapable:not(.touchControlsHidden):not(.gamepadActive) .mobileControls{display:block!important}
.touchCapable:not(.touchControlsHidden):not(.gamepadActive) .mobileAct{display:flex!important}
.touchCapable .mobileOnly{display:inline-flex!important}
.touchCapable .touchControlHelp,.touchCapable .touchSetting{display:flex!important}
.touchCapable .desktopControlHelp{display:none!important}

.touchCapable .mobileControls{
 position:absolute;z-index:18;
 left:calc(14px + var(--safe-l));bottom:calc(14px + var(--safe-b));
 width:calc(var(--touch-stick)*var(--touch-scale));height:calc(var(--touch-stick)*var(--touch-scale));
 opacity:var(--touch-opacity);touch-action:none;user-select:none;-webkit-user-select:none;
}
.touchCapable.touchMoveRight .mobileControls{
 left:auto;right:calc(14px + var(--safe-r));
}
.touchCapable .mobileStickZone{
 width:100%;height:100%;display:grid;place-items:center;border-radius:50%;
 touch-action:none;user-select:none;-webkit-user-select:none;
}
.touchCapable .mobileStickBase{
 position:relative;width:72%;height:72%;border-radius:50%;
 border:1px solid rgba(242,238,228,.34);
 background:radial-gradient(circle,rgba(242,238,228,.045),rgba(4,7,9,.42) 62%,rgba(4,7,9,.72));
 box-shadow:0 10px 30px rgba(0,0,0,.28),inset 0 0 0 1px rgba(216,191,122,.08);
 pointer-events:none;
}
.touchCapable .mobileStickBase:before,.touchCapable .mobileStickBase:after{
 content:"";position:absolute;background:rgba(242,238,228,.12);left:50%;top:50%;transform:translate(-50%,-50%);
}
.touchCapable .mobileStickBase:before{width:58%;height:1px}
.touchCapable .mobileStickBase:after{height:58%;width:1px}
.touchCapable .mobileStickKnob{
 position:absolute;width:42%;height:42%;left:29%;top:29%;border-radius:50%;
 border:1px solid rgba(242,238,228,.48);background:rgba(9,14,18,.86);
 box-shadow:0 5px 16px rgba(0,0,0,.35);transform:translate3d(0,0,0);
 will-change:transform;
}
.touchCapable .mobileAct{
 position:absolute;z-index:18;align-items:center;justify-content:center;
 right:calc(17px + var(--safe-r));bottom:calc(18px + var(--safe-b));
 width:calc(var(--touch-action)*var(--touch-scale));height:calc(var(--touch-action)*var(--touch-scale));
 min-width:54px;min-height:54px;padding:7px;border-radius:50%;
 border:1px solid rgba(242,238,228,.4);background:rgba(7,11,15,.88);color:var(--brand-bone);
 font:800 8px/1.15 var(--font-instrument);letter-spacing:.08em;text-align:center;
 opacity:var(--touch-opacity);backdrop-filter:blur(5px);touch-action:manipulation;
 box-shadow:0 12px 28px rgba(0,0,0,.28);
}
.touchCapable.touchMoveRight .mobileAct{
 right:auto;left:calc(17px + var(--safe-l));
}
.touchCapable.oneHanded.touchMoveLeft .mobileAct{
 right:auto;left:calc(27px + var(--safe-l) + var(--touch-stick)*var(--touch-scale)*.58);
 bottom:calc(26px + var(--safe-b) + var(--touch-stick)*var(--touch-scale)*.46);
}
.touchCapable.oneHanded.touchMoveRight .mobileAct{
 left:auto;right:calc(27px + var(--safe-r) + var(--touch-stick)*var(--touch-scale)*.58);
 bottom:calc(26px + var(--safe-b) + var(--touch-stick)*var(--touch-scale)*.46);
}
.touchCapable .mobileAct:active,.touchCapable .mobileAct.isPressed{
 transform:scale(.94);border-color:var(--brand-provenance);background:rgba(20,24,27,.96)
}

/* touch-native prompt stays out of both thumb zones */
.touchCapable #prompt{
 bottom:calc(var(--safe-b) + 104px);left:50%;max-width:min(58vw,360px);
 padding:9px 12px;font-size:8px;line-height:1.25;text-align:center;pointer-events:none;
}
.touchCapable.oneHanded #prompt{bottom:calc(var(--safe-b) + 156px)}
.touchCapable .mobileCoach{
 display:block!important;position:absolute;z-index:17;left:50%;bottom:calc(var(--safe-b) + 176px);
 transform:translateX(-50%);max-width:min(76vw,430px);padding:9px 12px;
 border:1px solid rgba(216,191,122,.25);background:rgba(4,7,9,.91);
 color:#cdd4d0;font:700 8px/1.45 var(--font-instrument);letter-spacing:.06em;text-align:center;
 opacity:0;pointer-events:none;transition:opacity .18s var(--ease-field);
}
.touchCapable .mobileCoach.show{opacity:1}
.touchCapable.oneHanded .mobileCoach{bottom:calc(var(--safe-b) + 218px)}

/* compact authored mobile HUD */
.touchCapable #hud .hudCard{padding:8px 9px}
.touchCapable #hud .hudTitle{font-size:10px}
.touchCapable #hud .hudMap{font-size:6px}
.touchCapable #hud .hudMetaLine{font-size:6px;gap:6px}
.touchCapable #hud .objective{font-size:8px;line-height:1.35;margin-top:5px}
.touchCapable #hud .meters{display:none}
.touchCapable #hud[data-mode="FULL"] .meters{display:none}
.touchCapable #hud[data-mode="CRITICAL"] .meters{display:grid;grid-template-columns:1fr 1fr}
.touchCapable.largeText #hud{--mobile-hud-w:260px}

/* Mobile navigation: no inaccessible hidden functionality */
.mobileMenuPanel{
 width:min(520px,calc(100vw - var(--safe-l) - var(--safe-r) - 18px));
 max-height:min(760px,calc(var(--vvh) - var(--safe-t) - var(--safe-b) - 18px));
 margin:auto;background:#06090b;
}
.mobileMenuGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}
.mobileMenuGrid .btn{min-height:52px;display:flex;align-items:center;justify-content:center;text-decoration:none}
.touchCapable .btn,.touchCapable .choice,.touchCapable .docClose,.touchCapable .invTab,.touchCapable .countyPin{
 min-height:44px;
}
.touchCapable .actions{gap:5px}
.touchCapable header .btn{min-height:44px;padding:6px 8px}
.touchCapable .mobileMenuReturn{color:var(--ink)}
.touchCapable .siteReturn{display:none!important}
@media (max-width:520px){
 .touchCapable header{gap:4px}
 .touchCapable .brand{font-size:11px;flex:1}
 .touchCapable .actions #inventoryBtn,
 .touchCapable .actions #recordsBtn,
 .touchCapable .actions #theoryBtn,
 .touchCapable .actions #mapBtn,
 .touchCapable .actions .minor{display:none!important}
 .touchCapable .actions{flex:0 0 auto}
 .touchCapable #mobileMenuBtn{min-width:62px}
}

/* Investigation / evidence as mobile-native inspection sheets */
.touchCapable .investigationPanel{
 width:100%;height:100%;max-height:none;border:0;
 grid-template-rows:auto auto auto minmax(0,1fr);
}
.touchCapable .investigationTop,.touchCapable .panelTop{
 position:sticky;top:0;z-index:5;background:rgba(5,8,13,.97);padding:10px 11px;
}
.touchCapable .investigationTabs{
 position:sticky;top:0;z-index:4;scroll-snap-type:x proximity;
 scrollbar-width:thin;-webkit-overflow-scrolling:touch;
}
.touchCapable .investigationTabs:after{
 content:"→";position:sticky;right:4px;align-self:center;color:var(--brand-muted);
 padding:0 5px;background:linear-gradient(90deg,transparent,#10151c 45%);
}
.touchCapable .invTab{min-height:46px;padding:13px 14px;scroll-snap-align:start}
.touchCapable .investigationToolbar{position:sticky;top:0;z-index:3;padding:8px}
.touchCapable .investigationToolbar input,
.touchCapable textarea,.touchCapable input[type="text"],.touchCapable input[type="search"]{
 font-size:16px!important;line-height:1.35;
}
.touchCapable .investigationBody,.touchCapable .panelBody,.touchCapable .document,.touchCapable .predictionPanel,.touchCapable .modelEditorPanel{
 -webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-padding-bottom:42vh;
}
.touchCapable .invGrid{grid-template-columns:1fr}
.touchCapable .invCard{padding:13px;min-height:auto}
.touchCapable .evidenceRow{grid-template-columns:1fr;gap:8px}
.touchCapable .evidenceTools{justify-content:flex-start;flex-wrap:wrap}
.touchCapable .evidenceTools .btn,.touchCapable .invActions .btn{min-height:44px}
.touchCapable #docOverlay{align-items:flex-end}
.touchCapable #docOverlay .document{
 width:100%;max-width:none;height:min(92%,calc(var(--vvh) - var(--safe-t) - 10px));max-height:none;
 margin:0;border-left:0;border-right:0;border-bottom:0;border-radius:0;
 padding:calc(18px + var(--safe-t)) calc(16px + var(--safe-r)) calc(24px + var(--safe-b)) calc(16px + var(--safe-l));
 box-sizing:border-box;
}
.touchCapable .docClose{position:sticky;top:0;float:right;z-index:6;background:inherit}
.touchCapable .fieldEvidenceBody{grid-template-columns:1fr;overflow:auto}
.touchCapable .fieldEvidenceMeta{max-height:none}
.touchCapable .revisionTabs{position:sticky;top:0;z-index:2;background:#06090b;padding:5px 0}
.touchCapable .predictionPanel,.touchCapable .modelEditorPanel{width:100%;height:100%;max-height:none}
.touchCapable .predictionBody,.touchCapable .modelEditorForm{padding-bottom:calc(18px + var(--safe-b))}
.touchCapable .predictionBody textarea,.touchCapable .modelEditorForm textarea{min-height:104px}
.touchCapable .countyMapPanel{width:100%;height:100%;max-height:none}
.touchCapable .countyPin{min-width:44px;min-height:44px}

/* keyboard / visualViewport mode */
body.keyboardOpen .mobileControls,body.keyboardOpen .mobileAct,body.keyboardOpen .mobileCoach{display:none!important}
body.keyboardOpen #hud{opacity:.18}
body.keyboardOpen .overlay.show{align-items:flex-start}
body.keyboardOpen .modelEditorForm,
body.keyboardOpen .predictionBody{padding-bottom:50vh}

/* portrait authored framing */
.touchCapable.mobilePortrait main:before{
 background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 14%,transparent 86%,rgba(0,0,0,.18));
}
.touchCapable.mobilePortrait #game{object-position:center center}
.touchCapable.mobilePortrait .chapterName{font-size:clamp(30px,12vw,58px)}
.touchCapable.mobilePortrait .titleArtifact{width:min(90vw,620px)}
.touchCapable.mobilePortrait .titleLogo{font-size:clamp(58px,18vw,105px)}
.touchCapable.mobilePortrait .titleButtons{gap:9px}
.touchCapable.mobilePortrait .titleBtn{min-width:min(78vw,280px);min-height:48px}

/* landscape is authored, not tolerated */
@media (orientation:landscape) and (max-height:520px){
 .touchCapable #app{grid-template-rows:calc(42px + var(--safe-t)) minmax(0,1fr)}
 .touchCapable footer{display:none}
 .touchCapable header{padding-top:var(--safe-t)}
 .touchCapable #hud{top:calc(7px + var(--safe-t));width:205px}
 .touchCapable #hud .objective{max-width:185px}
 .touchCapable .mobileControls{--touch-stick:98px;bottom:calc(9px + var(--safe-b))}
 .touchCapable .mobileAct{--touch-action:60px;bottom:calc(12px + var(--safe-b))}
 .touchCapable #prompt{bottom:calc(var(--safe-b) + 80px)}
 .touchCapable .mobileCoach{bottom:calc(var(--safe-b) + 122px)}
 #titleOverlay{align-items:center}
 .touchCapable .titleArtifact{
  width:min(88vw,900px);display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(240px,.9fr);
  grid-template-areas:"series series" "logo witness" "subtitle status" "designation buttons" "creator buttons";
  align-items:center;column-gap:28px;row-gap:5px;text-align:left;
 }
 .touchCapable .titleSeries{grid-area:series;margin:0 0 2px}
 .touchCapable .titleLogo{grid-area:logo;font-size:clamp(56px,12vh,90px)}
 .touchCapable .titleSubtitle{grid-area:subtitle;margin:0;font-size:9px}
 .touchCapable .titleDesignation{grid-area:designation;margin:4px 0 0!important}
 .touchCapable .titleCreator{grid-area:creator;margin:2px 0 0}
 .touchCapable .titleWitnessMaster{grid-area:witness;width:42px;height:42px;margin:0 auto}
 .touchCapable .titleStatus{grid-area:status;margin:0;max-width:280px;font-size:7px;text-align:left}
 .touchCapable .titleButtons{grid-area:buttons;margin:0;align-self:end;justify-content:flex-start}
 .touchCapable .titleBtn{min-width:150px;min-height:44px}
 .touchCapable #titleOverlay:after{display:none}
 .touchCapable .chapterInner{padding:15px 22px}
 .touchCapable .chapterName{font-size:clamp(28px,12vh,58px)}
}

/* scalable controls and reduced obstruction */
.touchCapable.touchControlsFaded .mobileControls,
.touchCapable.touchControlsFaded .mobileAct{opacity:max(.24,calc(var(--touch-opacity)*.62))}
.touchCapable.gamepadActive .mobileControls,
.touchCapable.gamepadActive .mobileAct{display:none!important}

/* interaction and focus safety */
.touchCapable .overlay.show button:focus-visible,
.touchCapable .overlay.show a:focus-visible{outline-offset:3px}
.touchCapable .settingsBody{padding-bottom:calc(18px + var(--safe-b))}
.touchCapable .settingRow{gap:12px;min-height:50px}
.touchCapable input[type="range"]{min-width:130px;touch-action:pan-x}
.touchCapable select.btn{font-size:16px}
@media(max-width:360px){
 .touchCapable{--mobile-hud-w:205px}
 .touchCapable #prompt{bottom:calc(var(--safe-b) + 142px)}
 .touchCapable .mobileCoach{bottom:calc(var(--safe-b) + 196px)}
 .touchCapable header .brand .series{display:none}
 .touchCapable .mobileMenuGrid{grid-template-columns:1fr 1fr}
 .touchCapable .mobileAct{--touch-action:64px}
 .touchCapable .mobileControls{--touch-stick:108px}
}
@media(min-width:700px) and (pointer:coarse){
 .touchCapable{--touch-stick:132px;--touch-action:74px;--mobile-hud-w:250px}
 .touchCapable .actions #inventoryBtn,.touchCapable .actions #recordsBtn,.touchCapable .actions #theoryBtn{display:inline-flex!important}
}


/* Optional dynamic thumb anchor */
.touchCapable.touchDynamic .mobileControls{
 width:min(46vw,220px);height:min(34vh,220px);
}
.touchCapable.touchDynamic .mobileStickZone{
 display:block;position:relative;
}
.touchCapable.touchDynamic .mobileStickBase{
 position:absolute;width:84px;height:84px;
 left:var(--stick-origin-x,50%);top:var(--stick-origin-y,58%);
 transform:translate(-50%,-50%);
}
.touchCapable.touchDynamic.oneHanded .mobileAct{bottom:calc(24px + var(--safe-b) + 92px)}


/* === MASTERPIECE LOCK 16.0 === */
:root{
 --text-scale:1;
 --focus-ring:2px;
 --safe-dialog-bottom:max(18px,env(safe-area-inset-bottom));
}
body{font-size:calc(100% * var(--text-scale))}
body.focusStrong :focus-visible{outline:3px solid var(--brand-provenance)!important;outline-offset:3px!important}
.skipLink{
 position:fixed;left:12px;top:-80px;z-index:9999;background:#F2EEE4;color:#050608;
 padding:12px 16px;font:700 12px var(--font-instrument);text-decoration:none;border:2px solid #050608
}
.skipLink:focus{top:max(12px,env(safe-area-inset-top))}
.audioCaption{
 position:absolute;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);
 z-index:38;max-width:min(680px,86vw);padding:7px 11px;background:rgba(3,5,6,.88);
 border:1px solid rgba(216,191,122,.25);font:700 8px var(--font-instrument);letter-spacing:.08em;
 color:#D8BF7A;text-align:center;opacity:0;pointer-events:none;transition:opacity .16s linear
}
.audioCaption.show{opacity:1}
.touchCapable .audioCaption{bottom:calc(150px + var(--safe-b))}
.systemFailurePanel{width:min(680px,94vw);background:#06090b}
.systemFailureBody{padding:16px;display:grid;gap:12px}
.systemFailureCode{font:700 12px var(--font-instrument);letter-spacing:.12em;color:#FF8797}
.systemFailureDetail{white-space:pre-wrap;font:10px/1.65 var(--font-instrument);color:#B8C2BD}
.controlsPanel{width:min(760px,95vw);max-height:92dvh;overflow:auto}
.controlsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px}
.bindRow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border:1px solid #293238;padding:10px;background:#070A0C}
.bindRow b{font-size:9px}.bindBtn{min-width:118px}
.settingsActionGroup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 0}
.settingsActionGroup .btn{min-height:42px}
.nudgeCard{border:1px solid rgba(216,191,122,.26);padding:10px;margin-top:8px;background:rgba(68,54,25,.08)}
.playerCaption{font:700 7px var(--font-instrument);letter-spacing:.08em;color:#89938f}
.performanceBadge{font:700 7px var(--font-instrument);letter-spacing:.08em}
body[data-dynamic-range="NIGHT"]{--audio-visual-compression:1}
@media(max-width:600px){
 .controlsGrid{grid-template-columns:1fr}
 .settingsActionGroup{grid-template-columns:1fr}
 .audioCaption{font-size:7px;max-width:80vw}
}
@media(prefers-reduced-motion:reduce){
 .audioCaption{transition:none}
}


/* === ICON LOCK 18 QA SURFACES === */
body.iconQaGrayscale #game{filter:grayscale(1)!important}
body.iconQaSilhouette #game{filter:grayscale(1) contrast(700%) brightness(.68)!important}
body.iconQaFrame header,
body.iconQaFrame footer,
body.iconQaFrame #hud,
body.iconQaFrame #prompt,
body.iconQaFrame #toast,
body.iconQaFrame #audioCaption,
body.iconQaFrame #mobileControls,
body.iconQaFrame #mobileMenuBtn{opacity:0!important;pointer-events:none!important}
body.iconQaFrame #game{outline:1px solid rgba(242,238,228,.15)}


/* MASTER 20 / large-text touch landscape containment */
@media (pointer:coarse) and (max-height:520px){
 .touchCapable #app{width:100vw;min-width:0;overflow:hidden}
 .touchCapable header,.touchCapable main,.touchCapable footer{min-width:0;max-width:100vw}
 .touchCapable header{overflow:hidden;gap:4px}
 .touchCapable .brand{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}
 .touchCapable .actions{min-width:0;flex:0 0 auto}
 .touchCapable .actions #inventoryBtn,
 .touchCapable .actions #recordsBtn,
 .touchCapable .actions #theoryBtn,
 .touchCapable .actions .minor{display:none!important}
 .touchCapable #mobileMenuBtn{display:inline-flex!important;min-width:62px;max-width:34vw;white-space:nowrap}
 .touchCapable #game{min-width:0;max-width:100%}
 .touchCapable .titleArtifact{width:min(760px,92vw);max-width:calc(100vw - 16px);min-width:0}
 .touchCapable .titleButtons{max-width:100%;min-width:0}
 .touchCapable .titleBtn{min-width:min(180px,calc(100vw - 32px));max-width:100%}
}


/* MASTER 20 / compact navigation for large text and mid-width layouts */
@media (max-width:1100px){
 #app{width:100vw;min-width:0;overflow:hidden}
 header,main,footer{min-width:0;max-width:100vw}
 header{overflow:hidden;gap:4px}
 header .brand{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}
 header .actions{min-width:0;flex:0 0 auto}
 header .actions #inventoryBtn,
 header .actions #recordsBtn,
 header .actions #theoryBtn,
 header .actions .minor{display:none!important}
 #mobileMenuBtn{display:inline-flex!important;min-width:62px;max-width:34vw;white-space:nowrap}
 #game{min-width:0;max-width:100%}
 .titleArtifact{max-width:calc(100vw - 16px);min-width:0}
 .titleButtons{max-width:100%;min-width:0}
 .titleBtn{min-width:min(180px,calc(100vw - 32px));max-width:100%}
}
@media (pointer:fine) and (max-width:1100px){
 #mobileControlsToggle{display:none!important}
}

