/* R08 game shell. Load last. Native controls only; no scene artwork or geometry. */
:root{--game-ink:#080f1e;--game-panel:#0c1425;--game-line:#bac9dc;--game-paper:#faf7ed;--game-muted:#c7d2e4;--game-blue:#0033FF;--game-found:#b8f4d8;--accent:#0033FF;font-family:"Segoe UI",Arial,sans-serif}
body{height:100dvh;min-height:100dvh;overflow:hidden;background:#091725;color:var(--game-paper)}
body>.topbar,.floor-view .topbar{position:absolute;z-index:25;inset:0 0 auto;height:auto;min-height:0;padding:18px 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:0;background:transparent;pointer-events:none}
.game-location,.game-actions{pointer-events:auto;display:flex;align-items:center}
.game-location{min-width:0;max-width:min(58vw,630px);padding:8px 16px 8px 8px;background:var(--game-ink);border:1px solid #ffffff50;box-shadow:0 4px 0 #03060bb3;gap:14px}
.game-location>div{min-width:0}.game-location small{display:block;color:var(--game-muted);font-size:10px;letter-spacing:1.1px;line-height:1.4;margin-bottom:3px}
.topbar #view-title,.floor-view .topbar #view-title{display:block;font-size:16px;font-weight:600;line-height:1.25;letter-spacing:0;color:var(--game-paper);margin:0;overflow-wrap:anywhere}
.topbar .back{margin:0;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 13px;border:0;background:var(--game-paper);white-space:nowrap;font-size:13px;font-weight:650;color:var(--game-ink)}
.game-actions{gap:8px;padding:0;background:none;border:0;box-shadow:none}
.game-actions button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;min-width:48px;border:1px solid #ffffff65;border-radius:0;background:var(--game-ink);color:var(--game-paper);box-shadow:0 4px 0 #03060bb3;font:600 12px/1.2 "Segoe UI",Arial,sans-serif;padding:0 15px;cursor:pointer}
.game-actions button+button{border-left-color:#ffffff65}.game-actions button:hover{background:var(--game-blue)}.game-actions button>span[aria-hidden]{font-size:18px;font-weight:400}
.game-actions button[aria-pressed=true]{background:var(--game-blue);border-color:#d5ecff}
.game-actions .inspect-journal{background:var(--game-paper);color:var(--game-ink);border-color:var(--game-paper)}
.game-actions .inspect-journal:hover{background:#d9f2ff}
.game-actions .inspect-journal[data-unread=true]::after{content:"";width:7px;height:7px;background:var(--game-blue);flex:none}
body>#stage{padding:0;min-height:0;flex:1;width:100%;height:100dvh;overflow:hidden}
body:not(.floor-view) #scene{width:min(100%,calc(100dvh * var(--aspect)));max-height:100dvh}
body>.game-status{position:absolute;bottom:18px;right:24px;z-index:4;min-height:0;padding:0;border:0;pointer-events:none}
#hint{padding:7px 11px;font-size:11px;line-height:1.4;color:#d0e2ef;background:#10243ade;text-align:left;max-width:320px}
.game-room-view>#stage .inspect-hud{top:auto;right:22px;bottom:18px;left:auto;font-size:11px;letter-spacing:.2px}
.game-room-view .inspect-hud>span{padding:8px 12px;background:#10243ae8;border:1px solid #83b6a080;color:var(--game-found);text-shadow:none}.game-room-view .inspect-hud small{display:none}.game-room-view>.game-status{display:none}
.inspect-hud[hidden]{display:none!important}
.hotspot>span{border-radius:0;background:var(--game-ink);border-color:var(--game-line)}
.hotspot:hover:after,.hotspot:focus-visible:after{border-color:#b9e2ff99;background:#b9e2ff08}.hotspot.selected:after{border-color:var(--game-blue);background:#b9e2ff18}
.inspect-cursor-hint{border-radius:0;background:var(--game-ink);color:var(--game-paper);border-color:#87acc666}
.usb-room-link.has-evidence:after{border-radius:0;background:#183b3e;color:var(--game-found);border-color:#8cb8a8}
.show-inspectables .scene :is(.usb-room-link,.inspect-object):not([hidden]){outline:1px solid #c8e9ffb3;outline-offset:2px;background:#b9e2ff0c;border-radius:0}
.game-map,.case-journal{box-sizing:border-box;width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:2px solid #0a1428;border-radius:0;color:#101e34;background:#faf7ed;box-shadow:8px 8px 0 #080f1eb3,0 24px 100px #0008;font:16px/1.5 "Segoe UI",Arial,sans-serif;overflow:auto;color-scheme:light}
.game-map::backdrop,.case-journal::backdrop{background:#031021c7;backdrop-filter:blur(6px)}
.game-map>header,.case-journal>header{position:sticky;top:0;z-index:2;background:#faf7ed;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 34px 20px;border:0}
.game-map header small,.journal-eyebrow{display:block;font-size:10px;line-height:1.5;letter-spacing:1.8px;color:var(--game-blue);margin-bottom:6px;font-weight:700}
.game-map h2,.case-journal h2{font:750 32px/1.1 "Segoe UI",Arial,sans-serif;letter-spacing:-1px;margin:0;color:#101e34}
.game-map button,.case-journal button{font:600 12px/1.2 "Segoe UI",Arial,sans-serif;border:0;border-radius:0;background:#e6e8e5;color:#101e34;min-height:44px;min-width:44px;padding:10px 14px;cursor:pointer}
.game-map button:hover,.case-journal button:hover{background:#d7e9ff}.game-map button kbd,.case-journal button kbd{margin-left:8px}
.game-map section{padding:18px 34px 0}.game-map h3{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#495a71;font-weight:650;margin:0 0 10px}
.game-map .floor-nav,.game-map .room-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0}
.game-map .floor-nav a,.game-map .room-nav a{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:0;color:#101e34;font-size:15px;line-height:1.4;white-space:normal}
.game-map .floor-nav a:hover,.game-map .room-nav a:hover{background:#dfeaff}.game-map a[aria-current=page]{background:var(--game-blue);color:white}
.game-map a[aria-current=page]::after{content:"Выбрано";font-size:10px;color:#fff;margin-left:auto;text-transform:uppercase;letter-spacing:.7px}
.game-map .room-nav a>span{display:none}.game-map>footer{display:block;min-height:0;margin:12px 34px 0;padding:16px 0 24px;border:0;color:var(--game-blue);font-size:13px}
.game-map .map-building{display:inline-flex;align-items:center;min-height:44px;color:var(--game-paper)}
.case-journal .journal-summary{margin:0;padding:0 34px 14px;color:#40526d;border:0;font-size:13px}
.journal-entries{padding:0 34px 8px}.journal-entries section{margin:0;padding:20px 0;border:0}
.journal-entries h3{display:flex;align-items:center;gap:16px;margin:0 0 17px;font-size:16px;font-weight:700;line-height:1.4}.journal-entries a{color:var(--game-blue);text-decoration:none}.journal-entries a:hover{text-decoration:underline;text-underline-offset:4px}
.journal-entries h3 small{font-size:10px;line-height:1.4;font-weight:600;color:#2f6854;margin-left:auto;white-space:nowrap}
.journal-entry{display:flex;gap:14px;padding:0;margin:0 0 24px}.journal-mark{display:grid;place-items:center;flex:none;width:28px;height:28px;background:var(--game-blue);color:#fff;font-size:16px;font-weight:700}
.journal-entry h4{margin:1px 0 7px;font-size:15px;line-height:1.5;font-weight:700;color:#101e34}
.journal-entries p{padding:0;border:0;color:#34445a;font-size:15px;line-height:1.65;margin:0;max-width:60ch}
.journal-entries .journal-empty{padding:34px 0 44px;max-width:48ch}.journal-empty strong{display:block;font-size:26px;line-height:1.2;font-weight:650;letter-spacing:-.7px;color:#101e34;margin-bottom:16px}.journal-empty p{font-size:16px;line-height:1.7}
.case-journal>footer{display:flex;align-items:center;justify-content:space-between;padding:12px 34px 30px;min-height:0;gap:20px;background:transparent;border:0}
.case-journal .journal-restart{font-size:12px;color:#495a71;white-space:nowrap;background:transparent;padding-left:0;text-decoration:underline;text-underline-offset:4px}
.case-journal .journal-close{font-size:29px;line-height:1;padding:0;background:transparent;color:#101e34;align-self:flex-start}
.case-journal .journal-resume{margin-left:auto;background:var(--game-blue);color:#fff;min-height:48px;padding:12px 21px;box-shadow:0 3px 0 #0b245d;font-size:13px}.case-journal .journal-resume:hover{background:#0029cc}.journal-resume span{margin-left:14px}
.game-map :is(a,button):focus-visible,.case-journal :is(a,button):focus-visible{outline:3px solid var(--game-blue)!important;outline-offset:3px}
/* Preserve the shared viewport anchor and portrait geometry from inspector-portrait.css. */
.inspect-narration,.usb-dialog .usb-dialog-footer{border:1px solid #e7f3ff99;border-radius:0;background:#080f1ef5;box-shadow:5px 5px 0 #02050c99,0 14px 50px #020a1455;color:var(--game-paper)}
.inspect-narration:before,.usb-dialog-footer:before{display:none}.inspect-narration{padding-top:20px;padding-right:26px;padding-bottom:15px}
.inspect-speaker,.usb-dialog .inspect-label{font-size:11px;line-height:1.2;letter-spacing:1.6px;font-weight:650;color:var(--game-paper);margin:0}
.inspect-narration p,.usb-dialog .usb-dialog-footer p{font-size:16px;line-height:1.6;margin:10px 0 11px;color:var(--game-paper)}
.inspect-narration.resting p{font-size:15px;line-height:1.6;color:#eef3fa}
.inspect-narration .dialogue-continue,.usb-dialog .usb-reset{font:600 12px/1.25 "Segoe UI",Arial,sans-serif;min-height:44px;padding:11px 17px;border:1px solid #c5e8ff;border-radius:0;background:var(--game-blue);color:#fff;box-shadow:none;cursor:pointer}
.inspect-narration .dialogue-continue{margin-left:auto;min-width:176px}.inspect-narration .dialogue-continue:hover,.usb-dialog .usb-reset:hover:not(:disabled){background:#0029cc;transform:none}
.inspect-narration.resting .dialogue-continue{display:none}.usb-dialog .usb-reset:disabled{background:#172e43;color:#88a2b8;border-color:#54728a;opacity:1}
.dialogue-reveal{display:none}.usb-dialog-footer.is-typing .dialogue-reveal{display:inline-flex;align-items:center;min-height:44px;padding:5px 0;border:0;background:transparent;color:var(--game-paper);font:600 11px/1.25 "Segoe UI",Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.usb-dialog .usb-dialog-footer{gap:20px;padding-top:18px;padding-right:24px;padding-bottom:18px;align-items:center}.usb-dialog .usb-reset{min-width:168px;max-width:195px;flex:none}.usb-dialog .inspector-voice{min-width:0}
.usb-dialog .selection-caption{font-size:11px;line-height:1.5;color:var(--game-muted);margin-top:8px}.usb-dialog-footer.is-typing .selection-caption{display:none}
.usb-dialog.evidence-found .usb-dialog-footer{background:linear-gradient(100deg,#16323af5,#0c2331fa);border-color:#90bcb0;border-top-color:var(--game-found)}
.usb-dialog.evidence-found .inspect-label,.usb-dialog.evidence-found .selection-caption{color:var(--game-found)}
.usb-dialog{padding:0 8px 8px;background:transparent;border:0;border-radius:0;box-shadow:none}
.usb-dialog::backdrop{background:#031021c4;backdrop-filter:blur(6px)}
.usb-dialog-header{background:#080f1ef5;position:sticky;top:0;padding:14px 17px;border:1px solid #e7f3ff99;margin-bottom:12px;gap:18px}
.case-number{display:none}.usb-dialog-header small{font-size:10px;letter-spacing:1px;color:var(--game-muted)}.usb-dialog-header h2{font-size:20px;line-height:1.25;font-weight:600;margin:4px 0 0;letter-spacing:0}
.usb-dialog .usb-close{min-width:44px;min-height:44px;padding:8px 0 8px 18px;gap:9px;border:0;border-left:1px solid #7297b340;border-radius:0;background:transparent;color:var(--game-paper);font-size:12px}
.usb-close kbd,.game-map kbd{font:10px "Segoe UI",Arial,sans-serif;border:1px solid #7297b354;border-radius:0;color:var(--game-muted);padding:3px 5px}
.usb-display-surround{padding:3px;background:#10243a;border:1px solid #7098b777;border-radius:0;box-shadow:0 15px 45px #0004}.usb-display-surround:before,.usb-display-surround:after{display:none}
.case-view-tabs{gap:0;padding:0 10px;background:#10243a}.case-view-tabs button{border-radius:0;min-height:44px;padding:10px 18px;border:0;border-bottom:2px solid transparent;color:var(--game-muted)}.case-view-tabs button[aria-pressed=true]{border-bottom-color:var(--game-blue);background:transparent;color:white}
.case-screen .case-pick.selected,.usb-dialog .ux-file.selected,.usb-dialog .ux-notice.selected,.usb-device-target.selected:not(.found){outline-color:var(--game-blue)}
.topbar :is(a,button):focus-visible,.game-map :is(a,button):focus-visible,.case-journal :is(a,button):focus-visible,.inspect-narration button:focus-visible,.usb-dialog-footer button:focus-visible{outline:2px solid #e3f5ff;outline-offset:3px}
.title-screen-open>.topbar,.title-screen-open>.game-status,.title-screen-open>.inspect-narration{visibility:hidden}
@media(max-width:700px){
  body>.topbar,.floor-view .topbar{padding:10px 10px;gap:8px;flex-wrap:nowrap}.game-location{max-width:calc(100vw - 118px);gap:9px;padding:6px 10px 7px 8px}.game-location small{font-size:8px;letter-spacing:.4px}.topbar #view-title,.floor-view .topbar #view-title{font-size:12px;line-height:1.35;flex-basis:auto}.topbar .back{font-size:0;min-width:34px;min-height:40px;padding:0 7px 0 0}.topbar .back::before{content:"←";font-size:20px}.game-actions{padding:2px}.game-actions button{padding:0;min-width:44px}.game-actions button .game-action-label{display:none}.game-actions button+button{border-left-color:#7397b34d}.game-actions .inspect-journal[data-unread=true]::after{position:absolute;top:8px;right:8px}.game-actions .inspect-journal{position:relative}
  body>.game-status{bottom:10px;right:10px}.game-room-view>#stage .inspect-hud{right:10px;bottom:8px}.game-room-view .inspect-hud>span{padding:5px 9px;font-size:10px}
  .game-room-view .game-location{max-width:calc(100vw - 162px)}
  .game-map,.case-journal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.game-map>header,.case-journal>header{padding:18px 18px 15px;gap:10px}.game-map h2,.case-journal h2{font-size:20px}.game-map header small,.journal-eyebrow{font-size:8px}.game-map button kbd,.case-journal button kbd{display:none}.game-map section{padding:18px 18px 0}.game-map>footer{margin:20px 18px 0}.case-journal .journal-summary{padding:18px;font-size:13px}.journal-entries{padding:0 18px 10px}.journal-entries h3{font-size:15px;flex-wrap:wrap;gap:6px}.journal-entries h3 small{margin-left:0;width:100%}.journal-entries p{font-size:13px}.case-journal>footer{padding:18px;align-items:flex-start;flex-direction:column;gap:12px}.journal-restart{align-self:flex-start}
  .inspect-narration{padding-right:14px;padding-top:15px;padding-bottom:12px}.inspect-narration p,.usb-dialog .usb-dialog-footer p{font-size:14px;line-height:1.5;margin-top:9px;margin-bottom:9px}.inspect-narration.resting p{font-size:14px}.inspect-speaker,.usb-dialog .inspect-label{font-size:10px}.inspect-narration .dialogue-continue{font-size:11px;padding:10px 12px;min-width:0;width:100%}.usb-dialog .usb-dialog-footer{padding-top:14px;padding-right:14px;padding-bottom:13px;gap:10px;flex-direction:column;align-items:stretch}.usb-dialog .usb-reset{font-size:11px;min-width:0;max-width:none;align-self:stretch}.usb-dialog .selection-caption{font-size:10px}.usb-dialog-header{padding:9px 10px;margin-bottom:8px;gap:12px}.usb-dialog-header h2{font-size:16px}.usb-dialog-header small{font-size:8px;letter-spacing:.7px}.usb-dialog .usb-close{font-size:11px;gap:6px;padding-left:10px}.usb-close kbd{display:none}
}
@media(pointer:coarse){.usb-room-link,.inspect-object{min-width:44px;min-height:44px}.inspect-object:focus-visible,.usb-room-link:focus-visible{outline:2px solid var(--game-blue)}}
@media(prefers-reduced-motion:reduce){.game-map,.case-journal,.game-actions button{scroll-behavior:auto;transition:none}}
