/* BI 大屏公共样式（深色，1920×1080 画布自动缩放） */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#020a18;overflow:hidden}
body{font:16px/1.5 -apple-system,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#d6e6ff}
:root{--cy:#26d0ff;--bl:#3d8bff;--gr:#2ee59d;--am:#ffb02e;--rd:#ff4d5e;--pu:#9a7bff;--ln:#143f78;--ln2:#1d5aa8;--mut:#7f9cc9;--dim:#4f6a96}
.stage{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;background:radial-gradient(1400px 800px at 50% -10%,#0b2a5c 0%,#030b1a 65%);overflow:hidden}
/* 头部：中间标题 + 左右导航 */
.sh{position:absolute;left:0;right:0;top:0;height:96px;background:linear-gradient(180deg,#0a2552,rgba(7,26,58,.4));border-bottom:1px solid var(--ln2)}
.sh::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--cy),transparent)}
.sh .ttl{position:absolute;left:50%;top:6px;transform:translateX(-50%);width:760px;height:72px;text-align:center;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,transparent,rgba(38,208,255,.18),transparent);clip-path:polygon(4% 0,96% 0,100% 100%,0 100%)}
.sh .ttl b{font-size:30px;letter-spacing:3px;color:#fff;text-shadow:0 0 16px rgba(38,208,255,.7)}
.sh .ttl small{font-size:14px;color:var(--mut)}.sh .ttl small em{color:var(--am);font-style:normal;font-size:18px;margin:0 4px}
.sh .nav{position:absolute;top:34px;display:flex;gap:6px}
.sh .nl{left:24px}.sh .nr{right:24px}
.sh .nav a{color:var(--mut);text-decoration:none;padding:7px 22px;font-size:18px;border:1px solid transparent;border-radius:3px}
.sh .nav a:hover{color:#fff}
.sh .nav a.on{color:#fff;background:linear-gradient(180deg,rgba(38,208,255,.3),rgba(38,208,255,.05));border-color:var(--cy)}
.sh .tm{position:absolute;right:24px;top:6px;font-size:14px;color:var(--mut)}
.sh .proj{position:absolute;left:24px;top:6px;font-size:14px;color:var(--mut)}
.main{position:absolute;left:22px;right:22px;top:112px;bottom:46px}
.foot{position:absolute;left:0;right:0;bottom:8px;text-align:center;color:var(--dim);font-size:14px;letter-spacing:2px}
.emg{position:absolute;left:0;right:0;top:96px;height:44px;background:linear-gradient(90deg,#8a1020,#d02a3c,#8a1020);color:#fff;font-size:22px;text-align:center;line-height:44px;z-index:30;letter-spacing:2px;display:none}
.emg.on{display:block;animation:bl 1.2s steps(2) infinite}@keyframes bl{50%{opacity:.7}}
/* 面板 */
.pn{background:rgba(9,32,70,.55);border:1px solid var(--ln);border-radius:4px;position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}
.pn::before,.pn::after{content:"";position:absolute;width:12px;height:12px;border:2px solid var(--cy)}
.pn::before{left:-1px;top:-1px;border-right:0;border-bottom:0}.pn::after{right:-1px;bottom:-1px;border-left:0;border-top:0}
.pt{padding:8px 16px;font-size:19px;font-weight:600;color:#fff;border-bottom:1px solid var(--ln);background:linear-gradient(90deg,rgba(38,208,255,.18),transparent 70%);display:flex;align-items:center;gap:10px;flex:none}
.pt::before{content:"";width:4px;height:18px;background:var(--cy);border-radius:2px}
.pt .r{margin-left:auto;font-size:14px;font-weight:400;color:var(--mut)}
.pb{padding:12px 16px;flex:1;min-height:0;position:relative}
.g{display:grid;gap:14px;height:100%}
.kp{display:flex;gap:14px}
.kp>div{flex:1;background:rgba(38,208,255,.07);border:1px solid var(--ln2);border-radius:4px;padding:10px 16px}
.kp .l{color:var(--mut);font-size:15px}.kp .v{font-size:38px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;line-height:1.2}.kp .v small{font-size:16px;color:var(--mut);font-weight:400;margin-left:4px}
.kp .d{font-size:14px;color:var(--mut)}
.c-cy{color:var(--cy)}.c-gr{color:var(--gr)}.c-am{color:var(--am)}.c-rd{color:var(--rd)}.mut{color:var(--mut)}
.bar{height:10px;background:rgba(61,139,255,.2);border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--bl),var(--cy));border-radius:5px}
.bar.g i{background:linear-gradient(90deg,#16a870,var(--gr))}.bar.a i{background:linear-gradient(90deg,#d98a00,var(--am))}.bar.r i{background:linear-gradient(90deg,#c9283a,var(--rd))}
table.st{width:100%;border-collapse:collapse;font-size:16px}
.st th{background:rgba(61,139,255,.28);color:#cfe3ff;font-weight:500;padding:8px 12px;text-align:left}
.st td{padding:7px 12px;border-bottom:1px solid rgba(20,63,120,.6);white-space:nowrap}
.plate{display:inline-block;padding:1px 10px;border-radius:3px;background:#f2c200;color:#111;font-weight:700;letter-spacing:2px;border:1px solid rgba(255,255,255,.7)}
.al{display:flex;flex-direction:column;gap:8px;overflow:hidden}
.ai{display:grid;grid-template-columns:5px 1fr auto;gap:12px;padding:7px 12px 7px 0;background:rgba(61,139,255,.08);border-radius:3px;font-size:16px}
.ai .lv{border-radius:3px;background:var(--am)}.ai.h .lv{background:var(--rd)}.ai.l .lv{background:var(--cy)}
.ai .s{color:var(--mut);font-size:14px}.ai .t{color:var(--mut);font-size:14px;text-align:right}
.tag{display:inline-block;padding:0 10px;border-radius:12px;font-size:14px;border:1px solid}
.tag.g{color:var(--gr);border-color:rgba(46,229,157,.5)}.tag.a{color:var(--am);border-color:rgba(255,176,46,.5)}.tag.r{color:var(--rd);border-color:rgba(255,77,94,.5)}.tag.b{color:var(--cy);border-color:rgba(38,208,255,.5)}
.legend{display:flex;gap:16px;font-size:14px;color:var(--mut);flex-wrap:wrap}.legend i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.row{display:flex;align-items:center;gap:12px}.sp{flex:1}
canvas{display:block}
svg text{font-family:inherit}
