*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0b0d18;font-family:Segoe UI,Microsoft YaHei,system-ui,sans-serif;color:#e2e8f0;user-select:none}#app{position:fixed;inset:0}#app canvas{display:block}body.playing #app canvas{cursor:none}body,#app canvas{touch-action:none}#hud,#screens{position:fixed;inset:0;pointer-events:none;z-index:2}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.5) 100%)}#screens>*{pointer-events:auto}.hud-panel{position:absolute;background:#0a0c188c;border:1px solid rgba(148,163,184,.25);border-radius:8px;padding:8px 12px;backdrop-filter:blur(4px)}#hud-hp{top:16px;left:16px;width:240px}.hud-label{font-size:12px;letter-spacing:2px;color:#94a3b8;display:flex;justify-content:space-between;margin-bottom:4px}.hud-label b{color:#e2e8f0;font-variant-numeric:tabular-nums}.bar{height:14px;background:#94a3b826;border-radius:4px;overflow:hidden;position:relative}.bar-fill{height:100%;width:100%;border-radius:4px;transform-origin:left center;transform:scaleX(1);will-change:transform}#hp-hearts{display:none}#hp-hearts-legacy{display:flex;flex-wrap:wrap;gap:2px;font-size:19px;line-height:1}.heart{color:#33202a;text-shadow:0 1px 2px rgba(0,0,0,.6)}.heart:before{content:"♥"}.heart.full{color:#ef4444;text-shadow:0 0 6px rgba(239,68,68,.55),0 1px 2px rgba(0,0,0,.6)}.heart.half{background:linear-gradient(90deg,#ef4444 50%,#33202a 50%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 4px rgba(239,68,68,.4))}#hud-hp.low-hp .heart.full:last-child,#hud-hp.low-hp .heart.half:last-child{animation:heartPulse .7s ease-in-out infinite}@keyframes heartPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.8)}}body.reduce-motion #hud-hp.low-hp .heart,body.reduce-motion #hud-streak.buffed{animation:none}#hp-fill{background:linear-gradient(90deg,#ef4444,#f87171)}#hud-root{position:absolute;inset:0;pointer-events:none}#hud-root>.hud-panel{position:absolute}#hud-hp{top:clamp(10px,2vh,24px);left:calc(16px + env(safe-area-inset-left,0px));width:240px}.hp-bars{position:relative;height:14px;margin-bottom:4px}.hp-bars .bar{position:absolute;inset:0}.hp-ghost-bar .hp-ghost-fill,.hp-main-bar .hp-main-fill{display:block;height:100%;width:100%;border-radius:4px;transform-origin:left center;transform:scaleX(1);will-change:transform}.hp-ghost-bar .hp-ghost-fill{background:#f8fafcbf}.hp-main-bar{overflow:hidden}.hp-main-bar .hp-main-fill{background:linear-gradient(90deg,#ef4444,#f87171)}#hud-hp.low-hp{animation:hpGlow 1.1s ease-in-out infinite}@keyframes hpGlow{0%,to{box-shadow:0 0 4px #ef444440;border-color:#ef444466}50%{box-shadow:0 0 18px #ef4444b3;border-color:#ef4444e6}}body.reduce-motion #hud-hp.low-hp{animation:none}.shield-wrap{margin-top:2px}.shield-wrap .hud-label{font-size:11px;letter-spacing:2px}.shield-wrap .hud-label b{color:#7dd3fc}.shield-bars{position:relative;height:8px}.shield-bars .bar{position:absolute;inset:0;overflow:hidden}.shield-main-fill{display:block;height:100%;width:100%;border-radius:3px;transform-origin:left center;transform:scaleX(1);will-change:transform;background:linear-gradient(90deg,#0ea5e9,#38bdf8);box-shadow:0 0 6px #38bdf866}#hud-dash{bottom:calc(16px + env(safe-area-inset-bottom,0px));left:calc(16px + env(safe-area-inset-left,0px));width:200px;display:flex;align-items:center;gap:10px}.skill-ring{--cd: 1turn;width:46px;height:46px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;background:conic-gradient(#22d3ee var(--cd),rgba(148,163,184,.18) 0);-webkit-mask:radial-gradient(circle,transparent 55%,#000 56%);mask:radial-gradient(circle,transparent 55%,#000 56%)}.skill-ring.ready{filter:drop-shadow(0 0 6px rgba(34,211,238,.8))}.skill-sec{position:absolute;font-family:Consolas,monospace;font-variant-numeric:tabular-nums;font-size:13px;color:#e2e8f0}.skill-name{font-size:12px;letter-spacing:2px;color:#94a3b8}.skill-key{margin-left:6px;font-size:10px;color:#94a3b8;border:1px solid #334155;border-radius:4px;padding:0 4px}#hud-stats{top:clamp(10px,2vh,24px);right:calc(16px + env(safe-area-inset-right,0px));text-align:right;font-size:14px;line-height:1.7}#hud-stats .kill-num{color:#fbbf24;font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}#hud-stats .room-num{color:#67e8f9;font-weight:700}#hud-hint{bottom:16px;right:16px;font-size:11px;color:#94a3b8;line-height:1.6;text-align:right}#hud-boss{top:16px;left:50%;transform:translate(-50%);width:420px;display:none}#hud-boss .hud-label{justify-content:center;color:#fca5a5;letter-spacing:4px}#boss-fill{height:100%;background:linear-gradient(90deg,#dc2626,#f97316)}#minimap-root{position:absolute;top:132px;right:16px;width:140px;height:140px}#minimap,#minimap-overlay{position:absolute;top:0;left:0;width:140px;height:140px;background:#090b16b8;border:1px solid #27304d;border-radius:8px}#minimap-overlay{background:transparent;border:none}#touch-controls{position:fixed;inset:0;pointer-events:none;z-index:3}#touch-controls{display:none}body.playing #touch-controls{display:block}#joy-base{position:fixed;width:120px;height:120px;border-radius:50%;background:#94a3b81f;border:2px solid rgba(148,163,184,.35);pointer-events:none}#joy-knob{position:absolute;left:32px;top:32px;width:56px;height:56px;border-radius:50%;background:#e2e8f059;border:2px solid rgba(226,232,240,.6)}#dash-btn{position:fixed;right:28px;bottom:96px;width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#e2e8f0;background:#22d3ee2e;border:2px solid rgba(34,211,238,.55);pointer-events:auto;user-select:none;-webkit-user-select:none}#dash-btn:active{background:#22d3ee66}#sys-btns{position:fixed;right:24px;bottom:196px;display:flex;flex-direction:column;gap:10px;pointer-events:none}.sys-btn{width:56px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#e2e8f0;background:#0f172aa6;border:1px solid rgba(148,163,184,.4);pointer-events:auto;user-select:none;-webkit-user-select:none}.sys-btn:active{background:#22d3ee4d}#hud-mute{position:absolute;top:414px;right:16px;font-size:11px;color:#f59e0b;display:none;pointer-events:auto;cursor:pointer;padding:4px 8px;border:1px solid rgba(245,158,11,.4);border-radius:6px;background:#0a0c188c}#hud-mute:hover{border-color:#f59e0b}#hud-weapons{top:140px;left:16px;width:186px;padding:8px 10px}#hud-weapons .rack-title{font-size:11px;letter-spacing:2px;color:#94a3b8;margin-bottom:6px}#hud-weapons .rack-key{color:#94a3b8;font-size:10px;letter-spacing:1px}#hud-weapons .w-row{display:flex;align-items:center;gap:7px;padding:3px 7px;border-radius:5px;border-left:3px solid var(--wc, #64748b);background:transparent;opacity:.45;font-size:12px;margin-bottom:2px}#hud-weapons .w-row.active{opacity:1;background:#94a3b824;box-shadow:0 0 10px color-mix(in srgb,var(--wc, #64748b) 35%,transparent)}#hud-weapons .w-row.empty{opacity:.22}#hud-weapons .w-swatch{width:10px;height:10px;border-radius:2px;background:var(--wc, #ffe066);flex:none;box-shadow:0 0 6px var(--wc, #ffe066)}#hud-weapons .w-name{color:#e2e8f0;font-weight:700;letter-spacing:1px;flex:1;white-space:nowrap}#hud-weapons .w-ammo{color:#fde68a;font-weight:700;font-variant-numeric:tabular-nums;font-size:11px}#reload-bar{height:4px;border-radius:2px;background:#94a3b833;overflow:hidden;display:none;margin-top:4px}#reload-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fde68a);transform-origin:left center;will-change:transform}#hud-shards{color:#fbbf24;font-weight:700;font-variant-numeric:tabular-nums;text-shadow:0 0 6px rgba(251,191,36,.45)}.loot-banner{position:fixed;top:17%;left:50%;transform:translate(-50%);min-width:280px;max-width:420px;padding:12px 22px;text-align:center;background:#0a0c18e0;border:1px solid #fbbf24;border-radius:10px;backdrop-filter:blur(4px);animation:lootIn .3s ease-out;pointer-events:none;z-index:30}.loot-banner.out{animation:lootOut .35s ease-in forwards}.loot-title{font-size:18px;font-weight:800;letter-spacing:2px}.loot-desc{margin-top:4px;font-size:12px;color:#cbd5e1;letter-spacing:1px}@keyframes lootIn{0%{opacity:0;transform:translate(-50%) scale(.85)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes lootOut{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-14px) scale(.95)}}body.reduce-motion .loot-banner{animation:none}body.reduce-motion .loot-banner.out{animation:none;opacity:0;transition:opacity .3s}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#05070fb8;backdrop-filter:blur(3px);animation:fadeIn .25s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.title{font-size:64px;font-weight:800;letter-spacing:10px;color:#67e8f9;text-shadow:0 0 30px rgba(34,211,238,.55),0 2px 0 #0e7490;margin-bottom:8px}.subtitle{color:#94a3b8;margin-bottom:36px;letter-spacing:3px}.btn{pointer-events:auto;font-family:inherit;font-size:20px;font-weight:700;letter-spacing:4px;color:#0b0d18;background:linear-gradient(180deg,#67e8f9,#22d3ee);border:none;border-radius:10px;padding:14px 56px;cursor:pointer;box-shadow:0 0 24px #22d3ee66;transition:transform .1s ease,box-shadow .1s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 0 34px #22d3eea6}.btn:active{transform:translateY(0) scale(.95)}.btn:focus-visible{outline:2px solid #22d3ee;outline-offset:2px}.screen{transition:opacity .2s ease}.screen.fade-in{animation:screenIn .2s ease}@keyframes screenIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.screen.fade-out{opacity:0;pointer-events:none}.screen.pause{backdrop-filter:blur(8px);background:#05081099}.screen.death{background:#0000009e;backdrop-filter:none}.death-title{font-size:clamp(34px,6vw,58px);font-weight:800;letter-spacing:14px;color:#ef4444;text-shadow:0 0 24px rgba(239,68,68,.5);margin-bottom:8px}.death-sub{color:#94a3b8;font-size:14px;letter-spacing:2px;margin-bottom:28px}#app canvas{transition:filter .5s ease}body.dying #app canvas{filter:grayscale(1) brightness(.75)}body.reduce-motion #app canvas{transition:none}.screen.loading{background:#05070fe6}.title.small{font-size:clamp(26px,4vw,40px);margin-bottom:26px}.load-bar{width:min(420px,70vw);height:8px;border:1px solid rgba(148,163,184,.35);border-radius:4px;overflow:hidden;margin-bottom:18px}#load-fill{height:100%;background:linear-gradient(90deg,#22d3ee,#67e8f9);border-radius:3px;transform:scaleX(0);transform-origin:left center;transition:transform .3s ease;will-change:transform}.load-tip{color:#94a3b8;font-size:13px;letter-spacing:1px;min-height:1.6em;text-align:center;max-width:min(560px,80vw)}#btn-enter{margin-top:18px}.settings-grid{display:grid;gap:10px;width:min(460px,82vw);margin-bottom:8px}.set-row{display:flex;align-items:center;gap:12px}.set-row span{width:128px;text-align:right;color:#94a3b8;font-size:13px;letter-spacing:1px}.set-row input[type=range]{flex:1;accent-color:#22d3ee}.set-row b{width:48px;font-variant-numeric:tabular-nums;color:#e2e8f0;font-size:13px}.bind-list{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-bottom:6px}.bind-row{display:flex;align-items:center;gap:8px}.bind-btn{min-width:88px;font-variant-numeric:tabular-nums}.bind-btn.listening{border-color:#22d3ee;color:#22d3ee;animation:bindPulse 1s ease-in-out infinite}@keyframes bindPulse{50%{opacity:.55}}.settings-note{color:#94a3b8;font-size:12px;margin-top:10px;letter-spacing:1px;text-align:center}.btn.btn-ghost{background:transparent;color:#94a3b8;border:1px solid #475569;box-shadow:none;font-size:15px;padding:10px 32px}.btn.btn-ghost:hover{color:#e2e8f0;border-color:#94a3b8}.controls-hint{margin-top:40px;display:grid;grid-template-columns:auto auto;gap:6px 18px;font-size:13px;color:#94a3b8}.controls-hint b{color:#cbd5e1;font-weight:600}.menu-shards{font-size:22px;font-weight:800;color:#fbbf24;letter-spacing:2px;margin-bottom:6px;text-shadow:0 0 14px rgba(251,191,36,.45)}.menu-best{font-size:13px;color:#94a3b8;letter-spacing:1px;margin-bottom:26px}.meta-title{font-size:32px;font-weight:800;letter-spacing:8px;color:#67e8f9;text-shadow:0 0 20px rgba(34,211,238,.45);margin-bottom:12px}.meta-balance{display:flex;align-items:baseline;gap:8px;font-size:22px;font-weight:800;color:#fbbf24;letter-spacing:2px;margin-bottom:16px;padding:6px 20px;border-radius:999px;background:#fbbf2414;border:1px solid rgba(251,191,36,.3);text-shadow:0 0 14px rgba(251,191,36,.45);font-variant-numeric:tabular-nums}.meta-balance span{font-size:11px;font-weight:400;letter-spacing:3px;color:#94a3b8;text-shadow:none}.meta-scroll{width:min(1060px,calc(100vw - 48px));max-height:calc(100vh - 224px);overflow-y:auto;padding:0 10px 4px 4px;margin-bottom:20px}.meta-scroll::-webkit-scrollbar{width:6px}.meta-scroll::-webkit-scrollbar-track{background:transparent}.meta-scroll::-webkit-scrollbar-thumb{background:#94a3b847;border-radius:3px}.meta-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:24px}.meta-card{background:#0f1222eb;border:1px solid rgba(148,163,184,.22);border-left:3px solid var(--mc, #64748b);border-radius:12px;padding:18px 14px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .15s ease,border-color .15s ease}.meta-card:hover{transform:translateY(-2px);border-color:#64748b;border-left-color:var(--mc, #64748b)}.meta-card.maxed,.meta-card.maxed:hover{border-color:#fbbf2473}.meta-card .name{font-size:16px;font-weight:700;color:#e2e8f0;margin-bottom:8px}.meta-card .desc{font-size:12px;line-height:1.5;color:#94a3b8;min-height:36px;margin-bottom:10px}.meta-card .pips{display:flex;gap:5px;margin-bottom:12px}.meta-card .pips i{width:18px;height:6px;border-radius:3px;background:#334155}.meta-card .pips i.on{background:#fbbf24;box-shadow:0 0 6px #fbbf2499}.meta-card.weapon,.meta-card.weapon:hover{border-left-color:var(--wc, #ffe066)}.meta-card.weapon .name{display:flex;align-items:center;gap:8px}.meta-card.weapon .w-dot{width:10px;height:10px;border-radius:50%;background:var(--wc, #ffe066);box-shadow:0 0 8px var(--wc, #ffe066);flex:none}body.reduce-motion .meta-card{transition:none}.btn.btn-buy{font-size:14px;letter-spacing:1px;padding:8px 18px;border-radius:8px;width:100%;box-shadow:none;background:linear-gradient(180deg,#fbbf24,#d97706);color:#0b0d18}.btn.btn-buy:hover:not(:disabled){box-shadow:0 0 16px #fbbf2480}.btn.btn-buy:disabled{background:#47556959;color:#64748b;cursor:default;border:1px solid #334155}.upgrade-title{font-size:28px;font-weight:700;letter-spacing:6px;color:#fbbf24;text-shadow:0 0 18px rgba(251,191,36,.4);margin-bottom:32px}.upgrade-cards{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}.upgrade-card{pointer-events:auto;width:220px;padding:24px 20px 20px;background:#0f1222eb;border:2px solid #475569;border-radius:14px;cursor:pointer;font-family:inherit;color:inherit;text-align:left;display:flex;flex-direction:column;transition:transform .12s ease,box-shadow .12s ease,border-color .12s;position:relative}.upgrade-card:hover,.upgrade-card:focus-visible{transform:translateY(-6px);border-color:#67e8f9;box-shadow:0 8px 30px #22d3ee40;outline:none}.upgrade-card.rare{border-color:#b8860b}.upgrade-card.rare:hover,.upgrade-card.rare:focus-visible{border-color:#fbbf24;box-shadow:0 8px 30px #fbbf244d}.upgrade-stat{margin-top:12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.2);display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#94a3b8}.upgrade-stat b{font-variant-numeric:tabular-nums;color:#cbd5e1}.upgrade-stat em{font-style:normal;color:#22d3ee;font-weight:700}.upgrade-card.rare .upgrade-stat em{color:#fbbf24}.upgrade-card .rarity{font-size:11px;letter-spacing:3px;color:#94a3b8;margin-bottom:10px}.upgrade-card.rare .rarity{color:#fbbf24}.upgrade-card .key-hint{position:absolute;top:10px;right:12px;font-size:11px;color:#475569}.upgrade-card .name{font-size:20px;font-weight:700;color:#e2e8f0;margin-bottom:10px}.upgrade-card .desc{font-size:13px;line-height:1.6;color:#94a3b8}.codex-sub{font-size:12px;letter-spacing:.14em;color:#94a3b8;margin:6px 0 16px;font-variant-numeric:tabular-nums}.codex-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;width:min(1060px,calc(100vw - 48px));max-height:calc(100vh - 224px);overflow-y:auto;padding:4px 10px 4px 4px;margin-bottom:24px}.codex-cards::-webkit-scrollbar{width:6px}.codex-cards::-webkit-scrollbar-track{background:transparent}.codex-cards::-webkit-scrollbar-thumb{background:#94a3b847;border-radius:3px}.codex-card{background:#0f1222eb;border:1px solid rgba(148,163,184,.22);border-left:3px solid var(--ec, #ef4444);border-radius:12px;padding:14px 16px;text-align:left;transition:transform .15s ease,border-color .15s ease}.codex-card:hover{transform:translateY(-2px);border-color:#64748b;border-left-color:var(--ec, #ef4444)}.codex-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.codex-dot{width:12px;height:12px;border-radius:50%;background:var(--ec, #ef4444);box-shadow:0 0 8px var(--ec, #ef4444);flex:none}.codex-head .name{font-size:16px;font-weight:700;color:#e2e8f0}.codex-head .kind{font-size:11px;color:#94a3b8;font-family:Consolas,monospace;margin-left:auto}.codex-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.codex-tags i{font-style:normal;font-size:11px;padding:1px 9px;border-radius:999px;color:color-mix(in srgb,var(--ec, #ef4444) 70%,#e2e8f0);background:color-mix(in srgb,var(--ec, #ef4444) 13%,transparent);border:1px solid color-mix(in srgb,var(--ec, #ef4444) 36%,transparent);white-space:nowrap}.codex-bars{display:flex;flex-direction:column;gap:6px}.codex-bar{display:grid;grid-template-columns:34px 1fr 46px;align-items:center;gap:10px;font-size:12px;color:#94a3b8}.codex-bar em{position:relative;height:5px;border-radius:3px;background:#94a3b824;overflow:hidden}.codex-bar em i{position:absolute;inset:0;border-radius:3px;background:color-mix(in srgb,var(--ec, #ef4444) 70%,#e2e8f0);box-shadow:0 0 6px color-mix(in srgb,var(--ec, #ef4444) 70%,#e2e8f0);transform-origin:left;animation:codexBarIn .45s ease-out}@keyframes codexBarIn{0%{transform:scaleX(0)}}.codex-bar b{text-align:right;color:#cbd5e1;font-variant-numeric:tabular-nums}.codex-foot{display:flex;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.14);font-size:12px;color:#eab308;font-variant-numeric:tabular-nums}.codex-foot span{color:#94a3b8}body.reduce-motion .codex-bar em i{animation:none}body.reduce-motion .codex-card{transition:none}.quality-row{flex-wrap:wrap;justify-content:center;max-width:760px}.quality-btn{font-size:13px;padding:8px 16px}.quality-btn.active{border-color:#67e8f9;color:#67e8f9;background:#22d3ee1a}.confirm-title{font-size:30px;font-weight:700;letter-spacing:4px;color:#fca5a5;margin-bottom:16px}.confirm-body{font-size:14px;color:#94a3b8;margin-bottom:28px;max-width:460px;line-height:1.7;text-align:center}.seed-line{font-size:12px;color:#94a3b8;margin-bottom:12px;letter-spacing:1px}.seed-line code{background:#94a3b81f;padding:2px 6px;border-radius:4px;color:#22d3ee;font-family:Consolas,monospace}#hud-hint.fade-out{opacity:0;transition:opacity 1.2s ease-out;pointer-events:none}.end-title{font-size:46px;font-weight:800;letter-spacing:8px;margin-bottom:24px}.end-title.dead{color:#f87171;text-shadow:0 0 24px rgba(248,113,113,.5)}.end-title.win{color:#fbbf24;text-shadow:0 0 24px rgba(251,191,36,.5)}.end-stats{display:flex;gap:44px;margin-bottom:26px}.end-stat{text-align:center}.end-stat .v{font-size:34px;font-weight:800;color:#67e8f9}.end-stat .k{font-size:12px;color:#94a3b8;letter-spacing:2px;margin-top:4px}.end-upgrades{max-width:520px;margin-bottom:36px;text-align:center;font-size:13px;line-height:1.9;color:#94a3b8}.end-upgrades .tag{display:inline-block;margin:2px 4px;padding:3px 10px;border-radius:20px;border:1px solid #475569;font-size:12px}.end-upgrades .tag.rare{border-color:#b8860b;color:#fbbf24}.end-upgrades .none{color:#475569}.btn-row{display:flex;gap:16px}.pause-toggles{display:flex;gap:12px;margin-top:22px}.pause-toggles .btn{font-size:13px;padding:8px 20px}.paused-title{font-size:40px;font-weight:800;letter-spacing:12px;color:#e2e8f0;margin-bottom:36px}.screen.floor-banner{background:#05070f8c;pointer-events:none}.floor-num{font-size:56px;font-weight:800;letter-spacing:14px;color:#67e8f9;text-shadow:0 0 34px rgba(34,211,238,.6);animation:floorIn .5s ease-out}.floor-sub{margin-top:14px;color:#94a3b8;letter-spacing:3px;font-size:14px}@keyframes floorIn{0%{opacity:0;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}@media (max-width: 820px){.hud-panel{font-size:11px;padding:6px 10px}#hud-hp{width:46vw;max-width:220px}#hud-stats{font-size:12px;line-height:1.5}#minimap-root{width:100px;height:100px;top:108px;right:10px}#minimap,#minimap-overlay{width:100px;height:100px}#hud-mute{top:348px;right:10px}#hud-dash{bottom:16px;left:10px;width:42vw;max-width:180px}#hud-weapons{top:126px;width:150px;font-size:11px}#hud-buffs{top:218px;right:10px}#hud-hint,.controls-hint{display:none}.title{font-size:40px}}@media (max-width: 400px){#hud-hp{width:43vw;font-size:10px}#hud-stats{font-size:11px}#minimap-root{width:84px;height:84px;top:104px}#minimap,#minimap-overlay{width:84px;height:84px}#hud-weapons{top:118px;width:138px}#hud-dash{width:40vw}#dash-btn{right:12px;bottom:118px;width:68px;height:68px;font-size:13px}#sys-btns{right:16px;bottom:200px}}#vignette{position:fixed;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,transparent 52%,rgba(220,38,38,.55) 100%);z-index:30}#damage-numbers{position:fixed;inset:0;pointer-events:none;z-index:25;overflow:hidden}.dmg-num{position:absolute;width:60px;text-align:center;font-size:14px;font-weight:700;color:#e2e8f0;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 8px rgba(226,232,240,.35);font-variant-numeric:tabular-nums;will-change:transform,opacity}.dmg-num.crit{font-size:19px;color:#fde047;text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 12px rgba(253,224,71,.6)}.dmg-num.hurt{font-size:17px;color:#f87171;text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 10px rgba(239,68,68,.65)}.dmg-num.shield{font-size:16px;color:#38bdf8;text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 10px rgba(56,189,248,.7)}.dmg-num.float{animation:dmgFloat .7s ease-out forwards}@keyframes dmgFloat{0%{opacity:0;transform:translateY(6px) scale(.85)}15%{opacity:1;transform:translateY(0) scale(1.1)}to{opacity:0;transform:translateY(-26px) scale(1)}}#hud-streak{position:absolute;top:15%;left:50%;transform:translate(-50%);font-size:20px;font-weight:800;letter-spacing:2px;color:#e2e8f0;display:none;border-color:#fbbf2466}#hud-streak.buffed{color:#fbbf24;border-color:#fbbf24;box-shadow:0 0 18px #fbbf2459;animation:streakPulse .8s ease-in-out infinite}@keyframes streakPulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.06)}}.shrine-sub{color:#94a3b8;letter-spacing:3px;font-size:14px;margin-bottom:28px}.shrine-cards{display:flex;gap:24px;margin-bottom:30px}.shrine-card{position:relative;width:250px;padding:26px 22px 22px;background:#0f1222eb;border:2px solid #475569;border-radius:14px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s;font-family:inherit;color:inherit;text-align:center}.shrine-card .name{display:block;font-size:21px;font-weight:800;margin-bottom:10px;letter-spacing:3px}.shrine-card .desc{display:block;font-size:13px;line-height:1.7;color:#94a3b8}.shrine-card .key-hint{position:absolute;top:8px;right:12px;font-size:11px;color:#475569}.shrine-card.blood{border-color:#7f1d1d}.shrine-card.blood .name{color:#f87171}.shrine-card.blood:hover{transform:translateY(-6px);border-color:#f87171;box-shadow:0 8px 30px #f8717140}.shrine-card.greed{border-color:#92400e}.shrine-card.greed .name{color:#fbbf24}.shrine-card.greed:hover{transform:translateY(-6px);border-color:#fbbf24;box-shadow:0 8px 30px #fbbf244d}#hud-buffs{top:284px;right:16px;display:flex;flex-direction:column;gap:6px;align-items:stretch;background:transparent;border:none;backdrop-filter:none;padding:0}.buff-badge{display:none;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.5px;font-variant-numeric:tabular-nums;border:1px solid rgba(255,255,255,.25);animation:buffIn .18s ease-out}.buff-badge[data-k=shield]{background:#38bdf838;color:#7dd3fc}.buff-badge[data-k=rage]{background:#ef444438;color:#fca5a5}.buff-badge[data-k=freeze]{background:#e0f2fe2e;color:#bae6fd}.buff-badge[data-k=magnet]{background:#c084fc33;color:#d8b4fe}.buff-badge[data-k=vision]{background:#5eead42e;color:#5eead4}@keyframes buffIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}#world-ui{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:24}.w-hp{position:fixed;left:0;top:0;will-change:transform}.w-hp-name{display:block;text-align:center;font-size:10px;letter-spacing:1px;color:#fca5a5;text-shadow:0 1px 2px rgba(0,0,0,.9);margin-bottom:2px;white-space:nowrap}.w-hp-bar{width:56px;height:5px;margin:0 auto;background:#0f121ed9;border:1px solid rgba(148,163,184,.4);border-radius:2px;overflow:hidden}.w-hp-bar i{display:block;height:100%;background:linear-gradient(90deg,#ef4444,#f87171);transform-origin:left center;will-change:transform}.w-quest{position:fixed;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:4px;will-change:transform,opacity}.w-quest-diamond{width:12px;height:12px;background:#fbbf24;border:1px solid rgba(251,191,36,.8);box-shadow:0 0 8px #fbbf24b3;transform:rotate(45deg)}.w-quest-dist{font-size:11px;font-variant-numeric:tabular-nums;color:#fbbf24;text-shadow:0 1px 2px rgba(0,0,0,.9)}.w-quest-arrow{position:fixed;left:0;top:0;font-size:20px;color:#fbbf24;text-shadow:0 0 8px rgba(251,191,36,.7),0 1px 2px rgba(0,0,0,.9);will-change:transform,opacity}.w-pickup{position:fixed;left:0;top:0;padding:5px 14px;border-radius:14px;background:#0f121ee0;border:1px solid rgba(34,211,238,.55);color:#a5f3fc;font-size:12px;font-weight:600;letter-spacing:1px;white-space:nowrap;opacity:0;transition:opacity .25s ease;will-change:transform,opacity}.w-pickup.show{opacity:1}#hud-toast-stack{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(96px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none;z-index:60}.toast-item{padding:8px 18px;border-radius:20px;background:#0f121ee0;border:1px solid rgba(148,163,184,.35);color:#e2e8f0;font-size:13px;font-weight:600;letter-spacing:1px;opacity:0;transform:translate(120%);transition:opacity .25s ease,transform .25s ease;will-change:transform,opacity}.toast-item.show{opacity:1;transform:translate(0)}.toast-item.out{opacity:0;transform:translate(120%)}.hit-marker{position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:55;will-change:transform}.hit-marker i{position:absolute;left:0;top:0;display:block;font-style:normal;font-size:15px;font-weight:700;color:#f8fafceb;text-shadow:0 0 4px rgba(0,0,0,.8);opacity:0;will-change:transform,opacity}.hit-marker.kill i{color:#fbbf24;font-size:20px;text-shadow:0 0 8px rgba(251,191,36,.7),0 0 3px rgba(0,0,0,.9)}.hit-marker i.pop{animation:hitPop .3s ease-out forwards}.hit-marker.kill i.pop{animation:hitPopKill .5s ease-out forwards}@keyframes hitPop{0%{opacity:1;transform:translate(-50%,-50%) scale(1.7)}55%{opacity:1;transform:translate(-50%,-50%) scale(.9)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes hitPopKill{0%{opacity:1;transform:translate(-50%,-50%) scale(2.1) rotate(10deg)}55%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1.15)}}.hit-dir{position:fixed;left:50%;top:50%;font-size:22px;color:#f87171;text-shadow:0 0 8px rgba(239,68,68,.8),0 1px 3px rgba(0,0,0,.8);pointer-events:none;z-index:55;opacity:0;will-change:transform,opacity}.hit-dir.flash{animation:hitDirFlash .6s ease-out forwards}@keyframes hitDirFlash{0%{opacity:.95}70%{opacity:.7}to{opacity:0}}.boss-seg{position:absolute;top:-2px;bottom:-2px;width:3px;background:#0b0d18;border-left:1px solid rgba(148,163,184,.45);border-right:1px solid rgba(148,163,184,.45);pointer-events:none}#hud-boss.phase-flash{animation:bossPhaseFlash .5s ease-out}@keyframes bossPhaseFlash{0%{opacity:1}20%{opacity:.3}40%{opacity:1}60%{opacity:.45}to{opacity:1}}body.reduce-motion #hud-boss.phase-flash,body.reduce-motion .hit-dir.flash{animation:none}@media (max-width: 820px){#hud-buffs{top:218px;right:10px}}.pause-card{display:flex;flex-direction:column;align-items:stretch;width:min(400px,calc(100vw - 48px));padding:26px 26px 16px;background:#0a0c18c7;border:1px solid rgba(148,163,184,.22);border-radius:12px;box-shadow:0 18px 60px #00000073;backdrop-filter:blur(14px);animation:pauseIn .25s ease-out}@keyframes pauseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}body.reduce-motion .pause-card{animation:none}.pause-eyebrow{text-align:center;font-size:11px;letter-spacing:6px;text-indent:6px;text-transform:uppercase;color:#94a3b8;margin-bottom:4px}.pause-card .paused-title{font-size:32px;letter-spacing:14px;text-indent:14px;text-align:center;color:#e2e8f0;margin-bottom:22px}.pause-resume{width:100%;padding:13px 0;font-size:18px;letter-spacing:10px;text-indent:10px;border-radius:8px}.pause-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.pause-grid3 .btn-ghost{padding:9px 0;font-size:13px;letter-spacing:1px;text-align:center;white-space:nowrap}.pause-divider{height:1px;background:#94a3b82e;margin:16px 0 6px}.pause-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 6px;background:none;border:none;color:#cbd5e1;font-family:inherit;font-size:14px;letter-spacing:2px;cursor:pointer;pointer-events:auto;border-radius:6px;transition:background-color .15s ease}button.pause-row:hover{background:#94a3b814}.pause-row.static{cursor:default;margin-top:8px}button.pause-row.static:hover{background:none}.pause-row .state{font-size:12px;font-weight:700;letter-spacing:2px;text-indent:2px;padding:2px 12px;border-radius:999px;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.pause-row .state.on{color:#67e8f9;background:#22d3ee1f;border:1px solid rgba(34,211,238,.35)}.pause-row .state.off{color:#64748b;background:#64748b1f;border:1px solid rgba(100,116,139,.35)}.pause-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 6px}.pause-seg .quality-btn{padding:9px 2px;font-size:12px;letter-spacing:.5px;text-align:center;white-space:nowrap;border-radius:8px;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.pause-card .settings-note{margin-top:10px}.screen.settings{backdrop-filter:blur(8px);background:#05081099}.settings-card{display:flex;flex-direction:column;width:min(420px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow-y:auto;padding:24px 26px 18px;background:#0a0c18c7;border:1px solid rgba(148,163,184,.22);border-radius:12px;box-shadow:0 18px 60px #00000073;backdrop-filter:blur(14px);animation:pauseIn .25s ease-out}body.reduce-motion .settings-card{animation:none}.settings-title{font-size:28px;font-weight:800;letter-spacing:12px;text-indent:12px;text-align:center;color:#e2e8f0;margin-bottom:18px}.settings-sub{font-size:11px;letter-spacing:4px;color:#94a3b8;margin:14px 0 8px;padding-bottom:5px;border-bottom:1px solid rgba(148,163,184,.14)}.settings-card .set-row{display:flex;align-items:center;gap:12px;padding:2px 0}.settings-card .set-row span{width:104px;text-align:left;color:#94a3b8;font-size:13px;letter-spacing:1px;flex:none}.settings-card .set-row input[type=range]{flex:1;min-width:0;accent-color:#22d3ee}.settings-card .set-row b{width:44px;text-align:right;font-variant-numeric:tabular-nums;color:#e2e8f0;font-size:13px;flex:none}.bind-col{display:flex;flex-direction:column;gap:6px}.bind-row{display:flex;justify-content:space-between;align-items:center}.bind-row span{color:#94a3b8;font-size:13px;letter-spacing:1px}.bind-col .bind-btn{min-width:96px;padding:7px 0;font-size:13px;text-align:center}.settings-card .settings-note{margin-top:14px}.settings-back{margin-top:12px;padding:10px 0;text-align:center}
