*{box-sizing:border-box}body{margin:0;background:#0b1920;color:#eef8ef;font:16px system-ui}main{max-width:540px;margin:auto;padding:16px 12px}header{font-size:11px;letter-spacing:.1em;color:#93d9bc;display:flex;justify-content:space-between}h1{font-size:35px;margin:14px 0 4px}p{line-height:1.5;color:#b9cfc5}.stats{display:flex;align-items:center;justify-content:space-between;gap:10px}.stats b{display:block;font-size:25px}button{font:inherit;min-height:46px;border:1px solid #527263;border-radius:12px;background:#244537;color:#f1ffef;padding:10px;touch-action:manipulation;cursor:pointer}button:focus-visible{outline:3px solid #ffe594}button:disabled{opacity:.45;cursor:default}#board{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;background:#0b1118;padding:8px;border-radius:14px}.cell{aspect-ratio:1;display:grid;place-items:center;min-height:45px;border-radius:8px;background:#1c3436;font-size:28px}.wall{background:#52606b;color:#bbc4c9}.key{color:#ffe482}.sentry{color:#ff8a90}.oil,.heart{color:#94e6c0}.brazier,.unlit-brazier{color:#cfb17b}.lit-brazier{background:#665125;color:#fff3a8}.player{outline:3px solid #ffe482;color:#fff}.controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.directions{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.directions button{padding:10px 4px}#detail,#forecast,#legend{font-size:12px;line-height:1.6}#message{min-height:48px;color:#ffe482}details{border-top:1px solid #527263;padding-top:14px}footer{font-size:11px;color:#8ca69a;margin-top:24px}