*{box-sizing:border-box}body{margin:0;background:#314f40;color:#fff;font-family:Arial,sans-serif;overflow:hidden;user-select:none}canvas#world{display:block;width:100vw;height:100dvh;touch-action:none}button{font:inherit;border:1px solid #ffffff38;border-radius:14px;background:#163b37ed;color:#fff;cursor:pointer;padding:12px 16px;touch-action:none}button:hover{background:#245b4d}button.on{background:#f3bf58;color:#203c35}button:disabled{opacity:.4}header{position:absolute;top:18px;left:24px;right:24px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}header>*{pointer-events:auto}header small{display:block;font-size:9px;letter-spacing:2px;color:#153f36;font-weight:bold}header b{display:block;font-size:23px;text-shadow:0 2px 5px #203b37;margin-top:5px}.meta{display:flex;align-items:center;gap:10px}.meta span{background:#173b35e8;padding:10px 15px;border-radius:12px;color:#ffcc68;font-weight:bold}.meta button{padding:9px;font-size:10px}#mission{position:absolute;top:93px;left:24px;width:285px;background:#143c36ed;border:1px solid #ffffff25;padding:18px;border-radius:18px;pointer-events:none;box-shadow:0 10px 25px #0002}#mission small{font-size:9px;letter-spacing:2px;color:#ffce72}#mission h2{font-size:20px;margin:8px 0}#mission p{font-size:12px;line-height:1.5;color:#d2e6d9;margin:8px 0}.bar{height:5px;border-radius:4px;background:#ffffff25;margin:12px 0 8px}.bar i{height:100%;display:block;border-radius:4px;background:#ffd372}#detail{font-size:10px;color:#bbd8c8}#map{position:absolute;top:92px;right:24px;border:3px solid #c7d3a58c;border-radius:18px;background:#224b39;pointer-events:none}#toast{position:absolute;bottom:160px;left:50%;transform:translateX(-50%);background:#173d35ed;padding:10px 20px;border:1px solid #ffffff30;border-radius:30px;text-align:center;max-width:85vw;font-size:12px;pointer-events:none}#joystick{position:absolute;bottom:28px;left:40px;width:125px;height:125px;border-radius:50%;background:#ddf1d829;border:2px solid #ffffff65;touch-action:none;box-shadow:inset 0 0 20px #16352833}#stick{position:absolute;width:52px;height:52px;border-radius:50%;left:35px;top:35px;background:#f1f4d477;border:2px solid #ffffffe0;pointer-events:none;box-shadow:0 3px 10px #0003}#controls{position:absolute;bottom:27px;right:30px;display:flex;align-items:end;gap:8px}#controls button{border-radius:50%;height:70px;width:70px;padding:5px;font-size:11px;box-shadow:0 5px 12px #0003}#controls small{display:block;font-size:8px;opacity:.7;margin-top:6px}#controls #action{width:105px;height:105px;background:#e7b452;color:#234537;font-weight:bold;border:3px solid #ffe2a0}#modal{position:absolute;inset:0;background:#0b2c26b9;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:22px}#modal.hidden{display:none}.card{width:650px;max-width:100%;max-height:90dvh;overflow:auto;background:linear-gradient(135deg,#164a42,#102f2a);border:1px solid #f3c36575;border-radius:25px;padding:36px;box-shadow:0 30px 70px #001a19aa}.card small{font-size:10px;letter-spacing:2px;color:#f7ca6b}.card h1{font-size:clamp(32px,6vw,54px);line-height:1.06;letter-spacing:-1.6px;margin:16px 0}.card p{font-size:13px;color:#c4dfcf;line-height:1.6}.card .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.card .gold{background:#edbf61;color:#153c33;font-weight:bold}.summary{display:flex;gap:12px;margin:20px 0}.summary div{padding:15px;background:#ffffff0b;border-radius:12px;flex:1;font-size:11px;color:#b2d7bd}.summary b{display:block;color:#fff;font-size:26px;margin-top:7px}a{color:#f8d287}#mission.fold{display:none}@media(max-width:700px){header{left:13px;right:13px;top:13px}header b{font-size:16px}header small{font-size:7px;letter-spacing:.5px}.meta{gap:5px}.meta span{font-size:12px;padding:8px}.meta button{padding:8px 6px;font-size:8px}#mission{left:13px;top:67px;width:205px;padding:12px}#mission h2{font-size:15px}#mission p{font-size:10px}#map{top:68px;right:13px;width:95px;height:76px}#joystick{width:103px;height:103px;left:20px;bottom:24px}#stick{left:24px;top:24px}#controls{right:15px;bottom:22px;gap:5px;flex-wrap:wrap;max-width:190px;justify-content:end}#controls button{width:50px;height:50px;font-size:9px}#controls #action{width:75px;height:75px;font-size:9px}#toast{bottom:143px;font-size:10px;padding:8px 12px}.card{padding:25px}}@media(max-height:550px){#mission{top:65px;padding:10px;width:240px}#mission p{margin:5px 0}#mission h2{font-size:16px;margin:5px 0}#map{top:65px;height:90px;width:112px}#joystick{width:95px;height:95px;bottom:18px}#stick{left:20px;top:20px}#controls #action{height:80px;width:80px}#controls button{height:57px;width:57px}#toast{bottom:116px}}
/* Service Route edition: slate, fired brick, copper and paper. */
:root{--ink:#263343;--paper:#efe4d1;--brick:#783f3d;--copper:#bb7955;--line:#ad9272}
body{background:#a8ae88;color:var(--paper);font-family:'Trebuchet MS',Arial,sans-serif}
button{background:var(--ink);border:1px solid #e9d4b755;border-radius:7px;box-shadow:0 3px 0 #1b2633;font-weight:bold}
button:hover{background:#45586e}button.on{background:var(--brick);color:var(--paper);border-color:#e7b18b}
header small{color:#394a5b;letter-spacing:1.4px}header b{color:var(--ink);font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:27px;letter-spacing:.5px;text-shadow:0 1px #efe4d188}.meta span{background:var(--paper);color:var(--brick);border:1px solid var(--line);border-radius:6px}.meta button{border-radius:6px}
#mission{background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:4px;box-shadow:5px 5px 0 #26334330;padding-top:21px}
#mission:before{content:'FIELD NOTES';position:absolute;top:-8px;left:18px;background:var(--brick);color:var(--paper);padding:4px 10px;letter-spacing:2px;font:bold 8px monospace}
#mission small{color:#92523f;font-family:monospace;letter-spacing:1px}#mission h2{font-size:21px;letter-spacing:-.5px}#mission p{color:#4f5b64}.bar{background:#d8c6ad;border-radius:0}.bar i{background:var(--brick);border-radius:0}#detail{color:#80664f;font-family:monospace;font-size:10px}
#map{border:3px solid var(--paper);outline:1px solid var(--ink);border-radius:5px;box-shadow:4px 4px 0 #26334330;background:#a8ae88}
#toast{background:var(--ink);border:1px solid #d1ab79;border-radius:5px;color:var(--paper);box-shadow:3px 3px 0 #1c283333}
#joystick{border:2px solid #efe4d1a8;background:#26334330;box-shadow:inset 0 0 0 8px #efe4d125,0 4px 0 #26334322}#stick{background:#efe4d1c9;border:2px solid #26334377}
#controls button{background:var(--ink);border:2px solid #b5c0c4;color:var(--paper);box-shadow:0 5px 0 #27303b55}#controls button.on{background:var(--brick);border-color:#edc19c}#controls #action{background:var(--brick);color:var(--paper);border:3px solid #e4b692;letter-spacing:.5px;box-shadow:0 6px 0 #4d2d2c66}
#controls button small{color:inherit}.tool-icon{display:block;width:22px;height:22px;margin:0 auto 4px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#modal{background:#1c2939b5}.card{position:relative;background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:6px;box-shadow:9px 9px 0 #17223155;padding:34px}.card small{color:var(--brick);font-family:monospace;letter-spacing:1px}.card h1{font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;letter-spacing:.5px;line-height:1.03}.card p{color:#53606c}.card .gold{background:var(--brick);color:var(--paper);border-color:#683c38}.card .row{position:relative}.summary div{background:#d9cbb7;color:#675950;border:1px solid #ba9e7e;border-radius:4px}.summary b{color:var(--ink)}a{color:var(--brick)}.intro-art{float:right;width:190px;margin:10px -8px 0 15px;transform:rotate(2deg);border:2px solid var(--ink);box-shadow:5px 5px 0 #c19a77}.intro-art img{width:100%;display:block}
@media(max-width:700px){header b{font-size:18px}header small{font-size:7px;letter-spacing:.5px}#mission h2{font-size:16px}#mission{padding:17px 12px 12px}#detail{font-size:8px}.card{padding:23px}.intro-art{width:125px;margin-right:0}.card h1{font-size:40px}.tool-icon{width:17px;height:17px;margin-bottom:2px}}
@media(max-width:370px){.intro-art{width:95px}.card h1{font-size:34px}}

/* The HUD switch stays available while information panels are hidden. */
#hud-toggle{min-width:58px;min-height:44px;font-size:10px;border-color:#c49a78;touch-action:manipulation}
#hud-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}
body.hud-off #mission,body.hud-off #map,body.hud-off #toast,body.hud-off header>div:first-child,body.hud-off #cash,body.hud-off #audio{display:none!important}
body.hud-off header{justify-content:flex-end}
body.hud-off #hud-toggle{background:#eee4d1;color:#263343}
@media(max-width:700px){header>div:first-child{max-width:39%}header b{font-size:15px}header small{font-size:6px}.meta{gap:4px}#hud-toggle{min-width:49px;padding:6px;font-size:9px}.meta #menu{min-height:44px}}

#rig-controls{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);background:#efe4d1;border:2px solid #263343;border-radius:6px;padding:9px;width:225px;display:flex;flex-direction:column;gap:6px;color:#263343;box-shadow:4px 4px 0 #26334333}
#rig-controls[hidden]{display:none!important}#rod-status{font:10px monospace;text-align:center}#rig-controls button{padding:8px;font-size:10px;min-height:42px;touch-action:none}#rig-controls>div{display:flex;gap:6px}#rig-controls>div button{flex:1}body.hud-off #rod-status{display:none}
@media(max-width:700px){#rig-controls{bottom:170px;width:210px;left:13px;transform:none;padding:7px}#rig-controls button{min-height:38px}#rod-status{font-size:9px}}
@media(max-height:550px){#rig-controls{bottom:17px;width:200px;left:47%;transform:translateX(-50%)}#rig-controls button{min-height:34px;padding:5px}#toast{bottom:150px}}

#scan-controls{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);background:#efe4d1;color:#263343;border:2px solid #263343;border-radius:6px;padding:12px;width:min(410px,94vw);display:flex;flex-direction:column;gap:8px;z-index:8}#scan-controls[hidden]{display:none!important}#scan-controls b,#camera-readout{font:11px monospace;text-align:center}#scan-controls label{font-size:11px;display:flex;justify-content:space-between;align-items:center}#scan-level{background:#d6c5ad;border:1px solid #92775b;padding:7px;font:12px Arial;color:#263343}#scan-controls>div{display:flex;gap:6px}#scan-controls button{min-height:42px;font-size:11px;flex:1;padding:8px}#scan-photo{background:#783f3d}body.camera-scan #joystick,body.camera-scan #controls,body.camera-scan #map,body.camera-scan #mission{display:none!important}body.camera-scan #toast{bottom:232px}.record{border-top:1px solid #b79b7e;padding:12px 0}.record b{font:12px monospace}.record p{margin:7px 0;font-size:12px}@media(max-height:550px){#scan-controls{right:17px;left:auto;bottom:17px;transform:none;width:270px}body.camera-scan #toast{left:20px;bottom:20px;transform:none;max-width:40vw}}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-grid figure{margin:0}.photo-grid img{width:100%;display:block;border:1px solid #6c757c}.photo-grid figcaption{font:8px/1.4 monospace;margin-top:4px;color:#53606c}

body.camera-scan header b,body.camera-scan header small{color:#efe4d1;text-shadow:none}
#scan-controls button{touch-action:manipulation}#scan-back{background:#5c6978!important}body.camera-scan #rig-controls{display:none!important}

.power-control{display:flex;align-items:center;justify-content:space-between;gap:7px;font:bold 9px monospace}.power-control input{width:120px;accent-color:#783f3d;min-height:28px;touch-action:none}#drill-meter{font:8px monospace;text-align:center;color:#76553f}.tool-heat{height:4px!important;background:#d7c6ac;display:block!important;overflow:hidden}.tool-heat i{height:4px;display:block;background:#bd895a;width:0}body.hud-off #drill-meter,body.hud-off .tool-heat{display:none!important}@media(max-width:700px){#rig-controls{bottom:162px}.power-control input{width:115px}}@media(max-height:550px){#rig-controls{width:205px;bottom:12px;left:44%}.power-control input{width:105px;min-height:20px}#rig-controls button{min-height:28px}#toast{bottom:208px}}

.scope-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.scope-list label{display:flex;gap:8px;align-items:center;background:#ddcfba;padding:12px;font-size:12px;border:1px solid #baa084;border-radius:4px}.scope-list input{width:20px;height:20px;accent-color:#783f3d}.evidence{border-left:3px solid #783f3d;padding:5px 12px;margin:10px 0;background:#e3d6c2}.evidence b{font:11px monospace}.evidence p{margin:6px 0}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.route-house{padding:12px;border:1px solid #b69e83;font-size:11px}.route-house.current{background:#d4b998;border:2px solid #783f3d}.route-house span{display:block;margin-top:7px;color:#62584b}@media(max-width:450px){.scope-list,.route-grid{grid-template-columns:1fr}}

#van-button{position:absolute;right:28px;bottom:155px;z-index:6;min-height:48px;background:#304d68;border:2px solid #e8c989}#van-button[hidden],#drive-controls[hidden]{display:none!important}#drive-controls{position:absolute;right:26px;bottom:26px;width:280px;background:#202c3be8;border:2px solid #b1c7d0;border-radius:8px;padding:12px;z-index:5}#drive-controls small{display:block;font:9px monospace;color:#b6d2dd}#speed-readout{font:bold 26px monospace;color:#f0d6a0;display:block;margin:8px 0}#drive-controls>div{display:flex;gap:7px}#drive-controls button{flex:1;min-height:65px;padding:8px;font-size:11px;touch-action:none}#drive-gas{background:#4b7257}#drive-brake{background:#8e5049}body.driving #controls{display:none!important}body.driving #van-button{bottom:205px}#scan-evidence{font:bold 11px/1.5 monospace;background:#d9d4c4;padding:8px;color:#41545a;text-align:center}#scan-evidence.has-finding{background:#f2d4a3;color:#6b392e;border-left:4px solid #934936}@media(max-width:700px){#drive-controls{width:205px;right:12px;bottom:22px;padding:9px}#drive-controls button{min-height:64px;font-size:9px}#drive-destination{max-width:180px}#van-button{right:12px;bottom:160px;font-size:11px}body.driving #van-button{bottom:209px}#scan-controls{bottom:12px;gap:6px;padding:9px}body.camera-scan #toast{bottom:280px}#scan-evidence{font-size:10px}}@media(max-height:550px){#drive-controls{width:255px;bottom:12px}body.driving #van-button{bottom:187px}#scan-controls{width:290px}#scan-controls button{min-height:35px}#scan-evidence{font-size:10px;padding:5px}}

#map-zoom{position:absolute;right:24px;top:230px;z-index:6;background:#efe4d1e8;border:1px solid #263343;border-radius:6px;padding:5px;color:#263343}#map-zoom small{display:block;text-align:center;font:bold 8px monospace;margin:3px}#map-zoom>div{display:flex;gap:5px}#map-zoom button{min-width:44px;min-height:44px;font-size:22px;padding:4px}body.camera-scan #map-zoom{display:none}body.in-house #map-zoom{display:none}@media(max-width:700px){#map-zoom{top:156px;right:13px}}@media(max-height:550px){#map-zoom{top:167px}}
