*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#173e31;color:#f6e9c5;font:14px 'Trebuchet MS',system-ui,sans-serif}button,input{font:inherit}button{border:1px solid #9ba77c;background:#294c3d;color:#f6e9c5;border-radius:8px;padding:9px 12px;cursor:pointer;touch-action:manipulation}button:hover{background:#456b4e}button:focus-visible,input:focus-visible{outline:3px solid #eab270}#canvas{width:100%;height:100%;display:block;touch-action:none}header{position:absolute;left:18px;right:18px;top:max(14px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;pointer-events:none}header button{pointer-events:auto;background:#183c31e8}small{font-size:9px;letter-spacing:2px;color:#c2cfa4}h1{margin:4px 0;font-size:28px;letter-spacing:-1px;text-shadow:0 2px 8px #102b24}#hud{position:absolute;top:86px;left:18px;right:18px;background:#12382ee8;border:1px solid #587c58;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:10px;font-size:11px;font-weight:bold}#board{position:absolute;left:18px;top:133px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 120px)}.player{background:#173e32eb;border:1px solid #567957;border-left:5px solid var(--tint);border-radius:8px;padding:7px 10px;font-size:11px;min-width:80px}.player.active{border-top-color:#ffda84;background:#3d5942}.player.dead{background:#304b48}.player strong{font-size:16px;display:block;margin:3px 0}.player span{font-size:9px;color:#c5d6b2}#map{position:absolute;right:18px;top:140px;width:115px;height:102px;border:1px solid #98ae79;border-radius:8px;background:#173d30d9;pointer-events:none}footer{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;text-align:center;background:#12382ee8;border:1px solid #63805b;border-radius:12px;padding:10px}footer p{margin:0 0 9px;font-size:12px}footer>div{display:flex;justify-content:center;gap:7px}.fine{font-size:9px;color:#b2c99f;margin:9px 0 0;letter-spacing:.4px}#notice{position:absolute;bottom:180px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;text-align:center;background:#ece1bb;color:#36513b;border-radius:10px;padding:10px 15px;font-size:12px;opacity:0;pointer-events:none}#notice.show{opacity:1}#overlay{position:absolute;inset:0;display:grid;place-items:center;background:#102c25d9;backdrop-filter:blur(5px);padding:14px;overflow:auto}#overlay[hidden]{display:none}article{max-width:420px;width:100%;background:#eddfbb;color:#344d3a;text-align:center;padding:28px;border:2px solid #b9b88b;border-radius:20px;box-shadow:0 14px 40px #0b221c88}article small{color:#6b8059;letter-spacing:1.2px;font-size:8px}h2{font-size:48px;line-height:.98;letter-spacing:-2px;margin:20px 0}article p{font-size:14px;line-height:1.6}article .sub{font-size:11px;color:#627458}#start{background:#b96643;color:#fff0d0;border:2px solid #874e33;box-shadow:0 4px #874e33;font-weight:bold;width:100%;padding:14px;margin:10px 0}#roomForm{margin-top:8px;display:flex;gap:5px;flex-wrap:wrap;justify-content:center}#roomForm[hidden]{display:none}input{background:#183b30;color:#f6e9c5;width:85px;border:1px solid #8da779;border-radius:6px;padding:7px}#connection{font-size:10px;align-self:center;color:#c2d3ab}#loadError{position:absolute;inset:30%;background:#173b30;padding:20px;border:1px solid #eac18a}button:disabled{opacity:.5;cursor:wait}@media(max-width:420px){header{left:10px;right:10px}h1{font-size:24px}#hud{left:10px;right:10px;font-size:10px;top:78px;gap:5px}#board{left:10px;top:121px}.player{min-width:70px;padding:6px}#map{top:121px;right:10px;width:88px;height:78px}h2{font-size:40px}article{padding:22px}article p{font-size:12px}footer{padding:9px}footer p{font-size:11px}footer button{font-size:11px;padding:8px}#notice{bottom:170px;font-size:11px}}@media(max-height:640px){article{padding:16px;max-width:350px}h2{font-size:32px;margin:12px 0}article p{margin:8px 0;font-size:11px}#start{padding:11px;margin:4px 0}#board .player span{display:none}#notice{bottom:150px}}

/* Touch controls remain easy to hit without showing keyboard hints. */
footer button,header button,#roomForm input{min-height:44px}#panelDetail strong{font-size:13px;color:#3b593f}@media(pointer:coarse){.keys{display:none}}

#zoomControls{position:absolute;right:12px;bottom:180px;display:flex;flex-direction:column;align-items:center;gap:4px;background:#163c30e8;padding:5px;border:1px solid #68805b;border-radius:12px}#zoomControls button{width:44px;height:44px;font-size:21px;padding:0}#zoomReadout{font-size:9px;color:#d5dfbd}button[hidden],form[hidden]{display:none!important}
/* Expedition field journal: quiet charcoal, parchment, warm brass, restrained hierarchy. */
html,body{background:#1c302c;color:#f0e0b7;font-family:system-ui,sans-serif}button{background:#263f39;border-color:#637568;border-radius:12px;box-shadow:0 2px 0 #142c26;min-height:44px}button:hover{background:#3a5649}button:disabled{opacity:.42;cursor:default}header small{font-size:8px;letter-spacing:1.8px}h1{font-size:25px;font-weight:800}#hud{background:#18362feb;border-color:#6e7e63;padding:8px 11px;border-radius:9px}#board{max-width:calc(100% - 120px);gap:4px}.player{min-width:65px;display:flex;align-items:center;gap:7px;padding:5px 7px;border-left-width:3px;border-radius:7px;min-height:44px}.player strong{font-size:12px;display:inline;margin:0}.player span{display:none}#map{border-radius:12px;background:#19392feb}footer{background:#172f29ed;border-color:#7e8969;padding:8px}#help{color:#d9d5b5;font-size:10px;margin-bottom:7px}.fine{font-size:8px;letter-spacing:.2px}#cameraControls{position:absolute;right:12px;top:250px;display:flex;gap:5px}#cameraControls button{font-size:10px;padding:7px 9px}#progression{position:absolute;left:12px;right:12px;bottom:155px;max-width:460px;background:#172f29ed;border:1px solid #7d8d70;border-radius:14px;padding:8px 10px}#progressReadout{font-size:10px;letter-spacing:.3px;margin:0 0 6px;color:#e5c58e}.skillrow{display:flex;gap:5px}.skillrow button{flex:1;min-width:0;font-size:11px;padding:7px 5px}#skillMenu,.nearby{border-color:#d6b773;color:#f5d89b}#zoomControls{bottom:250px}#skillPanel,#shopPanel{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:min(350px,calc(100% - 24px));background:#eadebc;color:#344a3e;border:2px solid #a3ad85;padding:19px;border-radius:18px;box-shadow:0 12px 35px #112b25aa}#skillPanel[hidden],#shopPanel[hidden]{display:none}#skillPanel>button,#shopPanel>button{width:100%;margin:4px 0}#closeSkills,#closeShop{float:right;width:auto!important;min-height:36px;font-size:10px}h3{font-size:24px;letter-spacing:-.8px;margin:8px 0}#skillPanel p,#shopPanel p{font-size:12px;line-height:1.5}.sub{font-size:10px!important}#notice{z-index:4;bottom:250px}#overlay{z-index:5}article{background:#eee1bf;border-color:#a7ac84;box-shadow:0 20px 60px #102c25aa}#start{background:#ad6446}#loadError{z-index:10}@media(max-width:420px){#cameraControls{top:204px;right:10px}#board{max-width:calc(100% - 110px)}.player{font-size:10px;min-width:62px;padding:4px 6px}#progression{bottom:153px}#zoomControls{bottom:250px}}@media(max-height:640px){header small{display:none}header h1{font-size:20px}#hud{top:62px}#board{top:103px}#map{top:103px;width:76px;height:68px}#cameraControls{top:176px}#progression{bottom:130px;padding:6px 8px}#progressReadout{font-size:9px}footer .fine{display:none}footer{bottom:8px}#zoomControls{bottom:225px}#notice{bottom:225px}}

/* QA audit: narrow labels and dismiss actions retain a44px touch target. */
button{min-width:44px}#closeSkills,#closeShop{min-height:44px}
