/* squad.wiki 0.1 · 指挥台 */
@font-face{font-family:"Num";src:url(/fonts/num.woff) format("woff");font-weight:700;font-display:swap}
:root{--g:clamp(10px,1.4vw,22px);--w:min(1880px,100% - 2*var(--g));--fd:"Num","Bahnschrift","DIN Alternate","Arial Narrow",sans-serif;--fh:"HarmonyOS Sans SC","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--e:cubic-bezier(.22,.8,.2,1);--r:16px;--rb:10px;--t1:#4a9fe8;--t2:#e2604f;color-scheme:dark}
[data-t=dark]{--bg:#111310;--s1:#1a1d18;--s2:#252921;--s3:#2f342a;--ln:#30352b;--ink:#ecebe2;--mut:#9c9d8d;--acc:#f08c2e;--acci:#1a1206;--ok:#8fc15a;--bad:#ee6a5a;--warn:#e9b949;--gl:#1a1d18d9;--sh:0 1px 0 #ffffff0a inset,0 10px 30px #00000059}
[data-t=light]{--bg:#eeeee6;--s1:#fbfbf7;--s2:#e8e8de;--s3:#dcdcd0;--ln:#d5d5c7;--ink:#1c1f18;--mut:#696c5e;--acc:#cf6a12;--acci:#fff;--ok:#4c8a1f;--bad:#c5402f;--warn:#a87b0c;--gl:#fbfbf7e6;--sh:0 1px 2px #0000000d,0 10px 26px #5a5a3a1f;color-scheme:light}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;overflow-x:clip}
html{font-size:14px;scroll-padding-top:80px}
body{background:var(--bg);color:var(--ink);font:14px/1.55 var(--fh);-webkit-font-smoothing:antialiased;transition:background-color .3s}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-weight:900;margin:0;line-height:1.2;text-wrap:balance}h1{font-size:24px}h2{font-size:18px}h3{font-size:15px}p{margin:0}
.n{font-family:var(--fd);font-weight:700;font-variant-numeric:tabular-nums}
.mut{color:var(--mut)}.sm{font-size:12px}.ok{color:var(--ok)}.bad{color:var(--bad)}.acc{color:var(--acc)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.ic{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;flex:none}
.fl{display:inline-block;vertical-align:middle;width:30px;height:16px;object-fit:fill;border-radius:0;box-shadow:0 0 0 1px #00000040;flex:none;background:var(--s3)}.fl.lg{width:54px;height:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--ln);border-radius:var(--rb);background:var(--s1);cursor:pointer;white-space:nowrap;font-weight:600;transition:background-color .15s var(--e),transform .1s var(--e),border-color .15s}
.btn:hover{background:var(--s2);border-color:var(--mut)}.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.5;pointer-events:none}
.btn.p{background:var(--acc);border-color:var(--acc);color:var(--acci)}.btn.p:hover{filter:brightness(1.08)}
.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--s2)}
.chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border:1px solid var(--ln);border-radius:6px;font-size:12px;white-space:nowrap;background:transparent}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}
.chip.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent);background:color-mix(in srgb,var(--bad) 10%,transparent)}
.chip.acc{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 50%,transparent)}.chip.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent)}
button.chip,a.chip{cursor:pointer}button.chip:hover,a.chip:hover{border-color:var(--mut)}
.tier{display:inline-block;min-width:32px;padding:0 5px;text-align:center;font:700 12px/18px var(--fd);color:#14160f;border-radius:4px;white-space:nowrap}
.pn{background:var(--s1);border:1px solid var(--ln);border-radius:var(--r)}
[data-t=dark] .pn{border-color:transparent;box-shadow:var(--sh)}[data-t=light] .pn{box-shadow:var(--sh);border-color:transparent}
.pad{padding:16px}.row{display:flex;align-items:center;gap:10px}.sp{flex:1}.wrap{flex-wrap:wrap}.col{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);min-width:0}
.grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.g2{display:grid;gap:12px;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start}
.cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);animation:lp 2s infinite}
@keyframes lp{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 70%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.skel{background:linear-gradient(90deg,var(--s2),var(--s3),var(--s2));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:var(--rb);min-height:16px}
@keyframes sk{to{background-position:-200% 0}}
/* 顶部胶囊导航 */
.nav{position:fixed;top:10px;left:50%;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:6px;width:max-content;max-width:calc(100% - 20px);height:48px;padding:0 7px 0 16px;background:var(--gl);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:1px solid var(--ln);border-radius:999px;box-shadow:var(--sh)}
.brand{font:900 16px var(--fh);white-space:nowrap;margin-right:8px;letter-spacing:.02em}.brand span{color:var(--acc)}
.links{display:flex;gap:2px;min-width:0}
.links a{position:relative;display:flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:999px;color:var(--mut);font-weight:600;white-space:nowrap;transition:color .15s,background-color .15s}
.links a:hover{color:var(--ink);background:var(--s2)}.links a.on{color:var(--bg);background:var(--ink)}
.links a .dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--bad)}
.tools{display:flex;gap:4px;align-items:center}
.tb{height:32px;min-width:32px;padding:0 10px;border:1px solid var(--ln);border-radius:999px;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;white-space:nowrap}
.tb:hover{background:var(--s2)}.tb kbd{font:600 11px var(--fd);color:var(--mut);border:1px solid var(--ln);border-radius:4px;padding:0 4px}
.tb img{width:22px;height:22px;border-radius:50%;margin-left:-6px}
.ann{position:relative;z-index:1;margin:70px auto -60px;width:var(--w);padding:7px 14px;border-radius:var(--rb);background:color-mix(in srgb,var(--acc) 14%,var(--s1));border:1px solid color-mix(in srgb,var(--acc) 35%,transparent);display:flex;gap:10px;align-items:center;font-size:13px}
main{min-height:70vh;padding-top:68px}
.page{width:var(--w);margin:0 auto;padding:10px 0 30px}
.ph{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.tabs{display:flex;gap:4px;flex-wrap:wrap}
/* 表格 */
table{width:100%;border-collapse:collapse}
th{font-weight:600;color:var(--mut);text-align:left;font-size:12px;padding:8px 10px;border-bottom:1px solid var(--ln);white-space:nowrap}
td{padding:8px 10px;border-bottom:1px solid color-mix(in srgb,var(--ln) 60%,transparent);white-space:nowrap}
tr:last-child td{border-bottom:0}tr.cl{cursor:pointer}tr.cl:hover td{background:var(--s2)}
td.r,th.r{text-align:right}.tw{overflow-x:auto}
.thumb{width:44px;height:33px;object-fit:cover;border-radius:6px;display:inline-block;vertical-align:middle}
/* 便当格首页 */
.bento{display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"live live live live srv srv" "live live live live srv srv" "look look stat stat rk rk" "bn bn rp rp rk rk" "hm hm hm fw fw fw" "mt mt mt mt sh sh" "mp mp mp mp fm fm"}
.bento>*{min-width:0}
.b-live{grid-area:live;position:relative;border-radius:var(--r);overflow:hidden;min-height:min(58vh,580px);display:flex;align-items:flex-end;background:#14160f;color:#fff}
.hbg{position:absolute;inset:0;overflow:hidden}
.hbg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s var(--e)}
.hbg img.on{opacity:1;animation:kb 14s linear both}
@keyframes kb{from{transform:scale(1.12) translate(1.2%,-1%)}to{transform:scale(1.02)}}
.scrim{position:absolute;inset:0;background:linear-gradient(0deg,#07090aeb 0,#07090a8c 34%,#07090a00 66%);pointer-events:none}
.onimg{color:#fff}.onimg .mut{color:#ffffffc4}.onimg .btn{background:#00000059;border-color:#ffffff59;color:#fff;backdrop-filter:blur(6px)}.onimg .btn.p{background:var(--acc);border-color:var(--acc);color:var(--acci)}
#cap{position:relative;padding:22px;display:grid;gap:8px;width:100%}
#cap>*{animation:capin .55s var(--e) both}#cap>*:nth-child(2){animation-delay:.06s}#cap>*:nth-child(3){animation-delay:.12s}#cap>*:nth-child(4){animation-delay:.18s}
@keyframes capin{from{opacity:0;transform:translateY(14px)}}
.cvs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tk{font:700 28px/1 var(--fd)}
.mapn{font-size:clamp(28px,3vw,46px);line-height:1.05}
.acts{display:flex;gap:8px;flex-wrap:wrap}
.dots{position:absolute;right:16px;bottom:22px;display:flex;gap:6px;z-index:2}
.dots button{position:relative;width:34px;height:5px;border:0;border-radius:3px;background:#ffffff4d;cursor:pointer;overflow:hidden;padding:0}
.pg{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--acc);transform:scaleX(0);transform-origin:0 50%}.dots .pg{height:100%;background:#fff}
.on>.pg{animation:pg var(--dur,7s) linear forwards}.paused .on>.pg{animation-play-state:paused}@keyframes pg{to{transform:scaleX(1)}}
.hpp{position:absolute;left:12px;top:12px;z-index:3;width:30px;height:30px;border-radius:50%;border:1px solid #ffffff55;background:#00000073;color:#fff;cursor:pointer;font-size:11px;display:grid;place-items:center;backdrop-filter:blur(6px)}
.srow{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:0;border-radius:var(--rb);background:transparent;cursor:pointer;text-align:left;width:100%;overflow:hidden;transition:background-color .15s}
.srow:hover,.srow.on{background:var(--s2)}.srow b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow img.th{width:48px;height:36px;object-fit:cover;border-radius:6px}
.bar{height:4px;background:color-mix(in srgb,currentColor 16%,transparent);border-radius:2px;overflow:hidden;margin-top:5px}.bar i{display:block;height:100%;background:var(--ok)}.bar.full i{background:var(--acc)}
.li{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--ln) 60%,transparent);min-width:0}.li:first-of-type{border-top:0}
.li b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.li .pos{width:20px;font:700 15px var(--fd);color:var(--mut)}
a.li:hover b,div.li.cl:hover b{color:var(--acc)}.li.cl{cursor:pointer}
.hd{display:flex;align-items:center;gap:8px;margin-bottom:8px}.hd a{font-size:12px;color:var(--mut)}.hd a:hover{color:var(--acc)}
.hstat{display:flex;gap:22px;flex-wrap:wrap}.hstat span{display:grid;font-size:12px;color:var(--mut)}.hstat b{font-size:28px;line-height:1.05;color:var(--ink)}
.hs{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:6px}.hs>*{flex:none;scroll-snap-align:start}
.plate{margin:0;width:170px}.plate img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;transition:transform .5s var(--e)}.plate:hover img{transform:scale(1.03)}
.plate figcaption{padding-top:6px;font-size:12px;color:var(--mut)}.plate b{display:block;color:var(--ink);font-size:13px}
.pod{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:8px;align-items:end}
.pod>a{background:var(--s2);border:1px solid transparent;padding:12px 6px;text-align:center;border-radius:12px;display:grid;gap:5px;justify-items:center;transition:transform .2s var(--e),border-color .2s;min-width:0}
.pod>a:hover{transform:translateY(-4px);border-color:var(--acc)}.pod .pos{font:700 28px/1 var(--fd);color:var(--mut)}.pod .first{padding-top:24px}.pod .first .pos{color:var(--acc);font-size:40px}
.pod b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wide{position:relative;overflow:hidden;border-radius:var(--r);background:#111;color:#fff}.wide img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.b-rp{grid-area:rp;min-height:200px;display:flex;align-items:flex-end;padding:16px}
/* 卡片 */
.scard{position:relative;overflow:hidden;border-radius:var(--r);background:var(--s1);box-shadow:var(--sh);transition:transform .2s var(--e)}.scard:hover{transform:translateY(-3px)}
.scard img.mp{width:100%;aspect-ratio:16/9;object-fit:cover}
.scard .top{position:absolute;left:8px;top:8px;display:flex;gap:4px}.scard .top .chip{background:#000a;color:#fff;border-color:#fff4}
.scard .bd{padding:12px;display:grid;gap:7px}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.kv>*{background:var(--s2);border-radius:var(--rb);padding:9px 10px;display:block}.kv .n{font-size:22px;display:block;line-height:1.1}
.prog{height:6px;background:var(--s2);border-radius:3px;overflow:hidden}.prog i{display:block;height:100%;background:var(--acc)}
.note{border:1px dashed var(--ln);padding:8px 10px;border-radius:var(--rb);color:var(--mut);font-size:12px}
.err{border:1px solid color-mix(in srgb,var(--bad) 40%,transparent);background:color-mix(in srgb,var(--bad) 8%,transparent);padding:10px 12px;border-radius:var(--rb);font-size:13px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;counter-reset:s}
.steps>div{padding:10px 12px;border-radius:var(--rb);counter-increment:s;background:var(--s2)}
.steps>div::before{content:counter(s);font:700 18px var(--fd);color:var(--acc);margin-right:6px}
.q4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.q4>div{padding:12px;border-radius:var(--rb);background:var(--s2);display:grid;gap:3px;align-content:start}.q4 .ic{width:24px;height:24px;color:var(--acc)}
.vs{display:inline-flex;align-items:center;gap:4px}
/* 表单 */
.in,.lk input,textarea.in,select.in{width:100%;min-width:0;height:38px;padding:0 12px;background:var(--bg);border:1px solid var(--ln);border-radius:var(--rb);transition:border-color .15s,box-shadow .15s}
textarea.in{height:auto;min-height:110px;padding:10px 12px;resize:vertical;line-height:1.6}
.in:focus,.lk input:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 25%,transparent)}
.in::placeholder,.lk input::placeholder{color:var(--mut)}
.lk{display:flex;gap:6px}.lk .btn{height:38px}
label.f{display:grid;gap:5px;font-size:12px;color:var(--mut)}label.f>span{font-weight:600}
.opt{display:flex;gap:6px;flex-wrap:wrap}.opt .chip{height:32px;padding:0 12px;font-size:13px}
/* 回放 */
.rpv{position:relative;width:100%;aspect-ratio:1;margin:0 auto;border-radius:var(--r);overflow:hidden;background:#111}
.rpv img,.rpv canvas{position:absolute;inset:0;width:100%;height:100%}
.rpbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
input[type=range]{width:100%;accent-color:var(--acc)}
.tkc{width:100%;height:70px;display:block}
/* 抽屉、客服、命令面板 */
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--s1);border-left:1px solid var(--ln);z-index:80;transform:translateX(102%);transition:transform .3s var(--e);overflow:auto;padding:18px;box-shadow:var(--sh)}.drawer.open{transform:none}
.mask{position:fixed;inset:0;background:#0008;z-index:75;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(2px)}.mask.open{opacity:1;pointer-events:auto}
.fab{position:fixed;right:16px;bottom:16px;z-index:40;width:50px;height:50px;border-radius:50%;border:0;background:var(--acc);color:var(--acci);cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 18px #0005;transition:transform .15s var(--e)}.fab:hover{transform:scale(1.06)}.fab .ic{width:24px;height:24px}
.fab b{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--bad);color:#fff;font:700 11px/18px var(--fd)}
.cs{position:fixed;right:16px;bottom:76px;z-index:41;width:min(360px,calc(100% - 32px));height:min(520px,70vh);background:var(--s1);border:1px solid var(--ln);border-radius:var(--r);box-shadow:var(--sh);display:none;flex-direction:column}
.cs.open{display:flex;animation:capin .25s var(--e)}
.cs .hd{padding:10px 12px;border-bottom:1px solid var(--ln);margin:0}.cs .bd{padding:10px 12px;overflow:auto;display:flex;flex-direction:column;gap:8px;flex:1}
.cs form{display:flex;gap:6px;padding:10px;border-top:1px solid var(--ln)}
.msg{padding:7px 10px;border-radius:12px;background:var(--s2);max-width:86%;white-space:pre-wrap;word-break:break-word;align-self:flex-start}
.msg.user{align-self:flex-end;background:var(--acc);color:var(--acci)}.msg.sys{align-self:center;background:none;color:var(--mut);font-size:12px;text-align:center;max-width:100%}
.msg small{display:block;font-size:11px;opacity:.7;margin-bottom:2px}
.cmd{position:fixed;inset:0;z-index:90;display:none;place-items:start center;padding-top:14vh;background:#0009;backdrop-filter:blur(4px)}.cmd.open{display:grid}
.cmdb{width:min(560px,calc(100% - 24px));background:var(--s1);border:1px solid var(--ln);border-radius:14px;box-shadow:0 24px 70px #000a;overflow:hidden;animation:capin .22s var(--e)}
.cmdb form{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--ln)}.cmdb input{flex:1;height:50px;border:0;background:none;outline:0;font-size:15px}
#cmdl{max-height:46vh;overflow:auto;padding:6px}#cmdl button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:none;border-radius:8px;cursor:pointer;text-align:left}
#cmdl button:hover,#cmdl button:focus{background:var(--s2);outline:0}
#toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px;z-index:95;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw;font-size:13px}
footer{width:var(--w);margin:0 auto;border-top:1px solid var(--ln);padding:14px 0 24px;color:var(--mut);font-size:12px;display:flex;gap:16px;flex-wrap:wrap}
.md{line-height:1.8;max-width:760px}.md h1{font-size:22px;margin:4px 0 12px}.md h2{font-size:17px;margin:20px 0 8px}.md p{margin:0 0 10px}.md ul,.md ol{margin:0 0 10px;padding-left:22px}.md code{font-family:var(--fd);background:var(--s2);padding:1px 5px;border-radius:4px}
.md table{margin:8px 0 12px}.md td,.md th{white-space:normal;border:1px solid var(--ln)}
.post{white-space:pre-wrap;word-break:break-word;line-height:1.75}
.rcard{display:flex;gap:10px;align-items:center;padding:8px;border-radius:var(--rb);background:var(--s2);margin:6px 0;white-space:normal}
.avatar{width:44px;height:44px;border-radius:12px;background:var(--s2);display:grid;place-items:center;overflow:hidden;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}
/* 页面切换、主题切换 */
#view{view-transition-name:view}
::view-transition-old(view){animation:vo .16s var(--e) both}::view-transition-new(view){animation:vi .32s var(--e) both}
@keyframes vo{to{opacity:0;transform:translateY(-8px)}}@keyframes vi{from{opacity:0;transform:translateY(12px)}}
.vin{animation:vi .32s var(--e) both}
.tt #view{view-transition-name:none}.tt::view-transition-old(root),.tt::view-transition-new(root){animation:none;mix-blend-mode:normal}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* 平板 */
@media (max-width:1180px){
 .bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"live live live live" "srv srv rk rk" "look look stat stat" "bn bn rp rp" "hm hm fw fw" "mt mt mt mt" "sh sh fm fm" "mp mp mp mp"}
 .g2{grid-template-columns:minmax(0,1fr)}
 .tb span,.tb kbd{display:none}.links a{padding:0 8px}
 .q4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px) and (min-width:761px){.links a span{display:none}.links a{width:34px;justify-content:center;padding:0}}
/* 手机：顶栏 + 底部标签栏 */
@media (max-width:760px){
 .nav{top:0;left:0;right:0;transform:none;width:auto;max-width:none;border-radius:0;border:0;border-bottom:1px solid var(--ln);height:48px;padding:0 10px;background:var(--s1);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
 .tools{margin-left:auto}.tb.login span{display:none}
 .links{position:fixed;left:0;right:0;bottom:0;height:58px;background:var(--s1);border-top:1px solid var(--ln);overflow-x:auto;z-index:35;gap:0;scrollbar-width:none}
 .links a{flex:1 0 64px;flex-direction:column;gap:1px;height:58px;padding:0;justify-content:center;font-size:11px;border-radius:0}
 .links a.on{background:none;color:var(--acc)}.links a .ic{width:21px;height:21px}
 main{padding-top:52px;padding-bottom:60px}.ann{margin:56px auto -46px}
 .fab{bottom:70px;width:44px;height:44px}.cs{bottom:122px;height:min(480px,62vh)}
 .bento{grid-template-columns:minmax(0,1fr);grid-template-areas:"live" "look" "srv" "stat" "rk" "bn" "rp" "hm" "fw" "mt" "sh" "fm" "mp"}.b-live{min-height:60svh}
 .q4,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .page{padding:10px 0 28px}h1{font-size:20px}
 .cards{grid-template-columns:minmax(0,1fr)}
 footer{padding-bottom:80px}
}
.evimg{display:grid;gap:4px;margin:0 0 10px}.evimg img{width:100%;border-radius:var(--rb);border:1px solid var(--ln)}
/* 文档站 */
.docs{display:grid;grid-template-columns:250px minmax(0,1fr) 190px;gap:14px;align-items:start}
.dnav{position:sticky;top:72px;max-height:calc(100vh - 90px);overflow:auto;display:grid;gap:2px}
.dg{margin-top:12px;display:grid;gap:1px}.dg>b{font-size:13px;margin-bottom:3px}.dg2{display:grid;gap:1px;margin:4px 0 4px 8px}
.dl{display:block;padding:5px 8px;border-radius:8px;font-size:13px;color:var(--mut)}.dl:hover{background:var(--s2);color:var(--ink)}.dl.on{background:var(--s2);color:var(--acc);font-weight:600}
.dot2{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acc);vertical-align:middle}
.dmain{min-height:60vh}.dtoc{position:sticky;top:72px;display:grid;gap:4px;max-height:calc(100vh - 90px);overflow:auto}.dtoc a{color:var(--mut);display:block}.dtoc a.sub{padding-left:10px}.dtoc a:hover{color:var(--acc)}
.md{max-width:880px}.md h1{font-size:24px;margin:4px 0 14px}.md h2{font-size:19px;margin:26px 0 10px;padding-top:6px;border-top:1px solid var(--ln)}.md h3{font-size:16px;margin:20px 0 8px}.md h4{font-size:14px;margin:16px 0 6px}
.md li{margin:3px 0}.md blockquote{margin:10px 0;padding:6px 14px;border-left:3px solid var(--ln);color:var(--mut)}.md hr{border:0;border-top:1px solid var(--ln);margin:18px 0}.md img{border-radius:var(--rb);margin:8px 0}
.md th{background:var(--s2)}.md td,.md th{padding:6px 10px;white-space:normal}
.codeb{position:relative;margin:10px 0;border-radius:var(--rb);background:#0e100d;border:1px solid var(--ln)}.codeb pre{margin:0;padding:12px 14px;overflow-x:auto;color:#e6e4d8;font:12.5px/1.6 ui-monospace,Consolas,"Cascadia Mono",monospace}
.codeb .lang{position:absolute;left:10px;top:-9px;font:600 10px var(--fd);background:var(--s2);color:var(--mut);padding:1px 6px;border-radius:4px}.codeb .cpy{position:absolute;right:6px;top:6px;border:1px solid #ffffff33;background:#ffffff14;color:#e6e4d8;border-radius:6px;font-size:11px;padding:2px 8px;cursor:pointer;opacity:.7}.codeb:hover .cpy{opacity:1}
.callout{margin:12px 0;padding:10px 14px;border-radius:var(--rb);border:1px solid;background:color-mix(in srgb,currentColor 7%,transparent)}.callout>*{color:var(--ink)}.callout .ct{display:block;margin-bottom:4px;color:inherit}.callout p:last-child{margin-bottom:0}
.callout.tip,.callout.success{color:var(--ok)}.callout.warning{color:var(--warn)}.callout.danger{color:var(--bad)}.callout.info{color:var(--t1)}
.dedit{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:1180px){.docs{grid-template-columns:220px minmax(0,1fr)}.dtoc{display:none}}
@media (max-width:760px){.docs{grid-template-columns:minmax(0,1fr)}.dnav{position:static;max-height:none}.dedit{grid-template-columns:1fr}}
.codeb code{background:none;padding:0;color:inherit;border-radius:0}
.roster{display:grid;grid-template-columns:1fr 1fr;gap:12px}.team{display:grid;gap:8px;align-content:start}.team .th{padding:6px 2px}.team .tk{font-size:26px}
.squad{background:var(--s2);border-radius:var(--rb);padding:8px 10px}.sqh{padding-bottom:4px;border-bottom:1px solid var(--ln);margin-bottom:2px}
.prow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:5px 0;border-bottom:1px solid color-mix(in srgb,var(--ln) 50%,transparent)}.prow:last-child{border-bottom:0}
.prow:hover b{color:var(--acc)}.prow .ic{color:var(--mut)}.pn2{display:grid;min-width:0}.pn2 b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ssr nav{margin-bottom:12px;font-size:13px}.ssr article,.ssr ul{line-height:1.8}
@media (max-width:760px){.roster{grid-template-columns:1fr}}
@media (max-width:760px){.tw>table{min-width:560px}.roster .tw>table{min-width:0}}
/* 回放 */
.rpg{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:12px;align-items:start}
.rpv{position:relative;width:100%;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:#111;touch-action:none;cursor:grab}
.rpz{position:absolute;inset:0;transform-origin:0 0;transition:transform .12s var(--e)}.rpz img,.rpz canvas{position:absolute;inset:0;width:100%;height:100%;user-select:none}
.rphud{position:absolute;left:10px;top:10px;display:grid;gap:4px;padding:8px 10px;border-radius:10px;background:#07090acc;color:#fff;font-size:12px;backdrop-filter:blur(6px);pointer-events:none}.rphud .mut{color:#ffffffaa}
.tdot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;border:1.5px solid #fff;vertical-align:-1px}
.rpzc{position:absolute;right:10px;top:10px;display:grid;gap:6px}.hb2{width:34px;height:34px;border-radius:10px;border:1px solid #ffffff44;background:#07090acc;color:#fff;font-size:16px;cursor:pointer}.hb2:hover{background:#000}
.rpsl{position:relative;flex:1}.rpsl input{position:relative;z-index:1}.rpticks{position:absolute;left:8px;right:8px;top:50%;height:14px;transform:translateY(-50%);pointer-events:none}.rpticks i{position:absolute;top:0;width:2px;height:14px;border-radius:1px;opacity:.85}
.rpbar{display:flex;gap:10px;align-items:center}
.rplg{gap:14px;padding:2px 4px}.rplg img{width:16px;height:16px;display:inline-block;vertical-align:-3px;margin-right:4px;filter:invert(.5)}.lgd{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--t1);border:2px solid #fff;box-shadow:0 0 0 1px var(--ln);margin-right:5px;vertical-align:-1px}
.rpev .tabs{margin-bottom:8px}.rpel{max-height:min(56vh,620px);overflow:auto;display:grid}
.rpe{display:grid;grid-template-columns:44px 26px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 6px;border:0;border-bottom:1px solid color-mix(in srgb,var(--ln) 55%,transparent);background:none;text-align:left;cursor:pointer;border-radius:6px;transition:background-color .15s}
.rpe:hover{background:var(--s2)}.rpe.now{background:color-mix(in srgb,var(--acc) 16%,transparent)}.rpe b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rpi{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--c)}.rpi .ic{width:15px;height:15px}
[data-t=light] .rpi{color:color-mix(in srgb,var(--c) 70%,#000)}
@media (max-width:1180px){.rpg{grid-template-columns:minmax(0,1fr)}}
/* 管理后台 */
.adm{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start}
.adm-nav{position:sticky;top:72px;padding:10px;display:grid;gap:10px}.adm-g{display:grid;gap:2px}.adm-g>b{font-size:11px;color:var(--mut);letter-spacing:.08em;padding:2px 8px}
.adm-g a{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;color:var(--mut);font-weight:600;transition:background-color .15s,color .15s}.adm-g a:hover{background:var(--s2);color:var(--ink)}
.adm-g a.on{background:var(--ink);color:var(--bg)}.adm-g a .bdg{margin-left:auto;font:700 11px/18px var(--fd);min-width:20px;padding:0 5px;text-align:center;border-radius:9px;background:var(--bad);color:#fff}.adm-g a .ic{flex:none}
.adm-h{display:flex;gap:12px;align-items:center;margin-bottom:12px}.adm-h>.ic{width:34px;height:34px;padding:7px;border-radius:10px;background:var(--s2);color:var(--acc);box-sizing:content-box}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.kpi{position:relative;display:grid;gap:2px;padding:14px;border-radius:var(--r);background:var(--s1);box-shadow:var(--sh);overflow:hidden;transition:transform .2s var(--e)}.kpi:hover{transform:translateY(-3px)}
.kpi>.ic{position:absolute;right:12px;top:12px;width:28px;height:28px;color:var(--mut);opacity:.5}.kpi b{font-size:28px;line-height:1.1}.kpi small{color:var(--mut);font-size:11px}
.kpi.hot{background:color-mix(in srgb,var(--acc) 12%,var(--s1))}.kpi.hot b{color:var(--acc)}
.adm-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.adm-map .li{align-items:flex-start}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rowi{gap:8px;margin:4px 0}.rowi .in[type=number]{width:110px}
.faq{display:grid;grid-template-columns:1fr;gap:6px;padding:10px;border-radius:var(--rb);background:var(--s2)}
label.f small{font-size:11px}
.avatar span,.av0{font:900 18px var(--fh);color:var(--acc)}.av0{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--s2);font-size:12px;font-style:normal;margin-left:-6px}
.avatar.lg{width:64px;height:64px;border-radius:16px;box-shadow:var(--sh)}.mehead{gap:14px}
@media (max-width:1180px){.adm{grid-template-columns:minmax(0,1fr)}.adm-nav{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.adm-map,.g3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.adm-nav{grid-template-columns:1fr 1fr}}
/* 0.1.1 动效与展示 */
.ticker{width:var(--w);margin:6px auto 0;overflow:hidden;border-radius:999px;background:var(--s1);box-shadow:var(--sh);height:34px;display:flex;align-items:center;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.tk-trk{display:flex;gap:14px;align-items:center;white-space:nowrap;width:max-content;animation:mq 70s linear infinite;font-size:13px;padding-left:14px}.tk-trk .ic{color:var(--acc)}.tk-trk .sep{color:var(--mut);font-style:normal}
.ticker:hover .tk-trk,.mq:hover .mq-trk{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.mq{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.mq-trk{display:flex;gap:10px;width:max-content;animation:mq 90s linear infinite}
.mq .plate{width:150px;display:grid;gap:4px}.mq .plate span{font-size:12px;color:var(--mut)}.mq .plate b{display:block;color:var(--ink);font-size:13px}
.hbar{display:grid;grid-template-columns:auto 96px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 0;border-top:1px solid color-mix(in srgb,var(--ln) 55%,transparent)}.hbar:first-of-type{border-top:0}
.hbar img{width:42px;height:30px;object-fit:cover;border-radius:6px}.hbar b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.hbar .n{font-size:12px;color:var(--mut)}
.bar2{height:8px;border-radius:4px;background:var(--s2);overflow:hidden}.bar2 i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--acc),color-mix(in srgb,var(--acc) 60%,#fff))}.bar2.win i{background:linear-gradient(90deg,var(--ok),color-mix(in srgb,var(--ok) 60%,#fff))}
.pn,.scard,.kpi,.cardimg{transition:transform .2s var(--e),box-shadow .2s var(--e)}.bento>.pn:hover,.cards>*:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:no-preference){
 .stg{animation:fadeup .5s var(--e) both;animation-delay:calc(var(--i,0) * 40ms)}
 .bar i,.bar2 i,.prog i{animation:grow 1s var(--e) both;transform-origin:0 50%}
 .b-live::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,#ffffff14 50%,transparent 60%);background-size:250% 100%;animation:shine 6s ease-in-out infinite;pointer-events:none}
}
@keyframes fadeup{from{opacity:0;transform:translateY(14px)}}@keyframes grow{from{transform:scaleX(0)}}@keyframes shine{0%,60%{background-position:120% 0}100%{background-position:-120% 0}}
.hbar img.fl{width:40px;height:21px;border-radius:0;object-fit:fill}
/* 0.1.3 旗帜一律直角 */
.fl,.fl.lg{border-radius:0!important;border:0!important;margin:0}.fl.lg{width:54px;height:28px}
.rperr{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;display:grid;gap:8px;justify-items:center;text-align:center;max-width:80%;padding:16px 18px;border-radius:14px;background:#07090ae6;color:#fff}
/* 文档图标、图片 */
.dl{display:flex;align-items:center;gap:7px}.dl .ic{width:15px;height:15px;opacity:.7;flex:none}.dl.on .ic{opacity:1}
.md .dico{width:20px;height:20px;vertical-align:-4px;color:var(--acc)}.md td .dico{margin-right:4px}
.md img{max-width:100%}.md td img{width:72px;height:auto;border-radius:6px;display:block}.md img[src*="/img/flags/"]{width:38px;height:20px;border-radius:0;display:inline-block;vertical-align:middle;box-shadow:0 0 0 1px #00000030;margin-right:6px}
.md h2 img[src*="/img/flags/"]{width:44px;height:23px;vertical-align:-3px}
.md p>img:only-child{width:100%;max-height:240px;object-fit:cover;border-radius:var(--r);margin:4px 0 8px}
.dhero{position:relative;height:200px;border-radius:var(--r);overflow:hidden;display:flex;align-items:flex-end}.dhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dh-t{position:relative;padding:18px}.dh-t h1{font-size:26px;margin:0}
.dcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:12px}
.dcard{position:relative;padding:14px;border-radius:var(--r);background:var(--s2);display:grid;gap:8px;align-content:start}.dcard>.ic{position:absolute;right:12px;top:12px;width:30px;height:30px;color:var(--acc);opacity:.35}.dcard>b{font-size:15px}
.dcard div{display:grid;gap:2px}.dcard a{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mut);padding:3px 0}.dcard a:hover{color:var(--acc)}.dcard a .ic{width:14px;height:14px}
/* 0.1.3 首页：两屏以内看到全部功能 */
.home2{display:grid;gap:10px}
.h-top{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:10px;height:clamp(340px,50vh,540px)}
.h-top .b-live{min-height:0;height:100%}
.h-srv,.h-rank,.h-look{display:flex;flex-direction:column;min-height:0}.h-scroll{overflow:auto;min-height:0;flex:1}
.h-mid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.45fr);gap:10px;height:clamp(340px,42vh,440px)}
.h-mid>*{min-height:0;overflow:hidden}
.h-shop{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto}.h-shop a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--rb);background:var(--s2);font-weight:600;font-size:13px;transition:background-color .15s}.h-shop a:hover{background:var(--s3)}.h-shop .ic{color:var(--acc)}
.tabc{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.tabh{display:flex;gap:2px;align-items:center;padding:8px 12px 0;border-bottom:1px solid var(--ln);flex-wrap:wrap}
.tabh button{border:0;background:none;padding:8px 10px;font-weight:600;color:var(--mut);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;gap:6px;align-items:center;transition:color .15s}
.tabh button:hover{color:var(--ink)}.tabh button.on{color:var(--ink);border-bottom-color:var(--acc)}.tabh .chip{height:18px;font-size:11px}
.tabb{padding:8px 14px 12px;overflow:auto;flex:1;min-height:0}
.h-tabs .li .thumb{width:40px;height:30px}.h-tabs .li .chip{flex:none}
.h-maps{padding:8px 0}.h-maps .mq .plate{width:120px}
/* 服务器详情 */
.sd{display:grid;gap:10px}
.sd-top{height:clamp(210px,28vh,270px);display:flex;align-items:flex-end}
.sd-cap{position:relative;padding:14px 18px;display:grid;gap:8px;width:100%}.sd-cap h1{font-size:28px;color:#fff}
.sd-kpi{display:flex;gap:22px;flex-wrap:wrap}.sd-kpi span{display:grid;font-size:12px;color:#ffffffb8}.sd-kpi b{font:700 22px var(--fd);color:#fff;line-height:1.15}.sd-kpi small{font-size:13px;opacity:.7}
.sd-tabs .tabb{height:max(420px,calc(100vh - 420px))}
.rtool{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px;position:sticky;top:-8px;background:var(--s1);z-index:2;padding:6px 0}
.seg{display:inline-flex;border:1px solid var(--ln);border-radius:9px;overflow:hidden}.seg button{border:0;background:none;padding:5px 10px;font-weight:600;font-size:12px;color:var(--mut);cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.seg button+button{border-left:1px solid var(--ln)}.seg button.on{background:var(--ink);color:var(--bg)}.seg .fl{width:20px;height:11px}
.rsq{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sqg{display:grid;gap:8px}.rsq.one .sqg{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.pgr{display:flex;gap:6px;align-items:center}.srt{cursor:pointer;user-select:none}.srt.on{color:var(--acc)}
@media (max-width:1180px){.h-top{grid-template-columns:1fr;height:auto}.h-top .b-live{height:clamp(300px,48vh,460px)}.h-srv{max-height:340px}
 .h-mid{grid-template-columns:1fr 1fr;height:auto}.h-mid>*{max-height:440px}.h-mid>.tabc{grid-column:1/-1;height:400px}}
@media (max-width:760px){.h-mid{grid-template-columns:1fr}.rsq{grid-template-columns:1fr}.sd-kpi{gap:14px}.sd-kpi b{font-size:18px}}
.h-top .b-live{grid-area:auto}
.home2{grid-template-columns:minmax(0,1fr)}.home2>*,.h-top>*,.h-mid>*,.sd>*{min-width:0}
.rsq:not(.one) .sqg{grid-template-columns:repeat(2,minmax(0,1fr))}.rsq.one .sqg{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1180px){.rsq:not(.one) .sqg{grid-template-columns:1fr}.rsq.one .sqg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.rsq.one .sqg{grid-template-columns:1fr}}
