/* Account surfaces: one bounded column; controls inherit the card's width. */
.combat-personal-kill{position:absolute;left:50%;top:calc(50% + 72px);transform:translateX(-50%);display:grid;justify-items:center;gap:4px;max-width:min(340px,65vw);padding:10px 25px 12px;background:linear-gradient(90deg,#09111900,#091119d9 18%,#091119d9 82%,#09111900);border-top:1px solid #f6cc7580;color:#fff;pointer-events:none;text-align:center;text-shadow:0 2px 8px #000;z-index:4}.combat-personal-kill[hidden]{display:none}.combat-personal-kill>span{font:700 13px/1.2 var(--body);letter-spacing:.12em;color:#ffd47c}.combat-personal-kill>strong{font:650 clamp(18px,2.2vw,26px)/1.2 var(--body);overflow-wrap:anywhere}.combat-personal-kill>small{font:600 12px/1.2 var(--body);color:#d8e2eb}.combat-personal-kill[data-critical=true]{border-color:#ffb34f}.combat-personal-kill[data-critical=true]>span{color:#ffae47}@media(max-height:500px){.combat-personal-kill{top:calc(50% + 43px);padding:7px 20px;gap:2px}.combat-personal-kill>strong{font-size:18px}}
.title-auth,.profile-dialog{box-sizing:border-box;width:min(384px,calc(100vw - 32px));padding:30px 28px 18px;border:1px solid #e4edf524;border-top-color:#e4edf540;border-radius:26px;background:linear-gradient(155deg,#242b34f5,#141920f7);color:#f5f7fa;box-shadow:0 24px 80px #0005,0 4px 16px #0003,inset 0 1px 0 #ffffff08;font-family:var(--body);text-align:center;overflow-x:hidden}
.title-auth{top:50%;bottom:auto;transform:translate(-50%,-50%);max-height:calc(100dvh - 140px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#66707c transparent}
.title-auth *, .profile-dialog *{box-sizing:border-box;min-width:0}
.title-auth[hidden],.title-auth [hidden],.player-profile-form[hidden]{display:none!important}
.title-auth h2,.profile-dialog h2{margin:0;font:600 25px/1.25 var(--body);letter-spacing:-.025em;text-transform:none;color:#f5f7fa}
.title-auth .auth-intro{margin:10px 0 0;font:400 14px/1.55 var(--body);letter-spacing:0;color:#b6bec8}
.title-auth .google-sign-in:not([hidden]){margin-top:24px}
.title-auth .auth-status:not(:empty){margin:20px 0 4px;color:#bcc7d2;font-size:14px}
.title-auth .auth-privacy{margin:12px 0 0;text-align:left}
.title-auth .auth-privacy summary{display:flex;align-items:center;justify-content:center;gap:5px;min-height:40px;width:100%;padding:8px 0;border-radius:10px;color:#b6bec8;cursor:pointer;list-style:none;font:400 13px/1.4 var(--body);transition:color .15s,background .15s}
.title-auth .auth-privacy summary::-webkit-details-marker{display:none}
.title-auth .auth-privacy summary:hover{color:#fff;background:#ffffff08}
.title-auth .auth-privacy summary svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.title-auth .auth-privacy[open] summary svg{transform:rotate(90deg)}
.title-auth .auth-privacy small{margin:8px 0 2px;max-width:none;font:400 13px/1.65 var(--body);color:#b6bec8;overflow-wrap:anywhere}
.player-profile-form{display:grid;gap:14px;width:100%;max-width:100%;min-width:0;text-align:left;margin:24px 0 0}
.player-profile-form label{display:grid;gap:9px;margin:0;font:500 13px/1.4 var(--body);letter-spacing:0;color:#dce2e8}
.player-profile-form input{display:block;width:100%;max-width:100%;min-width:0;height:52px;margin:0;padding:12px 15px;border:1px solid #ccd9e52e;border-radius:12px;outline:none;background:#0b0e1473;box-shadow:inset 0 1px 3px #0003;font:500 18px/1.4 var(--body);letter-spacing:.005em;color:#f5f7fa;caret-color:#d2e5ff;transition:border-color .15s,background .15s,box-shadow .15s}
.player-profile-form input:hover{border-color:#d7e3ee60}
.player-profile-form input:focus-visible{border-color:#b9d4f3;background:#111720;box-shadow:0 0 0 3px #a5caff25}
.player-profile-form input[aria-invalid=true]{border-color:#f3a8a0}
.title-auth .player-profile-form .profile-hint,.profile-dialog .profile-hint{margin:-5px 0 5px;color:#b6bec8;font:400 13px/1.5 var(--body);letter-spacing:0}
.player-profile-form button[type=submit]{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0;padding:12px 16px;border:1px solid #fff9;border-radius:12px;background:linear-gradient(180deg,#fff,#e5e9ee);color:#1b222c;box-shadow:0 2px 5px #0002,inset 0 1px 0 #fff;font:600 15px/1.4 var(--body);letter-spacing:0;text-align:center;text-transform:none;cursor:pointer;touch-action:manipulation;transition:background .15s,box-shadow .15s,transform .15s}
.player-profile-form button[type=submit]:hover{background:linear-gradient(180deg,#fff,#f2f5f8);box-shadow:0 4px 12px #0003,inset 0 1px 0 #fff}
.player-profile-form button[type=submit]:active{transform:scale(.985);box-shadow:0 1px 3px #0003;transition:transform .06s}
.player-profile-form button[type=submit]:disabled{opacity:.6;cursor:wait;transform:none}
.title-auth :is(button,summary):focus-visible,.profile-dialog button:focus-visible{outline:2px solid #b9d4f3;outline-offset:4px}
.title-auth .profile-status,.profile-dialog .profile-status{margin:0;font:400 13px/1.6 var(--body);color:#bddccf;overflow-wrap:anywhere}
.title-auth .profile-status[data-state=error],.profile-dialog .profile-status[data-state=error]{color:#ffc3ba}
.profile-status:empty{display:none}
.profile-settings-entry{padding:14px 22px;min-height:48px}
.profile-dialog{position:fixed;max-height:calc(100dvh - 48px);padding-top:32px;padding-bottom:28px;overflow-y:auto}
.profile-dialog::backdrop{background:#0005}
.profile-dialog h2{padding:0 24px}
.profile-dialog .profile-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:9px;border:0;border-radius:50%;background:#ffffff0a;color:#d4dce5}
.profile-dialog .profile-close:hover{background:#ffffff1a}
.profile-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
@media(max-width:420px){.title-auth,.profile-dialog{padding-left:22px;padding-right:22px;border-radius:23px}.title-auth h2,.profile-dialog h2{font-size:24px}}
@media(max-height:560px){.title-auth{max-height:calc(100dvh - 110px);padding-top:20px;padding-bottom:12px}.title-auth h2{font-size:22px}.title-auth .player-profile-form{margin-top:16px;gap:10px}.title-auth .auth-intro{margin-top:6px}.title-auth .auth-privacy{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.title-auth *,.profile-dialog *{transition:none!important}.player-profile-form button[type=submit]:active{transform:none}}
@media(prefers-contrast:more){.title-auth,.profile-dialog{background:#171c24;border-color:#c6d0da}.player-profile-form input{border-color:#8998a7}}
.combat-overlay{position:absolute;inset:0;pointer-events:none;color:#f3f6f8;text-shadow:0 2px 8px #000b}.combat-overlay[hidden]{display:none}.combat-reticle{position:absolute;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%);color:#f6fafc}.combat-reticle:before,.combat-reticle:after{content:'';position:absolute;left:50%;top:50%;background:currentColor;box-shadow:0 0 4px #000}.combat-reticle:before{width:28px;height:2px;transform:translate(-50%,-50%)}.combat-reticle:after{width:2px;height:28px;transform:translate(-50%,-50%)}.combat-reticle i{position:absolute;inset:7px;border:2px solid #15212c;background:#fff;z-index:1;border-radius:50%}.combat-reticle[data-state=blocked]{color:#ffbb78}.combat-reticle[data-state=aligning]{color:#c2c9d1}.combat-reticle.confirmed-hit{color:#91e3bc;scale:1.18}.combat-reticle span{position:absolute;top:42px;left:50%;transform:translateX(-50%);font-size:13px;letter-spacing:.1em;white-space:nowrap}.combat-health{position:absolute;bottom:140px;left:28px;display:grid;grid-template-columns:auto auto;gap:8px 24px;font-variant-numeric:tabular-nums}.combat-health strong{font-size:22px}.combat-health meter{grid-column:1/-1;width:220px;height:12px;accent-color:#9bccae}.combat-death{position:absolute;top:58%;left:50%;transform:translateX(-50%);padding:18px 26px;background:#10161dee;border:1px solid #68788a;font-size:22px;white-space:nowrap}.combat-killfeed{position:absolute;right:24px;top:155px;display:flex;align-items:flex-end;flex-direction:column;gap:8px;max-width:44vw}.combat-killfeed p{margin:0;padding:10px 16px;border-radius:4px;background:#0b101ad9;font-size:16px;animation:kill-in .18s ease-out}.combat-hub-marker{position:absolute;transform:translate(-50%,-50%);font-size:15px;font-weight:700;color:#ffe2a2}.combat-enemy-hp{position:absolute;left:50%;top:calc(50% - 40px);transform:translateX(-50%)}.combat-enemy-hp meter{width:100px;accent-color:#ef867d}.combat-param-note{font-size:15px;color:#b5bdc8}.combat-param-grid{display:flex;gap:22px;flex-wrap:wrap;margin:14px 0}.combat-param-grid div{display:grid;gap:8px}.combat-param-grid span{font-size:13px;color:#a9b5c1}.combat-param-grid strong{font-size:24px}.combat-report{overflow:auto}.combat-report table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.combat-report th,.combat-report td{padding:14px 12px;border-bottom:1px solid #ffffff18;text-align:left}.combat-playing #assist,.combat-playing #rescue,.combat-playing #touchRescue,.combat-playing [data-hold=climb],.combat-playing #touchRelease{display:none}.combat-settings{margin:22px 0;padding-top:18px;border-top:1px solid #ffffff25}.combat-settings label{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0}.combat-settings input[type=range]{width:45%}.combat-settings details{margin-top:20px}.combat-settings .binding-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.combat-turn-touch{position:absolute;bottom:310px;right:24px;pointer-events:auto;display:flex;gap:12px}.combat-turn-touch button{width:52px;height:48px;background:#152030c9;color:white;border:1px solid #7e8c9b;border-radius:6px}.combat-turn-touch[hidden]{display:none}@keyframes kill-in{from{opacity:0;translate:20px 0}to{opacity:1;translate:0 0}}@media(max-width:900px){.combat-killfeed{top:116px;right:14px;max-width:70vw}.combat-killfeed p{font-size:13px;padding:7px 10px}.combat-health{left:18px;bottom:175px}.combat-health meter{width:150px}.combat-health strong{font-size:18px}.combat-death{font-size:16px;max-width:85vw;white-space:normal}}@media(prefers-reduced-motion:reduce){.combat-killfeed p{animation:none}.combat-reticle.confirmed-hit{scale:1}}

.combat-touch-aim{position:fixed;right:12%;top:28%;width:35%;height:36%;touch-action:none;z-index:12}.combat-touch-aim[hidden]{display:none}

.combat-playing .keyboard-strip{visibility:hidden}.combat-shortcuts{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);font-size:15px;letter-spacing:.08em;padding:8px 16px;background:#111b25b8;border-radius:4px}

.combat-collect-touch{width:auto!important;padding:10px 14px!important}.combat-hub-marker[data-targeted=true]{color:#b5f2cf;text-shadow:0 0 8px #70e3a3}.combat-killfeed p[data-kind=hub]{border:1px solid #e2ddbe66}.combat-killfeed p[data-kind=streak]{border:1px solid #bad3e433}.combat-shortcuts{max-width:90vw;text-align:center;font-size:13px;letter-spacing:0}

/* Defeat subtitles remain bounded even with long multiplayer nicknames. */
.combat-killfeed p{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere;line-height:1.4;color:#f3f6f8}
.combat-playing :is(#hud,#matchHUD)[data-touch=true] .combat-killfeed{right:var(--hud-right,12px);top:84px;transform:none;width:min(320px,43vw);max-width:none;gap:4px}
.combat-playing :is(#hud,#matchHUD)[data-touch=true] .combat-killfeed p{font-size:12px;padding:5px 8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
@media(max-width:699px) and (min-height:441px){.combat-playing :is(#hud,#matchHUD)[data-touch=true] .combat-killfeed{top:158px;width:min(300px,74vw)}}
.combat-impact-edge{position:absolute;inset:0;pointer-events:none;border:3px solid #ff6659;box-shadow:inset 0 0 50px 9px #bc302a66;z-index:2;will-change:opacity}
.combat-impact-direction{position:absolute;left:50%;top:50%;width:136px;height:136px;margin:-68px 0 0 -68px;pointer-events:none;z-index:3;transform-origin:center}
.combat-impact-direction i{position:absolute;left:44px;top:0;width:48px;height:8px;background:#ff7163;border-radius:70% 70% 3px 3px;box-shadow:0 1px 5px #080d17,0 0 10px #ff665973}
.combat-impact-loss{position:absolute;left:calc(100% + 12px);top:0;color:#ff9c8d;font-size:clamp(18px,2vw,25px);font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 2px 5px #000}
.combat-health-hit>strong{color:#ffb5a9}.combat-health-hit meter{accent-color:#ef7668}
.combat-impact-edge[hidden],.combat-impact-direction[hidden],.combat-impact-loss[hidden]{display:none}
@media(max-height:500px){.combat-impact-edge{box-shadow:inset 0 0 30px 5px #bc302a66}.combat-impact-direction{width:112px;height:112px;margin:-56px 0 0 -56px}.combat-impact-direction i{left:32px}}
@media(prefers-reduced-motion:reduce){.combat-impact-edge{display:none}.combat-impact-direction i{box-shadow:0 1px 5px #080d17}}

/* Signal loss is a driver-only presentation; the arena separately removes the
   world from this driver's camera. Texture uses small repeating layers, no
   full-screen filters, flashing opacity, or animation allocations. */
.combat-signal-noise{position:absolute;inset:0;overflow:hidden;pointer-events:none;contain:strict;z-index:0;background:linear-gradient(180deg,#01050b24,#04080e0d 45%,#01050b35)}
.combat-signal-noise:before{content:'';position:absolute;inset:-8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cg fill='%23c7d1de' fill-opacity='.35'%3E%3Cpath d='M2 3h2v1H2zM12 8h1v2h-1zM27 2h3v1h-3zM46 11h2v1h-2zM60 4h1v1h-1zM6 22h1v1H6zM20 17h2v1h-2zM36 26h3v1h-3zM55 20h1v2h-1zM2 39h2v1H2zM14 33h1v2h-1zM29 42h2v1h-2zM47 36h1v1h-1zM60 45h2v1h-2zM6 57h1v1H6zM24 53h3v1h-3zM39 60h2v1h-2zM53 56h1v2h-1z'/%3E%3C/g%3E%3C/svg%3E");opacity:.34;animation:combat-signal-grain 1.4s steps(1,end) infinite}
.combat-signal-noise:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#a9bbc90d 0 1px,#0000000a 1px 4px);opacity:.7}
.combat-disruption{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);box-sizing:border-box;width:min(380px,calc(100% - 44px));padding:22px 26px;border:1px solid #7381945e;border-radius:13px;background:#090f18f2;box-shadow:0 12px 35px #0004;color:#e5ecf5;text-align:center;z-index:5;font-family:var(--body,system-ui);text-shadow:0 2px 6px #0008}
.combat-disruption-heading{font-size:clamp(19px,2vw,25px);line-height:1.25;font-weight:650;letter-spacing:.035em}
.combat-signal-recovery{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:19px;padding-bottom:13px;border-bottom:2px solid #74839933;font-variant-numeric:tabular-nums}
.combat-signal-recovery>span,.combat-fire-recovery>span{font-size:14px;line-height:1.35;color:#c1ccd9;text-align:left}
.combat-signal-recovery>output{font-size:27px;font-weight:650;line-height:1;white-space:nowrap}
.combat-signal-recovery>i{position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#a6bfd4;transform-origin:left}
.combat-fire-recovery{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:13px;font-variant-numeric:tabular-nums}
.combat-fire-recovery>output{font-size:17px;font-weight:600;white-space:nowrap;color:#e2bd92}
.combat-disruption[data-signal=false]{top:calc(50% + 115px);width:min(330px,calc(100% - 44px));padding:12px 18px;background:#111923e8}
.combat-disruption[data-signal=false] .combat-disruption-heading{font-size:16px}
.combat-disruption[data-signal=false] .combat-fire-recovery{margin-top:7px}
.combat-signal-noise[hidden],.combat-disruption[hidden],.combat-signal-recovery[hidden],.combat-fire-recovery[hidden]{display:none!important}
:is(#hud,#matchHUD)[data-combat-signal=lost] :is(.combat-reticle,.combat-hub-marker,.combat-enemy-hp,.combat-impact-direction,.player-name-layer,.team-support,.arena-hint,#abilityTarget){visibility:hidden!important}
:is(#hud,#matchHUD)[data-combat-signal=lost] .has-target .ability-context>span{color:#9fb3c2}
:is(#hud,#matchHUD)[data-combat-signal=lost] :is(.combat-health,.telemetry,.touch-controls){z-index:2}
@keyframes combat-signal-grain{0%,100%{transform:translate(0,0)}33%{transform:translate(-3px,2px)}66%{transform:translate(2px,-3px)}}
@media(max-height:500px){.combat-disruption{top:43%;width:min(330px,calc(100% - 220px));min-width:235px;padding:12px 18px}.combat-disruption-heading{font-size:18px}.combat-signal-recovery{margin-top:10px;padding-bottom:9px}.combat-signal-recovery>output{font-size:23px}.combat-fire-recovery{margin-top:9px}.combat-signal-recovery>span,.combat-fire-recovery>span{font-size:12px}.combat-disruption[data-signal=false]{top:calc(50% + 85px)}}
@media(max-width:430px) and (min-height:501px){.combat-disruption{top:38%;padding:18px 20px}.combat-signal-recovery>span,.combat-fire-recovery>span{font-size:13px}.combat-signal-recovery>output{font-size:25px}}
@media(prefers-reduced-motion:reduce){.combat-signal-noise:before{animation:none}}
