:root{--ink: #04080a;--void: #090f11;--deep: #101a1d;--raise: #182528;--line: #243639;--line-hot: #334e53;--bg-deep: var(--void);--panel: var(--deep);--panel-hi: var(--raise);--hud-bg: var(--deep);--hud-line: var(--raise);--hud-fg: #eef4f5;--hud-dim: #93a8ad;--faint: #5f7278;--hp: #00e07a;--hp-low: #ff3d5a;--gold: #ffc531;--gold-hi: #ffe27a;--gold-lo: #e08c12;--gold-grad: linear-gradient(180deg, var(--gold-hi) 0%, var(--gold) 46%, var(--gold-lo) 100%);--gold-glow: 0 0 24px -2px rgba(255, 197, 49, .55);--event: #e8f2f4;--event-hi: #ffffff;--event-lo: #9fb4b8;--event-grad: linear-gradient(180deg, var(--event-hi) 0%, var(--event) 52%, var(--event-lo) 100%);--event-glow: 0 0 30px -2px rgba(232, 242, 244, .55);--ult: #22d3ee;--ult-hi: #7ef0ff;--ult-lo: #0e93ab;--ult-grad: linear-gradient(180deg, var(--ult-hi) 0%, var(--ult) 48%, var(--ult-lo) 100%);--danger: #ff3d5a;--self-color: #5ce1ff;--bevel-sm: 0 2px 0 0 var(--ink);--bevel: 0 4px 0 0 var(--ink);--bevel-lg: 0 6px 0 0 var(--ink);--r-chunk: 16px;--r-tile: 12px;--r-pill: 999px;--shout-font: "Lilita One", "Fredoka", "IBM Plex Sans", system-ui, sans-serif;--display-font: "Fredoka", "IBM Plex Sans", system-ui, -apple-system, sans-serif;--ui-font: "IBM Plex Sans", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;--num-font: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}.out{-webkit-text-stroke:2px var(--ink);paint-order:stroke fill}.shout{font-family:var(--shout-font);font-weight:400;letter-spacing:.02em;line-height:.92;text-transform:uppercase;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-wrap:balance}.shout-sm{-webkit-text-stroke-width:2px}.shout-gold{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:0;filter:drop-shadow(2px 0 0 var(--ink)) drop-shadow(-2px 0 0 var(--ink)) drop-shadow(0 2px 0 var(--ink)) drop-shadow(0 -2px 0 var(--ink)) drop-shadow(0 4px 0 rgba(0,0,0,.55))}.shout-event{background:var(--event-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:0;filter:drop-shadow(2px 0 0 var(--ink)) drop-shadow(-2px 0 0 var(--ink)) drop-shadow(0 2px 0 var(--ink)) drop-shadow(0 -2px 0 var(--ink)) drop-shadow(0 4px 0 rgba(0,0,0,.55))}.label{font-family:var(--ui-font);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ult);box-shadow:0 0 8px var(--ult);animation:dotPulse 1.6s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#090f11;color:var(--hud-fg);font-family:var(--ui-font);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#game,#game canvas{position:fixed;inset:0;width:100%;height:100%;display:block}#hud{position:fixed;inset:0;pointer-events:none;z-index:20}#bottom-dock{position:absolute;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:center;gap:12px;pointer-events:none}#bottom-dock>[hidden]{display:none}#combat-hud{position:absolute;inset:0;pointer-events:none}.hud-top{position:absolute;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px}.hud-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:3px solid var(--ink);border-radius:var(--r-pill);background:var(--raise);box-shadow:var(--bevel-sm);font-family:var(--num-font);font-variant-numeric:tabular-nums;white-space:nowrap}.hud-chip .label{font-size:9px;font-weight:800;color:var(--hud-dim)}.hud-chip .value{font-size:16px;font-weight:700;line-height:1;color:#fff}.hud-chip.clock{height:44px;padding:0 16px}.hud-chip.clock .value{font-size:24px;letter-spacing:.02em}.hud-chip.clock.urgent .value{color:var(--hp-low)}.hud-chip.pot{background:var(--gold-grad);box-shadow:var(--bevel-sm),var(--gold-glow)}.hud-chip.pot .label{color:#04080a9e}.hud-chip.pot .value{color:var(--ink)}.ability-row{order:1;display:flex;align-items:flex-end;gap:10px}.ability-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.ability-slot .key{padding:2px 7px 3px;border:2px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--hud-dim);font-family:var(--num-font);font-size:10px;font-weight:700;line-height:1;letter-spacing:.04em;white-space:nowrap}.ability-slot .ready-tag{position:absolute;left:50%;top:-13px;transform:translate(-50%);z-index:2;display:inline-flex;align-items:center;height:18px;padding:0 7px;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--ult-grad);color:var(--ink);font-family:var(--num-font);font-size:9px;font-weight:800;letter-spacing:.12em;white-space:nowrap}.ability-slot .ready-tag[hidden]{display:none}.ability{position:relative;width:54px;height:54px;border:3px solid var(--ink);border-radius:var(--r-tile);background:var(--raise);box-shadow:var(--bevel-sm);display:grid;place-items:center;overflow:hidden;appearance:none;padding:0;color:var(--hud-fg);font-family:inherit;pointer-events:auto;cursor:pointer;transition:transform 60ms ease-out,box-shadow 60ms ease-out}.ability.ult-slot{width:64px;height:64px}.ability:focus-visible{outline:3px solid var(--ult);outline-offset:3px}.ability.pressed{transform:translateY(2px);box-shadow:0 0 0 0 var(--ink)}.ability .glyph{font-family:var(--display-font);font-size:15px;font-weight:700;letter-spacing:.02em;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill}.ability .art{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;pointer-events:none;filter:brightness(.8) saturate(.85)}.ability.has-art .glyph{display:none}.ability .charge{position:absolute;left:0;right:0;bottom:0;height:var(--charge-pct, 0%);background:#22d3ee42;border-top:2px solid var(--ult);pointer-events:none}.ability.ult-slot.charged{box-shadow:var(--bevel-sm),inset 0 0 0 2px var(--ult),0 0 18px -2px #22d3eeb3}.ability.ult-slot.charged .charge{display:none}.ability.ult-slot.locked .art{filter:grayscale(.6) brightness(.45)}.ability .cd{position:absolute;left:0;right:0;top:0;height:var(--cd-left, 0%);background:#04080acc;pointer-events:none}.ability .cd-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-family:var(--num-font);font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:#fff;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill}.ability.locked{cursor:default}.ability .cd,.ability .cd-text,.ability .charge{z-index:1}.ability-tip{position:fixed;z-index:40;width:240px;padding:10px 12px 11px;background:var(--raise);border:3px solid var(--ink);border-radius:var(--r-chunk);box-shadow:var(--bevel);pointer-events:none}.ability-tip[hidden]{display:none}.tip-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:5px}.tip-name{font-family:var(--shout-font);font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:#fff}.tip-key{font-family:var(--num-font);font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--hud-dim)}.tip-stats{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}.tip-stats span{font-family:var(--num-font);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--void);border:2px solid var(--ink);border-radius:var(--r-pill);padding:1px 7px}.tip-shape{font-size:10px;font-weight:700;color:var(--gold);margin-bottom:6px}.tip-body{margin:0;font-size:12px;line-height:1.4;color:var(--hud-fg)}.char-info{position:absolute;top:6px;right:6px;width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:var(--panel-hi);border:2px solid var(--ink);font-size:10px;font-weight:800;line-height:1;cursor:pointer}.char-info:hover{background:var(--gold);color:var(--ink)}#character-sheet{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center}#character-sheet[hidden]{display:none}.cs-scrim{position:absolute;inset:0;background:#04080ab8}.cs-panel{position:relative;display:flex;flex-direction:column;width:min(390px,94vw);max-height:min(844px,92vh);background:var(--bg-deep);border:3px solid var(--ink);border-radius:20px;box-shadow:0 8px 0 0 var(--ink);overflow:hidden}.cs-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:12px;background:var(--panel);border:3px solid var(--ink);color:var(--hud-fg);font-family:var(--ui-font);font-size:14px;font-weight:800;cursor:pointer}.cs-tabs{display:flex;gap:5px;padding:12px 52px 10px 12px;flex:none}.cs-tab{flex:1 1 0;min-width:0;padding:6px 2px;border-radius:10px;background:var(--panel);border:3px solid var(--ink);color:var(--hud-dim);font-family:var(--display-font);font-size:11px;font-weight:700;cursor:pointer}.cs-tab.on{background:var(--char);color:var(--ink)}.cs-body{flex:1 1 auto;overflow-y:auto;padding:0 12px 12px}.cs-hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:6px 0 12px;text-align:center}.cs-glow{position:absolute;top:-10px;width:230px;height:170px;border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--char) 28%,transparent) 0%,transparent 70%);pointer-events:none}.cs-ticker{position:relative;font-family:var(--display-font);font-size:52px;font-weight:700;line-height:1.05;color:var(--char);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill}.cs-archetype{position:relative;font-family:var(--display-font);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--hud-fg)}.cs-fantasy{position:relative;margin-top:7px;max-width:300px;font-size:12px;font-weight:600;color:var(--hud-dim)}.cs-wip{position:relative;margin-top:8px;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--gold)}.cs-stats{display:flex;gap:8px;margin-bottom:12px}.cs-stat{flex:1 1 0;display:flex;flex-direction:column;align-items:center;background:var(--panel);border:3px solid var(--ink);border-radius:14px;padding:8px 4px}.cs-stat-value{font-family:var(--display-font);font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}.cs-stat-value.cs-hp{color:var(--hp)}.cs-stat-value.cs-speed{color:#00d4ff}.cs-stat-value.cs-dmg{color:var(--ult)}.cs-stat-label{font-size:9px;font-weight:800;color:var(--hud-dim)}.cs-abilities{display:flex;flex-direction:column;gap:9px}.cs-ability{display:flex;align-items:flex-start;gap:10px;background:var(--panel);border:3px solid var(--ink);border-radius:16px;padding:10px;box-shadow:0 4px 0 0 var(--ink)}.cs-ability.ult{background:var(--panel-hi)}.cs-slot{flex:none;width:44px;height:44px;display:grid;place-items:center;background:var(--panel-hi);border:3px solid var(--ink);border-radius:13px;font-family:var(--display-font);font-size:13px;font-weight:700;color:var(--char)}.cs-ability.ult .cs-slot{background:var(--ult);color:var(--hud-fg)}.cs-ability-text{flex:1 1 auto;min-width:0}.cs-ability-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cs-ability-name{font-family:var(--display-font);font-size:14px;font-weight:600}.cs-badge{font-size:9px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--gold);border-radius:999px;padding:2px 7px}.cs-badge.ult{color:var(--hud-fg);background:var(--ult)}.cs-ability-shape{display:block;margin:2px 0 3px;font-size:10px;font-weight:700;color:var(--gold)}.cs-ability-text p{margin:0;font-size:11px;font-weight:600;line-height:1.4;color:var(--hud-dim)}.cs-play{flex:none;margin:12px;height:54px;background:var(--hp);border:3px solid var(--ink);border-radius:18px;box-shadow:0 5px 0 0 var(--ink);color:var(--ink);font-family:var(--display-font);font-size:19px;font-weight:700;cursor:pointer}.cs-play:active{transform:translateY(5px);box-shadow:0 0 0 0 var(--ink)}#kill-feed{position:absolute;top:calc(62px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:5px;pointer-events:none}.kf-row{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border:3px solid var(--ink);border-radius:9px;background:#101a1deb;box-shadow:var(--bevel-sm);white-space:nowrap;animation:kfIn .16s ease-out;transition:opacity .26s ease-out}.kf-row .killer,.kf-row .victim{font-family:var(--shout-font);font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:#fff;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill}.kf-row .killer.zone{color:var(--hud-dim)}.kf-row .verb{color:var(--hud-dim);font-size:13px;line-height:1}.kf-row .place{font-family:var(--num-font);font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--faint)}.kf-row.mine{box-shadow:var(--bevel-sm),inset 0 0 0 2px var(--gold),var(--gold-glow)}.kf-row.mine .place{color:var(--gold)}.kf-row.fading{opacity:0}@keyframes kfIn{0%{transform:translate(16px);opacity:0}}#damage-numbers{position:absolute;inset:0;pointer-events:none;overflow:hidden}.dmg{font-family:var(--num-font);position:absolute;font-weight:700;font-size:22px;font-variant-numeric:tabular-nums;color:#fff;-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;will-change:transform,opacity;transform:translate(-50%,-50%)}.dmg.taken{color:var(--hp-low)}.dmg.dealt{color:#fff}.dmg.crit{font-size:30px}#announce-layer{position:absolute;top:calc(62px + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.announce{width:min(400px,calc(100vw - 32px));overflow:hidden;text-align:center;border:3px solid var(--ink);animation:annIn .22s ease-out;transition:opacity .3s ease-out}.announce.fading{opacity:0}@keyframes annIn{0%{transform:translateY(-10px) scale(.96);opacity:0}}.announce.chaos{padding:0 18px 12px;border-radius:var(--r-chunk);background:linear-gradient(180deg,var(--raise) 0%,var(--deep) 100%);box-shadow:var(--bevel),var(--event-glow),inset 0 0 0 1px var(--event-lo)}.ann-strip{display:flex;align-items:center;justify-content:center;gap:10px;height:22px;margin:0 -18px;background:var(--event-grad);color:var(--ink);font-family:var(--num-font);font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.ann-strip svg{width:9px;height:9px;fill:currentColor}.announce.chaos .ann-title{display:grid;justify-items:center;font-size:44px;margin-top:9px;-webkit-text-stroke:0}.announce.chaos .ann-title>span{grid-area:1 / 1;white-space:nowrap}.ann-title-ink{color:var(--ink);-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 rgba(0,0,0,.55)}.ann-title-face{background:var(--event-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.ann-desc{margin-top:4px;font-family:var(--ui-font);font-size:12px;line-height:1.4;color:var(--hud-dim)}.ann-desc b{font-family:var(--num-font);font-weight:700;color:#fff}.ann-conds{order:10;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(400px,calc(100vw - 32px))}.ann-cond{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 9px;border:2px solid var(--ink);border-radius:7px;background:#090f11eb;box-shadow:var(--bevel-sm);font-family:var(--num-font);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;animation:annIn .18s ease-out}.ann-cond:before{content:"";position:absolute;inset:0;width:calc(var(--k, 0) * 100%);background:#e8f2f429}.ann-cond b,.ann-cond .t{position:relative}.ann-cond b{color:var(--event)}.ann-cond .t{color:var(--hud-dim);font-variant-numeric:tabular-nums;text-transform:none}.ann-cond.ending{animation:condEnding .5s steps(2,jump-none) infinite}@keyframes condEnding{to{border-color:var(--event)}}#announce-layer.tremor{animation:annTremor 90ms linear infinite alternate}@keyframes annTremor{0%{transform:translate(-50%) translate(-1.5px)}to{transform:translate(-50%) translate(1.5px,1px)}}.announce.chaos .ann-row{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:7px}.ann-pips{display:flex;gap:4px}.ann-pip{width:24px;height:11px;border:2px solid var(--ink);border-radius:3px;background:var(--void)}.ann-pip.on{background:var(--event-grad);box-shadow:0 0 8px #e8f2f4b3}.ann-in{display:flex;align-items:baseline;gap:7px}.ann-in .label{color:var(--event);font-size:12px}.ann-in .ann-n{font-size:38px;color:#fff;line-height:.9;font-variant-numeric:tabular-nums}.announce.zone{border-radius:10px;background:#090f11f0;box-shadow:var(--bevel)}.ann-stripe{height:9px;background:repeating-linear-gradient(-45deg,#fff 0 9px,var(--ink) 9px 18px)}.ann-body{padding:8px 16px 10px}.announce.zone .ann-title{font-size:28px;color:#fff}.announce.zone .ann-row{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:5px;font-family:var(--num-font);font-size:12px;color:var(--hud-dim)}.announce.zone .ann-row b{font-size:18px;font-weight:700;color:var(--ult);font-variant-numeric:tabular-nums}.announce.countdown{position:fixed;left:50%;top:50%;width:auto;max-width:calc(100vw - 32px);transform:translate(-50%,-58%);overflow:visible;border:0;background:none;box-shadow:none;padding:0;animation:countIn .18s cubic-bezier(.16,1,.3,1)}@keyframes countIn{0%{transform:translate(-50%,-58%) scale(.86);opacity:0}}.ann-bell{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px;color:var(--gold-hi);font-size:11px;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill}.ann-bell svg{width:16px;height:16px;fill:currentColor;stroke:var(--ink);stroke-width:1}.ann-count{font-size:clamp(96px,26vh,200px);line-height:.82;white-space:nowrap;filter:drop-shadow(4px 0 0 var(--ink)) drop-shadow(-4px 0 0 var(--ink)) drop-shadow(0 4px 0 var(--ink)) drop-shadow(0 -4px 0 var(--ink)) drop-shadow(0 9px 0 rgba(0,0,0,.55)) drop-shadow(0 0 28px rgba(255,197,49,.45))}.ann-count.word{font-size:clamp(44px,13vh,96px)}#death-cam{position:absolute;inset:0;pointer-events:none;display:none}#death-cam.active{display:block}#death-cam.active:before{content:"";position:absolute;inset:0;background:#04080a61}.dc-banner{position:absolute;top:calc(58px + env(safe-area-inset-top));left:50%;transform:translate(-50%);text-align:center;white-space:nowrap}.dc-banner .headline{font-size:clamp(40px,8vw,58px);color:var(--hp-low)}.dc-banner .headline.win{color:var(--gold)}.dc-banner .sub{margin-top:6px;font-family:var(--shout-font);font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--hud-dim);-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill}.dc-banner .sub .who{color:#fff}.dc-hint{order:3;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--hud-dim);text-align:center;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill}.dc-panel{order:2;display:flex;align-items:stretch;gap:12px;padding:10px;border:3px solid var(--ink);border-radius:var(--r-chunk);background:var(--raise);box-shadow:var(--bevel);pointer-events:auto}.dc-stats{display:flex;gap:6px}.dc-stat{display:flex;flex-direction:column;justify-content:center;min-width:90px;padding:6px 10px 7px;text-align:center;white-space:nowrap;border:2px solid var(--ink);border-radius:10px;background:var(--deep)}.dc-stat .label{display:block}.dc-stat .value{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:3px;font-family:var(--num-font);font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;color:#fff}.dc-stat.pot .label,.dc-stat.pot .value{color:var(--gold)}.dc-cta{display:flex;flex-direction:column;justify-content:center;gap:6px;width:212px}.dc-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:60px;padding:0 28px;appearance:none;border:3px solid var(--ink);border-radius:var(--r-chunk);background:var(--gold-grad);color:var(--ink);font-family:var(--shout-font);font-size:23px;letter-spacing:.04em;text-transform:uppercase;box-shadow:var(--bevel-lg),var(--gold-glow);pointer-events:auto;cursor:pointer;transition:transform 70ms,box-shadow 70ms,filter .12s}.dc-btn:hover{filter:brightness(1.08)}.dc-btn:active{transform:translateY(6px);box-shadow:0 0 0 0 var(--ink)}.dc-btn:focus-visible{outline:3px solid var(--ult);outline-offset:3px}#boot-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:radial-gradient(ellipse at center,#101a1d,#090f11 70%);transition:opacity .42s ease-out}#boot-overlay.hidden{opacity:0;pointer-events:none}.boot-title{font-size:clamp(30px,8vw,62px);font-weight:900;letter-spacing:.22em;text-align:center}.boot-status{margin-top:12px;text-align:center;font-size:13px;letter-spacing:.16em;color:var(--hud-dim);text-transform:uppercase}.boot-status.error{color:var(--danger);text-transform:none;letter-spacing:.04em}#rotate-prompt{display:none}@media (orientation: portrait) and (max-width: 600px){#rotate-prompt{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at center,var(--deep) 0%,var(--void) 70%);color:var(--hud-fg);font-family:var(--ui-font);text-align:center;touch-action:none}}.rotate-card{display:grid;justify-items:center;gap:12px;max-width:320px}.rotate-phone{width:46px;height:78px;margin-bottom:12px;border:4px solid var(--gold);border-radius:10px;position:relative;animation:rotate-hint 2.4s ease-in-out infinite}.rotate-phone span{position:absolute;bottom:5px;left:50%;width:12px;height:3px;margin-left:-6px;border-radius:2px;background:var(--gold)}@keyframes rotate-hint{0%,20%{transform:rotate(0)}50%,80%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion: reduce){.rotate-phone{animation:none;transform:rotate(-90deg)}}.rotate-title{font-family:var(--shout-font);font-size:28px;letter-spacing:.04em;text-transform:uppercase}.rotate-sub{font-size:14px;color:var(--hud-dim)}.rotate-btn{margin-top:12px;min-height:52px;padding:0 24px;appearance:none;border:3px solid var(--ink);border-radius:var(--r-chunk);background:var(--gold-grad);color:var(--ink);font-family:var(--shout-font);font-size:20px;letter-spacing:.04em;text-transform:uppercase;box-shadow:var(--bevel-lg),var(--gold-glow);cursor:pointer}.rotate-btn:active{transform:translateY(6px);box-shadow:0 0 0 0 var(--ink)}#touch-layer{position:fixed;inset:0;z-index:30;pointer-events:none}#joystick-zone{position:absolute;left:env(safe-area-inset-left);bottom:env(safe-area-inset-bottom);width:min(44vw,340px);height:min(52vh,320px);pointer-events:auto}#joystick-visual{position:absolute;width:0;height:0;pointer-events:none}#joystick-base{position:absolute;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;border:3px solid var(--ink);background:#101a1d8c}#joystick-thumb{position:absolute;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--raise);border:3px solid var(--ink);box-shadow:var(--bevel-sm),inset 0 5px #ffffff24}.tbtn{position:absolute;display:grid;place-items:center;border-radius:50%;border:3px solid var(--ink);background:var(--raise);box-shadow:var(--bevel-sm),inset 0 5px #ffffff1f;color:var(--hud-fg);overflow:hidden;transition:transform 60ms ease-out,box-shadow 60ms ease-out}.tbtn .art{position:absolute;inset:-1px;background-size:cover;background-position:center;background-repeat:no-repeat;pointer-events:none;filter:brightness(.8) saturate(.85)}#tb-ultimate.locked .art{filter:grayscale(.6) brightness(.45)}#tb-ultimate.charged{box-shadow:var(--bevel-sm),inset 0 0 0 3px var(--ult),0 0 18px -2px #22d3eeb3}.tbtn .cd{position:absolute;left:0;right:0;top:0;height:var(--cd-left, 0%);background:#04080acc;pointer-events:none}.tbtn .cd-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-family:var(--num-font);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:#fff;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;pointer-events:none}.tbtn.pressed{transform:translateY(2px);box-shadow:0 0 0 0 var(--ink),inset 0 5px #ffffff1f}.tbtn.locked{cursor:default}#ability-cluster{position:absolute;right:calc(env(safe-area-inset-right) + 12px);bottom:calc(env(safe-area-inset-bottom) + 12px);width:300px;height:210px;pointer-events:auto;transform-origin:100% 100%}@media (max-width: 700px){#ability-cluster{transform:scale(.86)}}@media (max-width: 600px){#ability-cluster{transform:scale(.76)}}#tb-basic{right:18px;bottom:18px;width:96px;height:96px}#tb-skill1{right:128px;bottom:36px;width:72px;height:72px}#tb-ultimate{right:104px;bottom:122px;width:84px;height:84px}#tb-skill2{right:24px;bottom:132px;width:72px;height:72px}#tb-dash{right:214px;bottom:40px;width:62px;height:62px}#tb-jump{right:196px;bottom:124px;width:62px;height:62px}body:not(.touch) #touch-layer{display:none}body.touch .ability-row{display:none}.respawn-prompt{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:10px;width:auto;background:var(--raise);border:3px solid var(--ink);border-radius:var(--r-chunk);box-shadow:var(--bevel);padding:16px 26px}.respawn-title{margin:0;font-family:var(--shout-font);letter-spacing:.04em;text-transform:uppercase;font-size:22px;color:var(--hp-low);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill}.respawn-btn{min-height:48px;min-width:160px;padding:0 22px;border-radius:var(--r-chunk);border:3px solid var(--ink);background:var(--deep);box-shadow:var(--bevel);color:#fff;font-family:var(--shout-font);font-size:17px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.respawn-btn:active{transform:translateY(4px);box-shadow:0 0 0 0 var(--ink)}.respawn-sub{margin:0;font-size:12px;color:var(--hud-dim)}body.deathcam-active .ability-row,body.deathcam-active #touch-layer{display:none}@media (max-height: 500px){.hud-top{top:calc(8px + env(safe-area-inset-top));gap:6px}.hud-chip{height:26px;padding:0 9px;border-width:2px;gap:5px}.hud-chip .value{font-size:12px}.hud-chip.clock{height:32px;padding:0 12px}.hud-chip.clock .value{font-size:18px}#kill-feed{top:calc(46px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));gap:4px}.kf-row{height:22px;padding:0 8px;border-width:2px;gap:5px}.kf-row .killer,.kf-row .victim,.kf-row .verb{font-size:11px}.dmg{font-size:19px}.dmg.crit{font-size:26px}#announce-layer{top:calc(46px + env(safe-area-inset-top))}.announce.chaos .ann-title{font-size:34px}.announce.zone .ann-title{font-size:22px}.dc-banner{top:calc(40px + env(safe-area-inset-top))}.dc-banner .headline{font-size:40px}.dc-stat{min-width:72px;padding:4px 8px 5px}.dc-stat .value{font-size:16px}.dc-cta{width:168px}.dc-btn{min-height:56px;font-size:20px}}.loot-toast{position:absolute;left:50%;top:34%;transform:translate(-50%);padding:6px 14px;border:3px solid var(--ink);border-radius:var(--r-pill);box-shadow:var(--bevel-sm);font-family:var(--shout-font);font-size:20px;letter-spacing:.02em;color:var(--ink);background:var(--gold-grad);pointer-events:none;white-space:nowrap;opacity:0}.loot-toast[data-kind=health_pack]{background:linear-gradient(180deg,#7dffb9 0%,var(--hp) 50%,#00a95a 100%)}.loot-toast.show{animation:loot-toast 1.3s ease-out forwards}@keyframes loot-toast{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}12%{opacity:1;transform:translate(-50%) scale(1.08)}22%{transform:translate(-50%) scale(1)}75%{opacity:1;transform:translate(-50%,-8px) scale(1)}to{opacity:0;transform:translate(-50%,-18px) scale(1)}}@media (prefers-reduced-motion: reduce){.dot,.kf-row,.announce{animation:none}.loot-toast.show{animation-name:loot-toast-fade}}@keyframes loot-toast-fade{0%,75%{opacity:1}to{opacity:0}}
