:root{--brass:#d9b57b;--rust:#b96951;--paper:#ddd0af}.brand small{color:var(--brass)}header{height:58px}.intro{margin-bottom:20px}.intro h1{font-size:32px}.eyebrow{color:var(--brass)}main{padding-top:23px}.workspace{grid-template-columns:minmax(0,1fr) 270px;gap:25px}#chapter-intent{font:14px/1.7 Georgia,serif;color:var(--paper)}#objectives{padding-left:19px;font-size:11px;color:var(--muted)}#objectives li{margin:9px 0}#objectives li:first-child{color:var(--text)}.scene-actions{padding:12px 0 7px;border-bottom:1px solid var(--line)}#nearby-actions{display:flex;gap:5px;flex-wrap:wrap;min-height:31px}#nearby-actions button{font-size:10px;padding:5px 8px}.inventory-heading{display:flex;gap:14px;align-items:center;margin:13px 0 7px}.inventory-heading .eyebrow{margin:0}#money{color:var(--brass);font:11px monospace}#save-status{margin-left:auto;color:var(--muted);font-size:9px}#inventory{display:flex;gap:6px;overflow-x:auto;min-height:66px;padding:3px 0 9px;scrollbar-width:thin}#inventory button{flex-shrink:0;width:79px;min-height:58px;padding:6px 3px;font-size:8px;line-height:1.3;white-space:normal}#inventory button span{display:block;font-size:23px;color:var(--brass);line-height:1.2;margin-bottom:3px}.travel-help{margin-top:15px;color:var(--muted);font-size:11px}.travel-help>button{font-size:10px;margin:6px 2px}.travel-help textarea{margin-top:12px}summary{cursor:pointer}.visit{margin-top:10px}.scene-label{max-width:70%}.scene-label small{font-size:10px}.service{border-left:2px solid #af9669}#encounter{position:fixed;inset:60px 2vw auto auto;margin:0;width:430px;max-height:calc(100vh - 85px);border:1px solid #a3916b;padding:20px;box-shadow:0 16px 70px #000a;z-index:60;background:#182a31}#encounter::backdrop{background:#07141b35}#encounter.machine{inset:0;margin:auto;width:760px;background:#1a292e;max-width:95vw}#encounter h2{font-size:27px;color:var(--paper)}.encounter-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #516063;padding-bottom:13px;margin-bottom:15px}.encounter-head button{padding:3px 9px}.speaker{display:flex;align-items:flex-start;gap:13px;margin-bottom:15px}#portrait{width:80px;height:104px;image-rendering:pixelated;border:1px solid #465952;background:#22363d;flex-shrink:0}#dialogue-line{font:15px/1.65 Georgia,serif;margin:1px 0;color:#e8ddbe;white-space:pre-line}#dialogue-choices{display:grid;gap:7px}#dialogue-choices button{text-align:left;padding:10px 12px;font-size:12px;line-height:1.5;background:#21373b;border-color:#4c6761;border-left:3px solid #b59c69}#dialogue-choices button:hover{background:#36504b}#dialogue-choices:empty:after{content:'Listen, show an object, or come back with something new.';font-size:11px;color:#a2b1a6}.item-use{border-top:1px solid #405955;margin-top:19px;padding-top:12px;display:grid;grid-template-columns:1fr auto;gap:8px}.item-use label{grid-column:1/-1;font-size:8px;letter-spacing:.13em;color:var(--brass)}.item-use select{min-width:0;font-size:11px}.item-use button{font-size:10px;max-width:130px}#notebook{max-width:820px}.notebook-entry{border-bottom:1px solid #3a5354;padding:12px 0;font:14px/1.6 Georgia,serif}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.person-card{border:1px solid #3e5958;padding:13px;border-left:4px solid var(--person-color)}.person-card h3{margin:0;font-size:16px;color:var(--paper)}.person-card small{font-size:10px;color:var(--muted)}.person-card p{font:13px/1.5 Georgia,serif;color:#c1c9b8}.person-card button{font-size:11px}.pocket-detail{padding:24px 0}.pocket-detail .item-symbol{font-size:62px;color:var(--brass);float:left;margin-right:22px}.pocket-detail p{font:16px/1.6 Georgia,serif}.combine-row{display:flex;gap:10px;clear:both;padding-top:20px}.combine-row select{flex:1}.inventory-grid{display:flex;flex-wrap:wrap;gap:7px}.inventory-grid button{font-size:11px}.plate{background:#d1c4a0;color:#29383b;padding:12px 16px;border:4px solid #7e806e;font:12px/1.7 monospace;box-shadow:inset 0 0 0 1px #4d5b54;margin:12px 0 20px}.machine-flavor{color:#b3c0b6;font:14px/1.6 Georgia,serif}.switchboard{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px;background:repeating-linear-gradient(0deg,#2b4248 0px,#2b4248 3px,#2e464b 3px,#2e464b 4px);border:8px solid #52666a;box-shadow:inset 0 0 0 2px #122a33}.physical-control{display:flex;flex-direction:column;align-items:center;gap:12px;min-height:170px}.physical-control label{font:10px monospace;color:var(--paper);text-align:center;text-transform:uppercase}.physical-control select{width:100%;font:11px monospace;background:#17292f;max-width:172px}.dial-art{position:relative;width:78px;height:78px;border-radius:50%;border:7px solid #939783;background:#e1d5b2;box-shadow:0 4px 0 #162b31;transform:rotate(0)}.dial-art:before{content:'';position:absolute;left:50%;top:5px;width:3px;height:28px;background:#9b4d38;transform-origin:50% 27px;transform:rotate(var(--dial-angle,-120deg))}.dial-art:after{content:'';position:absolute;width:10px;height:10px;border-radius:50%;left:27px;top:27px;background:#273c41}.toggle-art{height:78px;width:56px;border:4px solid #697c77;background:#172d34;display:grid;place-items:center}.toggle-art:before{content:'';width:13px;height:42px;background:linear-gradient(90deg,#8c9b91,#d6ccb3,#7d8d85);transform:rotate(var(--switch-angle,28deg));transform-origin:center 75%;border-radius:3px;box-shadow:3px 3px #0e202788}.patch-art{width:86px;height:78px;position:relative}.patch-art:before{content:'';position:absolute;inset:3px 12px;border:7px solid var(--cable,#b78556);border-top:0;border-radius:0 0 25px 25px;box-shadow:4px 4px #162a2d}.patch-art:after{content:'●       ●';color:#dbcfac;font:18px monospace;position:absolute;top:0;white-space:pre}.machine-status{display:flex;align-items:center;gap:9px;font:11px monospace;color:#cfc7a7;margin:15px 0}.status-lamp{display:block;width:11px;height:11px;background:#b95340;border-radius:50%;box-shadow:0 0 8px #b9534050}.status-lamp.ok{background:#86b589;box-shadow:0 0 12px #86b58960}.machine-buttons{display:flex;gap:10px;flex-wrap:wrap}.machine-buttons button:first-child{background:#ac8554;color:#16272c;border-color:#d4b27b;font-weight:650}.machine-feedback{font:15px/1.6 Georgia,serif;color:var(--paper);white-space:pre-line}.machine-feedback:empty{display:none}#cinema-caption{position:absolute;inset:auto 0 0;background:#071017df;color:#e6d7b0;text-align:center;padding:25px;font:18px/1.5 Georgia,serif;border-top:1px solid #50676b}#stage[data-cinematic=true] .scene-label,#stage[data-cinematic=true] #interact,#stage[data-cinematic=true] #toast{display:none!important}#stage[data-era=past1],#stage[data-era=past2]{filter:sepia(.45)}.ending{padding:25px 10px;color:var(--paper)}.ending p{font:17px/1.8 Georgia,serif}.ending .eyebrow{font:10px system-ui;letter-spacing:.14em}.ending h3{font-size:32px;font-weight:450;line-height:1.15}.ending ul{color:var(--muted);font-size:12px;line-height:1.9}.expanded .scene-actions,.expanded .inventory-heading,.expanded #inventory,.expanded .travel-help{display:none}
@media(min-width:1001px){.play-area{top:8px}}@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 235px}#encounter{width:380px;right:1vw}}@media(max-width:900px){.workspace{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr}#encounter{inset:0;margin:auto;width:470px;max-height:90vh}.switchboard{gap:7px;padding:13px}.people-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.intro h1{font-size:28px}aside{grid-template-columns:1fr}#encounter{padding:14px;width:94vw}.switchboard{grid-template-columns:1fr;padding:12px}.physical-control{display:grid;grid-template-columns:50px 1fr;min-height:70px;gap:8px}.physical-control>div{grid-row:1/3;transform:scale(.66);transform-origin:left center}.physical-control label{grid-column:2}.physical-control select{grid-column:2}.people-grid{grid-template-columns:1fr}.plate{font-size:10px}.speaker{gap:9px}#dialogue-line{font-size:14px}#portrait{width:60px;height:78px}}
/* The pockets and route controls must remain reachable on short desktop windows. */
body:not(.expanded) .play-area{position:relative;top:auto}

/* The sound studio is always optional; written puzzle clues never disappear. */
#sound-panel{width:530px;max-width:94vw;background:#172b32;color:var(--paper)}#sound-settings{display:grid;gap:15px;padding:14px 0}#sound-settings label{display:flex;gap:14px;align-items:center;font-size:12px}#sound-settings input[type=range]{margin-left:auto;width:42%;accent-color:#b89561}#sound-settings output{min-width:35px;font:11px monospace}#sound-settings input[type=checkbox]{accent-color:#b89561}#sound-panel details{margin-top:20px;font-size:11px}#audio-diagnostics{display:block;padding:12px 0;font:10px/1.6 monospace;color:#9eafa6}#audio-status{font:17px/1.5 Georgia,serif;color:var(--brass)}.voice-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 13px}.voice-tools button{font-size:9px;padding:4px 7px}.voice-tools span{font-size:9px;color:var(--muted)}#continue-scene{width:100%;text-align:left;border-color:#c9ab73;color:#e9c98b;margin-bottom:10px;padding:11px;background:#334641}#film-heading{position:absolute;left:0;right:0;top:0;padding:14px 20px 20px;background:linear-gradient(#061116ed,#06111600);pointer-events:none;text-shadow:0 2px 8px #000}#film-heading small{display:block;font:8px/1.6 monospace;letter-spacing:.15em;color:#c2b893}#film-heading strong{font:22px/1.4 Georgia,serif;color:#f0dec0}#cinema-caption{padding:14px 22px;font-size:16px;min-height:58px}#cinema-caption .caption-name{display:block;color:#d3ae77;font:9px monospace;letter-spacing:.15em;margin-bottom:5px}.hide-film-subtitles #cinema-caption{visibility:hidden}#stage[data-film=timeOut]:after,#stage[data-film=timeBack]:after{content:'';position:absolute;inset:0;border:18px solid #70b0ba22;box-shadow:inset 0 0 55px #96cbd844;pointer-events:none}#film-library{max-width:790px;background:#172a31}#film-cards,#film-spoilers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.film-card{padding:15px;border:1px solid #496160;background:#1e353b}.film-card small{font-size:8px;color:#b8ab87;letter-spacing:.1em}.film-card h3{font:20px/1.3 Georgia,serif;margin:10px 0;color:#e2cca5}.film-card p{font-size:10px;color:#98b0a6}.film-card button{font-size:11px}#sound-toggle{font-size:9px}#sound-options{padding:5px 9px}.scene-actions,.toolbar{position:relative}.voice-tools~#dialogue-choices{max-height:none}@media(max-width:540px){#film-cards,#film-spoilers{grid-template-columns:1fr}#film-heading strong{font-size:16px}#film-heading small{font-size:7px}#cinema-caption{font-size:12px;padding:8px;min-height:40px}#film-heading{padding:8px 12px}.toolbar{flex-wrap:wrap}}
/* Mission journal and family controls. */
.mission-track{display:flex;gap:18px;justify-content:space-between;background:#20332e;border:1px solid #637264;border-top:2px solid #e6bc78;padding:13px 16px}.mission-track .eyebrow{font-size:8px;color:#e6bc78;margin:0 0 4px}.mission-track strong{font-size:15px}.mission-track p{margin:3px 0}.mission-track small{color:#b6c6b9;font-size:11px}.mission-track-actions{display:flex;flex-direction:column;justify-content:center;gap:6px;flex-shrink:0}.mission-track-actions button{font-size:11px;min-height:36px}.mission-track-actions button:first-child{background:#dfbf84;color:#192b30;border-color:#dfbf84}.mission-tabs{display:flex;gap:8px;margin:20px 0}.mission-tabs button{flex:1;min-height:44px}.mission-card{padding:18px;border:1px solid #3b5355;background:#192e33;margin:12px 0;border-radius:5px}.mission-card.tracked{border-color:#d2b17b}.mission-card>small{font-size:10px;color:#c7b68f;letter-spacing:.06em}.mission-card h3{margin:4px 0 7px;font-size:19px}.mission-card p{font-size:13px;margin:7px 0;color:#bdcbc1}.mission-card .mission-task{color:#f1dfb5}.mission-card ul{list-style:none;padding:0;font-size:12px;line-height:1.9}.mission-card li.complete{color:#86bba2}.mission-card details{margin:12px 0;font-size:12px}.mission-buttons{display:flex;gap:8px;margin-top:12px}.mission-buttons button{min-height:44px}.touch{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:15px}.dpad{display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,42px);gap:4px}.dpad button{font-size:20px;user-select:none;touch-action:none}.dpad [data-move=w]{grid-column:2}.dpad [data-move=a]{grid-column:1;grid-row:2}.dpad [data-move=s]{grid-column:2;grid-row:2}.dpad [data-move=d]{grid-column:3;grid-row:2}.touch-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}.touch-actions button{min-height:48px;min-width:64px;touch-action:manipulation}.touch-actions #touch-interact{background:#30534e}#game{touch-action:none}#player-slot{width:100%;margin:8px 0}.expanded .scene-actions,.expanded .inventory-heading,.expanded #inventory,.expanded .travel-help{display:none}.expanded .mission-track{position:absolute;bottom:110px;left:12px;width:min(360px,60vw);z-index:3;padding:8px 12px;background:#152c2deb}.expanded .mission-track p,.expanded .mission-track small,.expanded .mission-track-actions #mission-go{display:none}.expanded .mission-track strong{font-size:12px}.expanded .touch{display:flex;position:absolute;bottom:8px;left:12px;right:12px;z-index:3;padding:0;pointer-events:none}.expanded .touch button{pointer-events:auto;background:#193239e8}.expanded #stage{width:min(100vw,calc((100dvh - 45px)*16/9));max-height:calc(100dvh - 45px)}
@media(pointer:fine) and (min-width:1001px){body:not(.expanded) .touch{display:none}}
@media(max-width:620px){.toolbar{flex-wrap:wrap;gap:5px;padding:7px}.toolbar strong{min-width:36%}.toolbar button{min-height:34px}.mission-track{padding:10px;gap:8px}.mission-track strong{font-size:14px}.mission-track p{font-size:12px}.mission-track-actions button{padding:7px;font-size:10px}.mission-track-actions{max-width:100px}.touch-actions{gap:5px}.touch-actions button{min-width:58px;padding:8px}.dpad{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px)}.mission-card{padding:13px}.mission-buttons{flex-wrap:wrap}.mission-buttons button{flex:1}.expanded .mission-track{bottom:105px;width:min(350px,calc(100vw - 24px))}.expanded .mission-track-actions{flex-direction:row}.expanded .toolbar strong{min-width:0}.expanded #stage{margin-top:50px}button,select{touch-action:manipulation}#encounter select{font-size:16px;min-height:44px}}
@media(max-width:620px){body{font-size:14px}.intro{margin-bottom:15px}header{height:50px}.brand{font-size:17px}main{padding-top:16px}.intro h1{font-size:24px}.intro>p{font-size:12px}.controls>span{display:none}.controls button{min-height:36px;font-size:12px}.mission-track small{font-size:12px}.mission-track .eyebrow{font-size:10px}.mission-track-actions button{font-size:12px}.help{font-size:13px}.visit button,.visit select{font-size:14px;min-height:44px}.scene-actions .eyebrow,.inventory-heading .eyebrow{font-size:11px}#nearby-actions button{font-size:13px;min-height:44px}#inventory button{font-size:12px}dialog h2{font-size:23px}.physical-control label{font-size:13px}.machine-feedback,.machine-flavor,.plate{font-size:14px}}
