:root{
  --bg:#05070b;
  --panel:rgba(8,13,20,.92);
  --panel-soft:rgba(13,20,30,.84);
  --panel-solid:#0d141e;
  --line:rgba(221,188,118,.28);
  --line-strong:rgba(236,199,119,.68);
  --gold:#d9b46c;
  --gold-bright:#f4d89a;
  --cream:#f7f0e4;
  --text:#f7f2e9;
  --muted:#abb6c5;
  --good:#9ddcb5;
  --bad:#f09b9b;
  --info:#95c7f5;
  --shadow:0 28px 80px rgba(0,0,0,.58);
  --radius:20px;
  --radius-sm:13px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --safe-bottom:env(safe-area-inset-bottom,0px);
}

*{box-sizing:border-box}
html{min-height:100%;background:var(--bg);scroll-behavior:smooth}
body{min-height:100%;margin:0;background:radial-gradient(circle at 20% 0,#172233 0,#080c13 35%,#030508 100%);color:var(--text);font-family:var(--font);line-height:1.45;overflow-x:hidden}
button,input,textarea{font:inherit}
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.48;filter:saturate(.45)}
.hidden{display:none!important}
.glass{background:linear-gradient(145deg,rgba(15,23,34,.96),rgba(6,10,16,.9));border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.eyebrow{margin:0 0 6px;color:var(--gold-bright);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3,h4,p{overflow-wrap:anywhere}
h2,h3,h4{margin-top:0}

/* Start screen */
.start-screen{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;isolation:isolate;overflow:hidden;padding:clamp(18px,3vw,46px)}
.start-fallback{position:absolute;inset:-2%;z-index:-4;background:url('../assets/cinematic-manor-clean-v12.jpg') center/cover no-repeat;transform:scale(1.03);animation:slowZoom 18s ease-in-out infinite alternate}
.start-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(2,5,9,.32) 0,rgba(2,5,9,.62) 45%,rgba(2,5,9,.86) 72%,rgba(2,5,9,.97) 100%),linear-gradient(0deg,rgba(3,5,8,.82),transparent 42%)}
.start-layout{width:min(1480px,100%);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.72fr);gap:clamp(30px,6vw,90px);align-items:center}
.start-hero{max-width:760px;padding:clamp(12px,2vw,30px);text-shadow:0 4px 28px rgba(0,0,0,.9)}
.start-hero h1{margin:0;font-family:var(--serif);font-size:clamp(4rem,9vw,8.5rem);line-height:.83;letter-spacing:.02em;background:linear-gradient(#fff4d8,#d6a951 62%,#76501f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 8px 18px rgba(0,0,0,.85))}
.subtitle{margin:.35rem 0 1.6rem;font-family:var(--serif);font-size:clamp(1.05rem,2.5vw,1.85rem);letter-spacing:.3em;color:var(--gold-bright)}
.start-copy{max-width:680px;margin:0 0 1.3rem;font-family:var(--serif);font-size:clamp(1.08rem,1.7vw,1.45rem);line-height:1.65;color:#ece4d6}
.feature-pills{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.feature-pills span{padding:9px 13px;border:1px solid rgba(244,216,154,.32);border-radius:999px;background:rgba(4,8,13,.62);font-size:.88rem;font-weight:700}
.chapter-teaser{display:inline-block;margin:8px 0 0;padding:11px 16px;border-left:3px solid var(--gold);background:rgba(8,12,18,.62);color:#efe5d2}
.start-card{border-radius:26px;padding:clamp(22px,3vw,34px);border-color:rgba(228,190,110,.42)}
.menu-heading h2{margin:0 0 16px;font-family:var(--serif);font-size:clamp(1.75rem,3vw,2.45rem)}
.slot-list{display:grid;gap:10px;margin:15px 0 18px}
.save-slot{width:100%;min-height:66px;padding:12px 16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.035);color:var(--text);cursor:pointer;text-align:left;transition:.2s ease}
.save-slot strong{font-size:1rem}.save-slot span{margin-top:3px;color:var(--muted);font-size:.84rem}
.save-slot:hover{background:rgba(217,180,108,.1);border-color:rgba(217,180,108,.48);transform:translateY(-1px)}
.save-slot.active{border-color:var(--gold);background:linear-gradient(90deg,rgba(217,180,108,.19),rgba(217,180,108,.05));box-shadow:inset 4px 0 0 var(--gold)}
.start-actions,.menu-stack{display:grid;gap:12px}
.btn{min-height:54px;border:1px solid transparent;border-radius:14px;padding:12px 20px;color:var(--text);font-weight:800;cursor:pointer;transition:transform .16s ease,filter .16s ease,border-color .16s ease,background .16s ease}
.btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}
.btn:active:not(:disabled){transform:translateY(0) scale(.99)}
.btn.primary{background:linear-gradient(135deg,#b38338,#e6c477);color:#171108;border-color:#f5dfa8;box-shadow:0 10px 28px rgba(193,143,55,.26)}
.btn.secondary{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.16)}
.btn.danger{background:rgba(140,45,45,.28);border-color:rgba(239,149,149,.45);color:#ffd9d9}
.large-action{display:grid;grid-template-columns:44px 1fr;align-items:center;text-align:left;gap:12px;min-height:74px}
.large-action .button-icon{font-size:1.7rem;text-align:center}
.large-action strong,.large-action small{display:block}.large-action strong{font-size:1.08rem}.large-action small{margin-top:2px;font-weight:500;opacity:.78}
.start-tip{margin:16px 0 0;color:var(--muted);font-size:.84rem;text-align:center}

/* Setup */
.setup-screen,.modal-layer{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:rgba(2,4,8,.86);backdrop-filter:blur(12px);overflow:auto}
.setup-card{position:relative;width:min(1040px,100%);max-height:calc(100vh - 36px);max-height:calc(100svh - 36px);overflow:auto;border-radius:26px;padding:clamp(24px,4vw,42px)}
.close-btn{position:absolute;top:14px;right:14px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.06);color:var(--text);font-size:1.8rem;cursor:pointer;z-index:3}
.setup-heading h2{margin:0;font-family:var(--serif);font-size:clamp(2rem,4vw,3rem)}
.setup-heading>p:last-child{margin:8px 0 22px;color:var(--muted)}
.field-label{display:block;margin:16px 0 8px;color:#e7d8bd;font-weight:800}
.text-input{width:100%;min-height:52px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(3,7,12,.72);color:var(--text);padding:12px 14px;caret-color:var(--gold-bright)}
.text-input::placeholder{color:#75808d}
.setup-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}
.choice-group{min-width:0;margin:0;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:18px}
.choice-group legend{padding:0 8px;color:var(--gold-bright);font-weight:900}
.setup-choice{width:100%;min-height:78px;margin:8px 0;padding:12px;display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:center;text-align:left;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.035);color:var(--text);cursor:pointer;transition:.18s ease}
.setup-choice:hover{border-color:rgba(217,180,108,.5);background:rgba(217,180,108,.08)}
.setup-choice.selected{border-color:var(--gold-bright);background:linear-gradient(90deg,rgba(217,180,108,.2),rgba(217,180,108,.05));box-shadow:0 0 0 2px rgba(217,180,108,.1)}
.setup-choice strong,.setup-choice small{display:block}.setup-choice strong{font-size:1.02rem}.setup-choice small{margin-top:3px;color:var(--muted);font-weight:500;line-height:1.35}
.choice-badge{display:grid;place-items:center;min-height:52px;border-radius:11px;background:rgba(0,0,0,.35);border:1px solid rgba(217,180,108,.27);color:var(--gold-bright);font-family:var(--serif);font-weight:900}
.setup-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px}
.begin-button{min-width:320px}
.toggle-row{display:flex;align-items:center;gap:10px;min-height:48px;color:#e6dfd3;font-weight:650;cursor:pointer}
.toggle-row input{width:20px;height:20px;accent-color:var(--gold)}

/* Main game shell */
.game-app{min-height:100vh;min-height:100svh;padding:86px 16px calc(96px + var(--safe-bottom));background:radial-gradient(circle at 55% -10%,rgba(34,53,73,.38),transparent 42%),#05080d}
.topbar{position:fixed;z-index:30;top:10px;left:12px;right:12px;min-height:66px;border-radius:18px;display:grid;grid-template-columns:52px minmax(210px,1fr) auto auto;align-items:center;gap:12px;padding:8px 12px;box-shadow:0 12px 40px rgba(0,0,0,.4)}
.back-btn{font-size:1.45rem}
.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--gold);color:var(--gold-bright);font-family:var(--serif);font-size:1.35rem;font-weight:900;background:rgba(217,180,108,.08)}
.brand strong,.brand span{display:block}.brand strong{font-family:var(--serif);font-size:1.08rem}.brand span{max-width:240px;color:var(--muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud{display:flex;align-items:stretch;gap:7px}.hud>div{min-width:74px;padding:5px 9px;border-left:1px solid rgba(255,255,255,.1)}.hud span,.hud strong{display:block;text-align:center}.hud span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.hud strong{font-size:.9rem;margin-top:2px;color:#f6e6c8}
.top-actions{display:flex;gap:7px}.icon-btn{width:46px;height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);color:var(--text);font-size:1.15rem;cursor:pointer;transition:.15s ease}.icon-btn:hover,.icon-btn.active{background:rgba(217,180,108,.17);border-color:var(--gold);color:var(--gold-bright)}
.case-progress{position:absolute;left:16px;right:16px;bottom:-1px;height:3px;background:rgba(255,255,255,.07);overflow:hidden}.case-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#9d6b29,#f0d28e);transition:width .35s ease}
.game-grid{width:min(1880px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px;align-items:start}
.world-column{min-width:0;display:grid;gap:16px}
.viewport{position:relative;min-height:clamp(600px,78vh,980px);overflow:hidden;border-radius:22px;border:1px solid rgba(225,191,120,.3);background:#05080d;box-shadow:0 35px 90px rgba(0,0,0,.55);isolation:isolate;cursor:grab}
.viewport.dragging{cursor:grabbing}.world-stage{position:absolute;inset:-3%;will-change:transform;transition:transform .22s ease}.world-stage img,.world-stage video{width:100%;height:100%;display:block;object-fit:cover;user-select:none;pointer-events:none;transform:scale(1.03);animation:stageBreath 16s ease-in-out infinite alternate}
.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 46%,transparent 42%,rgba(1,3,6,.28) 74%,rgba(1,3,6,.82) 100%),linear-gradient(0deg,rgba(2,4,7,.72),transparent 34%)}
.fog{position:absolute;width:70%;height:34%;border-radius:50%;filter:blur(28px);background:rgba(185,210,226,.11);pointer-events:none;opacity:.5}.fog-a{left:-18%;bottom:6%;animation:fogMove 18s linear infinite alternate}.fog-b{right:-22%;top:21%;animation:fogMove 24s linear infinite alternate-reverse}
.scene-heading{position:absolute;z-index:5;left:22px;top:20px;max-width:min(520px,68%);padding:12px 16px;border-left:3px solid var(--gold);background:linear-gradient(90deg,rgba(3,7,11,.88),rgba(3,7,11,.2));text-shadow:0 3px 15px #000}.scene-heading h2{margin:0;font-family:var(--serif);font-size:clamp(1.38rem,2.5vw,2.3rem);line-height:1.06;letter-spacing:.01em}
.scene-caption{position:absolute;z-index:5;left:50%;bottom:20px;transform:translateX(-50%);width:min(880px,calc(100% - 34px));padding:13px 18px;border:1px solid rgba(228,194,123,.26);border-radius:13px;background:rgba(3,7,12,.83);box-shadow:0 12px 35px rgba(0,0,0,.45);text-align:center;font-family:var(--serif);font-size:clamp(1rem,1.6vw,1.25rem);color:#efe6d9;backdrop-filter:blur(9px)}
.scan-label{position:absolute;z-index:7;top:20px;right:20px;padding:8px 11px;border-radius:999px;background:#d4a650;color:#171008;font-size:.7rem;font-weight:900;letter-spacing:.1em}
.movement-hint{position:absolute;z-index:6;right:18px;bottom:92px;display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:9px;background:rgba(3,7,12,.67);color:var(--muted);font-size:.72rem}.movement-hint kbd{min-width:24px;padding:3px 5px;border:1px solid rgba(255,255,255,.22);border-radius:5px;background:#121923;color:#fff;text-align:center}
.hotspots{position:absolute;inset:0;z-index:8;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);min-width:62px;min-height:62px;padding:0;border:0;background:transparent;color:var(--text);pointer-events:auto;cursor:pointer}.hotspot-icon{position:relative;z-index:2;width:64px;height:64px;display:grid;place-items:center;border:2px solid var(--gold-bright);border-radius:50%;background:rgba(8,13,19,.88);box-shadow:0 0 0 6px rgba(217,180,108,.12),0 0 22px rgba(230,190,102,.32);font-size:1.42rem;transition:.18s ease}.hotspot::before{content:"";position:absolute;left:50%;top:50%;width:76px;height:76px;transform:translate(-50%,-50%);border:1px solid rgba(244,216,154,.7);border-radius:50%;animation:pulseRing 1.8s ease-out infinite}.hotspot-label{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);min-width:124px;max-width:205px;padding:8px 11px;border:1px solid rgba(244,216,154,.30);border-radius:14px;background:rgba(7,11,17,.88);font-size:.8rem;font-weight:800;line-height:1.26;box-shadow:0 10px 24px rgba(0,0,0,.38);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;text-align:left}.hotspot[data-side="left"] .hotspot-label{left:auto;right:calc(100% + 10px)}.hotspot[data-side="top"] .hotspot-label{left:50%;right:auto;top:auto;bottom:calc(100% + 10px);transform:translateX(-50%)}.hotspot[data-side="bottom"] .hotspot-label{left:50%;right:auto;top:calc(100% + 10px);transform:translateX(-50%)}
.hotspot:hover .hotspot-icon,.hotspot.focused .hotspot-icon{transform:scale(1.08);background:#b9873c;color:#100b05}.hotspot:hover .hotspot-label,.hotspot.focused .hotspot-label,.always-labels .hotspot-label{opacity:1;pointer-events:auto}.hotspot:hover[data-side="right"] .hotspot-label,.hotspot.focused[data-side="right"] .hotspot-label,.always-labels .hotspot[data-side="right"] .hotspot-label{transform:translateY(-50%) translateX(2px)}.hotspot:hover[data-side="left"] .hotspot-label,.hotspot.focused[data-side="left"] .hotspot-label,.always-labels .hotspot[data-side="left"] .hotspot-label{transform:translateY(-50%) translateX(-2px)}.hotspot:hover[data-side="top"] .hotspot-label,.hotspot.focused[data-side="top"] .hotspot-label,.always-labels .hotspot[data-side="top"] .hotspot-label{transform:translateX(-50%) translateY(-2px)}.hotspot:hover[data-side="bottom"] .hotspot-label,.hotspot.focused[data-side="bottom"] .hotspot-label,.always-labels .hotspot[data-side="bottom"] .hotspot-label{transform:translateX(-50%) translateY(2px)}.hotspot.locked .hotspot-icon{border-color:#9ca4af;box-shadow:0 0 0 5px rgba(100,110,120,.08);filter:saturate(.78) grayscale(.15)}.hotspot.locked::before{display:none}.hotspot.locked .hotspot-label{color:#eef0f3;border-color:rgba(244,216,154,.24);background:rgba(8,11,17,.82)}
.scan-active .hotspot-icon{animation:scanGlow .8s ease-in-out infinite alternate}

/* Interaction and task panel */
.interaction-card{border-radius:20px;padding:clamp(18px,2.2vw,26px);box-shadow:0 18px 45px rgba(0,0,0,.35)}
.interaction-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.1)}.interaction-head h3{margin:3px 0 0;font-size:clamp(1.15rem,2vw,1.5rem)}
.task-label{display:inline-block;color:var(--gold-bright);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.character-line{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start;margin:14px 0;padding:15px;border:1px solid rgba(217,180,108,.21);border-radius:14px;background:linear-gradient(90deg,rgba(217,180,108,.09),transparent)}
.character-seal{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;background:#101822;color:var(--gold-bright);font-family:var(--serif);font-size:1.1rem;font-weight:900}.character-line blockquote{margin:0;color:#e9e2d6;line-height:1.6}.character-line blockquote strong{color:#f6d99c}
.task-prompt{margin:12px 0 14px;font-size:1.04rem;font-weight:700;color:#f3ecdf}
.answer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.answer-btn,.dialogue-option,.evidence-option,.branch-option{min-height:58px;padding:12px 14px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.045);color:var(--text);text-align:left;font-weight:700;cursor:pointer;transition:.16s ease}.answer-btn:hover,.dialogue-option:hover,.evidence-option:hover,.branch-option:hover{border-color:var(--gold);background:rgba(217,180,108,.11);transform:translateY(-1px)}.answer-btn.correct,.dialogue-option.correct{border-color:var(--good);background:rgba(86,160,114,.17)}.answer-btn.wrong,.dialogue-option.wrong{border-color:var(--bad);background:rgba(177,70,70,.15)}.evidence-option.selected{border-color:var(--gold-bright);background:rgba(217,180,108,.2);box-shadow:inset 0 0 0 2px rgba(217,180,108,.12)}
.branch-option{display:grid;gap:3px}.branch-option strong{color:#f5d99e}.branch-option small{color:var(--muted);font-weight:500}.branch-option.locked{opacity:.5;cursor:not-allowed}
.text-answer{display:grid;grid-template-columns:1fr auto;gap:10px}.text-answer .btn{min-width:150px}
.order-builder,.token-pool{display:flex;flex-wrap:wrap;gap:8px;min-height:62px;padding:10px;border:1px dashed rgba(255,255,255,.16);border-radius:12px;background:rgba(0,0,0,.17)}.token-pool{margin-top:9px;border-style:solid}.token-btn{min-height:43px;padding:8px 12px;border:1px solid rgba(217,180,108,.3);border-radius:10px;background:rgba(217,180,108,.08);color:var(--text);font-weight:800;cursor:pointer}.token-btn:hover{background:rgba(217,180,108,.2)}
.task-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.hint-btn,.scene-action{min-height:50px;padding:10px 15px;border:1px solid rgba(217,180,108,.28);border-radius:12px;background:rgba(217,180,108,.07);color:#f2e5cf;font-weight:800;cursor:pointer}.hint-btn:hover,.scene-action:hover{border-color:var(--gold);background:rgba(217,180,108,.15)}
.scene-actions{margin:14px 0 16px;padding:14px;border:1px solid rgba(217,180,108,.18);border-radius:16px;background:rgba(255,255,255,.03);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.scene-action{min-height:64px;text-align:left;font-size:.98rem;display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,rgba(217,180,108,.1),rgba(217,180,108,.04))}.scene-action.locked{opacity:.55;filter:grayscale(.6)}
.task-feedback{margin-top:13px;padding:12px 14px;border-radius:11px;background:rgba(139,185,233,.1);border:1px solid rgba(139,185,233,.25);color:#dcecff}.task-feedback.good{background:rgba(91,168,120,.13);border-color:rgba(157,220,181,.35);color:#dff7e7}.task-feedback.bad{background:rgba(190,80,80,.12);border-color:rgba(240,155,155,.35);color:#ffe2e2}
.report-box{min-height:150px;resize:vertical}.word-count{color:var(--muted);font-weight:700}.skip-note{align-self:center;color:var(--muted);font-size:.85rem}

/* Sidebar */
.case-sidebar{display:grid;gap:10px;position:sticky;top:88px;max-height:calc(100vh - 112px);max-height:calc(100svh - 112px)}
.mentor-card{border-radius:18px;padding:16px;display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:start}.mentor-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,#e1c895,#6d4b20 55%,#17100a);border:2px solid var(--gold);box-shadow:0 0 22px rgba(217,180,108,.22)}.mentor-avatar span{font-family:var(--serif);font-weight:900;color:#130d06}.mentor-copy h3{margin:0 0 5px;font-size:1rem}.mentor-message{margin:0;color:#d7dde5;font-size:.9rem;line-height:1.55}
.notebook-card{min-height:420px;max-height:calc(100vh - 285px);max-height:calc(100svh - 285px);display:flex;flex-direction:column;border-radius:18px;overflow:hidden}.tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}.tab{min-height:50px;border:0;border-right:1px solid rgba(255,255,255,.06);background:transparent;color:var(--muted);font-size:.78rem;font-weight:900;cursor:pointer;transition:.16s ease}.tab:last-child{border-right:0}.tab:hover{background:rgba(255,255,255,.04);color:#ece8dd}.tab.active{background:linear-gradient(180deg,rgba(217,180,108,.14),rgba(217,180,108,.04));color:var(--gold-bright);box-shadow:inset 0 -3px 0 var(--gold)}
.notebook-panel{padding:14px;overflow:auto;scrollbar-width:thin;scrollbar-color:#7f602e transparent}.notebook-panel h4{margin:7px 0 8px;color:var(--gold-bright);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.objective-card,.evidence-card,.person-card,.word-card{margin-bottom:9px;padding:11px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.028)}.evidence-card{display:grid;grid-template-columns:36px 1fr;gap:9px;align-items:start}.evidence-card>span{font-size:1.45rem}.evidence-card small,.person-card small,.objective-card small{color:var(--muted)}
.person-card header{display:flex;justify-content:space-between;gap:8px}.person-card p{margin:8px 0 0;color:#c5ced9;font-size:.82rem}.trust-bar{height:5px;margin-top:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.trust-bar span{display:block;height:100%;background:linear-gradient(90deg,#8e622a,#e0bd71)}
.word-card{display:grid;gap:3px}.word-card span{color:var(--muted);font-size:.84rem}.empty-state{padding:24px 12px;text-align:center;color:var(--muted)}

/* Bottom controls */
.control-dock{position:fixed;z-index:31;left:50%;bottom:10px;transform:translateX(-50%);width:min(760px,calc(100% - 24px));display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:7px;border-radius:18px}.control-dock button{min-height:63px;border:1px solid rgba(255,255,255,.04);border-radius:12px;background:rgba(255,255,255,.02);color:#ede5d7;cursor:pointer;transition:.16s ease}.control-dock button:hover{background:rgba(217,180,108,.12);border-color:rgba(217,180,108,.25);transform:translateY(-1px)}.control-dock span,.control-dock small{display:block}.control-dock span{font-size:1.35rem}.control-dock small{margin-top:2px;font-size:.7rem;font-weight:800}

/* Cinematic overlay */
.chapter-cinematic{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:url('../assets/cinematic-manor-clean-v12.jpg') center/cover no-repeat;isolation:isolate}.chapter-cinematic-shade{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at center,rgba(4,7,11,.15),rgba(2,4,7,.88) 75%),linear-gradient(0deg,rgba(2,4,7,.9),transparent 55%)}.chapter-cinematic-copy{width:min(780px,calc(100% - 32px));padding:34px;text-align:center;text-shadow:0 5px 25px #000;animation:cinematicIn .55s ease-out}.chapter-cinematic-copy h2{margin:0;font-family:var(--serif);font-size:clamp(3rem,8vw,6.5rem);line-height:1;color:#f0d69b}.chapter-cinematic-copy p:not(.eyebrow){font-family:var(--serif);font-size:clamp(1rem,2vw,1.35rem);color:#e8e0d4}.chapter-cinematic-copy .btn{min-width:220px;margin-top:16px}

/* Modals */
.modal-card{position:relative;width:min(520px,100%);border-radius:22px;padding:clamp(24px,4vw,36px)}.modal-card h2{font-family:var(--serif);font-size:2rem}.onboarding-card{width:min(860px,100%)}.onboarding-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.onboarding-grid>div{padding:17px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.03)}.onboarding-grid span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#130e08;font-weight:900}.onboarding-grid strong{display:block;margin:12px 0 6px}.onboarding-grid p{margin:0;color:var(--muted);font-size:.9rem}
.toast-region{position:fixed;z-index:100;right:18px;bottom:96px;display:grid;gap:8px;width:min(390px,calc(100% - 36px));pointer-events:none}.toast{padding:13px 15px;border-radius:12px;background:#121b27;border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 32px rgba(0,0,0,.45);animation:toastIn .25s ease-out}.toast.good{border-color:rgba(157,220,181,.55);background:#11231a}.toast.bad{border-color:rgba(240,155,155,.55);background:#291517}

/* Accessibility */
.large-text{font-size:118%}.high-contrast{--panel:rgba(0,0,0,.98);--panel-soft:rgba(0,0,0,.95);--line:rgba(255,224,156,.72);--muted:#e1e6ec}.high-contrast .glass{background:#050505;border-color:#f1cf87}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.always-labels .hotspot-label{opacity:1!important}

@keyframes slowZoom{from{transform:scale(1.03)}to{transform:scale(1.1)}}
@keyframes stageBreath{from{transform:scale(1.03) translate3d(0,0,0)}to{transform:scale(1.06) translate3d(0,-6px,0)}}
@keyframes fogMove{from{transform:translate3d(-4%,0,0)}to{transform:translate3d(16%,-8%,0)}}
@keyframes pulseRing{0%{opacity:.85;transform:translate(-50%,-50%) scale(.78)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}
@keyframes scanGlow{from{box-shadow:0 0 0 7px rgba(217,180,108,.12),0 0 20px rgba(230,190,102,.45)}to{box-shadow:0 0 0 12px rgba(217,180,108,.1),0 0 48px rgba(230,190,102,.9)}}
@keyframes cinematicIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes toastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

@media(max-width:1180px){
  .game-grid{grid-template-columns:minmax(0,1fr) 230px}.hud>div:nth-child(2),.hud>div:nth-child(3){display:none}.start-layout{grid-template-columns:1fr 430px}.start-hero h1{font-size:clamp(4rem,9vw,7rem)}
  .viewport{min-height:clamp(560px,72vh,860px)}
}


@media(max-width:900px){
  .start-screen{align-items:end;padding:16px}.start-shade{background:linear-gradient(0deg,rgba(2,5,9,.98) 0,rgba(2,5,9,.75) 62%,rgba(2,5,9,.28) 100%)}.start-layout{grid-template-columns:1fr;gap:12px}.start-hero{padding-top:24vh}.start-hero h1{font-size:clamp(3.7rem,17vw,6rem)}.start-copy{font-size:1rem;line-height:1.5}.feature-pills{display:none}.start-card{padding:20px}.start-tip{display:none}
  .setup-columns{grid-template-columns:1fr}.setup-footer{align-items:stretch;flex-direction:column}.begin-button{min-width:0;width:100%}
  .game-app{padding:78px 8px calc(94px + var(--safe-bottom))}.topbar{left:6px;right:6px;top:6px;grid-template-columns:46px 1fr auto;padding:6px 8px}.brand-mark{display:none}.hud{display:none}.top-actions #fullscreen-btn,.top-actions #sound-btn{display:none}.icon-btn{width:42px;height:42px}.game-grid{display:block}.case-sidebar{position:static;max-height:none;margin-top:12px}.mentor-card{grid-template-columns:52px 1fr}.mentor-avatar{width:48px;height:48px}.notebook-card{max-height:none;min-height:360px}.viewport{min-height:64svh;border-radius:17px}.scene-heading{left:12px;top:12px;max-width:84%;padding:9px 11px}.scene-heading h2{font-size:1.4rem}.scene-caption{bottom:12px;width:calc(100% - 20px);font-size:.94rem;padding:10px 11px}.movement-hint{display:none}.hotspot-icon{width:56px;height:56px}.hotspot-label{min-width:118px;max-width:170px;font-size:.74rem;padding:8px 10px}.interaction-card{padding:15px}.interaction-head{display:block}.interaction-head>.task-label{margin-top:7px}.answer-grid{grid-template-columns:1fr}.scene-actions{grid-template-columns:1fr}.text-answer{grid-template-columns:1fr}.text-answer .btn{width:100%}.control-dock{bottom:6px;width:calc(100% - 12px)}.control-dock button{min-height:58px}.control-dock small{font-size:.65rem}.toast-region{bottom:86px;right:8px;width:calc(100% - 16px)}
  .onboarding-grid{grid-template-columns:1fr}.chapter-cinematic-copy{padding:20px}.chapter-cinematic-copy h2{font-size:3.5rem}
}

@media(max-width:560px){
  .start-hero{padding-top:18vh}.start-hero .subtitle{font-size:.92rem;letter-spacing:.18em}.start-card{border-radius:18px}.slot-list{grid-template-columns:repeat(3,1fr)}.save-slot{min-height:62px;padding:9px}.save-slot strong{font-size:.78rem}.save-slot span{display:none}.large-action{min-height:66px}.setup-card{padding:22px 14px}.setup-choice{grid-template-columns:62px 1fr}.choice-group{padding:11px}.viewport{min-height:58svh}.scene-heading .eyebrow{display:none}.scene-heading h2{font-size:1.18rem}.scene-caption{font-size:.87rem}.hotspot-label{min-width:106px;max-width:144px;white-space:normal;text-align:center}.hotspot[data-side="left"] .hotspot-label,.hotspot[data-side="right"] .hotspot-label{left:50%;right:auto;top:calc(100% + 8px);bottom:auto;transform:translateX(-50%)}.tabs{position:sticky;top:0;z-index:2}.tab{font-size:.69rem}.control-dock span{font-size:1.2rem}.control-dock small{font-size:.58rem}.control-dock{gap:2px;padding:5px}.control-dock button{padding:4px 2px}.top-actions #scan-btn{display:none}
}
.game-grid{padding-bottom:78px}
@media(max-width:900px){.game-grid{padding-bottom:82px}}

/* Premium start, admin and map additions */
.btn.tertiary{background:rgba(217,180,108,.08);border-color:rgba(217,180,108,.22);color:#f5dfb6}
.start-particles{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.start-particles span{position:absolute;bottom:-10%;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#f4d89a 0,rgba(244,216,154,.1) 70%,transparent 72%);box-shadow:0 0 16px rgba(244,216,154,.45);animation:floatSpark 14s linear infinite}
.start-particles span:nth-child(1){left:8%;animation-duration:12s;animation-delay:-2s}
.start-particles span:nth-child(2){left:24%;width:6px;height:6px;animation-duration:15s;animation-delay:-8s}
.start-particles span:nth-child(3){left:42%;animation-duration:13s;animation-delay:-4s}
.start-particles span:nth-child(4){left:64%;width:10px;height:10px;animation-duration:18s;animation-delay:-6s}
.start-particles span:nth-child(5){left:80%;width:7px;height:7px;animation-duration:11s;animation-delay:-3s}
.start-particles span:nth-child(6){left:92%;width:9px;height:9px;animation-duration:16s;animation-delay:-10s}
.start-summary{margin:.25rem 0 0;color:#d9d6cf;font-size:.92rem;line-height:1.5}
.start-utility-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.hero-floating-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 6px;max-width:760px}
.hero-float-card{padding:14px 16px;border:1px solid rgba(244,216,154,.2);border-radius:18px;background:linear-gradient(180deg,rgba(9,15,23,.88),rgba(9,15,23,.58));box-shadow:0 18px 36px rgba(0,0,0,.3);backdrop-filter:blur(8px)}
.hero-float-card strong,.hero-float-card span{display:block}.hero-float-card strong{color:#fbebc1;font-size:.95rem}.hero-float-card span{margin-top:6px;color:#c5c7cf;font-size:.8rem;line-height:1.45}
.card-a{animation:cardFloat 8s ease-in-out infinite}.card-b{animation:cardFloat 9.5s ease-in-out infinite -.8s}.card-c{animation:cardFloat 10s ease-in-out infinite -1.4s}
.top-actions #map-btn{font-size:1.1rem}
.modal-card.map-modal-card,.modal-card.admin-modal-card{width:min(1100px,100%)}
.map-modal-card h2,.admin-modal-card h2{margin:0 0 10px}
.map-status{margin:0 0 18px;color:#d8e0ea;line-height:1.5}
.manor-map{position:relative;min-height:560px;border:1px solid rgba(217,180,108,.18);border-radius:22px;background:radial-gradient(circle at 50% 50%,rgba(27,40,57,.35),rgba(5,8,13,.98) 78%),linear-gradient(180deg,rgba(217,180,108,.04),transparent);overflow:hidden}
.manor-map::before{content:'';position:absolute;inset:4%;border:1px solid rgba(244,216,154,.06);border-radius:18px;pointer-events:none}
.map-lines{position:absolute;inset:0;width:100%;height:100%}.map-lines path{fill:none;stroke:rgba(244,216,154,.22);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:1.2 2.4;animation:dashFlow 14s linear infinite}
.map-room{position:absolute;transform:translate(-50%,-50%);min-width:126px;padding:12px 14px;border-radius:16px;border:1px solid rgba(244,216,154,.22);background:linear-gradient(180deg,rgba(10,16,24,.95),rgba(10,16,24,.7));color:var(--text);text-align:left;box-shadow:0 16px 38px rgba(0,0,0,.35);cursor:pointer;transition:.18s ease}
.map-room strong,.map-room span{display:block}.map-room strong{font-family:var(--serif);font-size:1rem;color:#f4ddb0}.map-room span{margin-top:4px;color:#b8c0c9;font-size:.78rem}
.map-room:hover:not(:disabled){transform:translate(-50%,-50%) scale(1.03);border-color:var(--gold)}
.map-room.visited{border-color:rgba(244,216,154,.5);box-shadow:0 0 0 1px rgba(244,216,154,.18),0 18px 38px rgba(0,0,0,.4)}
.map-room.current{background:linear-gradient(135deg,rgba(179,131,56,.28),rgba(13,18,26,.95));border-color:#f4d89a;box-shadow:0 0 0 2px rgba(244,216,154,.18),0 0 34px rgba(217,180,108,.28);animation:currentRoomPulse 2s ease-in-out infinite}
.map-footnote{margin:14px 0 0;color:var(--muted);font-size:.88rem}
.admin-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.admin-stat{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.03)}
.admin-stat strong,.admin-stat span{display:block}.admin-stat strong{font-family:var(--serif);font-size:1.8rem;color:#f5ddb0}.admin-stat span{margin-top:5px;color:#b7c1cc;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.admin-results{display:grid;gap:8px}
.admin-table{display:grid;grid-template-columns:1.2fr .5fr .7fr .8fr 1.2fr 1.2fr 1.1fr;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.03);font-size:.88rem}
.admin-table.head{background:rgba(217,180,108,.09);color:#f4ddb0;font-weight:900;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}
.admin-done{font-style:normal;color:var(--good);font-weight:900}

@keyframes floatSpark{0%{transform:translate3d(0,0,0) scale(.7);opacity:0}10%{opacity:.85}100%{transform:translate3d(12px,-110vh,0) scale(1.05);opacity:0}}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes dashFlow{from{stroke-dashoffset:0}to{stroke-dashoffset:-16}}
@keyframes currentRoomPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.03)}}

@media(max-width:1180px){
  .hero-floating-cards{grid-template-columns:1fr}
  .admin-table{grid-template-columns:1fr 1fr 1fr}
  .admin-table span:nth-child(n+4){display:block}
}
@media(max-width:900px){
  .start-utility-row{grid-template-columns:1fr}
  .hero-floating-cards{display:none}
  .manor-map{min-height:480px}
  .admin-summary{grid-template-columns:repeat(2,1fr)}
  .admin-table,.admin-table.head{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .start-summary{font-size:.84rem}
  .manor-map{min-height:420px}
  .map-room{min-width:104px;padding:10px 10px;border-radius:14px}
  .map-room strong{font-size:.84rem}.map-room span{font-size:.68rem}
  .admin-summary{grid-template-columns:1fr 1fr}
}

/* Audit v8: responsive shell, collapsible dossier and safer tables */
.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sidebar-collapsed .game-grid{grid-template-columns:minmax(0,1fr)}
.sidebar-collapsed .case-sidebar{display:none}
.cinema-mode .game-app{padding-left:8px;padding-right:8px}
.cinema-mode .game-grid{width:100%;grid-template-columns:minmax(0,1fr);padding-bottom:78px}
.cinema-mode .case-sidebar,.cinema-mode .interaction-card{display:none}
.cinema-mode .viewport{min-height:calc(100svh - 150px);border-radius:18px}
.cinema-mode .scene-heading{max-width:min(480px,58%)}
.cinema-mode .scene-caption{width:min(980px,calc(100% - 40px))}
.cinema-mode .control-dock{background:linear-gradient(145deg,rgba(8,13,20,.92),rgba(4,7,11,.84))}
.admin-results{overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:#7f602e transparent}
.admin-table{min-width:1050px;grid-template-columns:1.15fr 1fr .42fr .65fr .72fr .62fr 1.18fr 1.15fr 1.12fr}
.admin-table.head{position:sticky;top:0;z-index:2}
.admin-table span{min-width:0;overflow-wrap:anywhere}
.map-room:disabled{opacity:.52;filter:grayscale(.55)}

@media(max-width:1480px){
  .top-actions .optional-top-action{display:none}
}
@media(max-width:1050px){
  .profile-fields{grid-template-columns:1fr}
  .sidebar-btn{display:none}
}
@media(max-width:700px){
  .manor-map{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:0;padding:14px}
  .map-lines{display:none}
  .map-room{position:static!important;transform:none!important;min-width:0;width:100%;min-height:74px}
  .map-room:hover:not(:disabled),.map-room.current{transform:none!important}
  .cinema-btn{display:none}
  .cinema-mode .viewport{min-height:64svh}
}
@media(max-width:460px){
  .manor-map{grid-template-columns:1fr}
  .admin-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:1050px){
  #sidebar-btn{display:none}
  .sidebar-collapsed .case-sidebar{display:grid}
}
@media(max-width:700px){#cinema-btn{display:none}}
.modal-card.admin-modal-card{width:min(1260px,calc(100% - 20px))}
.admin-table{min-width:1220px;grid-template-columns:1.05fr .8fr .4fr .62fr .68fr .72fr .92fr 1.15fr 1.05fr 1fr}
@media(max-width:700px){
  .toast-region{top:78px;bottom:auto;right:8px;width:min(320px,calc(100% - 16px))}
}
@media(max-width:560px){
  .control-dock{bottom:3px;padding:4px;border-radius:15px}
  .control-dock button{min-height:48px}
  .control-dock span{font-size:1.05rem}
  .control-dock small{font-size:.56rem;margin-top:0}
}

.scan-active .hotspot-label{opacity:1;pointer-events:auto}
.scan-active .hotspot[data-side="right"] .hotspot-label{transform:translateY(-50%) translateX(2px)}
.scan-active .hotspot[data-side="left"] .hotspot-label{transform:translateY(-50%) translateX(-2px)}
.scan-active .hotspot[data-side="top"] .hotspot-label{transform:translateX(-50%) translateY(-2px)}
.scan-active .hotspot[data-side="bottom"] .hotspot-label{transform:translateX(-50%) translateY(2px)}
/* Start-screen audit fixes: prevent title wrapping and fit common laptop heights */
.start-hero h1{font-size:clamp(3.2rem,7.3vw,7.4rem);letter-spacing:-.015em;white-space:nowrap}
@media(max-width:900px){.start-hero h1{font-size:clamp(3.15rem,14.5vw,5.7rem);white-space:nowrap}}
@media(max-width:430px){.start-hero h1{font-size:clamp(2.75rem,14vw,4.4rem)}}
@media(max-height:820px) and (min-width:901px){
  .start-screen{padding:12px 24px}
  .start-layout{gap:34px}
  .start-hero{padding:8px 18px}
  .start-copy{font-size:1rem;line-height:1.45;margin-bottom:.7rem}
  .feature-pills{margin:10px 0}
  .hero-floating-cards{display:none}
  .chapter-teaser{margin-top:4px;padding:8px 13px}
  .start-card{padding:18px 22px}
  .menu-heading h2{font-size:2rem;margin-bottom:8px}
  .slot-list{margin:10px 0 12px;gap:7px}
  .save-slot{min-height:54px;padding:8px 14px}
  .large-action{min-height:60px}
  .start-utility-row{margin-top:9px}
  .start-tip{display:none}
}
/* Quick-action dock now lives in the game flow instead of covering content */
.control-dock{position:sticky;left:auto;right:auto;bottom:8px;transform:none;width:min(760px,100%);margin:-2px auto 0;z-index:24}
.game-grid{padding-bottom:0}
.game-app{padding-bottom:28px}
@media(max-width:900px){
  .game-app{padding-bottom:18px}
  .control-dock{width:100%;bottom:4px;margin-top:0}
  .game-grid{padding-bottom:0}
}

/* Audit fix: quick controls remain in normal document flow and never cover tasks. */
.control-dock{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:min(760px,100%)!important;margin:0 auto!important}


/* Screen switching with image-quality protection */
.world-stage img,.world-stage video{image-rendering:auto;backface-visibility:hidden;transform:translate3d(0,0,0);animation:stageDrift 18s ease-in-out infinite alternate;will-change:transform}
.view-mode-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 10px}
.view-mode-btn{min-height:48px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.04);color:var(--text);font-weight:800;cursor:pointer;transition:.16s ease}
.view-mode-btn:hover{border-color:var(--gold);background:rgba(217,180,108,.1)}
.view-mode-btn.active{border-color:var(--gold-bright);background:linear-gradient(180deg,rgba(217,180,108,.2),rgba(217,180,108,.06));box-shadow:0 0 0 1px rgba(244,216,154,.12)}
.settings-note{margin:0 0 14px;color:var(--muted);font-size:.84rem;line-height:1.45}
body.view-standard .game-grid{width:min(1680px,100%);grid-template-columns:minmax(0,1fr) 300px;gap:14px}
body.view-standard .viewport{min-height:clamp(520px,70vh,880px)}
body.view-large .game-grid{width:min(1880px,100%);grid-template-columns:minmax(0,1fr) 240px;gap:12px}
body.view-large .viewport{min-height:clamp(600px,78vh,980px)}
body.view-cinema .game-app{padding-left:8px;padding-right:8px}
body.view-cinema .game-grid{width:100%;grid-template-columns:minmax(0,1fr);padding-bottom:78px}
body.view-cinema .case-sidebar,body.view-cinema .interaction-card{display:none}
body.view-cinema .viewport{min-height:calc(100svh - 150px);border-radius:18px}
body.view-cinema .scene-heading{max-width:min(480px,58%)}
body.view-cinema .scene-caption{width:min(980px,calc(100% - 40px))}
@keyframes stageDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-5px,0)}}
@media(max-width:900px){body.view-standard .viewport,body.view-large .viewport,body.view-cinema .viewport{min-height:64svh}.view-mode-row{grid-template-columns:1fr}}
@media(max-width:560px){body.view-standard .viewport,body.view-large .viewport,body.view-cinema .viewport{min-height:58svh}}


/* Ultimate 2.5D cinematic enhancement */
.viewport{--look-x:0px;--look-y:0px;--cam-zoom:1;perspective:1200px;transform-style:preserve-3d}
.world-stage{transform-origin:center center;filter:saturate(1.04) contrast(1.02)}
.world-stage img,.world-stage video{image-rendering:auto;backface-visibility:hidden;transform:scale(1.01);animation:none}
.light-rays,.dust-layer,.rain-layer,.ghost-layer{position:absolute;inset:-2%;pointer-events:none;z-index:3;mix-blend-mode:screen;opacity:0;transition:opacity .4s ease,transform .25s ease}
.light-rays{background:
  linear-gradient(115deg,transparent 0 28%,rgba(147,180,255,.10) 32%,transparent 37%),
  linear-gradient(102deg,transparent 0 58%,rgba(255,232,184,.10) 63%,transparent 68%),
  radial-gradient(circle at 18% 8%,rgba(255,239,189,.18),transparent 34%);
  filter:blur(2px); transform:translate3d(calc(var(--look-x)*-.18),calc(var(--look-y)*-.18),0); animation:rayShift 18s ease-in-out infinite alternate}
.dust-layer{background:
  radial-gradient(circle at 14% 24%,rgba(255,244,214,.18) 0 1px,transparent 2px) 0 0/180px 180px,
  radial-gradient(circle at 58% 64%,rgba(215,227,255,.12) 0 1px,transparent 2px) 40px 20px/220px 220px,
  radial-gradient(circle at 78% 36%,rgba(255,229,181,.16) 0 1.5px,transparent 2.5px) 0 0/260px 260px;
  filter:blur(.2px); transform:translate3d(calc(var(--look-x)*-.28),calc(var(--look-y)*-.22),0); animation:dustFloat 26s linear infinite}
.rain-layer{background:
  repeating-linear-gradient(112deg,rgba(180,208,255,0) 0 18px,rgba(180,208,255,.08) 19px 20px,rgba(180,208,255,0) 21px 42px),
  linear-gradient(180deg,rgba(180,208,255,.02),rgba(180,208,255,0));
  filter:blur(.55px); transform:translate3d(calc(var(--look-x)*-.10),calc(var(--look-y)*-.10),0); animation:rainSlide 1.8s linear infinite}
.ghost-layer{background:
  radial-gradient(ellipse at 23% 58%,rgba(213,234,255,.10),transparent 18%),
  radial-gradient(ellipse at 71% 37%,rgba(210,232,255,.07),transparent 16%),
  radial-gradient(ellipse at 52% 18%,rgba(255,247,225,.06),transparent 14%);
  filter:blur(14px); transform:translate3d(calc(var(--look-x)*-.33),calc(var(--look-y)*-.28),0); animation:ghostDrift 12s ease-in-out infinite alternate}
.fog,.scene-heading,.scene-caption{transform-style:preserve-3d}
.fog-a{transform:translate3d(calc(var(--look-x)*-.32),calc(var(--look-y)*-.16),0);animation:fogMove 18s linear infinite alternate}
.fog-b{transform:translate3d(calc(var(--look-x)*.24),calc(var(--look-y)*-.10),0);animation:fogMove 24s linear infinite alternate-reverse}
.scene-heading{transform:translate3d(calc(var(--look-x)*-.12),calc(var(--look-y)*-.12),16px)}
.scene-caption{transform:translateX(-50%) translate3d(calc(var(--look-x)*-.08),calc(var(--look-y)*-.08),18px)}
.viewport[data-ambience="storm"] .light-rays{opacity:.22}.viewport[data-ambience="storm"] .rain-layer{opacity:.16}.viewport[data-ambience="storm"] .dust-layer{opacity:.06}.viewport[data-ambience="storm"] .ghost-layer{opacity:.04}
.viewport[data-ambience="hall"] .light-rays{opacity:.34}.viewport[data-ambience="hall"] .dust-layer{opacity:.40}.viewport[data-ambience="hall"] .ghost-layer{opacity:.12}
.viewport[data-ambience="dust"] .light-rays{opacity:.26}.viewport[data-ambience="dust"] .dust-layer{opacity:.52}.viewport[data-ambience="dust"] .ghost-layer{opacity:.06}
.viewport[data-ambience="basement"] .light-rays{opacity:.12}.viewport[data-ambience="basement"] .dust-layer{opacity:.16}.viewport[data-ambience="basement"] .ghost-layer{opacity:.09}.viewport[data-ambience="basement"] .fog{background:rgba(160,208,198,.10)}
.viewport[data-ambience="attic"] .light-rays{opacity:.22}.viewport[data-ambience="attic"] .dust-layer{opacity:.48}.viewport[data-ambience="attic"] .ghost-layer{opacity:.16}
.viewport[data-ambience="mystic"] .light-rays{opacity:.22}.viewport[data-ambience="mystic"] .dust-layer{opacity:.24}.viewport[data-ambience="mystic"] .ghost-layer{opacity:.08}
.viewport[data-ambience="garden"] .light-rays{opacity:.18}.viewport[data-ambience="garden"] .rain-layer{opacity:0}.viewport[data-ambience="garden"] .dust-layer{opacity:.12}.viewport[data-ambience="garden"] .ghost-layer{opacity:.05}.viewport[data-ambience="garden"] .fog{opacity:.55}
.reduce-motion .light-rays,.reduce-motion .dust-layer,.reduce-motion .rain-layer,.reduce-motion .ghost-layer,.reduce-motion .fog,.reduce-motion .world-stage img,.reduce-motion .world-stage video{animation:none !important}
.reduce-motion .scene-heading,.reduce-motion .scene-caption{transform:none !important}
@keyframes rayShift{from{transform:translate3d(calc(var(--look-x)*-.18),calc(var(--look-y)*-.18),0) scale(1)}to{transform:translate3d(calc(var(--look-x)*-.22),calc(var(--look-y)*-.22),0) scale(1.04)}}
@keyframes dustFloat{from{background-position:0 0,40px 20px,0 0}to{background-position:90px -140px,-60px -80px,120px -100px}}
@keyframes rainSlide{from{background-position:0 -24px,0 0}to{background-position:0 90px,0 0}}
@keyframes ghostDrift{from{transform:translate3d(calc(var(--look-x)*-.33),calc(var(--look-y)*-.28),0) scale(1)}to{transform:translate3d(calc(var(--look-x)*-.40),calc(var(--look-y)*-.35),0) scale(1.06)}}
body.view-cinema .viewport{overflow:hidden}
body.view-cinema .light-rays{opacity:calc(var(--cinema-rays,1) * .34)}
@media(max-width:900px){.viewport[data-ambience="storm"] .rain-layer{opacity:.28}.viewport[data-ambience="dust"] .dust-layer,.viewport[data-ambience="attic"] .dust-layer,.viewport[data-ambience="hall"] .dust-layer{opacity:.34}}

/* Deluxe cinematic interface and scene transitions */
.start-cinematic-frame{position:absolute;inset:18px;z-index:-1;border:1px solid rgba(244,216,154,.14);border-radius:28px;pointer-events:none;box-shadow:inset 0 0 90px rgba(0,0,0,.35)}
.start-cinematic-frame::before,.start-cinematic-frame::after{content:"";position:absolute;width:92px;height:92px;border-color:rgba(244,216,154,.34);pointer-events:none}
.start-cinematic-frame::before{left:12px;top:12px;border-left:2px solid;border-top:2px solid}
.start-cinematic-frame::after{right:12px;bottom:12px;border-right:2px solid;border-bottom:2px solid}
.start-raven-shadow{position:absolute;left:4vw;bottom:-5vh;z-index:-2;font-family:var(--serif);font-size:min(48vw,680px);line-height:.72;color:rgba(0,0,0,.22);filter:blur(1px);transform:rotate(-8deg);pointer-events:none}
.deluxe-crest{width:62px;height:62px;margin:0 0 16px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(244,216,154,.68);background:radial-gradient(circle at 36% 28%,rgba(244,216,154,.24),rgba(9,13,20,.72) 56%,rgba(2,4,8,.9));box-shadow:0 0 0 8px rgba(244,216,154,.04),0 18px 44px rgba(0,0,0,.45);animation:crestPulse 4.8s ease-in-out infinite}
.deluxe-crest span{font-family:var(--serif);font-size:1.8rem;font-weight:900;color:#f4d89a;text-shadow:0 0 18px rgba(244,216,154,.42)}
.deluxe-kicker{letter-spacing:.24em}
.start-hero{transform:translateX(var(--hero-shift,0));transition:transform .3s ease}
.start-hero h1{position:relative;isolation:isolate;text-shadow:none}
.start-hero h1::after{content:attr(data-title);position:absolute;inset:0;color:transparent;background:linear-gradient(102deg,transparent 0 34%,rgba(255,255,255,.92) 46%,transparent 58%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;animation:titleGlint 7s ease-in-out infinite;pointer-events:none}
.start-card{transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .25s ease,border-color .25s ease;box-shadow:0 36px 110px rgba(0,0,0,.62),0 0 0 1px rgba(244,216,154,.04) inset}
.start-card::before{content:"";position:absolute;inset:1px;border-radius:25px;background:linear-gradient(115deg,rgba(244,216,154,.09),transparent 28%,transparent 70%,rgba(149,199,245,.05));pointer-events:none}
.start-card>*{position:relative;z-index:1}
.btn.primary{position:relative;overflow:hidden}
.btn.primary::after{content:"";position:absolute;inset:-60% auto -60% -35%;width:26%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:buttonShine 5.4s ease-in-out infinite;pointer-events:none}
.topbar{border-color:rgba(244,216,154,.22);box-shadow:0 14px 48px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.03)}
.interaction-card,.mentor-card,.notebook-card{border-color:rgba(217,180,108,.22)}
.scene-media{opacity:0;transition:opacity .42s ease;filter:saturate(1.04) contrast(1.025)}
.scene-media.ready,.scene-video{opacity:1}
.scene-transition{position:fixed;inset:0;z-index:95;display:grid;place-items:center;pointer-events:none;overflow:hidden;background:rgba(2,4,7,.82);opacity:0;transition:opacity .28s ease}
.scene-transition.active{opacity:1}
.scene-transition.leaving{opacity:0}
.transition-iris{position:absolute;inset:-18%;background:radial-gradient(circle at center,transparent 0 12%,rgba(1,3,6,.48) 36%,rgba(1,3,6,.98) 72%);transform:scale(1.45);transition:transform .7s cubic-bezier(.2,.75,.2,1)}
.scene-transition.active .transition-iris{transform:scale(.72)}
.transition-copy{position:relative;text-align:center;padding:30px;transform:translateY(16px);opacity:0;transition:transform .35s ease .08s,opacity .35s ease .08s;text-shadow:0 7px 30px #000}
.scene-transition.active .transition-copy{transform:none;opacity:1}
.transition-copy h2{margin:0;font-family:var(--serif);font-size:clamp(2.4rem,7vw,6.4rem);line-height:.95;color:#f2d899;letter-spacing:.02em}
.transition-rule{display:block;width:140px;height:1px;margin:18px auto 0;background:linear-gradient(90deg,transparent,#e1bd70,transparent);box-shadow:0 0 18px rgba(225,189,112,.4)}
.ghost-flash{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;mix-blend-mode:screen;transition:opacity .8s ease}
.ghost-flash span{position:absolute;left:50%;top:50%;width:34%;height:74%;transform:translate(-50%,-44%) scale(.88);border-radius:48% 48% 42% 42%;background:radial-gradient(ellipse at 50% 28%,rgba(235,248,255,.42),rgba(183,218,255,.13) 34%,transparent 68%);filter:blur(18px);opacity:.45;animation:ghostBreathe 2.6s ease-in-out infinite alternate}
.ghost-flash.active{opacity:.34}
.ghost-flash.strong{opacity:.62}
.viewport[data-scene="elizabeth"] .ghost-flash span,.viewport[data-scene="sealed_letter"] .ghost-flash span{left:57%;top:44%;width:29%;height:78%}
.task-feedback.good{animation:rewardPulse .55s ease-out}
.answer-btn.correct,.dialogue-option.correct{animation:correctReveal .45s ease-out}
.reduce-motion .start-card,.reduce-motion .start-hero{transform:none!important;transition:none!important}
.reduce-motion .start-hero h1::after,.reduce-motion .deluxe-crest,.reduce-motion .btn.primary::after,.reduce-motion .ghost-flash span,.reduce-motion .scene-transition *{animation:none!important;transition:none!important}

@keyframes crestPulse{0%,100%{transform:translateY(0);box-shadow:0 0 0 8px rgba(244,216,154,.04),0 18px 44px rgba(0,0,0,.45)}50%{transform:translateY(-4px);box-shadow:0 0 0 11px rgba(244,216,154,.025),0 23px 52px rgba(0,0,0,.52)}}
@keyframes titleGlint{0%,58%{background-position:190% 0}76%,100%{background-position:-80% 0}}
@keyframes buttonShine{0%,64%{left:-38%;opacity:0}72%{opacity:.9}86%,100%{left:125%;opacity:0}}
@keyframes ghostBreathe{from{transform:translate(-50%,-44%) scale(.88);opacity:.28}to{transform:translate(-50%,-47%) scale(1.05);opacity:.62}}
@keyframes rewardPulse{0%{transform:scale(.985);box-shadow:0 0 0 rgba(157,220,181,0)}100%{transform:scale(1);box-shadow:0 0 32px rgba(157,220,181,.08)}}
@keyframes correctReveal{0%{transform:translateY(2px) scale(.99)}100%{transform:none}}

@media(max-width:900px){
  .start-cinematic-frame{inset:8px;border-radius:20px}
  .deluxe-crest{width:50px;height:50px;margin-bottom:10px}.deluxe-crest span{font-size:1.45rem}
  .scene-transition .transition-copy h2{font-size:clamp(2.1rem,12vw,4.3rem)}
  .ghost-flash span{width:48%}
}
@media(max-width:560px){.start-raven-shadow{display:none}.start-cinematic-frame{display:none}}

.world-stage .scene-media{transform:none!important;animation:none!important}

/* v12 clean scene/layout hotfix */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.game-app{width:100%;max-width:100vw;overflow-x:clip;padding-left:clamp(8px,1vw,16px);padding-right:clamp(8px,1vw,16px)}
.topbar{max-width:calc(100vw - 24px);min-width:0;overflow:hidden}
.topbar>*{min-width:0}
.game-grid{width:100%;max-width:1720px;grid-template-columns:minmax(0,1fr) minmax(290px,330px);gap:14px;overflow:visible}
.world-column,.case-sidebar,.mentor-card,.notebook-card{min-width:0}
.viewport{height:clamp(540px,72vh,830px);min-height:0;max-height:none;aspect-ratio:auto;overflow:hidden}
.world-stage{inset:0;overflow:hidden;transform-origin:center center}
.world-stage .scene-media,.world-stage img,.world-stage video{width:100%;height:100%;object-fit:cover;transform:none!important;animation:none!important;image-rendering:auto}
.scene-heading{left:18px;top:16px;max-width:min(430px,43%);padding:10px 14px;border-radius:0 14px 14px 0;background:linear-gradient(90deg,rgba(3,7,11,.92),rgba(3,7,11,.58) 72%,transparent);border-left-width:2px;box-shadow:0 8px 26px rgba(0,0,0,.22)}
.scene-heading .eyebrow{font-size:.65rem;line-height:1.25;letter-spacing:.12em;margin-bottom:4px}
.scene-heading h2{font-size:clamp(1.2rem,1.8vw,1.85rem);line-height:1.08}
.scene-caption{bottom:15px;width:min(780px,calc(100% - 36px));padding:9px 14px;font-size:clamp(.88rem,1.1vw,1.03rem);line-height:1.4;background:rgba(3,7,12,.76)}
.case-sidebar{top:88px;gap:12px;max-height:calc(100svh - 108px)}
.mentor-card{padding:15px;grid-template-columns:54px minmax(0,1fr);background:linear-gradient(180deg,rgba(8,13,20,.9),rgba(8,13,20,.74))}
.mentor-avatar{width:50px;height:50px}
.mentor-message{font-size:.84rem;line-height:1.45}
.notebook-card{min-height:360px;max-height:calc(100svh - 270px)}
.hotspot-icon{width:58px;height:58px;font-size:1.35rem}
.hotspot::before{width:70px;height:70px}
.hotspot-label{min-width:118px;max-width:180px;padding:8px 10px;font-size:.75rem;line-height:1.25}
.dense-hotspots .hotspot-label{opacity:0!important;pointer-events:none!important}
.dense-hotspots .hotspot:hover .hotspot-label,
.dense-hotspots .hotspot:focus-visible .hotspot-label,
.dense-hotspots .hotspot.focused .hotspot-label,
.dense-hotspots.scan-active .hotspot-label{opacity:1!important;pointer-events:auto!important}
.dense-hotspots .hotspot-icon{width:52px;height:52px;font-size:1.2rem}
.dense-hotspots .hotspot::before{width:64px;height:64px}
.always-labels .dense-hotspots .hotspot-label{opacity:0!important}
.always-labels .dense-hotspots .hotspot:hover .hotspot-label,
.always-labels .dense-hotspots .hotspot.focused .hotspot-label,
.always-labels .dense-hotspots.scan-active .hotspot-label{opacity:1!important}
.movement-hint{right:14px;bottom:82px;font-size:.66rem}
.control-dock{max-width:720px;backdrop-filter:blur(10px)}

/* At browser zoom or medium laptop widths, move the dossier below the scene instead of squeezing/cropping it. */
@media(max-width:1450px){
  .game-grid,body.view-standard .game-grid,body.view-large .game-grid{grid-template-columns:minmax(0,1fr);max-width:1320px}
  .case-sidebar{position:static;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);max-height:none;margin-top:4px}
  .notebook-card{max-height:440px;min-height:320px}
  .viewport,body.view-standard .viewport,body.view-large .viewport{height:clamp(540px,74vh,790px);min-height:0}
  .top-actions .optional-top-action{display:none}
  .hud>div:nth-child(2),.hud>div:nth-child(3){display:none}
}
@media(max-width:1050px){
  .case-sidebar{grid-template-columns:1fr}
  .hud{display:none}
  .topbar{grid-template-columns:46px minmax(0,1fr) auto}
  .viewport,body.view-standard .viewport,body.view-large .viewport,body.view-cinema .viewport{height:clamp(500px,66svh,690px);min-height:0}
  .scene-heading{max-width:58%}
}
@media(max-width:680px){
  .game-app{padding-left:6px;padding-right:6px}
  .topbar{max-width:calc(100vw - 12px)}
  .viewport,body.view-standard .viewport,body.view-large .viewport,body.view-cinema .viewport{height:58svh;min-height:440px}
  .scene-heading{left:10px;top:10px;max-width:72%;padding:7px 9px}
  .scene-heading h2{font-size:1.08rem}
  .scene-caption{bottom:9px;width:calc(100% - 18px);padding:8px 10px;font-size:.82rem}
  .hotspot-icon,.dense-hotspots .hotspot-icon{width:48px;height:48px;font-size:1.08rem}
  .hotspot::before,.dense-hotspots .hotspot::before{width:58px;height:58px}
  .hotspot-label{min-width:100px;max-width:135px;font-size:.68rem;padding:7px 8px}
}


/* Player-friendly UI refresh */
.objective-card,.progress-card,.achievement-card,.mentor-card,.notebook-card{box-shadow:0 14px 34px rgba(0,0,0,.18)}
.hotspot:hover .hotspot-icon,.hotspot.focused .hotspot-icon{box-shadow:0 0 0 7px rgba(217,180,108,.18),0 0 26px rgba(230,190,102,.34)}
.movement-hint{padding:7px 10px;border-radius:12px;background:rgba(8,12,18,.72);backdrop-filter:blur(8px)}
.task-label{letter-spacing:.08em}
@media(max-width:860px){.control-dock button{background:rgba(255,255,255,.03)}.scene-heading{max-width:66%}.case-sidebar{gap:10px}}


/* Engagement analytics v13 */
.start-value-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 0}
.start-value-strip span{min-width:0;padding:10px 8px;border:1px solid rgba(217,180,108,.18);border-radius:12px;background:rgba(217,180,108,.055);text-align:center}
.start-value-strip strong,.start-value-strip small{display:block}.start-value-strip strong{color:#f2d89e;font-size:.88rem}.start-value-strip small{margin-top:2px;color:var(--muted);font-size:.7rem;line-height:1.25}
.setup-expectation{display:grid;gap:4px;margin-top:22px;padding:14px 16px;border:1px solid rgba(149,199,245,.2);border-radius:15px;background:rgba(149,199,245,.055)}
.setup-expectation strong{color:#dcefff}.setup-expectation span{color:#f3eadc}.setup-expectation small{color:var(--muted)}
.momentum-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 13px;padding:10px 12px;border:1px solid rgba(149,199,245,.2);border-radius:13px;background:linear-gradient(90deg,rgba(149,199,245,.09),rgba(217,180,108,.045));font-size:.78rem;color:#bec9d5}
.momentum-strip strong{color:#eaf5ff}.momentum-strip.complete{border-color:rgba(157,220,181,.25);background:linear-gradient(90deg,rgba(157,220,181,.09),rgba(217,180,108,.045))}.momentum-strip.complete strong{color:#bce8cc}
.analytics-section{margin:18px 0;padding:18px;border:1px solid rgba(217,180,108,.16);border-radius:20px;background:rgba(255,255,255,.018)}
.analytics-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.analytics-heading h3{margin:0}.analytics-note{max-width:570px;margin:0;color:var(--muted);font-size:.82rem;text-align:right}
.analytics-summary{grid-template-columns:repeat(5,1fr);margin:14px 0 16px}.analytics-summary .admin-stat strong{font-size:1.55rem}
.analytics-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.analytics-panel{padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(0,0,0,.16)}.analytics-panel h3{margin:0 0 10px;font-size:1rem;color:#f2dfba}
.analytics-list{display:grid;gap:8px}.analytics-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border-radius:11px;background:rgba(255,255,255,.035)}.analytics-row span{min-width:0}.analytics-row span,.analytics-row small{display:block}.analytics-row small{margin-top:2px;color:var(--muted);font-size:.72rem}.analytics-row strong{flex:0 0 auto;color:#f2d89e;font-size:.82rem}
.admin-table-title{margin:18px 0 10px;color:#ead7b1}
@media(max-width:900px){.start-value-strip{grid-template-columns:1fr}.analytics-heading{display:block}.analytics-note{text-align:left;margin-top:8px}.analytics-summary{grid-template-columns:repeat(2,1fr)}.analytics-columns{grid-template-columns:1fr}}
@media(max-width:560px){.start-value-strip{display:none}.momentum-strip{display:grid}.analytics-section{padding:13px}.analytics-summary{grid-template-columns:1fr 1fr}}

/* v15 · Case File 02: The Fourth Toll */
.map-room.case2-room{border-style:dashed;border-color:rgba(214,177,105,.34);background:linear-gradient(180deg,rgba(24,17,12,.96),rgba(10,16,24,.78))}
.map-room.case2-room.visited,.map-room.case2-room.current{border-style:solid;border-color:#e5bd72}
.map-lines .case2-map-line{stroke:rgba(229,189,114,.34);stroke-dasharray:2.4 2.4}


/* v17 — premium language mystery layer */
.premium-proof{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:14px 16px;border:1px solid rgba(217,180,108,.18);border-radius:16px;background:rgba(4,8,13,.46);color:#cbd2da;line-height:1.52;font-size:.86rem}
.premium-proof p{margin:0}.premium-proof strong{color:#f2d99f}.proof-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;margin-top:5px;background:#e9c87e;box-shadow:0 0 18px rgba(233,200,126,.72)}
.language-transfer{display:grid;gap:5px;margin-top:12px;padding:12px 14px;border-left:3px solid #ddb76e;border-radius:4px 12px 12px 4px;background:rgba(221,183,110,.08);text-align:left}
.language-transfer b{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:#e7c985}.language-transfer em{font-style:normal;font-family:var(--serif);font-size:1.02rem;color:#fff0c8}.language-transfer small{color:#c8d0d8;line-height:1.45}
.english-intel-head{display:grid;gap:5px;margin-bottom:15px;padding:14px;border-radius:15px;background:linear-gradient(145deg,rgba(217,180,108,.12),rgba(255,255,255,.025));border:1px solid rgba(217,180,108,.18)}
.english-intel-head span{font-size:.66rem;letter-spacing:.14em;color:#d8b977}.english-intel-head strong{font-family:var(--serif);font-size:1.08rem;color:#f7e6bc}.english-intel-head small{color:#b9c2cc;line-height:1.45}
.skill-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.skill-profile.compact{grid-template-columns:1fr}
.skill-row{padding:10px 11px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025)}.skill-row>div:first-child{display:flex;justify-content:space-between;gap:10px}.skill-row strong{font-size:.78rem;color:#e9e5dc}.skill-row span{font-size:.76rem;color:#e4c67f}.skill-meter{height:5px;margin-top:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.skill-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9d7b3d,#ead08d)}
.premium-debrief{margin:16px 0;padding:18px;border:1px solid rgba(217,180,108,.25);border-radius:20px;background:radial-gradient(circle at 88% 10%,rgba(217,180,108,.12),transparent 32%),rgba(5,10,16,.72);box-shadow:inset 0 1px rgba(255,255,255,.03)}
.debrief-kicker{font-size:.66rem;letter-spacing:.16em;color:#d8b977;margin-bottom:10px}.debrief-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.debrief-head strong,.debrief-head span{display:block}.debrief-head strong{font-family:var(--serif);font-size:1.45rem;color:#ffe9b7}.debrief-head span{margin-top:4px;color:#bfc7d0;font-size:.82rem}.debrief-seal{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid #d5b36c;color:#edcf8d;font-family:var(--serif);font-size:1.5rem;box-shadow:inset 0 0 0 5px rgba(213,179,108,.07)}
.debrief-transfer{display:grid;gap:7px;margin-top:13px}.debrief-transfer>strong{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#d8b977}.debrief-transfer span{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.035);color:#cbd2d9;font-size:.82rem}.debrief-transfer b{color:#f0d695}.debrief-note{margin:12px 0 0;color:#929da8;font-size:.76rem;line-height:1.5}
.task-feedback.good{overflow:hidden}
@media(max-width:700px){.skill-profile{grid-template-columns:1fr}.premium-proof{font-size:.8rem}.debrief-head{align-items:flex-start}.debrief-seal{width:44px;height:44px}}


/* v18 — Director's Cut: diegetic value + evidence mechanics */
.incident-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-width:700px;margin:14px 0 4px;padding:7px;border:1px solid rgba(217,180,108,.18);border-radius:14px;background:rgba(2,6,10,.72);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.incident-strip span{padding:8px 10px;border-right:1px solid rgba(217,180,108,.12)}.incident-strip span:last-child{border-right:0}.incident-strip small,.incident-strip strong{display:block}.incident-strip small{color:#7f8a95;font-size:.59rem;letter-spacing:.14em}.incident-strip strong{margin-top:2px;color:#f0d597;font-size:.85rem;letter-spacing:.04em}
.optional-meta{grid-column:1/-1;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:0 12px;background:rgba(255,255,255,.025)}.optional-meta summary{cursor:pointer;padding:11px 0;color:#9da8b3;font-size:.8rem}.optional-meta[open] summary{color:#e6cc92}.optional-meta>div{padding:0 0 12px}
.case-protocol{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:4px 0 14px;padding:7px;border:1px solid rgba(217,180,108,.14);border-radius:12px;background:rgba(3,8,13,.42)}
.case-protocol span{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 9px;border-radius:8px;color:#75808a;font-size:.67rem;font-weight:800;letter-spacing:.08em}.case-protocol span b{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.09);font-size:.58rem}.case-protocol span.active{background:rgba(217,180,108,.075);color:#e8cb8b}.case-protocol.complete span{color:#9ec6ad}.case-protocol.complete span b{border-color:rgba(119,189,145,.28)}
.resolution-card{display:grid;gap:10px;margin:12px 0}.resolution-top{display:grid;gap:7px;padding:13px 14px;border:1px solid rgba(107,177,133,.21);border-radius:14px;background:rgba(51,113,76,.10);line-height:1.45}.resolution-stamp{justify-self:start;padding:3px 8px;border:1px solid rgba(115,199,145,.32);border-radius:999px;color:#a9d8b9;font-size:.59rem;font-weight:900;letter-spacing:.14em}.resolution-top strong{color:#dce7df;font-size:.9rem}
.evidence-unlocked{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px dashed rgba(217,180,108,.27);border-radius:14px;background:rgba(217,180,108,.045)}.evidence-unlocked>span{font-size:1.35rem}.evidence-unlocked small,.evidence-unlocked b{display:block}.evidence-unlocked small{color:#a28a58;font-size:.58rem;letter-spacing:.13em}.evidence-unlocked b{margin:2px 0;color:#f2d99e}.evidence-unlocked p{margin:0;color:#9ea8b1;font-size:.77rem;line-height:1.42}
.language-intel-card{padding:14px;border:1px solid rgba(112,153,191,.24);border-radius:15px;background:radial-gradient(circle at 96% 0,rgba(75,122,164,.12),transparent 38%),rgba(5,10,16,.58)}.intel-kicker{color:#8db4d7;font-size:.59rem;font-weight:900;letter-spacing:.13em}.intel-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.intel-grid>div{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.035)}.intel-grid small,.intel-grid strong{display:block}.intel-grid small{color:#81909d;font-size:.61rem}.intel-grid strong{margin-top:2px;color:#d8e7f4;font-size:.82rem}.language-intel-card p{margin:0;color:#aab5bf;font-size:.78rem;line-height:1.48}
.classify-board{display:grid;gap:9px;margin:12px 0}.classify-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:12px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.028)}.classify-row p{margin:0;color:#d7dde2;line-height:1.43}.classify-row>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.classify-btn{padding:7px 5px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(2,6,10,.6);color:#8d98a3;font-size:.61rem;font-weight:900;letter-spacing:.07em;cursor:pointer}.classify-btn:hover,.classify-btn.selected{border-color:rgba(217,180,108,.48);background:rgba(217,180,108,.12);color:#f0d79f}
.chain-board{display:grid;gap:11px;margin:12px 0}.chain-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.chain-slot{position:relative;min-height:72px;padding:10px;border:1px dashed rgba(217,180,108,.28);border-radius:12px;background:rgba(217,180,108,.035)}.chain-slot:not(:last-child)::after{content:'→';position:absolute;right:-14px;top:50%;transform:translateY(-50%);z-index:2;color:#d0ae68;font-weight:900}.chain-slot small,.chain-slot strong{display:block}.chain-slot small{color:#9a8459;font-size:.57rem;font-weight:900;letter-spacing:.1em}.chain-slot strong{margin-top:9px;color:#e4d7bb;font-size:.76rem;line-height:1.3}.chain-token:disabled{opacity:.32;filter:saturate(.5)}
@media(max-width:700px){
  .incident-strip{grid-template-columns:1fr 1fr}.incident-strip span:nth-child(2){border-right:0}.incident-strip span{border-bottom:1px solid rgba(217,180,108,.08)}
  .classify-row{grid-template-columns:1fr}.classify-row>div{grid-template-columns:repeat(3,1fr)}
  .chain-slots{grid-template-columns:1fr}.chain-slot:not(:last-child)::after{content:'↓';right:50%;top:auto;bottom:-17px;transform:translateX(50%)}
  .intel-grid{grid-template-columns:1fr}.case-protocol span{padding:6px 5px;font-size:.56rem}.case-protocol span b{display:none}
}


/* v19 Value Proof Edition */
.value-proof-cards .hero-float-card small{display:block;color:#d7b66f;font:700 .62rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;margin-bottom:.45rem}
.proof-trigger{border-color:rgba(230,191,105,.44)!important;background:linear-gradient(135deg,rgba(218,174,78,.12),rgba(255,255,255,.025))!important}
.value-proof-modal-card{width:min(980px,94vw);max-height:min(88vh,900px);overflow:auto}
.proof-intro{font-size:1.02rem;line-height:1.65;max-width:760px;color:var(--muted)}
.proof-mechanics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
.proof-mechanics-grid article{position:relative;padding:22px;border:1px solid rgba(225,190,111,.22);background:linear-gradient(160deg,rgba(218,174,78,.08),rgba(7,12,18,.45));border-radius:16px}
.proof-mechanics-grid article>span{position:absolute;right:16px;top:12px;font:800 2rem/1 Georgia,serif;color:rgba(227,190,106,.16)}
.proof-mechanics-grid small{color:var(--gold);font:800 .68rem/1.1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.14em}
.proof-mechanics-grid strong{display:block;margin:.75rem 0;font-size:1.05rem;color:#f3ead9}
.proof-mechanics-grid p{color:var(--muted);line-height:1.55;font-size:.9rem}
.proof-mechanics-grid b{display:block;margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.08);font-size:.82rem;line-height:1.45;color:#d9c79e}
.proof-footer{display:grid;gap:6px;padding:15px 17px;margin-bottom:18px;border-left:3px solid var(--gold);background:rgba(216,173,78,.06)}
.proof-footer span{color:var(--muted);font-size:.86rem;line-height:1.5}
.case-impact-card{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;margin:14px 0;padding:16px;border:1px solid rgba(220,179,85,.36);background:linear-gradient(135deg,rgba(222,178,78,.13),rgba(7,14,20,.58));border-radius:14px}
.case-impact-card>span{font-size:1.5rem;color:var(--gold)}
.case-impact-card small{display:block;color:#d5b76f;font:800 .64rem/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.12em;margin-bottom:6px}
.case-impact-card strong{display:block;font-size:.92rem;line-height:1.45;color:#f1eadc}
.case-impact-card p{margin:.4rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}
.hypothesis-card{padding:14px 15px;border:1px solid rgba(221,182,91,.28);border-left:3px solid var(--gold);border-radius:10px;background:rgba(219,174,78,.055);display:grid;gap:6px}
.hypothesis-card small{color:var(--gold);font:800 .64rem/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.13em}
.hypothesis-card strong{font-size:.88rem;line-height:1.45}.hypothesis-card span{font-size:.72rem;color:var(--muted)}
.case-english-kit{display:grid;gap:8px}.case-english-kit article{padding:10px 11px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.025)}
.case-english-kit small{display:block;color:#b99b59;font-size:.62rem;text-transform:uppercase;letter-spacing:.09em}.case-english-kit strong{display:block;margin:.2rem 0 .3rem;color:#eee2c9;font-size:.82rem}.case-english-kit p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.4}
.recap-modal-card{width:min(700px,92vw)}.recap-content{display:grid;gap:14px;margin:18px 0}.recap-hypothesis{padding:18px;border-left:3px solid var(--gold);background:rgba(218,174,78,.07);display:grid;gap:7px}.recap-hypothesis small{color:var(--gold);font-weight:800;letter-spacing:.1em}.recap-hypothesis strong{line-height:1.5}
.recap-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recap-grid>div{padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:10px}.recap-grid small{display:block;color:var(--muted);margin-bottom:5px}.recap-kit>small{display:block;color:var(--gold);margin-bottom:8px;font-weight:800;letter-spacing:.08em}
.debrief-hypothesis{display:grid;gap:5px;margin:14px 0;padding:15px;border-left:3px solid var(--gold);background:rgba(218,174,78,.06)}.debrief-hypothesis small{color:var(--gold);font-weight:800;letter-spacing:.11em}.debrief-hypothesis strong{line-height:1.5}
.debrief-impact{display:grid;gap:7px;margin:15px 0}.debrief-impact>strong,.debrief-transfer>strong{color:#f3e3bf}.debrief-impact span{padding:9px 11px;border-radius:8px;background:rgba(255,255,255,.035);color:#d8d4ca;font-size:.83rem;line-height:1.4}
.debrief-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 8px}
.player-feedback-card{width:min(760px,94vw);max-height:90vh;overflow:auto}.feedback-lead{color:var(--muted);line-height:1.5}.feedback-question{padding:16px 0;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:11px}.feedback-question>strong{font-size:.9rem;line-height:1.45}
.rating-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.rating-row button,.feedback-choice-row button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);color:#e8e3d8;border-radius:10px;padding:11px;min-height:48px;cursor:pointer;font-weight:750}.rating-row button small{display:block;font-size:.58rem;color:var(--muted);margin-top:3px}.rating-row button.selected,.feedback-choice-row button.selected{border-color:var(--gold);background:rgba(220,176,77,.18);box-shadow:inset 0 0 0 1px rgba(220,176,77,.18)}
.feedback-choice-row{display:flex;flex-wrap:wrap;gap:8px}.feedback-choice-row button{flex:1 1 120px}.feedback-privacy{font-size:.72rem;color:var(--muted);margin:.8rem 0 0}.value-signals-panel{margin-top:14px;padding:17px}.value-signals-panel .analytics-summary{margin-top:12px}
@media(max-width:800px){.proof-mechanics-grid{grid-template-columns:1fr}.case-impact-card{grid-template-columns:1fr}.case-impact-card>span{transform:rotate(90deg);justify-self:center}.recap-grid{grid-template-columns:1fr}.rating-row{gap:5px}.rating-row button{padding:9px 4px}.debrief-actions .btn{width:100%}}
