/* Base Raid's flight instruments: one paired integrity readout, one objective.
   All presentation is pointer-transparent; parent flight/fire controls keep input. */
:is(#raidHud,#matchHud){position:fixed;inset:0;z-index:35;pointer-events:none;color:#edf4f3;font-family:'Creepster','Rajdhani',sans-serif;font-weight:400;text-shadow:0 1px 3px #000;contain:layout style;--raid-red:#ff5369;--raid-blue:#65d4ff}
:is(#raidHud,#matchHud)[hidden],:is(#raidHud,#matchHud) [hidden]{display:none!important}
:is(#raidHud,#matchHud) *{box-sizing:border-box;font-weight:400}
.raid-ui{position:absolute;inset:0;zoom:var(--ui-scale-hud,1);container:raid-ui / size;--raid-safe-bottom:calc(env(safe-area-inset-bottom,0px) / var(--ui-scale-hud,1));--raid-safe-top:calc(env(safe-area-inset-top,0px) / var(--ui-scale-hud,1));--raid-safe-right:calc(env(safe-area-inset-right,0px) / var(--ui-scale-hud,1));--raid-safe-left:calc(env(safe-area-inset-left,0px) / var(--ui-scale-hud,1))}
.raid-team-A{--team:var(--raid-red);--team-rgb:255,67,91}
.raid-team-B{--team:var(--raid-blue);--team-rgb:68,202,255}
.raid-command{position:absolute;top:max(14px,var(--raid-safe-top));left:50%;transform:translateX(-50%);width:min(580px,calc(100% - 190px));filter:drop-shadow(0 3px 6px #0006)}
.raid-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 83px minmax(0,1fr);min-height:67px;isolation:isolate}
.raid-team{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:7px 12px 6px;border-top:2px solid var(--team);background:linear-gradient(100deg,rgba(var(--team-rgb),.19),#0c1922ef 58%);border-bottom:1px solid rgba(var(--team-rgb),.28)}
.raid-team:first-child{clip-path:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px)}
.raid-team:last-child{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);background:linear-gradient(260deg,rgba(var(--team-rgb),.19),#0c1922ef 58%)}
.raid-core-copy{flex:1;min-width:0}.raid-core-label{display:flex;align-items:baseline;gap:6px;white-space:nowrap;min-width:0;font-size:13px;line-height:1.25}
.raid-core-label>b{font-size:14px;color:var(--team);font-weight:400;letter-spacing:.07em}
.raid-relation{font-size:10px;letter-spacing:.045em;color:#ccd7dd;flex:1}
.raid-percent{font-size:25px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1;text-align:right;min-width:3.6ch;color:#fff;letter-spacing:.015em}
.raid-percent>span{font-size:13px;font-weight:400;margin-left:1px;color:#b8c8cd}
.raid-health{position:relative;height:7px;margin-top:5px;overflow:hidden;background:#030a10;border:1px solid rgba(var(--team-rgb),.2);transform:skewX(-12deg)}
.raid-health>i{position:absolute;inset:0;transform-origin:left center;background:var(--team);transition:transform .16s linear}
.raid-health>.raid-health-lag{background:#ffe6b0;transition:transform .7s .12s ease-out}
.raid-health:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),#07131c99 calc(10% - 2px) 10%)}
.raid-core-state{margin-top:4px;font-size:10px;line-height:1.1;letter-spacing:.09em;color:#9bafb9;white-space:nowrap}
.raid-own .raid-relation{color:#fff}.raid-critical .raid-core-state{color:#ffcc83}.raid-critical .raid-health-fill{background:#ffbc70}
.raid-damaged .raid-health{box-shadow:0 0 8px rgba(var(--team-rgb),.55)}
.raid-destroyed .raid-percent{color:#a4aeb3}.raid-destroyed .raid-core-state{color:#ffad8d}.raid-destroyed .raid-crest{opacity:.3}
.raid-destroyed .raid-health>i{transition:none}
.raid-mode{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:linear-gradient(#24363fef,#102029f5);border-top:2px solid #c0d0d3;border-bottom:1px solid #9aaeb64d;white-space:nowrap}
.raid-mode>span{font-size:11px;font-weight:400;letter-spacing:.075em;color:#d7e2e2}.raid-mode>small{font-size:8px;letter-spacing:.065em;color:#8ba3ae}
.raid-timer{font-size:22px;font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums;min-width:4.5ch;text-align:center}.raid-time-low{color:#ffcc83}
.raid-crest{display:block;flex:0 0 auto;width:22px;height:26px;background:var(--team)}
.raid-crest-A{clip-path:polygon(0 72%,30% 4%,41% 41%,68% 0,72% 41%,100% 11%,79% 89%,54% 69%,34% 100%,24% 68%)}
.raid-crest-B{clip-path:polygon(50% 0,100% 48%,58% 100%,58% 65%,77% 47%,50% 24%,23% 47%,42% 65%,42% 100%,0 48%)}
.raid-mission{display:flex;align-items:center;justify-content:center;gap:8px;min-height:28px;padding:4px 9px;background:linear-gradient(90deg,#08131c00,#08131cf2 12%,#08131cf2 88%,#08131c00);border-bottom:1px solid #83999f45;text-align:center}
.raid-route-icon{display:block;width:12px;height:12px;border:1px solid #b6ccca;transform:rotate(45deg);flex:0 0 auto}.raid-route-icon:after{content:'';display:block;width:4px;height:4px;margin:3px;background:#c8ded9}
.raid-objective-text{font-size:12px;font-weight:400;letter-spacing:.085em;color:#e4edeb;line-height:1.3}
.raid-route-detail{font-size:10px;letter-spacing:.055em;color:#97adb7;border-left:1px solid #61788366;padding-left:8px;line-height:1.3}
.raid-warning{margin-top:5px;padding:5px 10px;text-align:center;border-left:3px solid #ffa76e;border-right:3px solid #ffa76e;border-bottom:1px solid #e6905155;background:linear-gradient(90deg,#63271080,#1d1511eb 22%,#1d1511eb 78%,#63271080);font-size:15px;font-weight:400;letter-spacing:.12em;line-height:1.3;color:#ffd8b5;animation:raid-warning-breathe 2s ease-in-out infinite alternate}
.raid-meta{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:5px;font-size:11px;font-weight:400;letter-spacing:.035em;color:#c2d2d9;line-height:1.3;text-align:center;text-shadow:0 1px 3px #000,0 0 5px #000;background:linear-gradient(90deg,transparent,#08131caf 25%,#08131caf 75%,transparent);padding:2px 8px}
.raid-room{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raid-ping{flex:0 0 auto;min-width:8.8ch;font-size:12px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap;color:#a9d9c4}.raid-ping[data-quality=unknown]{color:#d0dde2}.raid-ping[data-quality=moderate]{color:#ffcf7c}.raid-ping[data-quality=poor]{color:#ff927f}
.raid-result{position:absolute;left:50%;top:29%;transform:translateX(-50%);width:min(510px,calc(100% - 32px));padding:21px 30px 20px;text-align:center;background:linear-gradient(90deg,#08121b00,#08121bed 15%,#08121bed 85%,#08121b00);border-top:1px solid rgba(var(--team-rgb),.7);border-bottom:1px solid rgba(var(--team-rgb),.4);filter:drop-shadow(0 5px 10px #0007)}
.raid-result:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0 37px,rgba(var(--team-rgb),.045) 37px 39px);pointer-events:none}
.raid-result-kicker{position:relative;color:var(--team);font-size:12px;font-weight:400;letter-spacing:.2em}.raid-result>strong{position:relative;display:block;font-size:clamp(30px,5vw,52px);font-weight:400;line-height:1.15;letter-spacing:.15em;color:#f2f6f1;margin:5px 0}.raid-result>small{font-size:11px;letter-spacing:.11em;color:#b8cbd0}
.raid-marker{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;min-width:100px;max-width:130px;filter:drop-shadow(0 1px 3px #000);will-change:transform}
.raid-marker>.raid-crest{width:14px;height:17px}.raid-marker>span{font-size:11px;font-weight:400;letter-spacing:.075em;white-space:nowrap;color:var(--team);background:#081622df;border-bottom:1px solid rgba(var(--team-rgb),.5);padding:2px 6px}
.raid-marker>small{font-size:10px;color:#d4e3e7;line-height:1.15;white-space:nowrap;background:#081622a8;padding:1px 4px}
.raid-arrow{display:none;width:16px;height:13px;background:var(--team);clip-path:polygon(0 0,100% 50%,0 100%,26% 50%);transform:rotate(var(--raid-bearing,0rad));margin-bottom:3px}.raid-offscreen>.raid-arrow{display:block}.raid-offscreen>.raid-crest{display:none}
@keyframes raid-warning-breathe{from{border-color:#ca7945}to{border-color:#ffcf9f}}
.raid-reduced-motion .raid-warning{animation:none}.raid-reduced-motion .raid-health>i{transition:none}
@media(prefers-reduced-motion:reduce){.raid-warning{animation:none}.raid-health>i{transition:none}}
@container raid-ui (max-width:850px){.raid-command{width:min(530px,calc(100% - 116px))}.raid-team{gap:7px;padding:6px 8px}.raid-scoreboard{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr)}.raid-core-label{gap:4px}.raid-relation{font-size:9px}.raid-core-label>b{font-size:13px}.raid-percent{font-size:23px}.raid-crest{width:18px;height:23px}.raid-route-detail{display:none}}
@container raid-ui (max-width:600px){.raid-command{width:calc(100% - 26px);top:max(12px,var(--raid-safe-top))}.raid-scoreboard{grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr);min-height:63px}.raid-team{gap:6px}.raid-core-state{font-size:9px;letter-spacing:.035em}.raid-meta{font-size:11px}.raid-mission{min-height:25px}.raid-objective-text{font-size:11px}.raid-warning{font-size:13px;letter-spacing:.06em}.raid-result{top:31%;padding:16px}.raid-result>small{letter-spacing:.05em}}
@container raid-ui (max-width:420px){.raid-scoreboard{grid-template-columns:minmax(0,1fr) 57px minmax(0,1fr)}.raid-team{padding:5px 6px;gap:4px}.raid-team>.raid-crest{display:none}.raid-core-label{flex-wrap:wrap;gap:0;position:relative;padding-right:41px;min-height:29px;align-content:center}.raid-core-label>b{font-size:13px;line-height:1.15;width:100%}.raid-relation{font-size:9px;letter-spacing:.025em;line-height:1.15}.raid-percent{position:absolute;right:0;top:3px;font-size:22px}.raid-percent>span{font-size:10px}.raid-mode>span{font-size:10px;letter-spacing:0}.raid-mode>small{display:none}.raid-timer{font-size:19px}.raid-core-state{font-size:9px;letter-spacing:0}.raid-health{margin-top:3px;height:6px}.raid-objective-text{letter-spacing:.035em}.raid-result-kicker{font-size:11px;letter-spacing:.09em}.raid-result>strong{font-size:34px}}
/* Reserve the real upper-right pause hit region on touch screens. No decorative
   ribbon goes near either bottom fire/steer pad in portrait or short landscape. */
@container raid-ui (max-width:850px){:is(#raidHud,#matchHud).raid-touch .raid-command{left:calc(50% - 33px + (var(--raid-safe-left) - var(--raid-safe-right))/2);width:calc(100% - 90px - var(--raid-safe-left) - var(--raid-safe-right));max-width:530px}}
@container raid-ui (max-height:500px){.raid-command{top:max(7px,var(--raid-safe-top));width:min(500px,calc(100% - 180px))}.raid-scoreboard{min-height:54px;grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr)}.raid-team{padding-top:4px;padding-bottom:4px}.raid-core-state{font-size:9px;margin-top:3px}.raid-percent{font-size:22px}.raid-mode>small{display:none}.raid-timer{font-size:20px}.raid-mission{min-height:22px;padding:3px 7px}.raid-objective-text{font-size:11px}.raid-meta{display:flex;margin-top:3px}.raid-meta .raid-room{display:none}.raid-warning{font-size:12px;padding:3px 8px;margin-top:3px}.raid-result{top:37%;padding:10px 22px}.raid-result>strong{font-size:31px}.raid-result-kicker{font-size:10px}.raid-result>small{font-size:10px}}

/* All multiplayer command ribbons use the CTF face at its native weight. */
.raid-mode>small{font-size:10px}.raid-core-state{font-size:11px}.raid-relation{font-size:11px}
/* Compact frames around the original center match readouts. Personal readouts
   remain in the canvas corners; these rules only affect Skirmish and Invasion. */
#matchHud .raid-command{top:max(20px,var(--raid-safe-top));width:min(500px,max(260px,calc(100% - 340px)))}
#matchHud .raid-scoreboard{height:54px;min-height:0;grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr)}
#matchHud .raid-team{gap:7px;padding:5px 9px}
#matchHud .raid-crest{width:18px;height:23px}
#matchHud .raid-core-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center}
#matchHud .raid-core-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;min-height:0;gap:1px;line-height:1.2}
#matchHud .raid-core-label>b{font-size:13px;width:auto;letter-spacing:.035em}
#matchHud .raid-relation{flex:initial;font-size:10px;letter-spacing:0}
#matchHud .match-value{font-size:27px;min-width:0;max-width:100%;overflow:hidden;letter-spacing:0;white-space:nowrap;line-height:1.1;text-align:right}
#matchHud .raid-mode{white-space:normal;text-align:center;gap:3px}
#matchHud .raid-mode>span{font-size:10px;line-height:1.1;max-width:68px}
#matchHud .raid-timer{font-size:21px}
#matchHud .raid-mode>small{display:none}
#matchHud .raid-meta{margin-top:3px;padding:2px 5px;font-size:11px;gap:8px;line-height:1.25;letter-spacing:0}
#matchHud .raid-meta .raid-room{display:block}
#matchHud .raid-ping{font-size:11px;min-width:8ch}
#matchHud[data-mode=invasion] .raid-scoreboard{grid-template-columns:1fr 1fr}
#matchHud[data-mode=invasion] .raid-mode{display:none}
#matchHud[data-mode=invasion] .raid-team-A{--team:#a7e78d;--team-rgb:145,212,113}
#matchHud[data-mode=invasion] .raid-team-B{--team:#ffb36c;--team-rgb:255,153,79}
#matchHud .match-threat-mark{clip-path:polygon(50% 0,100% 85%,68% 100%,50% 68%,32% 100%,0 85%)}
.match-squad{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px;padding:3px 8px;background:#091a20e8;border-bottom:1px solid #8cad973d;line-height:1.25;font-size:11px;color:#bed6c4}
.match-squad span{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-width:0}
.match-squad b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:10ch;color:#d9f0df}
.match-squad small{font-size:11px;white-space:nowrap;color:#9bbfac}
.match-squad [data-state=down],.match-squad [data-state=down] b,.match-squad [data-state=down] small{color:#ffc286}
.match-squad [data-state=out],.match-squad [data-state=out] b,.match-squad [data-state=out] small{color:#9ba5ae}
.match-squad i{width:4px;height:4px;background:currentColor;transform:rotate(45deg);flex:none}
@container raid-ui (max-width:850px){#matchHud .raid-team{padding:5px 7px;gap:5px}#matchHud .raid-crest{display:none}#matchHud .raid-scoreboard{grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr)}#matchHud .raid-core-label>b{font-size:12px}#matchHud .raid-relation{font-size:9px}#matchHud .match-value{font-size:24px}}
@container raid-ui (max-width:600px){#matchHud .raid-command{top:calc(114px + var(--raid-safe-top));width:calc(100% - 44px - var(--raid-safe-left) - var(--raid-safe-right))}#matchHud .raid-scoreboard{height:49px}#matchHud .raid-meta{gap:6px}#matchHud .raid-mode>span{max-width:56px}#matchHud .raid-timer{font-size:19px}#matchHud .match-value{font-size:23px}.match-squad{gap:2px 7px}}
@container raid-ui (max-width:420px){.raid-relation{font-size:10px}.raid-core-state{font-size:10px}.raid-mode>small{display:none}}

/* Match CTF's bottom objective placement, independently of the top instruments. */
#raidHud .raid-objective{position:absolute;left:50%;transform:translateX(-50%);bottom:max(20px,var(--raid-safe-bottom));width:max-content;max-width:calc(100% - 40px);min-height:0;padding:3px 19px;gap:11px}
#raidHud .raid-objective-text{font-size:16px;line-height:1.25;letter-spacing:.05em}
@container raid-ui (max-width:760px){#raidHud .raid-objective{bottom:max(95px,calc(var(--raid-safe-bottom) + 82px));padding:6px 12px;max-width:calc(100% - 28px)}#raidHud .raid-objective-text{font-size:14px}}
@container raid-ui (max-height:500px){#raidHud .raid-objective{bottom:max(20px,var(--raid-safe-bottom));padding:3px 12px}}
