*{box-sizing:border-box;margin:0;padding:0}html,body,#app{touch-action:none;background:#0f1218;width:100%;height:100%;overflow:hidden}canvas{display:block}#game-hud{top:max(8px, env(safe-area-inset-top,8px));left:max(8px, env(safe-area-inset-left,8px));z-index:1000;pointer-events:none;color:#e8e0c8;font-family:system-ui,Segoe UI,sans-serif;font-size:.8rem;position:fixed}.hud-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px;display:flex}#game-hud .hud-mode{letter-spacing:.04em;text-transform:uppercase;border:none;margin:0;padding:0;font-size:.72rem;font-weight:700}.hud-collapse{color:#e8e0c8;cursor:pointer;background:#2a2620e6;border:1px solid #4a4030;border-radius:5px;flex-shrink:0;width:24px;height:24px;padding:0;font-size:.75rem;line-height:1}.hud-compact{color:#c8bea8;cursor:pointer;margin:0;font-size:.64rem;line-height:1.25}.hud-panel--collapsed .hud-panel-body{display:none}.hud-panel--collapsed .hud-compact{margin-bottom:0}.hud-panel--collapsed{min-width:0;max-width:min(200px,100vw - 16px);padding:5px 8px}.hud-panel-body{border-top:1px solid #3a3428b3;margin-top:4px;padding-top:4px}.hud-actions{gap:4px;margin-bottom:4px;display:flex}.hud-btn-inline{flex:1;margin-bottom:0}.hud-mode-explore{color:#9ab878}.hud-mode-combat{color:#e0a060}.hud-combat-block--hidden{display:none}.hud-panel{pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#19191ed9;border:1px solid #4a4030d9;border-radius:8px;min-width:120px;padding:6px 8px;box-shadow:0 4px 14px #00000052}.hud-row{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:3px;display:flex}.hud-label{letter-spacing:.05em;text-transform:uppercase;color:#a89878;font-size:.58rem}.hud-value{font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.ap-bar{background:#2a3038;border-radius:3px;height:6px;margin-bottom:4px;overflow:hidden}.ap-bar-fill{background:linear-gradient(90deg,#5a9a4a,#8ed46a);width:100%;height:100%;transition:width .15s}.ap-bar-fill.ap-low{background:linear-gradient(90deg,#a06030,#e09040)}.hud-path-cost{color:#b8a888;margin-bottom:4px;font-size:.62rem;line-height:1.25}.hud-path-cost--hidden{display:none}.hud-hint{color:#787068;margin-bottom:4px;font-size:.58rem}.hud-actions .hud-btn-secondary{flex:1;width:auto;min-height:32px;margin-bottom:0;padding:4px 6px;font-size:.64rem}.hud-btn{color:#f0e6c8;cursor:pointer;border:1px solid #6a5840;border-radius:5px;width:100%;min-height:32px;margin-bottom:4px;padding:5px 8px;font-size:.72rem;font-weight:600}.hud-btn-primary{background:#4d3a28}.hud-btn-secondary{background:#2e2a24;font-size:.64rem}.hud-btn:hover{filter:brightness(1.08)}.hud-btn:active{filter:brightness(.92)}.hud-hint-dev{color:#686058;margin-top:3px;font-size:.55rem}.hud-dummy-hint--hidden{display:none}.hud-spawn-dummies{margin-top:2px}.hud-hint-dev kbd{color:#e8e0c8;background:#2a2620;border:1px solid #4a4030;border-radius:2px;padding:0 4px;font-family:ui-monospace,Consolas,monospace;font-size:.62rem;font-weight:600}.hud-hint-touch{display:none}@media (width<=900px),(pointer:coarse){#game-hud .hud-panel{min-width:min(200px,100vw - 16px)}.hud-hint-desktop{display:none}.hud-hint-touch{display:block}.hud-btn{min-height:32px;font-size:.72rem}}#player-status-bar{bottom:max(8px, env(safe-area-inset-bottom,8px));z-index:1000;pointer-events:none;width:min(380px,100vw - 16px);position:fixed;left:50%;transform:translate(-50%)}.status-bar-panel{pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#19191ed9;border:1px solid #4a4030d9;border-radius:8px;padding:5px 8px;box-shadow:0 -2px 12px #00000059}.status-row{align-items:center;gap:6px;min-height:0;margin-bottom:4px;display:flex}.status-row:last-of-type{margin-bottom:0}.status-label{letter-spacing:.04em;text-transform:uppercase;color:#a89878;flex:0 0 1.65rem;font-size:.58rem;font-weight:700}.status-value{font-variant-numeric:tabular-nums;color:#e8e0c8;flex:none;min-width:3rem;font-size:.74rem;font-weight:600}.status-track{background:#2a3038;border-radius:4px;flex:auto;min-width:0;height:7px;overflow:hidden}.status-fill{width:100%;height:100%;transition:width .15s}.status-fill-hp{background:linear-gradient(90deg,#8a3a3a,#d06050)}.status-fill-ap{background:linear-gradient(90deg,#4a7a3a,#7ed46a)}.status-fill--low{filter:brightness(1.15)}.status-weapon-block{border-top:1px solid #3a3428b3;margin-top:4px;padding-top:4px}.status-weapon-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px;display:flex}.status-weapon-name{color:#f0e6c8;margin:0;font-size:.76rem;font-weight:600;line-height:1.2}.status-weapon-stats{color:#b0a890;margin:0 0 2px;font-size:.62rem;line-height:1.25}.status-weapon-keys{color:#787068;margin:0;font-size:.58rem}.status-weapon-keys kbd{color:#e8e0c8;background:#2a2620;border:1px solid #4a4030;border-radius:2px;padding:0 3px;font-family:ui-monospace,Consolas,monospace;font-size:.58rem}.status-weapon-cycle{pointer-events:auto;color:#f0e6c8;cursor:pointer;background:#2e2a24;border:1px solid #6a5840;border-radius:5px;min-height:32px;padding:4px 8px;font-size:.64rem;font-weight:600;line-height:1.1}.status-weapon-cycle:active{filter:brightness(.92)}@media (width<=900px),(pointer:coarse){#player-status-bar{width:min(420px,100vw - 12px)}.status-bar-panel{padding:5px 8px}.status-weapon-cycle{min-height:32px;padding:4px 10px;font-size:.66rem}}#visual-settings{z-index:1001;color:#e8e0c8;font-family:system-ui,Segoe UI,sans-serif;position:fixed;bottom:12px;right:12px}.vs-fab{color:#f0d898;cursor:pointer;background:#201c16eb;border:1px solid #6a5840;border-radius:50%;width:44px;height:44px;font-size:1.2rem;box-shadow:0 6px 18px #00000059}.vs-body{background:#141820f0;border:1px solid #4a4030;border-radius:8px;width:min(280px,100vw - 24px);padding:12px 14px;position:absolute;bottom:52px;right:0}.vs-body--hidden{display:none}.vs-title{text-transform:uppercase;letter-spacing:.06em;color:#a89878;margin-bottom:8px;font-size:.8rem}.vs-row,.vs-slider-row{align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem;display:flex}.vs-slider-row input[type=range]{flex:1}.vs-hint{color:#888078;margin-top:4px;font-size:.68rem}.vs-hint--hidden{display:none}.film-grain{pointer-events:none;z-index:500;opacity:.15;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}.film-grain--on{display:block}.film-grain:not(.film-grain--on){display:none}@media (width<=600px){#visual-settings{bottom:8px;right:8px}.vs-fab{width:48px;height:48px}}#combat-overlay{pointer-events:none;z-index:1100;position:fixed;inset:0}.combat-toast{pointer-events:none;color:#f0e0c0;text-align:center;background:#0c1014eb;border:1px solid #6a5040;border-radius:8px;max-width:min(90vw,360px);padding:10px 16px;font-size:.95rem;font-weight:600;position:fixed;bottom:42%;left:50%;transform:translate(-50%)}.combat-toast--hidden{display:none}.combat-modal{pointer-events:auto;text-align:center;background:#12161ef5;border:1px solid #6a5840;border-radius:12px;min-width:min(320px,88vw);padding:20px 22px;position:fixed;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px #0000008c}.combat-modal--hidden{display:none}.combat-modal-title{color:#f0e6c8;margin:0 0 16px;font-size:1.15rem;font-weight:700}.combat-modal-btn{color:#f0e6c8;cursor:pointer;background:#4d3a28;border:1px solid #6a5840;border-radius:8px;min-height:44px;padding:10px 24px;font-weight:600}
