*{box-sizing:border-box}body{margin:0;color:var(--hud-text);background:var(--hud-surface-canvas);font-family:var(--hud-font-body)}button,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:var(--hud-text)}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--hud-focus);outline-offset:3px}[hidden]{display:none!important}.game{height:100dvh;overflow:hidden;overscroll-behavior:none}.arena{position:fixed;inset:0;isolation:isolate;overflow:hidden}#court{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:none}.topbar{position:absolute;z-index:5;top:0;left:0;right:0;padding:16px max(24px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;pointer-events:none;background:linear-gradient(var(--hud-surface-canvas),transparent)}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;color:var(--hud-text);text-decoration:none;font-family:var(--hud-font-display);font-weight:700;font-size:22px;letter-spacing:.04em}.brand img{height:36px;width:36px}.brand b{color:var(--hud-health)}nav{display:flex;gap:7px}nav button{height:40px;min-width:40px;padding:0 10px;border:1px solid var(--hud-border-subtle);background:var(--hud-surface-glass);font-size:17px}#lang{font-size:11px;font-weight:700}nav button:disabled{opacity:.35}#sound[aria-pressed="true"]{color:var(--hud-health)}.match-hud{position:absolute;top:max(24px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);text-align:center;pointer-events:none}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--hud-health)}.scoreboard{display:flex;align-items:center;gap:20px;padding:9px 23px 11px;margin-top:8px;background:var(--hud-surface-glass);border:1px solid var(--hud-border-subtle);border-radius:0 0 16px 16px;box-shadow:var(--hud-shadow)}.competitor{min-width:74px;display:flex;flex-direction:column;text-align:right;gap:1px}.competitor b{font-family:var(--hud-font-display);font-size:22px}.rival{text-align:left}.role{font-size:8px;letter-spacing:.18em;color:var(--hud-team-0)}.rival .role{color:var(--hud-edge-glow)}.scoreboard strong{font-family:var(--hud-font-display);font-size:45px;line-height:1}.score-divider{opacity:.4}.rules{font-size:9px;letter-spacing:.15em;margin-top:9px;color:var(--hud-text-muted);text-shadow:0 2px 3px var(--hud-surface-canvas)}.rally-label{font-family:var(--hud-font-display);font-size:17px;color:var(--hud-accent);margin-top:7px;font-weight:700}.announcement{position:absolute;top:25%;left:10%;right:10%;text-align:center;font-family:var(--hud-font-display);font-weight:700;font-size:clamp(24px,4vw,52px);color:var(--hud-text);text-shadow:0 3px 0 var(--hud-surface-canvas),0 0 20px var(--hud-surface-canvas);pointer-events:none;letter-spacing:.025em}.hype-panel{position:absolute;left:26px;bottom:132px;width:180px;text-shadow:0 2px 3px var(--hud-surface-canvas);pointer-events:none}.hype-panel>span{font-family:var(--hud-font-display);font-size:18px;font-weight:700;letter-spacing:.1em}.meter{height:5px;margin-top:5px;background:var(--hud-surface-inset);border-radius:5px;overflow:hidden}.meter i{display:block;height:100%;width:0;background:var(--hud-accent);transition:width .2s}.hype-panel small{font-size:9px;color:var(--hud-text-muted)}.hype-panel.full{color:var(--hud-accent)}.hype-panel.full .meter{box-shadow:0 0 14px var(--hud-accent)}.game-tools{position:absolute;z-index:3;bottom:max(26px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:10px}.skill{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;width:185px;height:65px;padding:12px;background:var(--hud-surface-glass);border:1px solid var(--hud-border-subtle);border-radius:8px;text-align:left;touch-action:none;box-shadow:var(--hud-shadow)}.skill b{display:block;font-family:var(--hud-font-display);font-size:17px;letter-spacing:.04em;white-space:nowrap}.skill small{display:block;color:var(--hud-text-muted);font-size:10px;margin-top:4px}.skill-symbol{margin-left:auto;font-size:29px;color:var(--hud-health)}.skill i{position:absolute;bottom:0;left:0;height:3px;background:var(--hud-health);width:100%;transition:width .1s}.skill:disabled{filter:saturate(.5)}.skill.cooling .skill-symbol{opacity:.35}.skill.armed{border-color:var(--hud-accent);box-shadow:0 0 20px color-mix(in srgb,var(--hud-accent) 20%,transparent)}.skill.armed .skill-symbol{color:var(--hud-accent)}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:0 6px;border:1px solid var(--hud-border-subtle);border-bottom-width:3px;background:var(--hud-surface-raised);font-family:var(--hud-font-label);font-size:10px}.movement{position:absolute;bottom:33px;left:26px}.movement>span{display:block;margin-bottom:7px;color:var(--hud-text-muted);font-size:9px;letter-spacing:.1em}.movement>div{display:flex;gap:5px}.play-tip{position:absolute;bottom:105px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--hud-text-muted);text-shadow:0 2px 3px var(--hud-surface-canvas);text-align:center;pointer-events:none;width:min(500px,80vw)}.touch-controls{display:none;position:absolute;z-index:3;bottom:max(22px,env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:8px}.touch-controls button{height:58px;min-width:60px;border-radius:12px;background:var(--hud-surface-glass);border:1px solid var(--hud-border);font-size:19px;pointer-events:auto;touch-action:none;user-select:none}.touch-controls .jump{min-width:90px;background:var(--hud-health);color:var(--hud-surface-canvas);font-family:var(--hud-font-display);font-size:18px;font-weight:700}.overlay{position:absolute;inset:0;z-index:4;background:linear-gradient(90deg,color-mix(in srgb,var(--hud-surface-canvas) 78%,transparent),color-mix(in srgb,var(--hud-surface-canvas) 40%,transparent));display:flex;align-items:center;justify-content:center;padding:74px 20px 18px;overflow:auto;backdrop-filter:blur(4px)}.menu-card{width:min(650px,100%);margin:auto;background:var(--hud-surface-glass);border:1px solid var(--hud-border-subtle);border-top:3px solid var(--hud-health);padding:26px 32px 18px;box-shadow:0 16px 90px var(--hud-surface-canvas);border-radius:12px}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:15px}#profile-summary{font-size:10px;color:var(--hud-accent);white-space:nowrap}h1{font-family:var(--hud-font-display);font-size:52px;font-weight:700;line-height:.97;letter-spacing:-.02em;margin:17px 0 12px}h1 em{font-style:normal;color:var(--hud-health)}.menu-card p{font-size:13px;line-height:1.6;color:var(--hud-text-muted);margin:8px 0 16px}.roster{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.roster button{overflow:hidden;position:relative;padding:0 7px 12px;border:1px solid var(--hud-border-subtle);border-radius:7px;background:linear-gradient(0deg,var(--hud-surface-inset),var(--hud-surface-raised));transition:border-color .15s,transform .15s}.roster button:hover{transform:translateY(-3px)}.roster button[aria-pressed="true"]{border-color:var(--hud-health);background:linear-gradient(0deg,color-mix(in srgb,var(--hud-health) 15%,var(--hud-surface-inset)),var(--hud-surface-raised))}.roster canvas{width:100%;height:120px;object-fit:contain;display:block;margin-bottom:3px}.roster b{display:block;font-family:var(--hud-font-display);font-size:19px}.roster small{display:block;margin-top:3px;color:var(--hud-text-muted);font-size:10px}.match-options{display:flex;align-items:center;justify-content:space-between;gap:14px}.segmented{display:flex;gap:4px}.segmented button,.cosmetics button{background:var(--hud-surface-inset);border:1px solid var(--hud-border-subtle);border-radius:5px;padding:10px;font-size:10px;font-weight:700;min-height:38px}.segmented [aria-pressed="true"],.cosmetics [aria-pressed="true"]{color:var(--hud-health);border-color:var(--hud-health)}.match-options label{display:flex;flex-direction:column;gap:3px}.match-options label>span{font-size:8px;letter-spacing:.12em;color:var(--hud-text-muted)}select{background:var(--hud-surface-raised);border:1px solid var(--hud-border-subtle);color:var(--hud-text);border-radius:4px;padding:6px 9px;font-size:12px;min-width:110px}.cosmetics{display:flex;align-items:center;gap:6px;margin:13px 0}.cosmetics>span{font-size:8px;letter-spacing:.1em;color:var(--hud-text-muted);margin-right:5px}.cosmetics button{min-height:27px;font-size:8px;padding:6px 8px}.cosmetics button:disabled{opacity:.45}.play-button{display:block;width:100%;padding:14px 18px;margin:17px 0 10px;font-family:var(--hud-font-display);font-size:22px;font-weight:700;letter-spacing:.07em;color:var(--hud-surface-canvas);background:var(--hud-health);border:0;border-radius:5px;text-align:center;text-decoration:none;box-shadow:0 4px 0 color-mix(in srgb,var(--hud-health) 45%,var(--hud-surface-canvas))}.play-button:hover{filter:brightness(1.12)}.secondary{display:block;width:100%;background:transparent;border:1px solid var(--hud-border-subtle);padding:10px;border-radius:5px;font-size:11px;margin-top:12px}.menu-foot{text-align:center;color:var(--hud-text-muted);font-size:10px;line-height:1.5;margin:13px 0}details{font-size:10px;color:var(--hud-text-muted);margin-top:13px}summary{cursor:pointer;font-size:9px;letter-spacing:.09em}details p{font-size:12px!important;margin-bottom:0!important}.studio{display:flex;justify-content:space-between;margin-top:17px;padding-top:13px;border-top:1px solid var(--hud-border-subtle);color:var(--hud-text-muted);font-size:8px;letter-spacing:.11em}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.result-stat{padding:18px 6px;text-align:center;border:1px solid var(--hud-border-subtle);border-radius:6px;background:var(--hud-surface-inset)}.result-stat b{display:block;font-family:var(--hud-font-display);font-size:30px;color:var(--hud-accent)}.result-stat span{display:block;font-size:9px;margin-top:3px;color:var(--hud-text-muted)}.perk-options{display:grid;gap:10px;margin:22px 0}.perk-options button{background:var(--hud-surface-inset);border:1px solid var(--hud-border-subtle);padding:16px;text-align:left;border-radius:7px}.perk-options button:hover{border-color:var(--hud-health)}.perk-options b{display:block;font-family:var(--hud-font-display);font-size:22px;color:var(--hud-health)}.perk-options small{display:block;font-size:12px;color:var(--hud-text-muted);margin-top:5px}.game[data-mode="menu"] .hype-panel,.game[data-mode="menu"] .game-tools,.game[data-mode="menu"] .movement,.game[data-mode="menu"] .touch-controls,.game[data-mode="menu"] .play-tip{visibility:hidden}.landing{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 70% 30%,var(--hud-border-subtle),transparent 60%),var(--hud-surface-canvas)}.landing-card{max-width:600px;padding:40px}.landing-logo{width:70px;margin-bottom:25px}.landing h1{font-size:100px}.landing p{line-height:1.65;color:var(--hud-text-muted)}.landing footer{margin-top:30px;font-size:10px;color:var(--hud-text-muted)}
@media(pointer:coarse){.touch-controls{display:flex}.movement{display:none}.skill kbd{display:none}.skill{width:155px}.game-tools{bottom:max(22px,env(safe-area-inset-bottom))}}
@media(max-width:1000px){.brand{font-size:17px;gap:7px}.brand img{height:30px;width:30px}.match-hud{top:65px}.scoreboard{gap:12px;padding:6px 16px}.scoreboard strong{font-size:35px}.competitor b{font-size:17px}.competitor{min-width:64px}.announcement{top:28%}.movement{display:none}.hype-panel{bottom:110px;width:130px;left:20px}.skill{width:160px}.play-tip{bottom:103px;max-width:360px;font-size:10px}.menu-card{padding:20px 25px 15px}}
@media(max-width:600px){.topbar{padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}.brand{font-size:16px}.brand img{height:27px;width:27px}nav{gap:4px}nav button{height:35px;min-width:33px;padding:0 7px;font-size:15px}.match-hud{top:61px;min-width:285px}.match-hud>.eyebrow{font-size:8px}.scoreboard{justify-content:center;gap:12px;margin-top:6px;padding:6px 14px}.scoreboard strong{font-size:32px}.competitor b{font-size:16px}.rules{font-size:8px;margin-top:6px}.rally-label{font-size:15px}.announcement{top:26%;left:5%;right:5%;font-size:27px}.game-tools{bottom:calc(91px + env(safe-area-inset-bottom));width:calc(100% - 24px);gap:6px}.skill{width:33.333%;height:51px;padding:7px;gap:4px;border-radius:7px}.skill b{font-size:13px}.skill small{font-size:8px}.skill kbd{display:none}.skill-symbol{font-size:24px}.touch-controls{display:flex;bottom:calc(20px + env(safe-area-inset-bottom));left:12px;right:12px}.touch-controls button{height:57px;min-width:62px}.touch-controls .jump{min-width:110px}.hype-panel{bottom:calc(153px + env(safe-area-inset-bottom));left:14px;width:110px}.hype-panel>span{font-size:14px}.hype-panel small{font-size:8px}.play-tip{left:auto;right:14px;bottom:calc(151px + env(safe-area-inset-bottom));transform:none;width:190px;font-size:9px;text-align:right}.overlay{padding:63px 12px 12px}.menu-card{padding:18px 16px 12px}.menu-top{gap:6px}.menu-top .eyebrow{font-size:8px}#profile-summary{font-size:9px}h1{font-size:37px;margin:13px 0 9px}.menu-card p{font-size:11px;line-height:1.5;margin-bottom:12px}.roster{gap:6px;margin:11px 0}.roster button{padding:0 3px 9px}.roster canvas{height:88px}.roster b{font-size:16px}.roster small{font-size:8px}.match-options{gap:6px}.segmented button{font-size:8px;padding:7px}.match-options label>span{font-size:7px}select{min-width:90px;font-size:11px}.cosmetics{gap:4px;flex-wrap:wrap;margin:10px 0}.cosmetics>span{font-size:7px}.cosmetics button{font-size:7px;padding:5px}.play-button{padding:12px;margin-top:12px;font-size:19px}.menu-foot{font-size:9px;margin:10px 0}.studio{font-size:6px;margin-top:12px;padding-top:9px}details{margin-top:9px}.result-stat{padding:12px 3px}.result-stat span{font-size:8px}.landing h1{font-size:76px}}
@media(max-height:520px) and (orientation:landscape){.topbar{padding:8px 15px}.brand{font-size:16px}.brand img{width:26px;height:26px}nav button{height:34px;min-width:34px}.match-hud{top:10px}.match-hud>.eyebrow{font-size:8px}.scoreboard{padding:4px 13px;margin-top:4px;gap:10px}.scoreboard strong{font-size:28px}.competitor b{font-size:14px}.role{font-size:7px}.rules{font-size:7px;margin-top:4px}.rally-label{font-size:12px;margin-top:3px}.announcement{top:27%;font-size:26px}.game-tools{bottom:12px;gap:6px;transform:translateX(-50%)}.skill{width:125px;height:46px;padding:7px}.skill b{font-size:12px}.skill small{font-size:8px}.skill kbd{display:none}.skill-symbol{font-size:24px}.touch-controls{bottom:12px;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}.touch-controls button{height:46px;min-width:49px}.touch-controls .jump{min-width:78px}.hype-panel{left:15px;bottom:77px;width:100px}.hype-panel>span{font-size:13px}.hype-panel small{font-size:7px}.play-tip{display:none}.overlay{padding:53px 15px 10px;align-items:flex-start}.menu-card{width:600px;padding:16px 23px}.menu-card h1{font-size:35px;margin:10px 0}.roster{margin:10px 0}.roster canvas{height:72px}.roster button{display:grid;grid-template-columns:70px 1fr;align-items:center;text-align:left;padding:0 5px}.roster canvas{grid-row:span 2;width:70px}.roster b{font-size:15px;align-self:end}.roster small{align-self:start;font-size:8px}.menu-card p{font-size:11px}.studio{font-size:7px}.cosmetics{margin:9px 0}.play-button{margin:10px 0;padding:10px}.menu-foot{margin:9px 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.roster button:hover{transform:none}}
@media(min-width:1001px) and (min-height:521px){.hype-panel{bottom:31px}.movement{display:none}.play-tip{bottom:96px}}

/* Career uses the shared HUD palette; panels remain in the menu scroll container. */
#career{border:1px solid var(--hud-border-subtle);border-radius:8px;background:var(--hud-surface-inset);padding:12px;margin:14px 0}#career>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;font-size:11px;color:var(--hud-text)}#career-summary{color:var(--hud-accent);font-size:10px}#career p{font-size:11px!important;margin:10px 0}.career-tabs{display:flex;gap:5px;margin:13px 0}.career-tabs button,#loadout button,#gear-options button{min-height:40px;padding:8px 10px;background:var(--hud-surface-raised);border:1px solid var(--hud-border-subtle);border-radius:4px;font-size:10px}.career-tabs [aria-pressed="true"],#loadout [aria-pressed="true"],#gear-options [aria-pressed="true"]{border-color:var(--hud-health);color:var(--hud-health)}#talent-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}#talent-tree h3{font-family:var(--hud-font-display);font-size:17px;color:var(--hud-health);margin:6px 0}#talent-tree button{display:flex;flex-direction:column;gap:7px;width:100%;min-height:128px;padding:11px;text-align:left;background:var(--hud-surface-raised);border:1px solid var(--hud-border-subtle);border-radius:6px;margin:8px 0;position:relative}#talent-tree button+button:before{content:'↓';position:absolute;top:-15px;left:48%;color:var(--hud-text-muted)}#talent-tree b{font-family:var(--hud-font-display);font-size:16px}#talent-tree small{font-size:11px;color:var(--hud-text-muted);line-height:1.4}#talent-tree span{font-size:9px;color:var(--hud-accent);margin-top:auto}#talent-tree .learned{border-color:var(--hud-health)}#talent-tree button:disabled:not(.learned){opacity:.55}#loadout{display:flex;flex-wrap:wrap;gap:5px}#loadout p{width:100%}#gear-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}#gear-options>p{grid-column:1/-1}#gear-options .gear-slot{display:flex;flex-direction:column;gap:5px}#gear-options h3{font-family:var(--hud-font-display);font-size:15px;color:var(--hud-health);margin:3px 0}#gear-options button{display:flex;flex-direction:column;gap:4px;text-align:left;min-height:78px}#gear-options button small{color:var(--hud-text-muted);line-height:1.25}#gear-options button span{color:var(--hud-accent);font-size:9px;margin-top:auto}#gear-options button:disabled{opacity:.55}#skin-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#skin-options button{background:var(--hud-surface-raised);border:1px solid var(--hud-border-subtle);border-radius:6px;padding:6px;min-width:0}#skin-options [aria-pressed="true"]{border-color:var(--hud-health)}#skin-options canvas{width:100%;height:105px;object-fit:contain}#skin-options b,#skin-options small{display:block}#skin-options b{font-family:var(--hud-font-display);font-size:16px}#skin-options small{font-size:10px;margin:6px 0;color:var(--hud-accent)}#skin-options button:disabled{opacity:.6}#contract-options>div{padding:13px;border:1px solid var(--hud-border-subtle);border-radius:6px;margin-top:8px;display:grid;gap:8px}#contract-options b{color:var(--hud-text)}#contract-options progress{width:100%;height:8px;accent-color:var(--hud-health)}#contract-options small{color:var(--hud-accent)}#reward-detail{color:var(--hud-accent);text-align:center}.game-tools{gap:7px}.skill{width:160px}.skill b{font-size:15px}.skill-symbol{font-size:23px}.hype-panel{max-width:140px}
@media(min-width:1001px){.game-tools{left:58%}}
@media(max-width:1000px){.skill{width:140px}.skill b{font-size:13px}.skill kbd{display:none}}
@media(max-width:600px){.game-tools{width:calc(100% - 24px);gap:4px}.skill{width:25%;padding:6px;height:54px}.skill b{font-size:11px;white-space:normal;line-height:1.1}.skill-symbol{display:none}.skill small{font-size:7px}#career{padding:9px}#talent-tree{gap:5px}#talent-tree button{padding:7px;min-height:154px}#talent-tree b{font-size:14px}#talent-tree small{font-size:10px}#talent-tree h3{font-size:15px}.career-tabs button{flex:1;font-size:9px;padding:7px 4px}#gear-options{grid-template-columns:1fr;gap:6px}#gear-options .gear-slot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}#gear-options h3{grid-column:1/-1}#gear-options button{min-height:86px;padding:6px}#gear-options button b{font-size:11px}#gear-options button small{font-size:9px}#skin-options canvas{height:78px}#skin-options b{font-size:13px}}
@media(max-height:520px) and (orientation:landscape){.game-tools{gap:4px}.skill{width:103px;height:46px;padding:6px}.skill b{font-size:11px}.skill-symbol{display:none}}
@media(pointer:coarse) and (min-width:601px) and (min-height:521px){.game-tools{bottom:94px}.hype-panel{bottom:171px}.play-tip{bottom:168px}}
/* Keep long career panels below the fixed navigation while they scroll. */
.overlay{top:62px;padding-top:12px}
@media(max-width:600px){.overlay{top:56px;padding-top:8px}}
@media(max-height:520px) and (orientation:landscape){.overlay{top:50px;padding-top:8px}}

/* Score, hype and skills use the studio's combat readout components. */
.match-hud>.eyebrow{color:var(--hud-accent);font:var(--hud-weight-label) var(--hud-text-xs)/var(--hud-leading) var(--hud-font-label);letter-spacing:var(--hud-tracking-label);}
.scoreboard strong{font-variant-numeric:tabular-nums;}
.competitor{border-bottom:var(--hud-border-width) solid var(--hud-focus);padding-bottom:var(--hud-space-1);}
.competitor.rival{border-color:var(--hud-edge-glow);}
.scoreboard .role{font-size:var(--hud-text-xs);letter-spacing:var(--hud-tracking-label);}
.rules{font:var(--hud-weight-label) var(--hud-text-xs)/var(--hud-leading) var(--hud-font-label);color:var(--hud-text-muted);}
.hype-panel{padding:var(--hud-space-2);}
.hype-panel small,.skill small{font-size:var(--hud-text-xs);line-height:var(--hud-leading-title);}
.skill{background-image:var(--hud-panel-fill);}
.topbar nav button{min-width:var(--hud-target);min-height:var(--hud-target);}
@media(max-height:520px) and (orientation:landscape){
 .brand span{display:none;}
 .topbar{padding-inline:max(var(--hud-space-2),env(safe-area-inset-left)) max(var(--hud-space-2),env(safe-area-inset-right));}
 .match-hud{top:max(var(--hud-space-2),env(safe-area-inset-top));}
 .match-hud>.eyebrow{max-width:220px;margin-inline:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
 .game-tools{bottom:calc(68px + env(safe-area-inset-bottom));}
 .hype-panel{bottom:calc(126px + env(safe-area-inset-bottom));}
}
@media(max-width:600px) and (orientation:portrait){
 .brand span{font-size:var(--hud-text-sm);}
 .brand img{width:var(--hud-space-6);height:var(--hud-space-6);}
 .topbar{padding-inline:var(--hud-space-2);}
 .skill small{font-size:var(--hud-text-xs);}
}
@media(max-width:700px) and (max-height:520px) and (orientation:landscape){
 .match-hud{left:calc(env(safe-area-inset-left) + 48px);transform:none;min-width:0;width:calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right) - 256px);}
 .match-hud>.eyebrow{max-width:100%;}
 .scoreboard{gap:var(--hud-space-2);padding:var(--hud-space-1) var(--hud-space-2);}
 .competitor{min-width:0;flex:1;}
 .competitor b{font-size:var(--hud-text-sm);}
 .scoreboard strong{font-size:var(--hud-space-6);}
 .game-tools{width:calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right) - 24px);}
 .game-tools .skill{flex:1;min-width:0;width:auto;}
}
@media(max-width:360px) and (orientation:portrait){.topbar .brand span{display:none;}}

@media(pointer:coarse){
 .segmented button,.cosmetics button,.career-tabs button,#loadout button,#career>summary,select{min-height:var(--hud-target);min-width:var(--hud-target);}
 .touch-controls{bottom:calc(var(--hud-space-3) + env(safe-area-inset-bottom));}
 .topbar{padding-top:max(var(--hud-space-2),env(safe-area-inset-top));}
 .overlay{bottom:env(safe-area-inset-bottom);}
}

.connection-status{margin:5px auto 0;max-width:88vw;text-align:center;font:600 11px var(--hud-font-body);color:var(--hud-text);background:var(--hud-surface-panel);padding:4px 8px;border-radius:6px;pointer-events:none}
body[data-mode="menu"] .connection-status,body[data-mode="searching"] .connection-status,body[data-mode="upgrade"] .connection-status,body[data-mode="over"] .connection-status{display:none}
@media(max-height:500px){.connection-status{font-size:9px;padding:2px 5px;margin-top:2px;max-width:52vw}}

.rally-objective{font:700 11px/1.3 var(--hud-font-body);color:var(--hud-team-0);margin-top:6px;text-shadow:0 2px 3px var(--hud-surface-canvas);max-width:90vw}
.skill.timing{border-color:var(--hud-accent);box-shadow:0 0 16px color-mix(in srgb,var(--hud-accent) 40%,transparent)}
.skill.timing small{color:var(--hud-accent)}
@media(max-height:520px){.rally-objective{font-size:9px;max-width:280px;margin-top:3px}.rally-label{margin-top:2px}}

body:not([data-mode="playing"]):not([data-mode="paused"]) .rally-objective{display:none}
@media(max-height:520px) and (orientation:landscape){
 .match-hud>.eyebrow,.match-hud>.rules,.match-hud>.rally-label{display:none}
 .scoreboard{margin-top:0;padding:2px 12px;gap:12px}
 .scoreboard strong{font-size:24px}.competitor b{font-size:14px}.role{font-size:7px}
 .announcement{font-size:18px;line-height:22px;white-space:nowrap;left:2%;right:2%}
}
