/* In-game menus are objects in the fiction: field case, notebook and service plan. */
:root{--shell-gold:#c6ab76;--shell-ink:#142629;--shell-muted:#a6b8b3;--shell-rule:#d0b98433;--paper-ink:#3a3b30;--paper-muted:#66614e}
body:has(#modal-root>.overlay) #main-menu{visibility:hidden}
body:has(#modal-root>.overlay) #hud,body:has(#modal-root>.overlay) #subtitle,body:has(#pause-overlay:not([hidden])) #hud,body:has(#pause-overlay:not([hidden])) #subtitle{visibility:hidden}
.menu-screen{background:linear-gradient(90deg,#03090dea 0%,#061015c4 30%,#07131852 59%,#07131808 87%);isolation:isolate}
.menu-screen::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#07131833,transparent 40%,#0008),repeating-linear-gradient(0deg,transparent,transparent 3px,#eef0d901 4px)}
.menu-topline{font:9px/1.9 var(--mono);color:#a9bab4;letter-spacing:.19em}.menu-topline b{font:8px var(--mono);letter-spacing:.13em;color:#87958a}
.menu-content{padding-top:72px;max-width:660px}.chapter-label{font-size:10px;letter-spacing:.24em;color:#b8ae90}
#game-title{font-size:clamp(86px,9vw,142px);letter-spacing:.01em;color:#e4dfc9;text-shadow:0 1px 0 #fff6,1px 4px 0 #151c1d,0 8px 38px #000a;line-height:.86;font-weight:400}
#game-title>span{color:#c4a06c;margin-top:10px}.menu-hook{font:italic 18px/1.55 Georgia,serif;color:#b9c2b7}.menu-story{font:11px/1.8 var(--mono);color:#819b95;max-width:360px;letter-spacing:.015em}
.menu-actions{max-width:315px;margin-top:28px}.menu-start{font:16px/1.2 var(--font);text-transform:uppercase;letter-spacing:.13em;position:relative;min-height:52px;padding:12px 0 12px 20px;border:0;color:#ece5d1;transition:color .15s,background .15s}
.menu-start::before,.menu-secondary-actions .btn::before,.pause-actions .btn::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;transform:translateY(-50%) rotate(45deg);border:1px solid #bda777;opacity:0;transition:opacity .16s}
.menu-start::before,.menu-start:hover::before,.menu-start:focus-visible::before,.menu-secondary-actions .btn:hover::before,.menu-secondary-actions .btn:focus-visible::before,.pause-actions .btn:hover::before,.pause-actions .btn:focus-visible::before{opacity:1}
.menu-start:hover,.menu-start:focus-visible{color:#fff7dc;background:linear-gradient(90deg,#d4bc7915,transparent);border:0}.menu-start .button-arrow{display:none}
.menu-secondary-actions{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:3px}.menu-secondary-actions .btn{position:relative;justify-content:flex-start;min-height:42px;padding:10px 0 10px 20px;font:12px var(--font);text-transform:uppercase;letter-spacing:.13em;color:#b4bfb3;min-width:180px;margin:0}
.menu-secondary-actions .btn:hover,.menu-secondary-actions .btn:focus-visible{color:#f4e6c5;background:linear-gradient(90deg,#d4bc7910,transparent)}.menu-secondary-actions .new-run{order:-1;margin-left:0}.menu-footer{font-size:8px;color:#869189;gap:22px}.menu-footer span:first-child{color:#a5ab96}
.menu-footer::before{content:"";position:absolute;left:0;top:-13px;width:48px;height:1px;background:#b29d6977}
.menu-screen:has(#continue-btn:not([hidden])) .menu-story{display:none}

/* No dashboard boxes: secondary screens occupy the view with a single reading surface. */
#modal-root .overlay{backdrop-filter:none;background:radial-gradient(ellipse at 58% 42%,#061013bb,#020609ec);padding:clamp(16px,4vh,44px) clamp(16px,6vw,90px)}
#modal-root .modal{position:relative;display:flex;flex-direction:column;overflow:hidden;background:#122225;border:0;border-radius:0;box-shadow:0 35px 90px #0009;max-height:calc(100dvh - 64px);width:min(1040px,100%);max-width:none;scrollbar-color:#a2946d #152a2d;scrollbar-width:thin}
#modal-root .modal::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#c7ac7270 20%,#c7ac72b0 50%,transparent);pointer-events:none}
#modal-root .modal-header{padding:25px 34px 21px;border-bottom:1px solid var(--shell-rule);align-items:center}
#modal-root .modal-header .eyebrow{font:9px/1.6 var(--mono);letter-spacing:.19em;color:#b8a47b;margin-bottom:7px}
#modal-root .modal-header h2{font:36px/1.1 Georgia,serif;letter-spacing:.015em;color:#eadfc4}
#modal-root .icon-close{width:44px;height:44px;min-width:44px;margin:0;font:29px/1 Georgia,serif;color:#d3c8aa;border:1px solid #a9926040;border-radius:50%;background:none}
#modal-root .icon-close:hover{color:#fff1c4;border-color:#d2ba80;background:#cab07010}
#modal-root .modal-body{padding:24px 34px 28px;color:#c4d0c5;font-size:14px;line-height:1.75}
#modal-root .modal-footer{padding:17px 34px;border-top:1px solid var(--shell-rule);background:#07101344;justify-content:flex-end}
#modal-root .modal-footer .btn{font:11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;min-height:46px;padding:11px 20px;border:0;color:#d9d7bc;background:transparent;border-radius:0}
#modal-root .modal-footer .btn-primary::after{content:"↗";font:19px Georgia,serif;margin-left:9px;color:#d1b178}
#modal-root .modal-footer .btn:hover{background:#a9925c1a;color:#fff1cf}
#modal-root .modal-body .btn{min-height:44px;border-radius:0}
#modal-root .modal-header,#modal-root .modal-footer,#modal-root .field-menu-tabs{flex-shrink:0}
#modal-root .modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a2946d #152a2d}
.field-menu-tabs{display:flex;gap:30px;margin:0 34px;padding:0;border-bottom:1px solid var(--shell-rule)}
.field-menu-tabs button{font:11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:none;border:0;border-bottom:2px solid transparent;min-height:49px;color:#8fa39c;padding:9px 0}
.field-menu-tabs button[aria-current=page]{color:#ead8aa;border-bottom-color:#c0a36c}.field-menu-tabs button:hover{color:#f3e8c9}

/* A scuffed metal field case, lined with charcoal foam and strapped compartments. */
#modal-root [data-screen=inventory].modal{border:8px solid #263437;outline:1px solid #b29b6744;background:radial-gradient(circle at 3px 3px,#58646118 1px,transparent 1.5px) 0 0/5px 5px,linear-gradient(110deg,#1d3030,#101d20 62%,#142426);box-shadow:inset 0 0 0 2px #030a0c,inset 0 0 0 4px #84918919,0 30px 100px #000b}
#modal-root [data-screen=inventory].modal::after{content:"";position:absolute;inset:9px;pointer-events:none;border:1px solid #8b9a8530;background:radial-gradient(circle at 2px 2px,#acb6a7 1.5px,#253332 2px,transparent 3px) 0 0/100% 100%,radial-gradient(circle at calc(100% - 2px) 2px,#acb6a7 1.5px,#253332 2px,transparent 3px),radial-gradient(circle at 2px calc(100% - 2px),#acb6a7 1.5px,#253332 2px,transparent 3px),radial-gradient(circle at calc(100% - 2px) calc(100% - 2px),#acb6a7 1.5px,#253332 2px,transparent 3px)}
[data-screen=inventory] .inventory-layout{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:35px}
[data-screen=inventory] .inventory-layout>div>p.muted{font:11px/1.7 var(--mono);color:#96aaa3;margin-bottom:15px}
.case-serial{display:block;color:#b5aa88;font:9px/1.4 var(--mono);letter-spacing:.17em;margin-bottom:12px}
[data-screen=inventory] .inventory-grid{gap:12px;padding:9px;background:#020a0d88;box-shadow:inset 0 3px 10px #0007;border:1px solid #7b8c7622}
[data-screen=inventory] .inventory-grid .item-card{border:1px solid #73827533;border-radius:4px;min-height:153px;align-items:center;text-align:center;padding:14px 10px 11px;background:radial-gradient(ellipse at 50% 44%,#39504a55,#091316bb 73%),repeating-linear-gradient(135deg,transparent 0 3px,#57706109 3px 4px);box-shadow:inset 0 3px 12px #0007}
[data-screen=inventory] .inventory-grid .item-card:hover:not(:disabled){background:radial-gradient(ellipse at 50% 44%,#62725c55,#0c1719dd 75%);border-color:#a8976755}
[data-screen=inventory] .inventory-grid .item-card.selected{border-color:#c4ad75;background:radial-gradient(ellipse at 50% 44%,#a78d4d28,#0e191bee 75%);box-shadow:inset 0 0 0 1px #c4ad7522,inset 0 3px 12px #0007}
[data-screen=inventory] .item-card.selected::after{content:"SELECTED";position:absolute;top:7px;right:7px;font:7px var(--mono);letter-spacing:.12em;color:#d6c28c}
[data-screen=inventory] .inventory-grid .item-icon{width:82px;height:82px;display:block;margin:0 0 8px;color:#b9c6b7;filter:drop-shadow(2px 5px 2px #000b)}
.item-icon svg{width:100%;height:100%;fill:#57717225;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
[data-screen=inventory] .item-card.selected .item-icon{color:#d7c18b}
[data-screen=inventory] .inventory-grid .item-card strong{font:12px/1.4 var(--font);font-weight:500;color:#e3ddc5;letter-spacing:.03em}
[data-screen=inventory] .inventory-grid .item-card small{font:8px/1.5 var(--mono);color:#95a99e;letter-spacing:.06em}
[data-screen=inventory] .item-description{font-size:12px;color:#b4c2b2;min-height:42px;margin:17px 0!important;border-left:1px solid #a38b5880}
[data-screen=inventory] .modal-body h3{font:11px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:#cebe98;margin:23px 0 13px}
[data-screen=inventory] .inventory-slots .btn{min-height:47px;border:1px solid #7c887a40;background:linear-gradient(#31423b44,#101c1bbb);font-size:11px;color:#bdc5b3}
[data-screen=inventory] .inventory-slots .btn kbd{color:#dac18b;border:0;border-right:1px solid #b6aa7d33;border-radius:0;min-width:25px;font-size:10px;background:none}
[data-screen=inventory] .assembly-panel{position:relative;border:0;border-left:1px solid #c9af7040;padding:6px 0 0 28px;background:none;box-shadow:none}
[data-screen=inventory] .assembly-panel>.eyebrow{font:9px var(--mono);color:#8fbab1;letter-spacing:.11em}
[data-screen=inventory] .assembly-panel h3{font:italic 25px/1.2 Georgia,serif;text-transform:none;letter-spacing:0;color:#d8d0b5;margin:15px 0}
[data-screen=inventory] .assembly-count{font:48px Georgia,serif;color:#a9c6bb;margin:18px 0 15px}.assembly-count span{font-size:16px}
[data-screen=inventory] .part-row{padding:15px 0;border-color:#acb99a20;gap:11px}.part-row strong{font-size:12px}.part-row small{font-size:9px}
[data-screen=inventory] .assembly-panel>p.muted{font-size:12px;line-height:1.7;color:#a0b4a7}
[data-screen=inventory] .assembly-panel>.btn{font:10px var(--mono);text-transform:uppercase;letter-spacing:.07em;border:1px solid #b0a27a44;color:#d2c6a6;background:#ffffff03}

/* Field notes use real contrast and paper grain; the UI is the notebook itself. */
#modal-root [data-screen=journal].modal{background:linear-gradient(90deg,#4b403499 0 7px,#0a121777 8px 14px,#544636 15px 22px,#bdad88 23px,#dfd1a9 30px,#e3d5b2 48%,#baa884 49.8%,#d7c7a2 50.4%,#e0d2b0 53%,#c6b38e 100%);border:1px solid #b6a076;color:var(--paper-ink);box-shadow:0 25px 90px #000a,inset 0 0 70px #5a46274d;--line:#68604333;--muted:var(--paper-muted);--paper:var(--paper-ink)}
#modal-root [data-screen=journal].modal::before{height:100%;background:repeating-linear-gradient(0deg,#70572203 0 1px,transparent 1px 3px);z-index:0}
#modal-root [data-screen=journal] .modal-header,#modal-root [data-screen=journal] .modal-body,#modal-root [data-screen=journal] .field-menu-tabs,#modal-root [data-screen=journal] .modal-footer{position:relative;margin-left:22px}
#modal-root [data-screen=journal] .modal-header{border-color:#6f67492e;padding-bottom:20px}
#modal-root [data-screen=journal] .modal-header h2{color:#3b3c30;font:italic 34px/1.2 Georgia,serif}
#modal-root [data-screen=journal] .modal-header .eyebrow{color:#766440;font-size:9px}
#modal-root [data-screen=journal] .icon-close{color:#5a533c;border-color:#75654655}
#modal-root [data-screen=journal] .field-menu-tabs{margin-left:56px;border-color:#6c604b40}
#modal-root [data-screen=journal] .field-menu-tabs button{color:#75654c}
#modal-root [data-screen=journal] .field-menu-tabs button[aria-current=page]{color:#283d34;border-color:#476050}
#modal-root [data-screen=journal] .modal-body{color:#4a4838;padding-top:27px;columns:auto;scrollbar-color:#8e7e54 #c9b991}
[data-screen=journal] .journal-pages{columns:2;column-gap:58px}
[data-screen=journal] .journal-entry{position:relative;color:#464536;break-inside:avoid;border-bottom:1px solid #75623c33;padding:16px 0 20px;margin:0 0 8px;font:15px/1.8 Georgia,serif}
[data-screen=journal] .journal-entry::before{content:attr(data-entry);position:absolute;right:0;top:15px;font:italic 13px Georgia,serif;color:#877557}
[data-screen=journal] .journal-entry:first-child{padding-top:15px}
#modal-root [data-screen=journal] .journal-entry h3{color:#2d4136;font:italic 24px/1.25 Georgia,serif;letter-spacing:0;margin:9px 22px 13px 0}
[data-screen=journal] .journal-entry .eyebrow{color:#7e6239;font:8px var(--mono);letter-spacing:.12em}
[data-screen=journal] .journal-summary{display:flex;flex-wrap:wrap;gap:4px 16px;break-inside:avoid;border-top:1px solid #8c734655;border-bottom:1px solid #8c734655;background:transparent;border-radius:0;padding:14px 0;margin:7px 0 20px;font:9px/1.8 var(--mono);color:#6a6046}
#modal-root [data-screen=journal] .journal-pages>p.muted{font:italic 14px/1.8 Georgia,serif;color:#72684e;break-inside:avoid}
#modal-root [data-screen=journal] .modal-footer{border-color:#7d674536;background:#65502d0a}
#modal-root [data-screen=journal] .modal-footer .btn{color:#454632}
#modal-root [data-screen=journal] .modal-footer .btn-primary::after{color:#574b2c}

/* PIP's hand-drawn service plan. Unvisited corridors are intentionally absent. */
#modal-root [data-screen=map].modal{width:min(790px,100%);background:linear-gradient(100deg,#ffffff06,transparent 15%,#ffffff04 49%,#010d1677 50%,transparent 51%),repeating-linear-gradient(0deg,transparent 0 31px,#a6d2c20a 31px 32px),repeating-linear-gradient(90deg,transparent 0 31px,#a6d2c20a 31px 32px),#153b43;box-shadow:0 25px 90px #000a,inset 0 0 100px #010a1188;border:1px solid #93af9855}
#modal-root [data-screen=map] .modal-header h2{font:italic 29px Georgia,serif;color:#d8e3cc}
#modal-root [data-screen=map] .modal-header .eyebrow{color:#a6c7b4}
[data-screen=map] .sketch-heading{display:flex;justify-content:space-between;max-width:450px;margin:22px auto 0;font:10px var(--mono);letter-spacing:.1em;color:#b2cfbb}
[data-screen=map] .map-grid{width:min(100%,450px);background:transparent;border:1px solid #c1d6b355;margin:12px auto 22px;padding:13px;gap:2px;transform:rotate(-.35deg)}
[data-screen=map] .map-cell.walk{background:#b7d6c326;box-shadow:inset 0 0 0 1px #c2d1b955}
[data-screen=map] .map-cell.wall{background:#071c2d55}.map-cell.unexplored{background:transparent!important;opacity:0!important}
[data-screen=map] .map-cell.player{background:#e4db9d;color:#28433c;box-shadow:0 0 10px #e1dea93b;font-size:13px}
[data-screen=map] .map-cell.target{background:#c8bb7133;color:#e6d8a3;box-shadow:inset 0 0 0 1px #e6d8a36b}
#modal-root [data-screen=map] .modal-body{font:12px/1.8 var(--mono);color:#c1d4c1}
#modal-root [data-screen=map] .modal-body>.muted{font:11px/1.8 var(--mono);color:#a1bead}
[data-screen=map] .note-hint{padding:15px 0;border-top:1px dashed #b9c9a844;color:#dfd6ac;font:italic 17px/1.5 Georgia,serif}

/* Console options: three deliberate pages, generous rows, no nested web cards. */
#modal-root .overlay[data-screen=settings]{justify-content:flex-start;background:linear-gradient(90deg,#061015f5,#07131ae0 58%,#07131a88)}
#modal-root [data-screen=settings].modal{background:none;box-shadow:none;border:0;width:min(940px,100%);overflow:hidden;display:flex;flex-direction:column}
#modal-root [data-screen=settings].modal::before{display:none}
#modal-root [data-screen=settings] .modal-header{padding-left:0;padding-right:0;flex-shrink:0}
#modal-root [data-screen=settings] .modal-header h2{font:45px/1.2 Georgia,serif}
#modal-root [data-screen=settings] .modal-body{padding:0;overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;scrollbar-color:#9c8c65 #13272e}
#modal-root [data-screen=settings] .modal-footer{padding-left:0;padding-right:0;background:none;flex-shrink:0}
[data-screen=settings] .settings-tabs{display:flex;position:sticky;top:0;z-index:2;background:#0a1b22;gap:32px;border-bottom:1px solid #a5b29c2e;margin:0 0 12px;padding:0 18px}
[data-screen=settings] .settings-tabs button{border:0;border-radius:0;background:none;border-bottom:2px solid transparent;min-height:54px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#8fa89e;padding:10px 0}
[data-screen=settings] .settings-tabs button[aria-selected=true]{border-color:#cab47c;color:#e9dfbf}
[data-screen=settings] .settings-tabs button:hover{color:#eddfb9}
[data-screen=settings] .shell-settings-grid{display:block;padding:0 18px 20px}
[data-screen=settings] .settings-category>.field{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);align-items:center;gap:12px 30px;min-height:72px;margin:0;border-bottom:1px solid #b9c9a71c;padding:13px 0;font:14px/1.5 var(--font);color:#d5dbcc}
[data-screen=settings] .settings-category>.field output{position:static;font:11px var(--mono);color:#d5bb82;text-align:right;grid-column:2;grid-row:1}
[data-screen=settings] .settings-category>.field:has(output){row-gap:0}
[data-screen=settings] .settings-category>.field input[type=range]{grid-column:2;height:26px;margin:0;min-height:26px;accent-color:#c4aa77;grid-row:2}
[data-screen=settings] .settings-category>.field:not(:has(output)) input[type=range]{grid-row:1}
[data-screen=settings] .settings-category>.field select{width:100%;background:#07171e;border-color:#8d9a7e4a;font-size:12px;min-height:44px;padding:11px;color:#c7d7c6;grid-column:2}
[data-screen=settings] .settings-category>.toggle{flex-direction:row-reverse;justify-content:space-between;padding:14px 0;min-height:59px;font:14px/1.5 var(--font);color:#d5dbcc;border-color:#b9c9a71c}
[data-screen=settings] .settings-category>.toggle input{width:22px;height:22px;accent-color:#bba473;margin:0}
[data-screen=settings] .settings-category>p.muted{font:11px/1.8 var(--mono);margin:20px 0 0;max-width:70ch;color:#94aa9f}
[data-screen=settings] .binding-section{margin-top:23px;padding:0!important;border:0!important}
#modal-root [data-screen=settings] .binding-section h3{font:12px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:#c0ac7c}
[data-screen=settings] .binding-section>p{font-size:12px;color:#8fa59b;margin-bottom:14px}
[data-screen=settings] .binding-list{max-height:none;margin:0 0 20px;padding:0;overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:0 35px}
[data-screen=settings] .binding-list .key-row{min-height:54px;padding:6px 0;font-size:12px;color:#c7d2c4;border-color:#c1caaa1a}
[data-screen=settings] .binding-list .binding-btn{min-height:44px;min-width:91px;color:#d5c18f;border:1px solid #9f926252;background:#9c85550a;font:10px/1.5 var(--mono)}
[data-screen=settings] .binding-btn.listening{color:#e9d7a2;background:#d8b97422;border-color:#e5c484}
[data-screen=settings] #reset-bindings{font:10px var(--mono);letter-spacing:.05em;color:#c5ba99;border-color:#a49a6c44;background:none;min-height:44px}

/* Conversation subtitles and pause screens retain the room behind them. */
#modal-root .overlay[data-screen=conversation]{align-items:flex-end;justify-content:flex-start;padding:0 8vw 5vh;background:linear-gradient(0deg,#03090de6 0,transparent 77%);backdrop-filter:none}
#modal-root [data-screen=conversation].modal{background:linear-gradient(100deg,#08191eec,#0b1a1ee3);border:0;border-left:2px solid #b69e6b;width:min(830px,100%);max-height:79dvh;box-shadow:0 10px 50px #0005}
#modal-root [data-screen=conversation].modal::before{display:none}
#modal-root [data-screen=conversation] .modal-header{padding:22px 28px 9px;border:0}
#modal-root [data-screen=conversation] .modal-header h2{font:italic 28px/1.2 Georgia,serif;color:#eee4cb}
#modal-root [data-screen=conversation] .modal-header .eyebrow{font:10px var(--mono);letter-spacing:.15em;color:#b6a078}
#modal-root [data-speaker=pip] .modal-header .eyebrow{color:#9fc6c0}
#modal-root [data-speaker=mara] .modal-header .eyebrow{color:#c9b17d}
#modal-root [data-screen=conversation] .modal-body{padding:11px 28px 17px}
#modal-root [data-screen=conversation] .story-paragraph{font:15px/1.75 var(--font);color:#d2d7c9;max-width:70ch}
#modal-root [data-screen=conversation] .modal-footer{padding:8px 22px 13px;border:0;background:none}
#modal-root [data-screen=guide] .help-grid{gap:44px}
#modal-root [data-screen=guide] .help-grid h3{font:22px/1.2 Georgia,serif;color:#d6c49d}
#modal-root [data-screen=guide] .help-grid p{font:13px/1.8 var(--font);color:#acbfb3}
#modal-root [data-screen=guide] .control-summary{background:none;border:0;border-left:1px solid #b9ad7e44;padding:0 0 0 25px}
#modal-root [data-screen=guide] .control-summary>div{font-size:12px;padding:11px 0;color:#cbd4c3}
#modal-root [data-screen=guide] .control-summary kbd{font-size:10px;border:0;background:none;color:#bda574}
#modal-root .hint-card{background:none;border:0;border-left:1px solid #b7a878;border-radius:0;padding:12px 22px}
.pause-overlay{justify-content:flex-start;padding:7vh 8vw;background:linear-gradient(90deg,#040c10e8 0,#07151bd6 39%,#07151b44 83%);backdrop-filter:none}
.pause-overlay .pause-modal{background:none;border:0;border-radius:0;box-shadow:none;max-width:450px;width:100%;overflow:visible}
.pause-modal .modal-header{display:block;border:0;padding:0 0 28px}.pause-modal .modal-header .eyebrow{font:9px var(--mono);letter-spacing:.18em;color:#af9d79}
.pause-modal .modal-header h2{font:68px/1.1 Georgia,serif;color:#e5dcc2;letter-spacing:0;margin:15px 0 0}
.pause-modal .modal-header p.muted{font:italic 17px Georgia,serif;color:#9bac9e;margin-top:18px}
.pause-actions{padding:8px 0 25px;gap:3px}.pause-actions .btn{font:14px var(--font);letter-spacing:.08em;text-transform:uppercase;min-height:55px;position:relative;padding:13px 22px;justify-content:flex-start;border:0;background:none;color:#e4dac1;box-shadow:none}.pause-actions .btn-primary span{display:none}.pause-actions .btn:hover,.pause-actions .btn:focus-visible{background:linear-gradient(90deg,#c3a77015,transparent);color:#fff0c7}
.pause-modal .modal-footer{padding:14px 0;border-top:1px solid #a9936544;max-width:305px;font-size:10px}.pause-modal .modal-footer>.muted{font:10px var(--mono);color:#8f9f92}.pause-modal .modal-footer>kbd{background:none;border-color:#a68d5c66;color:#c3b58f}
.ending-overlay{background:linear-gradient(90deg,#071612e8,#152c27af 52%,#253b2929);backdrop-filter:none}.ending-content h1{letter-spacing:-.02em}.ending-stats{gap:32px}.ending-stats strong{font:28px Georgia,serif;color:#c9d5b6}.ending-actions .btn{border:0;background:none;color:#e0d4ab;text-transform:uppercase;font:11px var(--mono);letter-spacing:.09em}.ending-actions .btn-primary{border-bottom:1px solid #b5a26e88}

/* Restrained margins and an engraved equipment strip during play. */
.hud-toolbar{opacity:.75;gap:13px}.hud-toolbar button{min-height:38px;min-width:32px}.hud-toolbar button kbd{color:#d3d1bb;border-bottom:1px solid #baa67544!important;border-radius:0}.hud-toolbar button:hover kbd{color:#e8d19b}.hud-toolbar button.has-thought{background:none;border:0}.hud-toolbar button.has-thought kbd{color:#e8cc87!important}
.weapon-slot.selected,.weapon-slot[aria-pressed=true]{box-shadow:0 3px 12px -6px #ccb17499}.equipment-dock .slot-icon{filter:drop-shadow(0 2px 3px #000a)}
.pointer-hint{border:0;background:linear-gradient(90deg,transparent,#08161dd9 15%,#08161dd9 85%,transparent);box-shadow:none;backdrop-filter:none;border-radius:0}.pointer-hint:hover{background:linear-gradient(90deg,transparent,#0c252bd9 15%,#0c252bd9 85%,transparent)}
.loading-screen{background:radial-gradient(ellipse at 50% 44%,#1b3032,#061016 65%)}.loading-symbol{border:1px solid #a68d5c55;border-radius:50%;width:84px;height:84px;padding:14px;font-size:44px;box-shadow:inset 0 0 0 5px #07151b,inset 0 0 0 6px #a68d5c33}.loading-content .eyebrow{font-size:9px;letter-spacing:.18em}.loading-content h2{font:italic 27px Georgia,serif;letter-spacing:0}.loading-content p{color:#819f95;font:10px/1.8 var(--mono)}

/* Mobile keeps physical target sizes, safe-area clearance and native vertical reading. */
.touch-mode .menu-screen{background:linear-gradient(90deg,#040d12ec,#07181ba9 75%,#07181b55);padding-top:max(28px,env(safe-area-inset-top))}
.touch-mode .menu-topline{font-size:8px;letter-spacing:.1em}.touch-mode .menu-topline b{font-size:7px}
.touch-mode .menu-content{padding:32px 0 20px}.touch-mode .chapter-label{font-size:9px;letter-spacing:.12em}
.touch-mode #game-title{font-size:clamp(76px,22vw,112px);letter-spacing:.005em;margin:27px 0 21px}
.touch-mode .menu-hook{font-size:17px;max-width:290px}.touch-mode .menu-story{font-size:10px;margin-top:14px;line-height:1.8}
.touch-mode .menu-actions{margin-top:19px;max-width:310px}.touch-mode .menu-start{min-height:52px;font-size:15px;letter-spacing:.1em}
.touch-mode .menu-secondary-actions{gap:0;flex-wrap:nowrap;align-items:stretch}.touch-mode .menu-secondary-actions .btn{min-height:44px;font-size:11px;padding-left:20px}
.touch-mode .menu-footer{font-size:8px;line-height:1.7;gap:3px;margin-top:13px}
.touch-mode #modal-root .overlay{padding:max(9px,env(safe-area-inset-top)) max(9px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left))}
.touch-mode #modal-root .modal{max-height:calc(100dvh - max(9px,env(safe-area-inset-top)) - max(9px,env(safe-area-inset-bottom)));border-radius:0;width:100%;overflow:hidden}
.touch-mode #modal-root .modal-header{padding:20px 20px 15px;gap:12px}.touch-mode #modal-root .modal-header h2{font-size:27px}.touch-mode #modal-root .modal-header .eyebrow{font-size:8px;letter-spacing:.1em;max-width:28ch}.touch-mode #modal-root .icon-close{width:44px;height:44px}
.touch-mode #modal-root .modal-body{padding:20px;font-size:15px}.touch-mode #modal-root .modal-footer{padding:13px 17px;gap:6px}.touch-mode #modal-root .modal-footer .btn{min-height:46px;font-size:10px;padding:11px 12px}
.touch-mode .field-menu-tabs{margin:0 20px;gap:20px;justify-content:space-between}.touch-mode .field-menu-tabs button{font-size:9px;letter-spacing:.02em;min-height:48px}
.touch-mode #modal-root [data-screen=inventory].modal{border-width:5px}.touch-mode [data-screen=inventory] .inventory-layout{grid-template-columns:1fr;gap:26px}.touch-mode [data-screen=inventory] .inventory-grid{gap:8px;padding:6px}.touch-mode [data-screen=inventory] .inventory-grid .item-card{min-height:145px;padding:12px 7px}.touch-mode [data-screen=inventory] .inventory-grid .item-icon{width:72px;height:72px;margin-bottom:9px}.touch-mode [data-screen=inventory] .inventory-grid .item-card strong{font-size:13px}.touch-mode [data-screen=inventory] .inventory-grid .item-card small{font-size:8px}
.touch-mode [data-screen=inventory] .inventory-layout>div>p.muted{font-size:11px;line-height:1.7}.touch-mode [data-screen=inventory] .item-description{font-size:13px;min-height:0}.touch-mode [data-screen=inventory] .inventory-slots .btn{min-height:49px;font-size:10px;padding:9px 10px;gap:5px}.touch-mode [data-screen=inventory] .assembly-panel{border-left:0;border-top:1px solid #c9af7040;padding:23px 0 0}.touch-mode [data-screen=inventory] .part-row strong{font-size:14px}.touch-mode [data-screen=inventory] .part-row small{font-size:11px}.touch-mode [data-screen=inventory] .assembly-panel>p.muted{font-size:13px}
.touch-mode #modal-root [data-screen=journal].modal{background:linear-gradient(90deg,#554c38 0 8px,#b8a780 9px 12px,#d7c8a4 20px,#ded1ad 60%,#c4b08c 100%)}
.touch-mode #modal-root [data-screen=journal] .modal-header,.touch-mode #modal-root [data-screen=journal] .modal-body,.touch-mode #modal-root [data-screen=journal] .modal-footer{margin-left:10px}
.touch-mode #modal-root [data-screen=journal] .field-menu-tabs{margin-left:30px}.touch-mode #modal-root [data-screen=journal] .journal-pages{columns:auto}.touch-mode #modal-root [data-screen=journal] .journal-entry h3{font-size:23px}.touch-mode #modal-root [data-screen=journal] .journal-entry p{font:16px/1.8 Georgia,serif}.touch-mode [data-screen=journal] .journal-summary{font-size:10px;gap:4px 13px}
.touch-mode [data-screen=map] .sketch-heading{font-size:9px}.touch-mode [data-screen=map] .map-grid{padding:9px;width:100%;transform:none}.touch-mode #modal-root [data-screen=map] .modal-body{font-size:12px}.touch-mode #modal-root [data-screen=map] .modal-body>.muted{font-size:11px}.touch-mode #modal-root [data-screen=map] .note-hint{font:italic 17px/1.6 Georgia,serif}
.touch-mode #modal-root [data-screen=settings].modal{padding:0 10px;overflow:hidden}.touch-mode #modal-root [data-screen=settings] .modal-header{padding:13px 0 17px}.touch-mode #modal-root [data-screen=settings] .modal-header h2{font-size:33px}.touch-mode #modal-root [data-screen=settings] .modal-body{padding:0;overflow-y:auto}.touch-mode #modal-root [data-screen=settings] .modal-footer{padding:10px 0}
.touch-mode [data-screen=settings] .settings-tabs{gap:14px;justify-content:space-between;padding:0 10px}.touch-mode [data-screen=settings] .settings-tabs button{min-height:50px;font-size:9px;letter-spacing:0}.touch-mode [data-screen=settings] .shell-settings-grid{padding:0 10px 18px}.touch-mode [data-screen=settings] .settings-category>.field{grid-template-columns:1fr;gap:10px;min-height:80px;font-size:14px;padding:13px 0}.touch-mode [data-screen=settings] .settings-category>.field output{grid-column:1;grid-row:auto;text-align:left;font-size:11px}.touch-mode [data-screen=settings] .settings-category>.field input[type=range],.touch-mode [data-screen=settings] .settings-category>.field:not(:has(output)) input[type=range]{grid-column:1;grid-row:auto;min-height:40px}.touch-mode [data-screen=settings] .settings-category>.field select{grid-column:1;font-size:14px;min-height:46px}.touch-mode [data-screen=settings] .settings-category>.toggle{font-size:14px;min-height:58px;gap:15px;padding:13px 0}.touch-mode [data-screen=settings] .settings-category>.toggle input{width:24px;height:24px}
.touch-mode [data-screen=settings] .binding-list{grid-template-columns:1fr;gap:0}.touch-mode [data-screen=settings] .binding-list .key-row{font-size:13px;min-height:57px}.touch-mode [data-screen=settings] .binding-list .binding-btn{min-width:97px;min-height:44px;font-size:11px}
.touch-mode #modal-root .overlay[data-screen=conversation]{padding-bottom:max(10px,env(safe-area-inset-bottom))}.touch-mode #modal-root [data-screen=conversation].modal{max-height:82dvh}.touch-mode #modal-root [data-screen=conversation] .modal-header{padding:19px 20px 10px}.touch-mode #modal-root [data-screen=conversation] .modal-body{padding:9px 20px 15px}.touch-mode #modal-root [data-screen=conversation] .story-paragraph{font-size:15px;line-height:1.7}.touch-mode #modal-root [data-screen=conversation] .modal-header h2{font-size:25px}
.touch-mode #modal-root [data-screen=guide] .help-grid{grid-template-columns:1fr;gap:26px}.touch-mode #modal-root [data-screen=guide] .help-grid p{font-size:14px}.touch-mode #modal-root [data-screen=guide] .control-summary{padding:0;border-left:0;border-top:1px solid #b9ad7e44}.touch-mode #modal-root [data-screen=guide] .control-summary>div{min-height:48px;font-size:12px}.touch-mode #modal-root [data-screen=guide] .control-summary kbd{font-size:10px}
.touch-mode .pause-overlay{padding:6vh max(29px,env(safe-area-inset-left));background:linear-gradient(90deg,#061015ed,#0610159f)}.touch-mode .pause-modal{border-radius:0;max-height:88dvh}.touch-mode .pause-modal .modal-header{padding:10px 0 22px}.touch-mode .pause-modal .modal-header h2{font-size:56px}.touch-mode .pause-actions{padding:10px 0 20px}.touch-mode .pause-actions .btn{min-height:54px;font-size:13px;padding-left:21px}.touch-mode .pause-modal .modal-footer{padding:15px 0}
.touch-controls button{border-radius:5px;background:linear-gradient(#10252b9e,#08141ba8);border:1px solid #a5b3a448;box-shadow:inset 0 1px 0 #d5d5b512,0 2px 7px #0003;font-weight:500}.touch-tools button{border-radius:3px;background:#08141ba8}.touch-move-options button{border-radius:4px;min-height:44px}.touch-actions .touch-interact{border-radius:5px;border-color:#b4b38b6c;background:linear-gradient(#30413a99,#132c2a99)}.touch-interact.touch-ready{border-color:#dcc48a;background:linear-gradient(#69552bd1,#433c23cd)}.touch-mode .weapon-slot{border-radius:4px;border-color:#8ca08c44;background:linear-gradient(#15292aaa,#061418cc);height:55px}.touch-mode .weapon-slot.selected{background:linear-gradient(#675d3a77,#1e2d2899);border-color:#c2b17b}.touch-stick-knob{background:radial-gradient(circle at 40% 30%,#91aaa18f,#233f3fe8);border-color:#bbcab18a}
@media(orientation:landscape) and (min-width:650px){
 .touch-mode #modal-root .modal-header{padding:10px 17px}.touch-mode #modal-root .modal-header h2{font-size:24px}.touch-mode #modal-root .modal-header .eyebrow{font-size:7px;margin-bottom:4px}.touch-mode #modal-root .modal-body{padding:15px 20px}.touch-mode #modal-root .modal-footer{padding:5px 14px}.touch-mode .field-menu-tabs button{min-height:44px}.touch-mode [data-screen=inventory] .case-serial{display:none}.touch-mode [data-screen=inventory] .inventory-layout>div>p.muted{font-size:10px;margin-bottom:10px;line-height:1.5}
 .touch-mode .menu-screen{padding:20px 5vw}.touch-mode .menu-content{padding:0;max-width:520px;margin:0}.touch-mode #game-title{font-size:67px;margin:13px 0 12px;display:flex;gap:17px;max-width:none}.touch-mode #game-title>span{margin-top:0}.touch-mode .chapter-label{font-size:8px}.touch-mode .menu-hook{font-size:15px;max-width:none;margin:0}.touch-mode .menu-story{display:none}.touch-mode .menu-actions{margin-top:14px;max-width:320px}.touch-mode .menu-start{min-height:46px;font-size:13px}.touch-mode .menu-secondary-actions{display:grid;grid-template-columns:1fr 1fr;column-gap:10px}.touch-mode .menu-secondary-actions .btn{min-height:44px;font-size:10px;min-width:0}.touch-mode .menu-footer{display:none}
 .touch-mode [data-screen=inventory] .inventory-layout{grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr);gap:25px}.touch-mode [data-screen=inventory] .assembly-panel{padding:4px 0 0 20px;border-top:0;border-left:1px solid #c9af7040}.touch-mode [data-screen=inventory] .inventory-grid .item-card{min-height:137px}.touch-mode [data-screen=inventory] .inventory-grid .item-icon{width:60px;height:60px}.touch-mode #modal-root [data-screen=journal] .journal-pages{columns:2;column-gap:30px}
 .touch-mode #modal-root [data-screen=settings] .modal-header{padding:6px 0 12px}.touch-mode #modal-root [data-screen=settings] .modal-header h2{font-size:29px}.touch-mode #modal-root [data-screen=settings] .modal-header .eyebrow{display:none}.touch-mode [data-screen=settings] .settings-tabs{min-height:46px;position:sticky}.touch-mode [data-screen=settings] .settings-tabs button{min-height:46px}.touch-mode [data-screen=settings] .settings-category>.field{grid-template-columns:minmax(0,1fr) minmax(220px,1fr);min-height:65px}.touch-mode [data-screen=settings] .settings-category>.field select{grid-column:2}.touch-mode [data-screen=settings] .settings-category>.field output{grid-column:2;grid-row:1;text-align:right}.touch-mode [data-screen=settings] .settings-category>.field input[type=range]{grid-column:2;grid-row:2}.touch-mode [data-screen=settings] .settings-category>.field:not(:has(output)) input[type=range]{grid-column:2;grid-row:1}.touch-mode [data-screen=settings] .binding-list{grid-template-columns:1fr 1fr;gap:0 27px}
 .touch-mode .pause-modal .modal-header h2{font-size:43px;margin:6px 0}.touch-mode .pause-modal .modal-header p.muted{display:none}.touch-mode .pause-modal .modal-header{padding:0 0 9px}.touch-mode .pause-actions{padding:0 0 14px}.touch-mode .pause-actions .btn{min-height:48px}.touch-mode .pause-overlay{padding-top:20px;padding-bottom:20px}.touch-mode .pause-modal .modal-footer{padding:10px 0}
}
@media(max-width:750px) and (pointer:fine){#modal-root [data-screen=journal] .journal-pages{columns:auto}[data-screen=inventory] .inventory-layout{grid-template-columns:1fr}[data-screen=inventory] .assembly-panel{border-left:0;border-top:1px solid #c9af7040;padding:20px 0 0}[data-screen=settings] .settings-category>.field{grid-template-columns:1fr}[data-screen=settings] .settings-category>.field select,[data-screen=settings] .settings-category>.field input[type=range],[data-screen=settings] .settings-category>.field output{grid-column:1}[data-screen=settings] .binding-list{grid-template-columns:1fr}.field-menu-tabs{gap:15px}}
@media(max-height:850px) and (min-width:1000px){.menu-content{padding-top:45px}#game-title{font-size:92px;margin:21px 0 19px}.menu-actions{margin-top:18px}.menu-story{margin-top:13px}.menu-secondary-actions .btn{min-height:37px}.menu-start{min-height:47px}.menu-footer{bottom:22px}}
@media(prefers-reduced-motion:reduce){.menu-start,.menu-secondary-actions .btn,.pause-actions .btn{transition:none}}
