:root{color-scheme:dark;--red:#ff6574;--blue:#61b7ff;--line:#283645}*{box-sizing:border-box}body{margin:0;background:#0b1119;color:#e9eef5;font:14px 'Microsoft YaHei',sans-serif;height:100vh;display:flex;flex-direction:column;overflow:hidden}button,select,input{font:inherit}button,select{background:#182330;border:1px solid #354559;border-radius:5px;color:#edf3fa;padding:7px 12px;cursor:pointer}button:hover{background:#293a4e}button:disabled{opacity:.4;cursor:wait}nav{height:44px;display:flex;align-items:center;padding:0 20px;gap:18px;border-bottom:1px solid var(--line)}nav b{letter-spacing:2px}nav b span{color:#c6ab71}.muted,small{color:#8d9bad}#status{margin-left:auto;font-size:12px}header{height:100px;display:flex;align-items:center;padding:10px 24px;background:#111b28;border-bottom:1px solid var(--line)}.school{flex:1}.school small{color:inherit;font-size:10px;letter-spacing:3px}.school h1{font-size:22px;margin:7px 0;line-height:1.3}.blue.school{text-align:right}.red{color:var(--red)}.blue{color:var(--blue)}.score{text-align:center;min-width:240px;display:flex;flex-direction:column;gap:3px}.score strong{font-size:35px;letter-spacing:3px;font-variant-numeric:tabular-nums}.score span{font-size:11px;color:#91a4b8}main{display:flex;flex:1;min-height:0;padding:12px;gap:12px}aside{width:180px;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.card{background:#141f2b;border:1px solid #28384b;border-left:3px solid currentColor;padding:8px 10px;border-radius:5px;cursor:pointer}.card.selected{background:#273647}.cardtop{display:flex;justify-content:space-between;align-items:center;font-size:13px}.cardtop b{font-size:16px}.hp{font-size:11px;color:#c6d1df;margin-top:4px;font-variant-numeric:tabular-nums}.bar{height:4px;background:#34404c;margin-top:5px;border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;background:currentColor}.economy{color:#dfc58a;padding:10px;background:#19202b;text-align:center}.card.empty{opacity:.5}#arena{position:relative;flex:1;min-width:0;overflow:hidden;background:#10151b;border:1px solid #304052;border-radius:6px}canvas{display:block;width:100%;height:100%;touch-action:none}.mapnote{position:absolute;top:10px;left:12px;background:#101822d9;color:#c7d1dc;padding:5px 9px;font-size:10px;border-radius:4px;pointer-events:none}#caption{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);background:#101822e8;padding:8px 18px;border-radius:5px;white-space:nowrap;pointer-events:none}#caption:empty{display:none}#detail{position:absolute;top:42px;right:12px;width:225px;background:#101b2bef;border:1px solid #42576b;border-radius:6px;padding:12px;line-height:1.8;font-size:12px}footer{padding:4px 20px 14px;border-top:1px solid var(--line);background:#111b28}#seek{width:100%;accent-color:#dac088;cursor:pointer;margin:0}#eventTrack{height:12px;position:relative}#eventTrack i{position:absolute;height:6px;top:3px;width:3px;background:#d7b473;border-radius:2px;cursor:pointer}.controls{display:flex;gap:9px;align-items:center;margin-top:6px}.controls label{font-size:12px;color:#b4c0d0}.hint{margin-left:auto;font-size:10px}#time{font-variant-numeric:tabular-nums;min-width:103px;font-size:12px}dialog{width:min(880px,90vw);height:80vh;background:#111b28;color:#edf3fa;border:1px solid #42576b;border-radius:12px;padding:22px}dialog::backdrop{background:#000a}.dialoghead{display:flex;justify-content:space-between;align-items:center}.dialoghead h2{margin:0 0 12px}.filters{display:flex;gap:12px;margin:15px 0}.filters input{flex:1;background:#0b121d;border:1px solid #364b60;color:white;padding:10px;border-radius:5px}#matches{height:calc(100% - 110px);overflow:auto}.match{display:block;text-align:left;width:100%;margin:6px 0;padding:12px}.match small{display:block;margin-top:5px}@media(max-width:1450px){aside{width:145px}.school h1{font-size:18px}.card{padding:6px 8px}.hint{display:none}header{height:88px}.score{min-width:180px}.score strong{font-size:30px}}@media(max-width:950px){aside{width:115px}main{gap:5px;padding:5px}.school h1{font-size:14px}.controls{gap:4px;flex-wrap:wrap}.controls button{padding:5px}.score{min-width:145px}nav{padding:0 8px;gap:8px}}
@media(min-width:951px) and (max-height:850px){aside{gap:4px}.card{padding:4px 8px}.cardtop b{font-size:14px}.hp{margin-top:2px}.bar{margin-top:3px}.economy{padding:7px}}

/* 转播状态层：颜色之外保留文字，扫屏跟随回放时钟。 */
[hidden]{display:none!important}.badge{font-size:10px;line-height:14px;margin-top:2px;color:#94a6b9}.card[data-state="dead"]{color:#89939e;background:#18202a}.card[data-state="dead"] .badge{color:#abb5bf}.card[data-state="revived"]{color:#63efaa;box-shadow:inset 0 0 18px #48d99015}.card[data-state="revived"] .badge{color:#63efaa}.card[data-state="countered"],.card[data-state="vulnerable"]{color:#ffb657}.card[data-state="buff"] .badge{color:#dfc58a}.typeicon{width:16px;height:16px;vertical-align:middle;margin-right:5px;opacity:.9}#fieldHud{position:absolute;top:35px;left:10px;right:10px;display:flex;justify-content:center;gap:5px;pointer-events:auto}.fieldchip{border:1px solid #465261;background:#101822e0;padding:4px 8px;border-radius:3px;font-size:10px;display:flex;flex-direction:column;gap:3px;color:#cdd7e4}.fieldchip b{font-size:11px}.fieldchip span{color:#9eafc1}.fieldchip.unknown{justify-content:center;color:#96a0ab}#legend{position:absolute;bottom:8px;left:10px;font-size:10px;color:#c2ccd7;background:#101822df;padding:4px 8px;pointer-events:none}#eventFeed{position:absolute;bottom:34px;left:10px;pointer-events:none;max-width:330px}#eventFeed div{font-size:11px;background:#101822df;border-left:2px solid;padding:5px 9px;margin-top:3px;color:#d9e1eb}#caption{bottom:25px}#sweep{position:fixed;z-index:20;inset:144px 0 95px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none;color:var(--sweep-color);overflow:hidden;background:linear-gradient(transparent 25%,#07121dcc 48%,#07121dcc 52%,transparent 75%)}#sweep::before{content:"";position:absolute;top:0;bottom:0;left:var(--scan-x);width:13%;background:linear-gradient(90deg,transparent,var(--sweep-color),transparent);opacity:.14;transform:skewX(-15deg);border-right:2px solid var(--sweep-color)}#sweep small{color:inherit;letter-spacing:5px;font-size:12px}#sweep strong{font-size:32px;letter-spacing:5px;text-shadow:0 2px 8px #000}#sweep span{color:#e0e7ee;font-size:13px}aside{gap:4px}.card{padding:5px 8px}.cardtop b{font-size:14px}.hp{margin-top:2px}.bar{margin-top:3px}.economy{padding:7px}@media(max-height:850px){.card{padding:3px 8px}.cardtop{font-size:12px;line-height:16px}.badge{line-height:12px;font-size:9px}.bar{height:3px}.hp{font-size:10px}.economy{padding:5px}}@media(max-width:1450px){#sweep{top:132px}.fieldchip{padding:3px 5px;font-size:9px}}

#victory{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse at center,#07111aee 0%,#07111a9c 45%,#07111a33 100%);pointer-events:none;text-align:center;padding:24px}#victory small{color:#d1dce8;font-size:14px;letter-spacing:8px}#victory strong{color:var(--winner-color);font-size:clamp(32px,4vw,64px);letter-spacing:8px;text-shadow:0 0 25px #000}#victory span{font-size:clamp(16px,2vw,28px);color:#f0f4fa;max-width:90%;overflow-wrap:anywhere}

/* 手机竖屏：全宽地图在上，双方状态条在下，控制栏保持可触达。 */
@media(max-width:700px){
 body{height:100dvh;min-height:580px;overflow-y:auto}nav{height:46px;min-height:46px;gap:8px;padding:0 10px}nav>.muted,#status{display:none}nav b{font-size:13px}#choose{margin-left:auto;min-height:36px}
 header{height:94px;min-height:94px;padding:8px 10px;gap:8px}.school{min-width:0}.school small{font-size:8px;letter-spacing:1px}.school h1{font-size:13px;margin:5px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.score{min-width:105px;max-width:125px}.score small{font-size:9px;line-height:1.3}.score strong{font-size:25px;letter-spacing:1px}.score span{font-size:9px}
 main{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(225px,1fr) 67px 67px;gap:5px;padding:5px;min-height:375px;flex:1}#arena{grid-row:1;min-height:225px;width:100%}#redCards{grid-row:2}#blueCards{grid-row:3}
 aside{width:100%;min-width:0;flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:4px;padding-bottom:3px;scrollbar-width:thin}.card{min-width:86px;height:60px;padding:4px 6px;border-left-width:2px;flex-shrink:0}.cardtop{font-size:11px}.cardtop b{font-size:12px}.hp{font-size:9px;white-space:nowrap}.badge{font-size:9px;line-height:11px}.economy{min-width:75px;max-width:75px;display:flex;align-items:center;justify-content:center;font-size:11px;padding:4px;position:sticky;left:0;z-index:2;border:1px solid #344052}.typeicon{width:13px;height:13px;margin-right:2px}
 footer{padding:3px 8px max(8px,env(safe-area-inset-bottom));flex-shrink:0}#seek{height:24px}.controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:2px}.controls button,.controls select{padding:5px 2px;min-height:36px;font-size:11px}.controls label{font-size:11px;min-height:32px;display:flex;align-items:center;justify-content:center}#time{grid-column:1/3;text-align:center;min-width:0;font-size:11px}.hint{display:none}
 .mapnote{top:4px;left:4px;font-size:8px;padding:3px 5px}#fieldHud{top:23px;left:4px;right:4px;justify-content:flex-start;overflow-x:auto;gap:3px}.fieldchip{flex-shrink:0;font-size:8px;padding:3px 4px}.fieldchip b{font-size:9px}.fieldchip.unknown{display:none}#legend{display:none}#eventFeed{bottom:6px;left:4px;max-width:65%}#eventFeed div{font-size:9px;padding:3px 5px}#eventFeed div:not(:last-child){display:none}#caption{bottom:6px;left:auto;right:4px;transform:none;max-width:65%;white-space:normal;padding:4px 6px;font-size:9px}#detail{top:auto;bottom:28px;right:5px;width:170px;max-height:160px;overflow:auto;font-size:10px;padding:7px;line-height:1.6}
 #sweep{position:absolute;inset:0}#sweep strong{font-size:21px;letter-spacing:2px;text-align:center}#sweep small{font-size:9px;letter-spacing:2px}#sweep span{font-size:11px}#victory{gap:9px;padding:10px}#victory strong{font-size:30px;letter-spacing:3px}#victory span{font-size:16px}
 dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:85dvh;padding:12px}.dialoghead h2{font-size:18px}.filters{gap:5px}.filters input{min-width:0;width:100%;font-size:12px;padding:8px}.filters select{max-width:110px;padding:6px;font-size:12px}.match{font-size:12px;padding:10px}.match small{font-size:10px}
}
/* 手机横屏：地图居中，两侧仅保留窄状态栏，减少上下占用。 */
@media(max-height:500px) and (min-width:701px){nav{height:32px;min-height:32px}header{height:60px;min-height:60px;padding:3px 12px}.school h1{font-size:14px;margin:3px 0}.score strong{font-size:23px}main{padding:4px;gap:4px}aside{width:105px}.card{padding:2px 5px}.badge{display:none}.cardtop{font-size:10px}.hp{font-size:9px}.economy{padding:3px;font-size:10px}footer{padding:2px 8px 4px}.controls{margin:0;gap:4px}.controls button,.controls select{padding:4px;font-size:10px}.controls label{font-size:10px}.mapnote,#legend{display:none}#fieldHud{top:4px}#eventFeed{bottom:5px}#sweep{position:absolute;inset:0}}
