:root{background:#244e66;color:#fff;font-family:system-ui,sans-serif}*{box-sizing:border-box}html,body,#game{position:fixed;inset:0;margin:0;width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none}#game canvas{display:block;width:100%;height:100%;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none}#game-hud{position:absolute;z-index:8;top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right));display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;align-items:center;gap:8px;max-width:900px;margin-inline:auto;padding:8px;border:1px solid #b2bf8a;background:#142f25ed;border-radius:14px;box-shadow:0 5px 24px #071b2380;color:#fff4d6;pointer-events:auto;backdrop-filter:blur(8px)}.world-status,.player-resources{display:flex;flex-direction:column;gap:3px;min-width:0}.world-status strong{font-size:13px}.world-status span,.game-card small{font-size:11px;color:#d5d6ad}.player-resources{font-size:12px;white-space:nowrap}.game-card,.turn-button{min-height:48px;padding:7px 11px;border:1px solid #d5bf79;border-radius:10px;background:#e5c983;color:#263a27;font:inherit;font-weight:750;cursor:pointer;touch-action:manipulation}.game-card{display:flex;align-items:center;gap:9px;text-align:left}.game-card span:last-child{display:flex;flex-direction:column;gap:2px;white-space:nowrap}.game-card small{color:#536344;font-weight:500}.card-icon{font-size:28px;line-height:1}.turn-button{background:#315749;color:#fff4d6;border-color:#799d72}.game-card:disabled,.turn-button:disabled{opacity:.55;cursor:not-allowed}.game-card:focus-visible,.turn-button:focus-visible{outline:3px solid #fff1af;outline-offset:2px}#game-message{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);max-width:min(90vw,550px);margin:0;padding:5px 10px;border-radius:99px;background:#102e2ad9;color:#fff4d6;font-size:11px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.controls{position:absolute;left:calc(12px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));display:flex;gap:6px;padding:5px;border:1px solid #89ab9c99;border-radius:12px;background:#102e2ab8;pointer-events:auto;backdrop-filter:blur(6px)}.controls button,#map-toggle{min-width:46px;min-height:46px;border:0;border-radius:8px;background:#315749;color:#f5e6bf;font-weight:800;font-size:24px;cursor:pointer;touch-action:manipulation}.controls button:focus-visible,#map-toggle:focus-visible{outline:2px solid #ffe9ad;outline-offset:2px}#map-toggle{position:absolute;right:calc(12px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));pointer-events:auto}#minimap{position:absolute;right:calc(12px + env(safe-area-inset-right));bottom:calc(74px + env(safe-area-inset-bottom));width:min(36vw,192px);height:auto;aspect-ratio:1;image-rendering:pixelated;border:2px solid #e4d6a0;border-radius:7px;box-shadow:0 5px 20px #071e2688;background:#244e66;display:none;pointer-events:auto;touch-action:manipulation}body.map-open #minimap{display:block}@media(min-width:900px){#minimap{display:block}#map-toggle{display:none}}@media(max-height:480px){#minimap{max-height:48dvh;width:auto}}#inspector{position:absolute;top:calc(91px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));max-width:min(90vw,520px);background:#102e2add;border:1px solid #89ab9c99;border-radius:8px;padding:10px 44px 10px 12px;color:#fff6de;font:12px/1.5 ui-monospace,SFMono-Regular,monospace;pointer-events:auto;overflow-wrap:anywhere}#inspector[hidden]{display:none}#inspector-close{position:absolute;right:6px;top:4px;border:0;background:transparent;color:#fff;font-size:24px;min-width:36px;min-height:36px}@media(max-width:600px){#game-hud{grid-template-columns:1fr auto auto;gap:6px;padding:6px}.world-status{grid-column:1;grid-row:1}.player-resources{grid-column:2;grid-row:1;font-size:11px;gap:2px}.game-card{grid-column:1 / span 2;grid-row:2;justify-self:stretch;min-height:42px}.turn-button{grid-column:3;grid-row:1 / span 2;height:100%;padding-inline:9px;font-size:12px}.card-icon{font-size:23px}#game-message{max-width:92vw;font-size:10px}#inspector{top:calc(124px + env(safe-area-inset-top));max-width:calc(100vw - 24px)}}
