:root{color-scheme:dark;--paper:#e4e6db;--muted:#929c92;--accent:#d5ba7c;--line:#b8c1ae26}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#111614;color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:13px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}#game{position:fixed;inset:0;width:100%;height:100%;display:block}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#08100f9c,transparent 24%,transparent 65%,#080e0dd9),linear-gradient(90deg,#07100d55,transparent 60%)}header{position:absolute;top:0;left:0;right:0;height:110px;padding:32px 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;color:inherit;text-decoration:none;align-items:center;font-size:21px;font-weight:700;letter-spacing:4px}.brand svg{width:34px;height:36px;stroke:var(--accent);stroke-width:1.2}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:2.5px;margin-top:7px;color:var(--muted)}.location{font-size:10px;letter-spacing:1.7px;display:flex;align-items:center;gap:13px}.location small{margin-left:36px;color:var(--muted);font-size:9px}.location b{font-weight:400;color:var(--paper);margin-left:10px}.divider{color:#6b7469}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b3c9a5;box-shadow:0 0 7px #9cbd7c55;margin-right:6px}.icon-button{background:#14201a44;border:1px solid var(--line);width:34px;height:34px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);font-weight:400}.mission{position:absolute;top:149px;left:43px;width:265px}.mission .eyebrow b{font-size:9px;color:var(--accent);margin-left:34px}.mission h2{font-size:18px;font-weight:400;margin:14px 0 8px}.mission p{font-size:11px;color:#a8afa3;line-height:1.7;margin:0}#compass{position:absolute;top:139px;left:50%;transform:translateX(-50%);display:flex;gap:24px;align-items:center;color:#bcc5b5;font-size:9px;letter-spacing:2px}#compass i{height:5px;border-left:1px solid #b2b8a45c}#heading{min-width:75px;text-align:center;color:var(--accent)}#menu{position:absolute;left:7%;top:43%;width:490px}.menu-index{display:flex;gap:28px;color:var(--accent);font-size:9px;letter-spacing:1.8px}h1{font-family:Georgia,'Times New Roman',serif;font-size:52px;font-weight:400;line-height:1.05;letter-spacing:-1.7px;margin:23px 0 18px}#menu p{color:#bdc4b7;line-height:1.85;font-size:13px;margin:0 0 27px}.primary{width:218px;padding:17px 20px;background:var(--accent);border:0;color:#20261f;text-align:left;font-size:11px;letter-spacing:.5px}.primary span{float:right;font-size:18px;line-height:12px}.primary:hover{background:#e7cf97}.menu-actions{display:flex;gap:14px;align-items:center;margin-top:15px;color:#879281;font-size:10px}.menu-actions button{background:none;border:0;padding:3px 0;font-size:10px;color:#b7beaf}.instructions{display:flex;flex-wrap:wrap;gap:13px 19px;max-width:440px;margin-top:29px;color:#9ba693;font-size:9px}kbd{font-family:inherit;font-size:8px;letter-spacing:.8px;border:1px solid #adba9e42;padding:3px 5px;color:#bdc8b6;margin-right:4px}footer{position:absolute;bottom:0;left:0;right:0;height:120px;padding:25px 42px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);background:#0a110d33;pointer-events:none}.equipment{display:flex;align-items:center;gap:17px}.tool-icon{width:49px;height:54px;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent);font-size:40px;transform:rotate(-4deg)}.equipment strong{display:block;font-weight:400;font-size:14px;margin:8px 0}.equipment small{font-size:8px;letter-spacing:1px;color:#929e89}.inventory{min-width:310px}.inventory>div{display:flex;gap:27px;margin-top:14px}.inventory>div>span{display:flex;align-items:center;gap:8px;color:#a9b29f;font-size:10px}.inventory b{color:var(--paper);font-family:monospace;font-size:16px;font-weight:400;margin-left:5px}.mineral{display:inline-block;width:12px;height:13px;clip-path:polygon(18% 0,79% 8%,100% 61%,68% 100%,8% 80%,0 32%)}.stone{background:linear-gradient(125deg,#a6a698,#4f574c)}.coal{background:linear-gradient(125deg,#656c68,#222c28)}.gold{background:linear-gradient(125deg,#e6ce83,#89703b)}.systems{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;pointer-events:auto}.systems button{background:none;border:0;padding:0;font-size:8px;letter-spacing:1px}.systems b{font-size:8px;font-weight:400;color:var(--accent);margin-left:7px}.systems>span{grid-column:1/3;text-align:right;font-size:8px;letter-spacing:2px;color:#76816f}#crosshair{position:absolute;left:50%;top:50%;width:12px;height:12px;transform:translate(-50%,-50%);opacity:.6;pointer-events:none}#crosshair i{position:absolute;background:#e4e8d2}#crosshair i:first-child{left:5px;top:0;width:1px;height:11px}#crosshair i:last-child{left:0;top:5px;width:11px;height:1px}#target{position:absolute;top:55%;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;font-size:10px;letter-spacing:2px}#target small{display:block;font-size:8px;color:#b0baa7;margin-top:8px;letter-spacing:1px}#damage{width:80px;height:2px;background:#b3bba630;margin:12px auto}#damage i{display:block;height:100%;background:var(--accent);width:0}#toast{position:absolute;top:31%;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:1px;color:var(--accent);text-align:center}#survey{position:absolute;right:42px;top:148px;background:#101a14eb;border:1px solid var(--line);padding:20px;width:292px}#survey canvas{width:250px;height:330px;margin:14px 0}#survey small{font-size:7px;letter-spacing:1px;color:var(--muted)}#survey b{color:#dce7d5}#survey em{color:var(--accent)}#close-map{float:right;background:none;border:0;font-size:20px;line-height:10px}#error{position:absolute;inset:25%;padding:40px;background:#111c17;border:1px solid var(--accent);line-height:1.7;z-index:10}body.playing #menu{display:none}body:not(.playing) #target,body:not(.playing) #crosshair{display:none}body:not(.playing) .vignette{background:linear-gradient(90deg,#07100dec 0%,#07100d99 25%,transparent 70%),linear-gradient(0deg,#080e0dde,transparent 25%,transparent 75%,#080e0d88)}
@media(max-height:820px){#menu{top:37%}h1{font-size:43px;margin:18px 0 13px}#menu p{margin-bottom:18px}.instructions{margin-top:18px}footer{height:100px}.mission{top:130px}}@media(max-width:900px){header{padding:24px;height:92px}.location{display:none}.mission{left:24px;top:120px}footer{padding:20px 24px}.systems{display:none}.inventory{min-width:260px}.inventory>div{gap:12px}#menu{left:6%;width:88%}#compass{left:auto;right:24px;transform:none;gap:10px}#survey{right:24px}h1{font-size:42px}}@media(max-width:550px){.equipment{display:none}.inventory{width:100%}.inventory>div{justify-content:space-between}.menu-index{gap:15px;font-size:7px}.mission{width:230px}#compass{display:none}h1{font-size:36px}.instructions{max-width:330px;gap:12px}.brand{font-size:18px}}


#lift-hint{position:absolute;bottom:142px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:1.5px;color:#b6c3ab;text-align:center;pointer-events:none;background:#101a14b8;padding:10px 15px;border:1px solid var(--line)}#lift-hint.near{color:var(--accent);border-color:#d5ba7c55}#lift-panel{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,90vw);padding:30px;background:#101a14f5;border:1px solid #d5ba7c55;box-shadow:0 20px 100px #0009}#lift-panel h2{font:32px Georgia,serif;margin:15px 0}#lift-panel p{font-size:12px;line-height:1.7;color:var(--muted)}#lift-floors{display:grid;gap:10px;margin:22px 0}#lift-floors button{display:flex;align-items:center;gap:15px;text-align:left;padding:16px;background:#263128;border:1px solid var(--line)}#lift-floors button:hover:not(:disabled){border-color:var(--accent);background:#354333}#lift-floors button:disabled{opacity:.45;cursor:default}#lift-floors small{display:block;margin-top:7px;font-size:8px;letter-spacing:1.5px;color:var(--accent)}#lift-cancel{background:none;border:0;padding:5px 0;color:var(--muted);font-size:11px}body.lift-open #menu{display:none}body:not(.playing) #lift-hint{display:none}#survey #map-level{font-size:8px;letter-spacing:1px;margin:14px 0 0}@media(max-height:820px){#lift-hint{bottom:115px}}@media(max-width:900px){#lift-hint{font-size:8px;width:max-content;max-width:90vw}}

.audio-settings{display:flex;align-items:center;gap:12px;margin-top:15px;color:var(--muted);font-size:8px;letter-spacing:1px}.audio-settings input{width:130px;height:14px;accent-color:var(--accent);cursor:pointer}.audio-settings output{min-width:28px;font-family:monospace}.systems #audio-toggle{text-align:left;color:var(--accent)}.systems #session{grid-column:2;text-align:right}#menu .instructions{margin-top:18px}@media(max-height:820px){#menu{top:35%}#menu h1{margin-top:14px}.audio-settings{margin-top:10px}#menu .instructions{margin-top:12px}}

#production{position:absolute;right:42px;top:150px;text-align:right}#production strong{display:block;font-size:17px;font-weight:400;margin:12px 0 8px;color:var(--accent)}#production small{color:var(--muted);font-size:9px}#toolbelt{position:absolute;bottom:135px;left:50%;transform:translateX(-50%);display:flex;gap:5px;white-space:nowrap}#toolbelt button{border:1px solid var(--line);background:#101a14dd;padding:10px 12px;font-size:10px;color:var(--muted)}#toolbelt button.selected{border-color:var(--accent);color:var(--accent);background:#293122}#equipment-hint{position:absolute;bottom:187px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;text-align:center;font-size:10px;letter-spacing:.5px;color:#d4d9cb;background:#101a14c9;padding:9px 13px;pointer-events:none}body:not(.playing) #toolbelt,body:not(.playing) #equipment-hint{display:none}#equipment-help{position:absolute;right:28px;top:120px;width:min(420px,90vw);max-height:calc(100vh - 150px);overflow:auto;padding:25px;background:#101a14f5;border:1px solid var(--accent);z-index:8;box-shadow:0 10px 70px #0009}#equipment-help h2{font:26px Georgia,serif}#equipment-help p,#equipment-help dd{font-size:11px;line-height:1.6;color:#b2bba9}#equipment-help dt{font-size:12px;color:var(--accent);margin-top:18px}#equipment-help dd{margin:6px 0}#equipment-help-close{float:right;border:0;background:none;color:var(--muted);font-size:10px}#lift-hint{bottom:235px}body:not(.playing) #production{display:none}#survey{z-index:3}@media(max-height:820px){#toolbelt{bottom:112px}#equipment-hint{bottom:160px}#lift-hint{bottom:205px}}@media(max-width:900px){#production{top:280px;right:24px}#toolbelt{max-width:96vw}#toolbelt button{padding:9px 5px;font-size:9px}#equipment-hint{font-size:9px}#toolbelt kbd{display:none}}
body.guide-open #menu{display:none}body.guide-open #equipment-help{z-index:12}

#controls-panel{position:absolute;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,94vw);max-height:90vh;display:flex;flex-direction:column;padding:25px;background:#101a14fc;border:1px solid #d5ba7c66;box-shadow:0 20px 100px #000b}#controls-panel[hidden]{display:none}body.controls-open #menu{display:none}.controls-heading{display:flex;align-items:center;justify-content:space-between}.controls-heading h2{font:30px Georgia,serif;margin:10px 0}#controls-panel>p{font-size:11px;color:var(--muted);line-height:1.6;margin:8px 0 16px}#controls-panel button{border:1px solid var(--line);background:#263128;padding:9px 12px;font-size:11px}#controls-panel button:hover{border-color:var(--accent)}.look-options{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px;margin-bottom:18px;color:#bfc8b5}.look-options input[type=range]{width:140px;accent-color:var(--accent)}.look-options input[type=checkbox]{accent-color:var(--accent)}.look-options output{min-width:40px}.binding-head,.binding-row{display:grid;grid-template-columns:minmax(170px,1.6fr) minmax(110px,1fr) minmax(110px,1fr) 28px;gap:9px;align-items:center}.binding-head{font-size:9px;letter-spacing:1px;color:var(--accent);padding:8px 8px 8px 0}#binding-list{overflow:auto;min-height:100px;padding-right:7px}.binding-row{padding:7px 0;border-bottom:1px solid var(--line);font-size:11px}.binding-row button{min-height:35px}.binding-row .binding-clear{padding:5px!important;font-size:17px!important}.binding-clear:disabled{opacity:.25;cursor:default}.binding-row button.listening{background:#d5ba7c!important;color:#172014;outline:1px solid #e8d7a7}.controls-bottom{display:flex;align-items:center;gap:10px;padding-top:16px}.controls-bottom p{flex:1;font-size:11px;line-height:1.5;color:var(--accent);min-height:30px;margin:0}.controls-bottom button{white-space:nowrap}#controls-cancel[hidden]{display:none}@media(max-width:600px){#controls-panel{padding:14px}.binding-head,.binding-row{grid-template-columns:minmax(100px,1.3fr) minmax(74px,1fr) minmax(74px,1fr) 24px;gap:5px}.binding-row{font-size:10px}#controls-panel button{padding:8px 5px;font-size:10px}.controls-bottom{flex-wrap:wrap}.controls-bottom p{flex-basis:100%}.look-options{gap:8px}}

#roof-status{position:absolute;top:177px;left:50%;transform:translateX(-50%);width:320px;text-align:center;pointer-events:none;background:#101a14aa;padding:10px 14px;border:1px solid #b8c1ae26}#roof-status strong{display:block;color:#afc6a3;font-size:9px;letter-spacing:1.5px}#roof-status span{display:block;font-size:10px;color:#aeb8a4;line-height:1.55;margin-top:6px}#roof-status.danger{background:#301c12e8;border-color:#cf754c}#roof-status.danger strong{color:#ffb082}#roof-status.danger span{color:#e8c5ac}body:not(.playing) #roof-status{display:none}#gameover-panel{position:absolute;z-index:25;left:50%;top:50%;transform:translate(-50%,-50%);width:min(500px,90vw);padding:38px;background:#171d16ed;border:1px solid #c68761;box-shadow:0 0 150px #000b}#gameover-panel h2{font:45px Georgia,serif;margin:18px 0;color:#e6c1a7}#gameover-panel p{font-size:13px;line-height:1.8;color:#c4c9bb;margin-bottom:26px}#gameover-panel small{display:block;margin-top:18px;font-size:10px;line-height:1.6;color:var(--muted)}#restart-expedition{width:100%}body.game-over #menu,body.game-over #toolbelt,body.game-over #equipment-hint,body.game-over #lift-hint,body.game-over #roof-status{display:none}body.game-over .vignette{background:radial-gradient(ellipse,#45291a20,#160c09bb)}#gameover-panel[hidden]{display:none}@media(max-width:900px){#roof-status{top:auto;bottom:215px;width:min(340px,85vw)}}

body.roof-danger #lift-hint{display:none}@media(max-width:900px){#roof-status:not(.danger){display:none}}

.contract-counters{margin:14px 0}.contract-counters>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin:10px 0;font-size:11px}.contract-counters b{color:var(--accent);font-weight:400}.contract-counters i{width:100%;height:3px;background:#ffffff20}.contract-counters em{display:block;height:100%;background:var(--accent)}#contract-status{font-size:8px;letter-spacing:1px;color:#b5c4a8}#campaign-panel{position:absolute;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);width:min(700px,94vw);max-height:90vh;overflow:auto;padding:30px;background:#101a14fc;border:1px solid #d5ba7c66;box-shadow:0 20px 100px #000b}#campaign-panel[hidden]{display:none}#campaign-panel h2{font:34px Georgia,serif;margin:15px 0}#campaign-panel p{line-height:1.7;color:#bbc4b3;font-size:12px}#level-objectives{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:22px 0}.level-contract{border:1px solid var(--line);padding:16px}.level-contract h3{font-size:12px;color:var(--accent);margin:0 0 12px}.level-contract p{margin:4px 0}.level-contract.fulfilled{border-color:#95b788}.campaign-actions{display:flex;flex-wrap:wrap;gap:12px}.campaign-actions button:not(.primary){padding:12px;background:#263128;border:1px solid var(--line)}.checkpoint-note{font-size:10px!important;color:var(--muted)!important}body.campaign-open #menu{display:none}#lift-panel{max-height:90vh;overflow:auto}#lift-floors{max-height:50vh;overflow:auto}body:not(.playing) .mission{display:none}#menu{top:29%}#menu #campaign-brief{font-size:11px;color:var(--accent);margin-bottom:20px;max-width:410px}.menu-actions{flex-wrap:wrap}#menu{max-height:calc(71vh - 125px);overflow:auto;padding:0 10px 20px 0}@media(max-width:900px){.mission{width:225px}}@media(max-height:820px){#menu{top:22%;max-height:calc(78vh - 110px)}}

#toolbelt button:disabled{opacity:.5;cursor:not-allowed}.tool-lock{display:block;font-size:8px;color:var(--accent);margin-top:4px}.tool-lock:empty{display:none}

#menu #save-status{font-size:10px;color:var(--muted);line-height:1.5;margin:12px 0;max-width:430px}

#exploration-panel{position:fixed;inset:4vh 5vw;z-index:50;overflow:auto;background:#101a14fc;border:1px solid #d5ba7c88;padding:26px;box-shadow:0 0 100px #000b}#exploration-panel[hidden]{display:none}.exploration-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.exploration-heading h2{font:32px Georgia,serif;margin:10px 0}#exploration-panel p{font-size:12px;line-height:1.6;color:#c3caba}#exploration-panel button{border:1px solid #d5ba7c55;background:#263128;color:#e8dec6;padding:12px;cursor:pointer}#exploration-panel button:focus-visible{outline:3px solid #f1c465;outline-offset:3px}#exploration-panel button:disabled{opacity:.4;cursor:default}.plan-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;margin:18px 0}.plan-legend i{display:inline-block;width:11px;height:11px;margin-right:4px}.plan-gold{background:#efbc48}.plan-rock{background:#b1a58a}.plan-coal{background:#787568}.plan-gallery{background:#263d37}.plan-yard{background:#66816a}#plan-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.exploration-card{text-align:left}.exploration-card canvas{display:block;width:100%;height:auto;max-height:36vh;object-fit:contain}.exploration-card strong{display:block;margin:10px 0 5px}.exploration-card span{font-size:10px;color:#c7cdbd;line-height:1.5;display:block}#exploration-panel .exploration-card[aria-pressed=true]{border:2px solid #f1c465;background:#3b4230}.exploration-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0}#exploration-panel small{color:#9ca991;font-size:10px}body.exploration-open #menu,body.exploration-open #gameover-panel{display:none}@media(max-width:1000px){#plan-options{grid-template-columns:repeat(3,minmax(0,1fr))}.exploration-card canvas{max-height:23vh}}@media(max-width:550px){#exploration-panel{inset:2vh 3vw;padding:16px}#plan-options{grid-template-columns:repeat(2,minmax(0,1fr))}.exploration-heading{display:block}.exploration-heading h2{font-size:27px}.exploration-actions{align-items:stretch;flex-direction:column}}

.exploration-card .plan-contract{color:#f1cc78;margin-top:8px;line-height:1.6}

#map-plan-toggle{display:block;width:100%;padding:9px;margin:10px 0;background:#263128;border:1px solid #d5ba7c66;color:#f1cc78;cursor:pointer;font-size:11px}#map-plan-toggle[hidden],#map-contract[hidden]{display:none}#map-contract{font-size:10px;line-height:1.6;color:#f1cc78}#map-legend{display:block;line-height:1.5}#survey{max-height:80vh;overflow:auto}

#exploration-panel .exploration-card{vertical-align:top;display:flex;flex-direction:column;justify-content:flex-start}.exploration-card .plan-contract{min-height:36px}.exploration-card canvas{margin-top:8px}

#map-floor-review{width:100%;padding:8px;background:#263128;color:#f1cc78;border:1px solid #d5ba7c66}#map-floor-review[hidden]{display:none}

.stage-test{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;padding:12px;border:1px solid #d5ba7c44;font-size:11px}.stage-test label{color:#d5ba7c}.stage-test select,.stage-test button{padding:8px;background:#263128;color:#eddfbd;border:1px solid #d5ba7c66}.stage-test small{display:block;flex-basis:100%;line-height:1.5;color:#aeb8a4;font-size:10px}.stage-test select:focus-visible,.stage-test button:focus-visible{outline:2px solid #e9c779}

#ramp-panel{position:fixed;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);background:#152119;border:1px solid #d5ba7c;padding:28px;width:min(560px,85vw)}#ramp-panel button{padding:12px;margin:8px;background:#324333;border:1px solid #83977c}#ramp-panel p{line-height:1.6}
