/* 渦輪狂熱 Turbo Fever v6 — 狂飆漫畫 HUD 風格
   粗黑描邊、硬陰影、熱紅＋電黃＋霓虹點綴、斜切面板、放射速度線與網點。
   PC：100vh 全畫面不捲動；手機：獨立直式排版。 */
:root{--ink:#07070b;--bg:#101018;--pn:#17171f;--pn2:#1f1f2a;--line:#2c2c3a;--y:#ffd400;--r:#ff2a2a;--o:#ff7a00;--c:#21e6ff;--m:#ff2fa8;--w:#f5f1e6;--mut:#9a98a8;--ok:#5dff8f;--warn:#ffb000;--bad:#ff3b3b;
  --fx:"Impact","Haettenschweiler","Arial Narrow Bold","Franklin Gothic Heavy",sans-serif;--fz:"Microsoft JhengHei","PingFang TC","Noto Sans TC","Heiti TC",sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--w);font:600 14px/1.45 var(--fz);-webkit-font-smoothing:antialiased;user-select:none}
body::before{content:'';position:fixed;inset:-50%;z-index:-2;background:repeating-conic-gradient(from 0deg at 50% 50%,#1a1622 0 2deg,#0e0e15 2deg 7deg);opacity:.9}
body::after{content:'';position:fixed;inset:0;z-index:-1;background:radial-gradient(circle,#ffffff0d 1px,transparent 1.4px) 0 0/7px 7px,radial-gradient(ellipse at 80% -10%,#ff2a2a33,transparent 55%),radial-gradient(ellipse at 0% 110%,#ffd40022,transparent 50%)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.42}
img{display:block}
h2,h3,h4,h5{font-weight:900;letter-spacing:.02em}
.kick{display:block;font:12px/1 var(--fx);letter-spacing:.14em;color:var(--y);text-transform:uppercase;margin-bottom:4px}
.neg{color:#ff6b6b}.pos{color:var(--ok)}

/* ── 按鈕 ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;background:var(--w);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font-weight:900;transform:skewX(-8deg);transition:transform .08s,box-shadow .08s;white-space:nowrap}
.btn>*{transform:skewX(8deg)}
.btn:hover:not(:disabled){transform:skewX(-8deg) translate(-1px,-1px);box-shadow:6px 6px 0 var(--ink)}
.btn:active:not(:disabled){transform:skewX(-8deg) translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.btn.y{background:var(--y)}.btn.r{background:var(--r);color:#fff}.btn.ghost{background:var(--pn2);color:var(--w);box-shadow:3px 3px 0 var(--ink)}
.btn.sm{padding:5px 10px;font-size:12px;box-shadow:3px 3px 0 var(--ink);border-width:2px}
.btn.huge{font:30px/1 var(--fx);letter-spacing:.08em;padding:16px 30px;width:100%;box-shadow:7px 7px 0 var(--ink);animation:pulse 1.2s ease-in-out infinite}
.btn.huge:disabled{animation:none}
@keyframes pulse{50%{box-shadow:7px 7px 0 var(--ink),0 0 0 6px #ff2a2a55}}
.mini{font:11px var(--fz);padding:1px 6px;border:2px solid var(--ink);background:var(--pn2);color:var(--y)}
.tag{display:inline-block;padding:3px 9px;background:var(--ink);color:var(--y);font-size:12px;font-weight:900;border:2px solid var(--y);transform:skewX(-8deg)}
.tag.bad{color:var(--bad);border-color:var(--bad)}
.chip{display:inline-block;padding:2px 9px;font-size:12px;font-weight:900;background:var(--ink);border:2px solid #444;border-radius:2px}
.chip.ok{border-color:var(--ok);color:var(--ok)}.chip.warn{border-color:var(--warn);color:var(--warn)}.chip.bad{border-color:var(--bad);color:var(--bad)}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.note{padding:7px 10px;background:#ffffff0d;border-left:4px solid var(--y);font-size:13px;margin:6px 0}
.note.ok{border-color:var(--ok)}.note.bad{border-color:var(--bad);background:#ff2a2a14}
.empty{display:grid;place-items:center;text-align:center;color:var(--mut);padding:18px;gap:8px;min-height:80px}
.empty.sm{min-height:40px;padding:8px}
.hint{display:block;color:var(--mut);font-size:12px;font-weight:600;margin-top:6px}
.foot{display:block;color:var(--mut);font-size:11px;margin-top:6px}

/* ── 面板 ── */
.pnl{position:relative;background:linear-gradient(160deg,var(--pn2),var(--pn) 60%);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink),inset 0 0 0 1px #ffffff10;padding:12px 14px;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column}
.pnl::before{content:'';position:absolute;left:0;top:0;width:46px;height:5px;background:var(--r)}
.pnl h4{display:flex;align-items:baseline;gap:8px;font-size:16px;margin-bottom:8px;flex-shrink:0}
.pnl h4 em,.pnl h5 em{font:12px var(--fx);letter-spacing:.12em;color:var(--y);font-style:normal;opacity:.9}
.pnl h4::before{content:'';width:6px;height:16px;background:var(--y);transform:skewX(-15deg);align-self:center}
.pnl h5{font-size:13px;margin:8px 0 5px;color:var(--mut)}

/* ── 進度條 ── */
.bar{position:relative;display:block;height:9px;background:#000;border:2px solid var(--ink);box-shadow:inset 0 0 0 1px #333;overflow:hidden;flex:1}
.bar b{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--o),var(--y));transition:width .3s}
.bar.ok b{background:var(--ok)}.bar.warn b{background:var(--warn)}.bar.bad b{background:var(--bad)}
.bar.dual b.base{background:#555;z-index:1}.bar.dual b:not(.base){background:linear-gradient(90deg,var(--r),var(--y))}
.bar.range b{background:var(--c);opacity:.85}
.sbars{display:grid;gap:6px}
.sbars>div{display:grid;grid-template-columns:44px 1fr 34px auto;align-items:center;gap:8px;font-size:12px}
.sbars label{color:var(--mut)}.sbars em{font:17px var(--fx);font-style:normal;text-align:right}
.sbars small{color:var(--ok);font:12px var(--fx);min-width:28px}
.sbars small.fx{color:var(--y);font:11px var(--fz)}
.sbars.sm>div{grid-template-columns:36px 1fr 44px}.sbars.sm em{font-size:13px}

/* ── 車輛組裝：車身＋獨立輪子 ── */
.rig{position:relative;width:100%;filter:drop-shadow(0 8px 2px #0009)}
.rig .body{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.rig .wh{position:absolute;z-index:1;aspect-ratio:1;border-radius:50%;background-size:100% 100%;background-color:#111;box-shadow:0 0 0 1px #000}
.spin .wh{animation:spin .16s linear infinite}
.fast .spin .wh{animation-duration:.06s;filter:blur(.5px)}
.stop .wh,.stop.spin .wh,.stop .spin .wh{animation:none!important}
.spin{animation:rumble .12s steps(2) infinite}
.stop,.stop .spin{animation:none!important}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes rumble{50%{transform:translateY(-1px)}}
.clunk{animation:clunk .35s ease-out!important}
@keyframes clunk{30%{transform:translateY(5px) scaleY(.97)}60%{transform:translateY(-3px)}}

/* ── 零件圖示 ── */
.pi{display:inline-block;width:42px;height:42px;flex-shrink:0;background-size:78%;background-position:center;background-repeat:no-repeat;background-color:#0b0b10;border:3px solid var(--tc);box-shadow:2px 2px 0 var(--ink);transform:skewX(-6deg)}
.pi.lg{width:58px;height:58px}
.fly{position:fixed;z-index:999;pointer-events:none;transition:transform .45s cubic-bezier(.5,-.3,.7,1.3),opacity .45s}

/* ── 人像 ── */
.pt{width:46px;height:46px;flex-shrink:0;background-size:cover;background-position:center;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--r);background-color:#222}
.pt.xl{width:118px;height:118px;box-shadow:5px 5px 0 var(--r)}

/* ═════════════════ PC 外框 ═════════════════ */
.is-pc,.is-pc body{overflow:hidden}
.pc{display:grid;grid-template-columns:86px 1fr;grid-template-rows:70px 1fr;height:100vh;width:100vw}
.rail{grid-row:1/3;background:var(--ink);border-right:3px solid var(--r);display:flex;flex-direction:column;align-items:center;padding:10px 0;gap:6px;z-index:5}
.logo{display:grid;place-items:center;margin-bottom:10px}
.logo b{display:grid;place-items:center;width:48px;height:48px;background:var(--r);color:#fff;font:34px/1 var(--fx);border:3px solid var(--y);transform:skewX(-10deg);box-shadow:3px 3px 0 var(--y)}
.logo span{font:10px var(--fx);letter-spacing:.2em;color:var(--y);margin-top:6px}
.rail nav{display:flex;flex-direction:column;gap:4px;width:100%;padding:0 8px}
.rail nav button{display:grid;place-items:center;gap:1px;padding:7px 0;color:var(--mut);border:2px solid transparent;font-size:12px}
.rail nav button i{font-style:normal;font-size:19px;line-height:1}
.rail nav button:hover{color:var(--w);background:#ffffff0a}
.rail nav button.on{color:var(--ink);background:var(--y);border-color:var(--ink);box-shadow:3px 3px 0 var(--r);transform:skewX(-8deg)}
.snd{margin-top:auto;width:40px;height:40px;border:2px solid #444;color:var(--y);font-size:18px}
.top{display:flex;align-items:center;gap:18px;padding:0 18px;background:linear-gradient(90deg,#0b0b10,#15151e);border-bottom:3px solid var(--ink);box-shadow:0 3px 0 var(--r);z-index:4}
.top small{display:block;font:11px var(--fx);letter-spacing:.12em;color:var(--mut)}
.teamid b{font:900 21px var(--fz);font-style:italic}
.lg{padding:3px 12px;border-left:5px solid var(--lc);background:#ffffff08}
.lg b{font-size:15px;color:var(--lc)}
.when{display:grid;gap:3px}
.cal{display:flex;gap:3px}
.cal span{display:grid;place-items:center;width:30px;height:22px;font:11px var(--fx);background:#1d1d27;border:2px solid var(--ink);color:var(--mut)}
.cal span.past{background:#2a2a35;color:#555}
.cal span.now{background:var(--y);color:var(--ink);transform:skewX(-10deg) scale(1.12);box-shadow:2px 2px 0 var(--r)}
.cal span.raceday{color:var(--r);border-color:var(--r)}
.cal span.raceday.now{background:var(--r);color:#fff}
.num b{font:24px/1 var(--fx);letter-spacing:.02em}
.num b i{font-size:12px;font-style:normal;color:var(--mut);margin-left:2px}
.adv{margin-left:auto;display:flex;gap:8px}
.adv .big{padding:10px 20px;background:var(--r);color:#fff;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--y);font:20px var(--fx);letter-spacing:.06em;transform:skewX(-10deg)}
.adv .big:hover:not(:disabled){box-shadow:6px 6px 0 var(--y)}
.adv .ff{padding:10px 12px;background:var(--y);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font:18px var(--fx);transform:skewX(-10deg)}
#main{min-height:0;min-width:0}
.pc #main{padding:14px 16px 16px;overflow:hidden}
.pc #main>div{height:100%}

/* ── 總部 ── */
.g-hq{display:grid;grid-template-columns:1.1fr 1.1fr .95fr;grid-template-rows:1.3fr 1fr;gap:16px}
.g-hq .hero{grid-column:1/3}
.g-hq .col{display:grid;grid-template-rows:auto 1fr;gap:16px;min-height:0}
.hero{flex-direction:row;padding:0;background:#0d0d14}
.hero-bg{position:absolute;inset:0;background:repeating-linear-gradient(100deg,transparent 0 40px,#ff2a2a10 40px 42px),radial-gradient(ellipse at 70% 40%,#ff7a0040,transparent 60%),linear-gradient(#1a1020,#0b0b10)}
.hero-road{position:absolute;left:0;right:0;bottom:0;height:24%;background:repeating-linear-gradient(90deg,#fff 0 60px,transparent 60px 120px) 0 45%/240px 4px no-repeat,linear-gradient(#26262e,#16161c);background-repeat:repeat-x;border-top:3px solid var(--ink);animation:road .35s linear infinite}
@keyframes road{to{background-position:-120px 45%,0 0}}
.speedfx{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 22px,#ffffff10 22px 23px);mask:linear-gradient(90deg,#000,transparent 60%);-webkit-mask:linear-gradient(90deg,#000,transparent 60%);animation:sl .3s linear infinite}
@keyframes sl{to{background-position:0 23px}}
.hero-txt{position:relative;z-index:3;width:38%;padding:18px 20px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(90deg,#0b0b10ee 70%,transparent)}
.hero-txt h2{font-size:34px;line-height:1.05;font-style:italic;text-shadow:3px 3px 0 var(--r)}
.hero-txt p{font:12px var(--fx);letter-spacing:.12em;color:var(--mut)}
.hero-txt .btn{align-self:flex-start;margin-top:auto}
.hero-car{position:absolute;z-index:2;right:2%;bottom:13%;width:62%}
.next .trk{height:42%;min-height:90px;border-bottom:3px solid var(--ink);margin:-12px -14px 10px;position:relative}
.trk{background-color:#222}
.rnd{position:absolute;left:10px;top:10px;padding:3px 10px;background:var(--y);color:var(--ink);font:14px var(--fx);letter-spacing:.1em;transform:skewX(-10deg);border:2px solid var(--ink)}
.nx{display:flex;flex-direction:column;gap:6px;min-height:0}
.nx h3{font-size:22px;font-style:italic}.nx h3 em{display:block;font:12px var(--fx);letter-spacing:.14em;color:var(--y);font-style:normal}
.nx p{font-size:12px;color:var(--mut)}
.nx .btn{align-self:flex-start;margin-top:4px}
.wx{display:inline-flex;flex-direction:column;padding:4px 10px;background:#000;border:2px solid var(--c);font-size:14px;color:var(--c);align-self:flex-start}
.wx small{font-size:10px;color:var(--mut)}
.crew-mini{gap:6px}
.cm{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:6px;background:#00000040;border:2px solid var(--ink)}
.cm small{color:var(--mut);font-size:11px}.cm b{display:block;font-size:15px}
.cm strong{font:28px var(--fx);color:var(--y);text-shadow:2px 2px 0 var(--ink)}
.mor{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--mut)}
.crew-mini .btn{align-self:flex-start;margin-top:auto}
.is-pc .crew-mini .btn{display:none}
.crew-mini{display:grid;grid-template-rows:auto repeat(3,1fr);}
.stand ol{flex:1;grid-auto-rows:1fr;min-height:0}
.stand ol{list-style:none;display:grid;gap:3px}
.stand li{display:grid;grid-template-columns:24px 6px 1fr auto;gap:8px;align-items:center;padding:4px 8px;background:#00000040;border:2px solid transparent;font-size:13px}
.stand li .p{font:16px var(--fx);color:var(--mut)}
.stand li i{height:16px;transform:skewX(-15deg)}
.stand li em{font:17px var(--fx);font-style:normal}
.stand li.me{background:var(--r);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.stand li.me .p{color:#fff}
.stand li:nth-child(-n+3) .p{color:var(--y)}
.fin-row{display:flex;justify-content:space-between;padding:3px 0;font-size:13px}
.fin-row b{font:17px var(--fx)}
.fin-row.sep{border-top:2px dashed #444;margin-top:4px;padding-top:6px}
.fin small{color:var(--mut);font-size:11px}
.inbox ul{list-style:none;display:grid;gap:4px;overflow:auto;min-height:0}
.inbox li{font-size:12px;padding:4px 8px;border-left:3px solid #444;background:#00000030}
.inbox li small{color:var(--mut);margin-right:6px;font:11px var(--fx)}
.inbox li.good{border-color:var(--ok)}.inbox li.bad{border-color:var(--bad)}.inbox li.event{border-color:var(--m)}.inbox li.buy{border-color:var(--c)}

/* ── 組裝廠 ── */
.g-gar{display:grid;grid-template-columns:272px 1fr 360px;grid-template-rows:1fr auto;gap:16px}
.g-gar .chl{grid-row:1/3}
.g-gar .bay{grid-column:2;grid-row:1}
.g-gar .parts{grid-column:3;grid-row:1}
.g-gar .wheels{grid-column:2;grid-row:2}
.g-gar .stp{grid-column:3;grid-row:2}
.tabs2{display:flex;gap:4px;margin-bottom:8px;flex-shrink:0}
.tabs2 button{flex:1;padding:6px 4px;font-size:12px;font-weight:900;background:#00000050;border:2px solid var(--ink);color:var(--mut);transform:skewX(-8deg)}
.tabs2 button.on{background:var(--y);color:var(--ink);box-shadow:2px 2px 0 var(--r)}
.chassis{display:grid;gap:8px;grid-template-rows:repeat(4,1fr);flex:1;min-height:0}
.ch{display:grid;grid-template-columns:1fr;gap:3px;padding:6px 8px;background:#00000040;border:2px solid var(--ink);position:relative;align-content:center}
.ch .rig{width:78%;margin:0 auto}
.ch b{font-size:13px}.ch small{display:block;color:var(--mut);font-size:11px}
.ch .btn,.ch .tag{position:absolute;right:6px;bottom:6px}
.ch .btn.ghost{right:auto;left:6px}
.ch.on{border-color:var(--y);box-shadow:inset 0 0 0 1px var(--y)}
.pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px;flex-shrink:0;font:14px var(--fx)}
.pager button{width:30px;height:26px;background:var(--pn2);border:2px solid var(--ink);color:var(--y);box-shadow:2px 2px 0 var(--ink)}
.bay{padding:10px 12px;background:radial-gradient(ellipse at 50% 70%,#2a2030,#111118 70%)}
.bay-hd{display:flex;align-items:center;gap:14px;flex-shrink:0}
.bay-hd h3{font-size:24px;font-style:italic;text-shadow:2px 2px 0 var(--r)}
.bay-act{margin-left:auto;display:flex;gap:8px}
.bay-main{flex:1;min-height:0;display:grid;grid-template-rows:auto 1fr auto;gap:8px;margin-top:6px}
.slots{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.slot{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;padding:5px 6px;background:#0b0b10cc;border:2px solid var(--ink);text-align:left;position:relative;min-width:0}
.slot span{display:grid;gap:2px;min-width:0}
.slot b{font-size:13px;white-space:nowrap}.slot small{font-size:11px;color:var(--mut);white-space:nowrap}
.slot .pi{width:34px;height:34px}
.slot .bar{height:5px}
.slot.empty .pi{opacity:.35;filter:grayscale(1)}
.slot.empty b{color:var(--mut)}
.slot:hover{border-color:#666}
.slot.on{border-color:var(--y);background:#2a2410;box-shadow:3px 3px 0 var(--r)}
.slot.on::after{content:'';position:absolute;left:50%;width:3px;height:12px;background:var(--y)}
.slots.L .slot.on::after{bottom:-14px}.slots.R .slot.on::after{top:-14px}
.bay-car{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.carwrap{position:relative;height:88%;max-width:96%;aspect-ratio:3.1;display:flex;align-items:center}
.bay-car .rig{width:100%;z-index:2}
.lift{position:absolute;left:6%;right:6%;bottom:6%;height:10px;background:repeating-linear-gradient(45deg,var(--y) 0 12px,var(--ink) 12px 24px);border:2px solid var(--ink);z-index:1}
.grid-floor{position:absolute;left:-10%;right:-10%;bottom:0;height:34%;background:linear-gradient(#ffd40018 1px,transparent 1px) 0 0/44px 22px,linear-gradient(90deg,#ffd40018 1px,transparent 1px) 0 0/44px 22px;transform:perspective(300px) rotateX(55deg);transform-origin:bottom}
.parts .pp-hd{display:flex;gap:10px;align-items:center;margin-bottom:8px;flex-shrink:0}
.pp-hd h3{font-size:20px}.pp-hd small{color:var(--mut);font-size:11px}
.plist{display:grid;gap:6px;grid-auto-rows:min-content;overflow:auto;min-height:0;flex:1;align-content:start}
.part{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:6px 8px;background:#00000040;border:2px solid var(--ink)}
.part b{font-size:13px;display:block}.part small{display:block;font-size:11px;color:var(--mut)}
.part .bar{height:5px;margin:3px 0}
.part.on{border-color:var(--y)}
.part.lock{opacity:.5}
.pa{display:grid;gap:4px;justify-items:end}
.lk{font-size:11px;color:var(--mut)}
.wheels{padding:10px 12px}
.wl{display:grid;grid-template-columns:repeat(12,1fr);gap:6px}
.wopt{aspect-ratio:1;border:2px solid var(--ink);background:#00000060;padding:3px;border-radius:50%}
.wopt img{width:100%;height:100%}
.wopt:hover img{animation:spin .25s linear infinite}
.wopt.on{border-color:var(--y);box-shadow:0 0 0 2px var(--r)}
.wheels .pager{position:absolute;right:10px;top:6px;margin:0}
.stp{padding:10px 12px}

/* ── 車隊 ── */
.g-crew{display:grid;grid-template-columns:1fr 430px;gap:16px}
.roster{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(0,1fr);gap:10px;flex:1;min-height:0;align-content:start}
.sc{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px;background:#00000040;border:2px solid var(--ink);text-align:left;max-height:110px}
.sc .pt{width:64px;height:64px}
.sc-b{display:grid;gap:2px}.sc small{font-size:11px;color:var(--mut)}.sc b{font-size:16px}.sc em{font-size:11px;color:var(--c);font-style:normal}
.sc strong{font:32px var(--fx);color:var(--y);text-shadow:2px 2px 0 var(--ink)}
.sc.act{background:linear-gradient(120deg,#ff2a2a30,transparent)}
.sc.on{border-color:var(--y);box-shadow:4px 4px 0 var(--r)}
.capline{display:flex;align-items:center;gap:12px;margin-top:10px;padding-top:8px;border-top:2px dashed #333;font-size:13px;color:var(--mut);flex-shrink:0}
.capline .btn{margin-left:auto}
.sdet{gap:10px}
.sd-top{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.sd-top h3{font-size:26px;font-style:italic;text-shadow:2px 2px 0 var(--r)}
.sd-top p{font-size:12px;color:var(--mut);margin:4px 0 8px}
.sdet .sbars>div{grid-template-columns:44px 1fr 34px 46px}
.sd-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--mut)}
.sd-row b{color:var(--w);font:16px var(--fx);margin-right:auto}
.sd-row em{font:14px var(--fx);font-style:normal;color:var(--w)}
.sd-act{display:flex;gap:10px;align-items:center;margin-top:auto;padding-top:10px}

/* ── 招募 ── */
.g-scout{display:grid;grid-template-rows:auto 1fr;gap:14px}
.scout-hd{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center}
.scout-hd h3{font-size:22px}.scout-hd p{font-size:12px;color:var(--mut)}
.scout-hd .tabs2{margin:0;width:330px}
.cands{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(0,1fr);gap:12px;min-height:0}
.cand{position:relative;padding:10px 12px;background:linear-gradient(160deg,var(--pn2),var(--pn));border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);display:flex;flex-direction:column;gap:6px;overflow:hidden;min-height:0}
.cand.rej{opacity:.45}
.cd-top{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}
.cd-top b{font-size:17px;display:block}.cd-top small{font-size:11px;color:var(--mut)}
.cd-act{display:flex;gap:8px;justify-content:flex-end;margin-top:auto}
.ribbon{position:absolute;right:-30px;top:12px;transform:rotate(35deg);background:var(--m);color:#fff;font-size:10px;padding:2px 34px;font-weight:900}
.nego{display:grid;grid-template-columns:150px 1fr;gap:18px;min-width:min(620px,86vw)}
.ng-l{display:grid;justify-items:center;gap:6px;text-align:center}.ng-l small{color:var(--mut)}
.ng-r{display:grid;gap:8px}.ng-r p{font-size:12px;color:var(--mut)}
input[type=range]{width:100%;accent-color:var(--y)}

/* ── 賽事中心 ── */
.g-race{display:grid;grid-template-columns:270px 1fr 420px;grid-template-rows:1.3fr 1fr;gap:16px}
.g-race .season{grid-row:1/3}
.g-race .rmain{grid-row:1/3}
.season ol{list-style:none;display:grid;grid-auto-rows:1fr;gap:5px;flex:1;min-height:0}
.season li{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:center;padding:4px;background:#00000040;border:2px solid var(--ink);font-size:12px}
.season li .th{height:100%;min-height:30px;border:2px solid var(--ink)}
.season li small{color:var(--mut);font-size:10px}.season li b{display:block;font-size:13px}
.season li em{font:15px var(--fx);font-style:normal;color:var(--y)}
.season li.now{border-color:var(--y);background:#2a2410;box-shadow:3px 3px 0 var(--r)}
.season li.done{opacity:.6}
.rmain{gap:10px}
.trk.big{flex:1;min-height:150px;margin:-12px -14px 0;border-bottom:3px solid var(--ink);position:relative}
.trk-t{position:absolute;left:0;bottom:0;padding:14px 18px;background:linear-gradient(90deg,#000d,transparent)}
.trk-t h2{font-size:38px;font-style:italic;text-shadow:3px 3px 0 var(--r)}
.trk-t small{font:13px var(--fx);letter-spacing:.2em;color:var(--y)}.trk-t p{font-size:13px}
.rinfo{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.rinfo>div{padding:8px;background:#00000040;border:2px solid var(--ink);display:grid;gap:3px}
.rinfo small{color:var(--mut);font-size:11px}.rinfo b{font-size:15px}.rinfo span{font-size:11px;color:var(--mut)}
.setup{gap:8px}
.srow{display:grid;gap:4px}
.srow>label{font-size:12px;color:var(--mut)}.srow>label em{color:var(--y);font-style:normal;margin-left:6px}
.opts{display:flex;gap:5px}
.opt{flex:1;padding:5px 4px;background:#00000050;border:2px solid var(--ink);display:grid;justify-items:center;gap:1px;transform:skewX(-6deg)}
.opt b{font-size:12px;display:flex;align-items:center;gap:4px}.opt small{font-size:10px;color:var(--mut)}
.opt.on{background:var(--y);color:var(--ink);box-shadow:2px 2px 0 var(--r)}.opt.on small{color:#4a3b00}
.opt.dn{font-size:16px}
.tdot{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid var(--ink)}
.pace{margin-top:auto;display:grid;gap:4px}
.pace label{font-size:12px;color:var(--mut)}.pace small{font-size:11px;color:var(--mut)}
.pace-bar{position:relative;height:30px;background:#000;border:2px solid var(--ink)}
.pace-bar .field{position:absolute;top:0;bottom:0;background:#ffffff14}
.pace-bar i{position:absolute;top:6px;width:4px;height:14px;transform:translateX(-50%)}
.pace-bar b{position:absolute;top:-2px;transform:translateX(-50%);background:var(--r);color:#fff;font:12px var(--fx);padding:6px 5px;border:2px solid var(--ink)}

/* ── 經營 ── */
.g-biz{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}
.fac-grid{display:grid;grid-auto-rows:1fr;gap:8px;flex:1;min-height:0}
.fac{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:8px 10px;background:#00000040;border:2px solid var(--ink)}
.fac>i{font-style:normal;font-size:26px;display:grid;place-items:center;width:44px;height:44px;background:var(--ink);border:2px solid var(--y);transform:skewX(-8deg)}
.fac b{font-size:15px}.fac small{display:block;font-size:11px;color:var(--mut)}.fac small.per{color:var(--c)}
.lv{display:flex;gap:3px;margin:3px 0}.lv u{width:20px;height:7px;background:#333;transform:skewX(-20deg)}.lv u.on{background:var(--y)}
.sp-list{display:grid;gap:6px}
.sp{position:relative;padding:7px 10px 7px 14px;background:#00000040;border:2px solid var(--ink);display:grid;gap:1px}
.sp::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--sc)}
.sp b{font-size:14px}.sp small{font-size:11px;color:var(--mut)}
.sp .btn,.sp .mini{position:absolute;right:8px;top:50%;transform:translateY(-50%) skewX(-8deg)}
.sp .mini{transform:translateY(-50%)}
.sp.on{background:linear-gradient(90deg,#ffffff0d,transparent)}
.chart{display:flex;align-items:flex-end;gap:6px;height:110px;padding:6px;background:#00000050;border:2px solid var(--ink);margin-bottom:8px;flex-shrink:0}
.chart .col{flex:1;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:2px;height:100%;position:relative;padding-bottom:14px}
.chart .inc{background:var(--ok);min-height:2px}.chart .exp{background:var(--r);min-height:2px}
.chart small{position:absolute;bottom:0;left:0;right:0;text-align:center;font:10px var(--fx);color:var(--mut)}
.bank{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:auto;padding:8px;background:#00000050;border:2px dashed #444}
.bank small{display:block;font-size:11px;color:var(--mut)}

/* ── 紀錄 ── */
.g-rec{display:grid;grid-template-columns:1fr 1fr 1.05fr;grid-template-rows:auto 1fr;gap:16px;position:relative}
.g-rec .rstats{grid-column:1/3}.g-rec .rlog{grid-column:1/3}.g-rec .trophy{grid-column:3;grid-row:1/3}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tiles>div{padding:8px 12px;background:#00000050;border:2px solid var(--ink)}
.tiles small{color:var(--mut);font-size:11px}.tiles b{display:block;font:30px var(--fx);color:var(--y)}
.rlog ul{list-style:none;display:grid;gap:4px}
.rlog li{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:4px 8px;background:#00000040;border:2px solid var(--ink);font-size:12px}
.rlog li small{display:block;color:var(--mut);font-size:11px}
.rlog .pos{font:18px var(--fx);text-align:center;background:#333;padding:2px}
.rlog .pos.p1{background:var(--y);color:var(--ink)}.rlog .pos.p2{background:#ccc;color:var(--ink)}.rlog .pos.p3{background:var(--o);color:var(--ink)}
.rlog em{font:15px var(--fx);font-style:normal;color:var(--ok)}
.seas li{grid-template-columns:auto 1fr!important}
.tro{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;flex:1;align-content:start}
.tro>*{aspect-ratio:16/9;border:2px solid var(--ink);background:#0b0b10 center/cover;display:grid;place-items:center;font:20px var(--fx);color:#333}
.tro button:hover{border-color:var(--y)}
.reset{position:absolute;right:0;bottom:-6px}

/* ── 賽事直播 ── */
.g-live{display:grid;grid-template-columns:1fr 320px;grid-template-rows:1fr auto;gap:14px}
.g-live .scene{grid-column:1;grid-row:1}.g-live .board{grid-column:2;grid-row:1/3}.g-live .rbar{grid-column:1;grid-row:2}
.scene{position:relative;overflow:hidden;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:#000;min-height:0}
.far{position:absolute;left:0;right:0;top:0;height:64%;background-repeat:repeat-x}
.road{position:absolute;left:0;right:0;bottom:0;height:40%;background-repeat:repeat-x;background-size:auto 100%;border-top:3px solid var(--ink)}
.lines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 28px,#ffffff12 28px 29px);mask:linear-gradient(90deg,#000 0,transparent 40%);-webkit-mask:linear-gradient(90deg,#000 0,transparent 40%);animation:sl .2s linear infinite}
.rain{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .8s;background:repeating-linear-gradient(105deg,transparent 0 9px,#9fd8ff40 9px 10px) 0 0/40px 40px,linear-gradient(#0a1a3060,#0a1a3060);animation:rain .25s linear infinite}
.rain.on{opacity:1}
@keyframes rain{to{background-position:-12px 40px,0 0}}
.lane{position:absolute;transition:left .25s linear;transform:translateX(-50%)}
.lane.me{bottom:3%;width:min(44%,560px);z-index:4}
.lane.rv{bottom:20%;width:min(36%,450px);z-index:3;filter:brightness(.85)}
.tagname{position:absolute;left:12%;top:-22px;font:12px var(--fx);letter-spacing:.08em;background:#000c;padding:2px 8px;white-space:nowrap;border-left:3px solid currentColor}
.tagname.me{color:var(--y)}
.smoke{position:absolute;left:-6%;bottom:6%;width:22%;height:30%;background:radial-gradient(circle,#ddd8 0,transparent 60%);animation:puff .35s linear infinite;filter:blur(3px)}
.stop .smoke,.lane.stop .smoke{display:none}
@keyframes puff{from{transform:translateX(0) scale(.6);opacity:.9}to{transform:translateX(-80px) scale(1.6);opacity:0}}
.hud{position:absolute;left:0;right:0;top:0;display:flex;gap:28px;padding:12px 18px;background:linear-gradient(#000c,transparent);z-index:6}
.hud small{display:block;font:11px var(--fx);letter-spacing:.2em;color:var(--y)}
.hud b{font:34px/1 var(--fx);text-shadow:3px 3px 0 var(--r)}
.hud b i{font-size:13px;font-style:normal;margin-left:4px;text-shadow:none}
.hud .r{margin-left:auto;text-align:right}
.evpop{position:absolute;left:50%;top:22%;z-index:8;display:grid;grid-template-columns:200px 1fr;gap:12px;width:min(560px,80%);padding:10px;background:var(--y);color:var(--ink);border:4px solid var(--ink);box-shadow:8px 8px 0 var(--r);transform:translateX(-50%) scale(.6) rotate(-3deg);opacity:0;pointer-events:none;transition:all .25s cubic-bezier(.3,1.6,.6,1)}
.evpop.show{opacity:1;transform:translateX(-50%) scale(1) rotate(-2deg)}
.evpop.me{background:var(--r);color:#fff}
.evpop small{font:12px var(--fx);letter-spacing:.2em}.evpop b{display:block;font-size:24px;font-style:italic}.evpop p{font-size:13px}
.evimg{position:relative;aspect-ratio:16/9;background:repeating-conic-gradient(from 0deg at 50% 50%,var(--o) 0 8deg,var(--y) 8deg 16deg);border:3px solid var(--ink);overflow:hidden}
.evimg::before{content:attr(data-g);position:absolute;inset:0;display:grid;place-items:center;font-size:56px;filter:drop-shadow(3px 3px 0 var(--ink))}
.evimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.board .rows{position:relative;flex:1;min-height:0}
.board .row{position:absolute;left:0;right:0;top:0;display:grid;grid-template-columns:28px 6px 1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:4px 8px;background:#00000050;border:2px solid var(--ink);transition:transform .45s ease}
.board .row .p{grid-row:1/3;font:24px var(--fx);color:var(--mut)}
.board .row i{grid-row:1/3;align-self:stretch;transform:skewX(-15deg)}
.board .row b{font-size:14px}.board .row small{grid-column:3;font-size:11px;color:var(--mut)}
.board .row .gap{grid-row:1/3;grid-column:4;font:15px var(--fx);font-style:normal}
.board .row.me{background:var(--r);box-shadow:3px 3px 0 var(--ink);z-index:2}.board .row.me .p,.board .row.me small{color:#fff}
.board .row.out{opacity:.4}
.rbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:8px 14px;padding:10px 14px}
.prog{grid-column:1/3;position:relative;height:14px;background:#000;border:2px solid var(--ink)}
.prog>b{position:absolute;left:0;top:0;bottom:0;background:repeating-linear-gradient(-45deg,var(--r) 0 10px,var(--o) 10px 20px)}
.evmark{position:absolute;top:-5px;width:6px;height:20px;background:var(--y);border:1px solid var(--ink);transform:translateX(-50%)}
.evmark.crash,.evmark.puncture,.evmark.failure,.evmark.overheat{background:var(--m)}
.ticker{display:grid;gap:3px;height:72px;overflow:hidden;font-size:13px}
.ticker p{padding:2px 8px;border-left:3px solid #555;background:#00000040;animation:tin .3s ease-out}
.ticker p.me{border-color:var(--r)}.ticker p b{color:var(--y)}
@keyframes tin{from{transform:translateX(-20px);opacity:0}}
.ctl{display:flex;flex-direction:column;gap:8px;justify-content:center}

/* ── 對話框 ── */
dialog{margin:auto;max-width:min(920px,94vw);max-height:92vh;overflow:auto;background:var(--pn);color:var(--w);border:4px solid var(--ink);box-shadow:10px 10px 0 var(--r),10px 10px 0 4px var(--ink);padding:22px}
dialog.wide{max-width:min(1060px,96vw)}
dialog::backdrop{background:#000c;backdrop-filter:blur(2px)}
dialog h3{font-size:22px;margin-bottom:8px}
dialog p{color:#ccc;margin-bottom:8px}
dialog.ev{padding:0;max-width:min(860px,94vw)}
.event{display:grid;grid-template-columns:1.15fr 1fr}
.event .evimg{aspect-ratio:auto;min-height:260px;border:0;border-right:4px solid var(--ink)}
.event .evimg::before{font-size:110px}
.ev-b{padding:20px;display:flex;flex-direction:column;gap:6px}
.ev-b h3{font-size:28px;font-style:italic;text-shadow:3px 3px 0 var(--r)}
.ev-ch{display:grid;gap:10px;margin-top:auto}
.ev-ch .btn{justify-content:flex-start}
.ev-res{list-style:none;display:grid;gap:5px}
.ev-res li{padding:6px 10px;background:#00000050;border-left:4px solid var(--y)}
.result .vic{height:300px;margin:-22px -22px 14px;background-size:cover;background-position:center;border-bottom:4px solid var(--ink);position:relative}
.vic b{position:absolute;left:20px;bottom:14px;font:56px/1 var(--fx);color:var(--y);text-shadow:4px 4px 0 var(--r),6px 6px 0 var(--ink);transform:skewX(-10deg)}
.vic.big{height:min(62vh,540px);margin:-22px -22px 14px;background-size:cover;background-position:center}
.res-body{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bigpos{font:110px/.9 var(--fx);color:var(--y);text-shadow:5px 5px 0 var(--r),8px 8px 0 var(--ink);transform:skewX(-10deg);display:inline-block}
.res-l h3{margin:10px 0}
.res-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
.res-nums span{padding:6px;background:#00000050;border:2px solid var(--ink)}
.res-nums small{display:block;font-size:11px;color:var(--mut)}.res-nums b{font:20px var(--fx)}
.res-t{list-style:none;display:grid;gap:3px}
.res-t li{display:grid;grid-template-columns:28px 6px 1fr auto auto;gap:8px;align-items:center;padding:4px 8px;background:#00000040;border:2px solid var(--ink);font-size:13px}
.res-t li span{font:18px var(--fx)}.res-t li i{height:16px;transform:skewX(-15deg)}.res-t li small{color:var(--mut);font-size:11px}.res-t li em{font:14px var(--fx);font-style:normal;color:var(--y)}
.res-t li.me{background:var(--r)}.res-t li.me small{color:#fff}
.season-end h2,.welcome h2{font-size:32px;font-style:italic;text-shadow:3px 3px 0 var(--r);margin-bottom:8px}
.promo{padding:14px;background:var(--y);color:var(--ink);font-size:20px;font-weight:900;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--r);margin:10px 0}
.promo small{display:block;font-size:12px}
.welcome ol{display:grid;gap:8px;padding-left:22px;margin:10px 0;color:#ddd}
.welcome b{color:var(--y)}
#toast{position:fixed;left:50%;bottom:26px;z-index:1000;transform:translate(-50%,40px) skewX(-8deg);opacity:0;padding:10px 20px;background:var(--y);color:var(--ink);font-weight:900;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--r);transition:.25s;pointer-events:none;max-width:90vw}
#toast.show{opacity:1;transform:translate(-50%,0) skewX(-8deg)}

/* ── PC 小螢幕（1280×720 等）壓縮 ── */
@media (max-height:800px) and (min-width:900px){
  .pc{grid-template-rows:62px 1fr}.top{gap:14px}.num b{font-size:20px}.teamid b{font-size:18px}.adv .big{font-size:17px;padding:8px 14px}
  .pc #main{padding:10px 12px 12px}.g-hq,.g-gar,.g-crew,.g-race,.g-biz,.g-rec,.g-live,.g-scout{gap:12px}
  .pnl{padding:9px 11px}.pnl h4{font-size:14px;margin-bottom:5px}
  .hero-txt h2{font-size:26px}.pt.xl{width:92px;height:92px}.sc .pt{width:52px;height:52px}
  .slot .pi{width:28px;height:28px}.slot b{font-size:12px}.slot small{font-size:10px}
  .cm{padding:4px}.cm .pt{width:38px;height:38px}.cm strong{font-size:22px}.stand li{padding:2px 8px}
  .trk-t h2{font-size:30px}.btn.huge{font-size:24px;padding:12px}.chart{height:84px}
  .fac>i{width:36px;height:36px;font-size:20px}.fac{grid-template-columns:36px 1fr auto;padding:5px 8px}
  .opt small{display:none}.wl{gap:4px}.hud b{font-size:28px}
}
@media (max-width:1360px) and (min-width:900px){.top .lg{display:none}.g-gar{grid-template-columns:240px 1fr 320px}.g-race{grid-template-columns:240px 1fr 380px}.cal span{width:26px}}

/* ═════════════════ 手機版（獨立排版） ═════════════════ */
.is-m body{overflow-x:hidden}
.mob{min-height:100vh;padding-bottom:76px}
.mtop{position:sticky;top:0;z-index:20;background:var(--ink);border-bottom:3px solid var(--r);padding:8px 12px 8px;display:grid;gap:6px}
.mrow{display:flex;align-items:center;gap:8px}
.mlogo{font:22px/1 var(--fx);color:#fff;background:var(--r);padding:2px 8px;transform:skewX(-10deg);border:2px solid var(--y)}
.mlogo span{font-size:12px;margin-left:4px;color:var(--y)}
.mlg{font-size:12px;color:var(--lc);border-left:3px solid var(--lc);padding-left:6px}
.mday{margin-left:auto;font:12px var(--fx);letter-spacing:.06em;color:var(--mut)}
.mtop .snd{margin:0;width:32px;height:32px;font-size:15px}
.nums span{display:grid;line-height:1.1}.nums small{font-size:10px;color:var(--mut)}.nums b{font:18px var(--fx)}
.mnext{margin-left:auto;padding:8px 14px;background:var(--r);color:#fff;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--y);font:16px var(--fx);transform:skewX(-10deg)}
.mob #main{padding:12px;display:grid;gap:14px}
.mnav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);background:var(--ink);border-top:3px solid var(--r);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
.mnav button{display:grid;justify-items:center;gap:1px;padding:5px 0;font-size:11px;color:var(--mut)}
.mnav button i{font-style:normal;font-size:20px;line-height:1}
.mnav button.on{color:var(--ink);background:var(--y);transform:skewX(-8deg);box-shadow:2px 2px 0 var(--r)}
.subtabs{display:flex;gap:6px}
.subtabs button{flex:1;padding:10px;background:var(--pn2);border:3px solid var(--ink);font-weight:900;transform:skewX(-8deg);color:var(--mut)}
.subtabs button.on{background:var(--r);color:#fff;box-shadow:3px 3px 0 var(--y)}
.mob .pnl{overflow:visible}
.mob .hero{flex-direction:column;min-height:330px}
.mob .hero-txt{width:100%;background:linear-gradient(#0b0b10ee 60%,transparent)}
.mob .hero-txt h2{font-size:26px}
.mob .hero-car{position:relative;width:96%;margin:-6px auto 18px;right:auto;bottom:auto}
.mob .next .trk{height:130px}
.mob .inbox ul{max-height:none}
.mob .bay-hd{flex-wrap:wrap}.mob .bay-act{margin-left:0;width:100%}.mob .bay-act .btn{flex:1}
.mob .slots{grid-template-columns:repeat(3,1fr)}
.mob .bay-car{padding:14px 0}.mob .carwrap{height:auto;width:100%}
.mob .slot.on::after{display:none}
.mob .slot{padding:6px}
.mob .plist{overflow:visible}
.mob .wl{grid-template-columns:repeat(5,1fr)}
.mob .wheels .pager{position:static}
.mob .chassis{grid-auto-rows:auto}.mob .ch{min-height:120px}.mob .ch .rig{width:62%}
.mob .roster{grid-template-columns:1fr;grid-auto-rows:auto}
.mob .sd-top{grid-template-columns:90px 1fr}.mob .pt.xl{width:90px;height:90px}
.mob .capline{flex-wrap:wrap}
.mob .scout-hd{grid-template-columns:1fr;gap:10px}.mob .scout-hd .tabs2{width:100%}
.mob .cands{grid-template-columns:1fr;grid-auto-rows:auto}
.mob .trk.big{min-height:170px;flex:none}.mob .trk-t h2{font-size:28px}
.mob .rinfo{grid-template-columns:1fr}
.mob .opts{flex-wrap:wrap}.mob .opt{min-width:30%}
.mob .season li{min-height:46px}
.mob .fac-grid{grid-auto-rows:auto}
.mob .tiles{grid-template-columns:repeat(2,1fr)}
.mob .tro{grid-template-columns:repeat(4,1fr)}
.mob .reset{position:static;justify-self:start}
.mob .g-live{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:10px}
.mob .g-live .board{grid-row:auto;order:3}
.mob .scene{height:46vh;min-height:250px}
.mob .lane.me{width:74%}.mob .lane.rv{width:60%;bottom:24%}
.mob .hud{gap:16px;padding:8px 10px}.mob .hud b{font-size:24px}
.mob .evpop{grid-template-columns:1fr;width:86%;top:16%}.mob .evpop .evimg{display:none}
.mob .board .rows{height:300px;flex:none}
.mob .rbar{grid-template-columns:1fr}.mob .ctl{flex-direction:row}
.mob .nego{grid-template-columns:1fr}
.is-m dialog{padding:16px;max-height:88vh}
.is-m .event{grid-template-columns:1fr}.is-m .event .evimg{min-height:170px;border-right:0;border-bottom:4px solid var(--ink)}
.is-m .res-body{grid-template-columns:1fr}.is-m .result .vic{height:190px;margin:-16px -16px 12px}.is-m .bigpos{font-size:80px}
.is-m .res-nums{grid-template-columns:repeat(2,1fr)}
@media (prefers-reduced-motion:reduce){.spin .wh,.hero-road,.speedfx,.lines,.rain,.smoke,.btn.huge{animation:none!important}}
.cand .sbars.sm{gap:3px}.cand .sbars.sm>div{font-size:11px}.cand .bar{height:7px}
.cand{gap:4px;padding:8px 10px}.cand .pt{width:40px;height:40px}
.mob .g-live .scene,.mob .g-live .board,.mob .g-live .rbar{grid-column:1!important;grid-row:auto!important}
.mob .g-live .scene{order:1}.mob .g-live .rbar{order:2}.mob .g-live .board{order:3}
.mob .hud .r small{display:none}
.mob .lane{transform:translateX(-28%)}
.stand li{min-height:0;overflow:hidden}
@media (max-height:780px) and (min-width:900px){.stand .foot{display:none}.stand li{font-size:12px;padding:0 8px}.stand li em,.stand li .p{font-size:14px}.stand ol{gap:2px}
 .setup{gap:3px}.opt{padding:3px 4px}.srow{gap:2px}.pace small{display:none}.pace-bar{height:24px}.crew-mini{gap:4px}.cm .pt{width:32px;height:32px}.cm b{font-size:13px}.cm small{display:none}}
.teamid{text-align:left}.teamid b i{font-size:13px;font-style:normal;color:var(--y);opacity:.6}.teamid:hover b i{opacity:1}
.welcome p{color:#ddd}.welcome .tip{color:var(--mut);font-size:13px}
.nm{display:grid;gap:6px;margin:12px 0;font-weight:900;color:var(--y)}
.nm input{font:900 24px var(--fz);padding:10px 14px;background:#000;color:var(--w);border:3px solid var(--y);box-shadow:4px 4px 0 var(--r);outline:none;transform:skewX(-6deg)}
.nm input:focus{border-color:#fff}
.mteam{font-weight:900;font-size:14px;font-style:italic;max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nm input{width:calc(100% - 8px);min-width:0}.is-m .nm input{transform:none;font-size:20px}

/* ═════ Track Layout ═════ */
.tl{display:block;width:100%;height:100%;overflow:visible}
.tl .cl circle{fill:#000;stroke:var(--y);stroke-width:.5}
.tl .cl text{fill:#fff;font:700 4px var(--fx);text-anchor:middle}
.mini-tl{position:absolute;right:8px;bottom:6px;width:42%;height:78%;background:#000a;border:2px solid var(--ink);padding:3px;transform:skewX(-6deg)}
.season li .th{background:#0b0b10;padding:1px}
.season li .th .tl{height:100%}
/* 賽事中心 */
.g-race{grid-template-columns:250px 1fr 430px;grid-template-rows:1fr}
.g-race .season,.g-race .rmain{grid-row:auto}
.trk.strip{flex:0 0 auto;height:92px;min-height:0;margin:-12px -14px 0;border-bottom:3px solid var(--ink);position:relative}
.trk.strip .trk-t{padding:8px 16px}.trk.strip .trk-t h2{font-size:30px}
.trk-w{position:absolute;right:12px;top:12px}
.lay{flex:1;min-height:0;display:grid;grid-template-columns:1.25fr 1fr;gap:12px}
.lay-map{position:relative;display:flex;flex-direction:column;min-height:0;background:radial-gradient(ellipse at 50% 50%,#1d1d2a,#0b0b10);border:3px solid var(--ink);padding:8px}
.lay-hd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.lay-hd b{font-size:16px}.lay-hd span{font-size:11px;color:var(--mut)}
.lay-map .tl{flex:1;min-height:0}
.legend{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:10px;color:var(--mut)}
.legend i{display:inline-block;width:14px;height:4px;margin-right:-6px}
.lg-s{background:#ffd400}.lg-h{background:#ff2a2a}.lg-sh{background:#ff7a00}.lg-m{background:#ffc14d}.lg-f{background:#21e6ff}
.lay-info{display:flex;flex-direction:column;gap:6px;min-height:0;overflow:hidden}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.facts>div{padding:5px 8px;background:#00000050;border:2px solid var(--ink)}.facts small{display:block;font-size:10px;color:var(--mut)}.facts b{font:20px var(--fx)}
.cats{display:flex;flex-wrap:wrap;gap:4px}
.cc{font-size:11px;padding:1px 7px;border:2px solid;font-weight:900}
.c-髮夾彎{color:#ff2a2a}.c-急彎{color:#ff7a00}.c-中速彎{color:#ffc14d}.c-高速彎,.c-微彎{color:#21e6ff}
.lay-info h5{margin:2px 0 0;display:flex;gap:8px;align-items:baseline}.lay-info h5 em{font:13px var(--fx);color:var(--ok);font-style:normal}
.prof{display:grid;gap:4px}
.prof>div{display:grid;grid-template-columns:58px 1fr 28px 34px;align-items:center;gap:6px;font-size:11px}
.prof label{color:var(--mut)}.prof em{font:15px var(--fx);font-style:normal;text-align:right}
.prof .need{font:11px var(--fx);color:var(--y);text-align:right}
.prof .bar{height:8px}
.nit{grid-column:2/5;font-size:12px}.nit i{color:var(--mut);font-style:normal}
.segs{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}.segs span{font-size:10px;padding:1px 6px;background:#ff2a2a22;border-left:3px solid var(--r)}
.stp .prof>div{grid-template-columns:58px 1fr 28px}
.stp .prof{grid-template-columns:1fr 1fr;column-gap:14px}
/* ═════ 賽事直播 ═════ */
.g-live{grid-template-columns:1fr 360px;grid-template-rows:1fr 196px}
.g-live .scene{grid-column:1;grid-row:1}.g-live .side{grid-column:2;grid-row:1/3}.g-live .cast{grid-column:1;grid-row:2}
.side{padding:10px;gap:8px}
.mapbox{flex:0 0 auto;display:flex;flex-direction:column}
.mapbox h4{margin-bottom:4px}
.livemap{height:250px;background:radial-gradient(ellipse,#1d1d2a,#0b0b10);border:3px solid var(--ink);padding:4px}
.nitro-left{font-size:12px;margin-top:4px;color:var(--y)}.nitro-left s{opacity:.25;text-decoration:none;filter:grayscale(1)}
.side .board{flex:1;min-height:0;display:flex;flex-direction:column}
.side .board .rows{flex:1;min-height:0;position:relative}
.side .board .row{padding:2px 8px}.side .board .row .p{font-size:18px}.side .board .row b{font-size:12px}.side .board .row small{font-size:10px}
.dot{transition:none}
.dot .trail{display:none}
.dot.me .trail{display:block;stroke:#3dff6e;stroke-width:.6;opacity:.8;animation:ping 1.2s ease-out infinite}
@keyframes ping{from{r:2.6;opacity:.9}to{r:7;opacity:0}}
.dot.out{opacity:.25}
.dot.me.nitro .trail{stroke:#21e6ff;animation-duration:.35s}
.dot.me.drift .trail,.dot.me.driftfail .trail{stroke:#ff7a00;animation-duration:.4s}
.dot.me.wall .trail{stroke:#ff2a2a;animation-duration:.25s}
.dot.me.drift circle:last-child,.dot.me.driftfail circle:last-child{animation:wob .18s linear infinite}
@keyframes wob{50%{transform:translate(.8px,-.6px)}}
polyline.trail{fill:none;stroke:#3dff6e;stroke-width:1.4;stroke-linecap:round;opacity:.55}
polyline.trail.nitro{stroke:#21e6ff;stroke-width:2.6;opacity:.9;filter:drop-shadow(0 0 1.5px #21e6ff)}
polyline.trail.drift,polyline.trail.driftfail{stroke:#ff7a00;stroke-dasharray:1 1}
.sec{font-size:20px!important;text-shadow:2px 2px 0 var(--ink)!important}.sec.c{color:var(--o)}.sec.s{color:var(--y)}
.fxtag{position:absolute;left:50%;bottom:52%;z-index:7;transform:translateX(-50%) skewX(-10deg) scale(.6);opacity:0;padding:6px 18px;font:900 26px var(--fz);font-style:italic;background:var(--ink);color:var(--y);border:3px solid var(--y);transition:all .18s cubic-bezier(.3,1.7,.6,1);pointer-events:none;white-space:nowrap}
.fxtag.show{opacity:1;transform:translateX(-50%) skewX(-10deg) scale(1)}
.fxtag.nitro{color:#fff;background:#0070ff;border-color:#21e6ff;box-shadow:0 0 22px #21e6ff}
.fxtag.drift{background:var(--o);color:var(--ink)}.fxtag.wall,.fxtag.driftfail{background:var(--r);color:#fff;border-color:#fff}
.fxtag.sprint{background:transparent;border-color:var(--y);font-size:20px}
.lane .flame{position:absolute;right:96%;top:48%;width:0;height:22%;background:linear-gradient(90deg,transparent,#21e6ff 40%,#fff);border-radius:50% 0 0 50%;filter:blur(1px) drop-shadow(0 0 8px #21e6ff);transition:width .15s;z-index:0}
.lane.nitro .flame{width:38%;animation:flick .07s steps(2) infinite}
@keyframes flick{50%{height:16%;top:51%}}
.lane.nitro .rig{transform:translateX(3%)}
.lane.drift .rig,.lane.driftfail .rig{animation:driftrot .3s ease-in-out infinite alternate}
@keyframes driftrot{from{transform:rotate(-2.5deg)}to{transform:rotate(1.5deg) translateX(1%)}}
.drift-smoke{position:absolute;left:5%;bottom:0;width:90%;height:35%;background:radial-gradient(ellipse at 20% 80%,#eeea,transparent 60%),radial-gradient(ellipse at 75% 85%,#ddd9,transparent 55%);filter:blur(6px);opacity:0;transition:opacity .2s;pointer-events:none}
.lane.drift .drift-smoke,.lane.driftfail .drift-smoke{opacity:1}
.lane.wall{animation:shake .12s linear infinite}
@keyframes shake{25%{transform:translateX(-52%) translateY(2px)}75%{transform:translateX(-48%) translateY(-2px)}}
.cast{padding:8px 12px;gap:6px}
.cast-hd{display:flex;align-items:center;gap:12px}
.cast-hd>b{color:var(--r);font-size:13px;white-space:nowrap;animation:flash .8s steps(2) infinite}
@keyframes flash{50%{opacity:.4}}
.cast-hd .prog{flex:1;grid-column:auto}
.cast-hd .ctl{flex-direction:row}
.cast .ticker{flex:1;height:auto;min-height:0;display:flex;flex-direction:column;gap:3px;overflow:hidden}
.cast .ticker p{font-size:14px;padding:3px 10px}
.cast .ticker p small{font:11px var(--fx);color:var(--y);margin-right:8px}
.cast .ticker p.me{border-color:#3dff6e;background:#3dff6e14}
.cast .ticker p:first-child{background:#ffd40022;border-color:var(--y);font-size:15px}
.cast .ticker p.k-wall,.cast .ticker p.k-crash,.cast .ticker p.k-failure,.cast .ticker p.k-puncture{border-color:var(--r)}
.cast .ticker p.k-nitro,.cast .ticker p.k-launch_nitro{border-color:#21e6ff}
@media (max-height:800px) and (min-width:900px){.g-live{grid-template-rows:1fr 168px}.livemap{height:200px}.cast .ticker p{font-size:13px;padding:2px 8px}.trk.strip{height:74px}.trk.strip .trk-t h2{font-size:24px}.prof{gap:2px}.facts b{font-size:16px}}
@media (max-width:1360px) and (min-width:900px){.g-race{grid-template-columns:220px 1fr 390px}.g-live{grid-template-columns:1fr 320px}}
/* 手機 */
.mob .lay{grid-template-columns:1fr}
.mob .lay-map{height:300px}
.mob .trk.strip{height:110px}
.mob .g-live{grid-template-rows:auto auto auto}
.mob .g-live .scene,.mob .g-live .side,.mob .g-live .cast{grid-column:1!important;grid-row:auto!important}
.mob .g-live .scene{order:1}.mob .g-live .cast{order:2}.mob .g-live .side{order:3}
.mob .cast{min-height:200px}.mob .cast-hd{flex-wrap:wrap}.mob .cast-hd .prog{flex-basis:100%;order:3}
.mob .livemap{height:240px}.mob .side .board .rows{height:300px;flex:none}
.mob .fxtag{font-size:18px}
.mob .stp .prof{grid-template-columns:1fr}
.tl.mini path:nth-of-type(1){stroke:#000;stroke-width:9}.tl.mini path:nth-of-type(2){stroke:#e8e4d8;stroke-width:5}.tl.mini path:nth-of-type(3){display:none}
.season li.now .tl.mini path:nth-of-type(2){stroke:var(--y)}
.mob .trk.strip .trk-t small{display:block;max-width:56%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.btn.huge small.fee{font:13px var(--fz);margin-left:12px;opacity:.85;letter-spacing:0}
.diffs{display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:6px;align-items:stretch;margin:4px 0 8px}
.diffs>span{align-self:center;font-weight:900;color:var(--y);font-size:13px}
.diffs .opt small{display:block!important;font-size:10px}
.is-m .diffs{grid-template-columns:1fr}
.welcome .opt b{color:var(--y)}.welcome .opt.on b{color:var(--ink)}

/* ═════ v6.4 經營擴充 ═════ */
.imgor{position:relative;overflow:hidden;background:repeating-conic-gradient(from 0deg at 50% 50%,#2a2030 0 10deg,#1a1622 10deg 20deg);border:3px solid var(--ink)}
.imgor::before{content:attr(data-g);position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(18px,40%,64px)}
.imgor img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.imgor.pt{width:46px;height:46px;box-shadow:3px 3px 0 var(--r);flex-shrink:0}
.imgor.pt.xl{width:118px;height:118px}
.imgor.scene{width:100%;aspect-ratio:16/6;flex-shrink:0;margin-bottom:8px}
.imgor.scene.sm{aspect-ratio:16/4}
.imgor.pi{width:42px;height:42px;border-color:var(--y)}
.pi.proto{border-color:#ff2fa8!important;box-shadow:2px 2px 0 var(--ink),0 0 10px #ff2fa8aa;position:relative;overflow:hidden}
.pi.proto img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#0b0b10}
.pi.proto::after{content:'PROTO';position:absolute;left:0;right:0;bottom:0;font:8px var(--fx);text-align:center;background:#ff2fa8;color:#fff;letter-spacing:.1em}
.part.isproto{border-color:#ff2fa8}
.exp{color:var(--bad);font-style:normal}
/* 車隊：幕後 */
.g-crew.sup{grid-template-columns:1fr}
.supwrap{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1.1fr;gap:14px}
.supgrid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);gap:10px}
.sup{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:12px;background:#00000040;border:2px solid var(--ink);text-align:left}
.sup .pt,.sup .imgor.pt{width:84px;height:84px}
.sup .pt.vacant{display:grid;place-items:center;font-size:34px;background:#111;border:3px dashed #555;box-shadow:none}
.sup small{display:block;color:var(--y);font-size:12px}.sup b{display:block;font-size:18px}.sup em{display:block;font-size:11px;color:var(--mut);font-style:normal}
.sup.vac b{color:var(--mut)}
.sup.on{border-color:var(--y);box-shadow:4px 4px 0 var(--r)}
.supdet{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto;padding:4px}
.suplist{display:grid;gap:6px}
.lenp{margin:2px 0 6px}
/* 經營子分頁 */
.g-biz2{display:grid;grid-template-rows:auto 1fr;gap:10px}
.g-biz2>.g-biz{min-height:0}
.biztabs{display:flex;gap:6px}
.biztabs button{padding:7px 22px;font-weight:900;background:var(--pn2);border:3px solid var(--ink);color:var(--mut);transform:skewX(-10deg);box-shadow:3px 3px 0 var(--ink)}
.biztabs button.on{background:var(--y);color:var(--ink);box-shadow:3px 3px 0 var(--r)}
.t-board .g-biz{grid-template-columns:1fr 1.2fr 1fr}.t-rd .g-biz{grid-template-columns:1.7fr 1fr}.t-fans .g-biz{grid-template-columns:1fr 1.2fr 1fr}
.members{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.members .imgor.pt{width:100%;height:auto;aspect-ratio:1}
.members b{display:block;font-size:13px;margin-top:4px}.members small{font-size:10px;color:var(--mut)}
.sat{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin-top:8px}
.sat label{font-size:12px;color:var(--mut)}.sat em{font:22px var(--fx);font-style:normal}
.satbar{height:14px;background:#000;border:2px solid var(--ink);position:relative}
.satbar b{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--o),var(--y))}
.satbar b.ok{background:var(--ok)}.satbar b.bad{background:var(--bad)}
.bmem .btn{margin-top:auto}
.glist{display:grid;gap:10px}
.goal{padding:10px 12px;background:#00000040;border:2px solid var(--ink);border-left:6px solid #555}
.goal.ok{border-left-color:var(--ok)}
.goal b{font-size:15px}.goal small{display:block;font-size:11px;color:var(--mut);margin-top:3px}
.gbar{height:10px;background:#000;border:2px solid var(--ink);margin-top:6px;position:relative}
.gbar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--r),var(--y))}
.goal.ok .gbar i{background:var(--ok)}
.rdgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(0,1fr);gap:6px;flex:1;min-height:0}
.rdc{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:2px 8px;padding:6px 8px;background:#00000040;border:2px solid var(--ink);align-items:center}
.rdc .pi{grid-row:1/3}.rdc b{font-size:13px;display:block}.rdc small{display:block;font-size:10px;color:var(--mut)}
.rdc .btn{justify-self:end}
.rdc.busy{border-color:#ff2fa8}
.rdrun{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:8px;background:#ff2fa814;border:2px solid #ff2fa8;margin-bottom:6px}
.rdrun small{font-size:11px;color:var(--mut)}
.rdstat .cm{margin:4px 0}
.mlist{display:grid;gap:8px}
.imgor.pi.mi{width:52px;height:52px;transform:skewX(-6deg)}
.fanst .tiles{grid-template-columns:1fr 1fr}
.fanst .btn{margin-top:auto}
.boardline{display:flex;align-items:center;gap:5px;margin-top:6px;padding:4px 8px;background:#00000050;border:2px solid var(--ink);font-size:11px;color:var(--mut);width:100%}
.boardline span{color:var(--y);font-weight:900;margin-right:4px}.boardline i{width:10px;height:10px;border:2px solid #555;transform:rotate(45deg)}.boardline i.ok{background:var(--ok);border-color:var(--ok)}.boardline em{margin-left:auto;font-style:normal}
.inbox li.news{border-color:var(--c)}
.season-end .se-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}
.season-end h4{font-size:16px;margin:8px 0 6px;display:flex;gap:8px;align-items:baseline}.season-end h4 em{font:13px var(--fx);color:var(--y);font-style:normal}
.ev-res li.ok{border-color:var(--ok)}.ev-res li.bad{border-color:var(--bad)}
.subtabs.five button{padding:9px 4px;font-size:13px}
@media (max-height:800px) and (min-width:900px){.imgor.scene{aspect-ratio:16/4.2}.goal{padding:7px 10px}.sup .pt,.sup .imgor.pt{width:64px;height:64px}.members{gap:4px}.rdc{padding:4px 6px}}
.mob .supgrid{grid-template-columns:1fr}.mob .rdgrid{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.mob .members .imgor.pt{aspect-ratio:1}
.is-m .season-end .se-grid{grid-template-columns:1fr}
.g-crew.sup{grid-template-rows:minmax(0,1fr)}

/* ═════ v6.5 串連功能 ═════ */
.num.rep small{white-space:nowrap}
i.inj{display:inline-block;margin-left:4px;font:11px var(--fz);font-style:normal;background:var(--bad);color:#fff;padding:0 4px;transform:skewX(-8deg);vertical-align:middle}
.fatline{font-size:10px;color:var(--mut)}
.resv{color:var(--c);font-size:11px}
.capline>span{line-height:1.4}
.note.nem{border-color:var(--m);background:#ff2fa814}
.fitlist{display:flex;flex-wrap:wrap;gap:5px}.fitlist .opt{flex:1 1 30%}
.traitline{display:block;margin-top:6px;font-size:11px;color:var(--c)}
.wopt{position:relative}
.wopt.lock img{filter:grayscale(1) brightness(.45)}
.wopt .lk{position:absolute;inset:0;display:grid;place-items:center;font:900 14px var(--fz);color:var(--y)}
.wopt .hot{position:absolute;right:-3px;top:-4px;font-size:11px;color:var(--y);text-shadow:1px 1px 0 #000}
.need-rep{display:block;color:var(--m)!important;font-weight:900}
.miles{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:6px}
.miles span{text-align:center;padding:3px;border:2px solid #333;font:12px var(--fx);color:var(--mut)}
.miles span small{font:10px var(--fz)}
.miles span.ok{border-color:var(--y);color:var(--y)}
.stand li.nem{border-color:var(--m)}
u{text-decoration:none;font-size:10px;background:var(--m);color:#fff;padding:0 4px;margin-left:4px;vertical-align:middle;transform:skewX(-8deg);display:inline-block}
.effects{display:grid;gap:3px;margin:8px 0;padding:8px;background:#00000050;border:2px dashed #444;font-size:11px}
.effects b{color:var(--y);font-size:12px}.effects span{color:var(--mut)}.effects span.ok{color:var(--ok)}.effects span.bad{color:var(--bad)}
@media (max-height:800px) and (min-width:900px){.effects{padding:5px;gap:1px}.resv{font-size:10px}}
.next .note{font-size:11px;padding:4px 8px;margin:3px 0}
@media (max-height:800px) and (min-width:900px){.next .trk{height:34%;min-height:70px}.next .nx{gap:3px}.next .nx h3{font-size:19px}}

/* ═════ v6.6 品牌：渦輪狂熱 Turbo Fever ═════ */
.logo img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(2px 3px 0 #000)}
.logo span{font:10px/1.05 var(--fx);letter-spacing:.14em;color:var(--y);text-align:center;margin-top:2px}
.hlogo{height:54px;width:auto;flex-shrink:0;filter:drop-shadow(2px 2px 0 #000);margin-right:-6px}
.snd.wipe{margin-top:auto;font-size:18px;color:var(--mut)}
.snd.wipe+.snd{margin-top:6px}
.snd.wipe:hover{color:var(--bad);border-color:var(--bad)}
.mlogo{height:30px;width:auto;filter:drop-shadow(1px 1px 0 #000);background:none!important;border:0!important;padding:0!important;transform:none!important}
.mtop .snd.wipe{margin:0;margin-left:2px}
.wlogo{display:block;width:min(420px,80%);margin:-6px auto 6px;filter:drop-shadow(4px 5px 0 #000)}
.wipe-m h3{font-size:24px;color:var(--bad)}
.wipein{width:100%;font:900 24px var(--fz);padding:10px 14px;background:#000;color:var(--w);border:3px solid var(--bad);box-shadow:4px 4px 0 var(--ink);outline:none;margin:8px 0;text-align:center;letter-spacing:.3em}
@media (max-width:1360px) and (min-width:900px){.hlogo{height:44px}}
@media (max-height:800px) and (min-width:900px){.hlogo{height:46px}.logo img{width:54px;height:54px}}
.mlg{white-space:nowrap;font-size:11px}.mteam{max-width:30vw}.mday{white-space:nowrap}

/* ═════ v6.7 性能系統 2.0 ═════ */
/* 性能格 */
.sgrid{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:2px}
.sgrid>div{display:grid;grid-template-columns:44px 1fr 24px;align-items:center;gap:5px;font-size:11px;line-height:1.25}
.sgrid.wd>div{grid-template-columns:44px 1fr 24px 22px}
.sgrid label{color:var(--mut);white-space:nowrap}.sgrid em{font:14px var(--fx);font-style:normal;text-align:right}
.sgrid .bar{height:7px}
.sgrid small{font:11px var(--fx);text-align:right;color:var(--mut)}
small.up,em.up,.up{color:var(--ok)}small.dn,em.dn,.dn{color:var(--bad)}
.sgrid .kgrow em,.sgrid .fwrow em{font-size:13px}
.bar.kg b{background:linear-gradient(90deg,#3ec7ff,#5dff8f)}
.fwbar{position:relative;display:block;height:9px;background:linear-gradient(90deg,#ff2fa844,#00000080 35%,#00000080 65%,#21e6ff44);border:2px solid var(--ink);box-shadow:inset 0 0 0 1px #333}
.fwbar b{position:absolute;top:-3px;width:4px;height:11px;margin-left:-2px;background:var(--y);box-shadow:0 0 0 1px var(--ink)}
.fwbar u{position:absolute;top:-4px;width:2px;height:13px;margin-left:-1px;background:var(--ok);text-decoration:none}
.stp{display:flex;flex-direction:column;gap:4px}
.stp h4{display:flex;align-items:center;gap:6px}.stp h4 em{flex:1;font-size:11px}
.mini.q{font:900 12px var(--fz);width:22px;height:22px;padding:0;border-radius:50%;color:var(--ink);background:var(--y)}
.stp .traitline{font-size:10.5px;line-height:1.3}
/* 零件晶片 */
.pchips{display:flex;flex-wrap:wrap;gap:3px;margin:2px 0}
.pchips i{font:normal 900 10.5px/1.2 var(--fz);padding:1px 5px;border:1px solid currentColor;background:#00000060;white-space:nowrap}
.pchips i.up{color:var(--ok)}.pchips i.dn{color:#ff6b6b}
.pp-hd .pchips{margin-top:3px}.pp-hd h3{font-size:18px;line-height:1.1}
.tierchips{display:flex;gap:4px;align-items:center;margin-bottom:2px}
.tierchips button{padding:3px 8px;font:13px var(--fx);letter-spacing:.5px;border:2px solid var(--ink);background:#00000060;color:var(--tc);transform:skewX(-8deg)}
.tierchips button.on{background:var(--tc);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.tierchips button.lock{opacity:.5}
.tierchips small{margin-left:auto;font-size:11px;color:var(--mut)}
.part.shop{padding:5px 8px}.part.shop b{font-size:13px}.part.shop b u{font-size:10px;text-decoration:none;color:var(--ink);background:var(--ok);padding:0 4px;margin-left:4px}
.part.shop small{font-size:10.5px;line-height:1.25}.part.shop .pi{width:34px;height:34px}
.part.lock{opacity:.55}
/* 底盤卡 */
.ch{cursor:pointer;grid-template-rows:1fr auto auto auto auto;gap:2px;padding:5px 8px;overflow:hidden}
.ch:hover{border-color:var(--y)}
.ch .rig{width:58%;margin:0 auto;max-height:100%}
.ch-t{display:flex;align-items:center;gap:6px}.ch-t b{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-t .rt{font:16px var(--fx);color:var(--ink);background:var(--y);padding:0 6px;transform:skewX(-8deg)}
.ch>small{font-size:10.5px}
.ch-s{display:flex;gap:3px}
.ch-s i{flex:1;font:normal 10px/1.2 var(--fz);color:var(--mut);background:#00000070;border:1px solid #333;text-align:center;padding:1px 0}
.ch-s i b{display:block;font:13px var(--fx);color:var(--w)}
.ch-a{display:flex;gap:5px;justify-content:flex-end;align-items:center}
.ch .ch-a .btn,.ch .ch-a .tag{position:static}
.ch .ch-a .btn.ghost{margin-right:auto}
/* 底盤詳細 */
.cdet{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;min-width:min(880px,90vw)}
.cd-l h3{font-size:28px}.cd-l p{font-size:13px;color:var(--mut);margin:6px 0}
.cd-car{height:170px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 80%,#ffd40022,transparent 65%);margin:4px 0}
.cd-car .rig{width:88%}
.cd-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cd-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.cd-facts>div{background:#00000060;border:2px solid var(--ink);padding:5px 7px;display:grid}
.cd-facts small{font-size:11px;color:var(--mut)}.cd-facts b{font:20px var(--fx)}.cd-facts b i{font-size:12px;font-style:normal;margin-left:2px}.cd-facts em{font-size:10.5px;font-style:normal;color:var(--y)}
.cd-r h5{font-size:14px;margin-bottom:6px}.cd-r h5 em{font-size:11px;color:var(--mut);font-style:normal;margin-left:6px}
.cd-stats{display:grid;gap:4px}
.cd-stats>div{display:grid;grid-template-columns:74px 1fr 30px 38px;align-items:center;gap:8px;font-size:12px}
.cd-stats label{color:var(--mut)}.cd-stats em{font:17px var(--fx);font-style:normal;text-align:right}.cd-stats small{font:13px var(--fx);text-align:right;color:var(--mut)}
.cd-r .foot{display:block;font-size:11px;color:var(--mut);margin:8px 0}
/* 性能說明 */
.phelp{max-width:860px}.ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin:10px 0}
.ph-grid b{color:var(--y);font-size:14px}.ph-grid p{font-size:12px;color:var(--mut);line-height:1.4}
.phelp .foot{font-size:11.5px;color:var(--mut)}
/* 賽前策略分頁 */
.setup .stabs{margin-bottom:4px}
.setup .sbody{display:grid;gap:7px;align-content:start;flex:1;min-height:0}
.sumline{font-size:11.5px;color:var(--mut);background:#00000050;border-left:3px solid var(--y);padding:4px 8px;line-height:1.4}
.sumline b{color:var(--w)}
.tguide{display:grid;gap:4px}
.tguide>div{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:start;background:#00000050;border:2px solid var(--ink);padding:5px 7px}
.tguide .tn{display:grid;gap:1px;font-size:12px;font-weight:900}.tguide .tn i{width:12px;height:12px;border-radius:50%;border:2px solid var(--ink);display:inline-block;margin-right:4px;vertical-align:-1px}
.tguide .tn small{font:11px var(--fx);color:var(--mut)}
.tguide p{font-size:11px;line-height:1.35;color:var(--mut)}.tguide p b{color:var(--w)}
.tguide .tl2{display:flex;gap:8px;font-size:10.5px;color:var(--y);margin-top:2px}
.opt.dn small,.opt.bl small{font-size:9.5px}
.lay-sec{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px}
.lay-sec>div{background:#00000060;border:1px solid #333;padding:3px 6px;font-size:10.5px;color:var(--mut);display:grid;line-height:1.25}
.lay-sec b{font:15px var(--fx);color:var(--w)}.lay-sec b.warn{color:var(--warn)}.lay-sec b.bad{color:var(--bad)}.lay-sec b.ok{color:var(--ok)}
/* 賽中策略呼叫 */
.strat{min-width:min(720px,92vw)}
.strat .st-hd{display:flex;gap:14px;align-items:center;margin-bottom:8px}
.strat .st-hd .big{font:44px/1 var(--fx);color:var(--y);transform:skewX(-8deg)}
.strat h3{font-size:20px}
.st-info{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.st-info>div{background:#00000060;border:2px solid var(--ink);padding:5px 8px;display:grid}
.st-info small{font-size:11px;color:var(--mut)}.st-info b{font-size:15px}
.strat .srow{margin-bottom:6px}
.strat .opt small{display:block!important}
.hud .tire b{font-size:22px}.hud .tire i.tdot{width:12px;height:12px;display:inline-block;border-radius:50%;border:2px solid var(--ink);margin-right:4px}
.fxtag.latebrake{background:var(--c);color:var(--ink)}.fxtag.lock,.fxtag.spin,.fxtag.off{background:var(--bad)}
.livemap .dot.latebrake circle:last-child{fill:var(--c)}
.mob .sgrid{grid-template-columns:1fr}.mob .cdet{grid-template-columns:1fr;min-width:0}.mob .cd-facts{grid-template-columns:1fr 1fr}.mob .ph-grid{grid-template-columns:1fr}.mob .st-info{grid-template-columns:1fr 1fr}.mob .ch .rig{width:52%}
.part.shop b{display:flex;align-items:baseline;gap:6px;white-space:nowrap;overflow:hidden}.part.shop b small.tg{font-weight:600;font-size:10.5px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;min-width:0}
.part.shop .pchips{margin:1px 0 0}.part.shop .btn.sm{padding:3px 8px}
.cd-facts em.up{color:var(--ok)}.cd-facts em.dn{color:var(--bad)}
.parts .plist{gap:5px}.part.shop{padding:4px 8px}
@media (max-height:820px) and (min-width:900px){.parts .pp-hd{margin-bottom:4px}.parts .pp-hd .pi.lg{width:44px;height:44px}.parts .pp-hd h3{font-size:16px}.parts .tabs2{margin-bottom:5px}.parts .tabs2 button{padding:4px}.tierchips button{padding:2px 7px}.part.shop .pi{width:30px;height:30px}}
.part>div{min-width:0}.part{grid-template-columns:auto minmax(0,1fr) auto}
.ch{grid-template-columns:minmax(0,1fr)}.ch-s i{min-width:0}
@media (max-width:760px){.cdet{grid-template-columns:1fr;min-width:0;gap:10px}.cd-facts{grid-template-columns:1fr 1fr}.cd-car{height:120px}.ph-grid{grid-template-columns:1fr}.strat{min-width:0}.st-info{grid-template-columns:1fr 1fr}.strat .opts{flex-wrap:wrap}.strat .opt{min-width:30%}.cd-stats>div{grid-template-columns:70px 1fr 28px 34px}}
.snd.on{color:var(--y)}
.sndp{min-width:min(460px,90vw);display:grid;gap:10px}.sndp .foot{font-size:11px;color:var(--mut)}
.g-hq .inbox.big{display:flex;flex-direction:column;min-height:0}
.g-hq .inbox.big ul{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}
.g-hq .inbox.big li{font-size:13px;line-height:1.45;padding:5px 8px}
.g-hq .inbox.big li .mini{margin-left:6px}
.g-hq .fin{align-self:stretch}

/* ═════ v6.9 總部營運速報 ═════ */
.fin{display:flex;flex-direction:column;min-height:0}
.intel{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;margin-top:8px;border-top:2px dashed var(--line);padding-top:6px;display:grid;gap:4px;align-content:start}
.intel h5{font-size:12px;color:var(--y);margin-top:4px}.intel h5 em{font-style:normal;color:var(--mut);font-size:11px;margin-left:6px}
.intel .ii{font-size:12px;line-height:1.45;color:#d9d6cc}.intel .ii b{font:15px var(--fx);margin-left:2px}.intel .ii.bad{color:var(--bad)}
.intel .pos{color:var(--ok)}.intel .neg{color:var(--bad)}
.isps{display:grid;gap:4px}
.isp{display:flex;align-items:baseline;gap:8px;background:#00000050;border-left:4px solid var(--sc,#555);padding:3px 8px}
.isp b{font-size:12.5px;white-space:nowrap}.isp small{font-size:11px;color:var(--mut)}.isp.none{justify-content:space-between}
@media (max-height:800px) and (min-width:900px){.intel{gap:2px}.intel .ii{font-size:11.5px}.intel h5{margin-top:2px}}

/* ═════ v6.9 手機版優化 ═════ */
.mob .mtop .mrow{gap:6px;min-width:0}
.mob .mteam{max-width:32vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mob .mlg,.mob .mday{white-space:nowrap;flex-shrink:0}.mob .mday{font-size:12px}
.mob .mtop .snd{flex-shrink:0;width:34px;height:34px}
.mob .mlogo{flex-shrink:1;min-width:0;max-width:22vw}
/* 字級放大 */
.mob .pchips i{font-size:12px;padding:2px 6px}
.mob .sgrid>div{font-size:12.5px;grid-template-columns:52px 1fr 28px 26px}.mob .sgrid em{font-size:16px}
.mob .part small,.mob .part.shop small{font-size:12px}.mob .part b{font-size:14.5px}
.mob .opt b{font-size:13px}.mob .opt small{font-size:11px}
.mob .ch-s i{font-size:11.5px}.mob .ch>small{font-size:12px}
.mob .srow>label{font-size:13px}.mob .sumline{font-size:12.5px}
.mob .lay-sec>div{font-size:12px}.mob .tguide p{font-size:12px}
.mob .inbox li{font-size:13.5px}
/* 組裝廠：點槽位後捲到零件清單 */
.mob .parts{scroll-margin-top:120px}
/* 賽程：橫向小卡 */
.mob .season.mini ol{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.mob .season.mini li{flex:0 0 108px;display:grid;grid-template-rows:56px auto auto auto;gap:1px;min-height:0;padding:6px;scroll-snap-align:start;background:#00000050;border:2px solid var(--ink)}
.mob .season.mini li.now{border-color:var(--y);background:#ffd40018}.mob .season.mini li.done{opacity:.65}
.mob .season.mini .th{width:100%;height:56px;display:block}.mob .season.mini .th svg{width:100%;height:100%}
.mob .season.mini small{font-size:11px;color:var(--mut)}.mob .season.mini b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mob .season.mini em{font-style:normal;font-size:11.5px;color:var(--y)}
/* 固定起跑列 */
.mob.has-start,.mob:has(.mstart){padding-bottom:150px}
.mstart{position:fixed;left:8px;right:8px;bottom:80px;z-index:40;display:flex;align-items:center;gap:10px;padding:8px 10px;background:#0b0b10f2;border:3px solid var(--ink);box-shadow:0 0 0 2px var(--y),4px 4px 0 var(--r);transform:skewX(-4deg)}
.mstart>div{flex:1;min-width:0;display:grid;transform:skewX(4deg)}
.mstart small{font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mstart b{font:20px var(--fx)}.mstart b i{font:12px var(--fz);color:var(--mut);font-style:normal;margin-left:4px}
.mstart .btn{font-size:17px;padding:10px 14px;white-space:nowrap}
/* 比賽直播：場景縮短、排名移到場景下方 */
.mob .scene{height:34vh;min-height:220px}
.mob .hud{display:grid;grid-template-columns:auto auto auto 1fr;gap:12px;align-items:start}
.mob .hud div:has(#sector){display:none}.mob .hud b{font-size:22px}.mob .hud .tire b{font-size:18px}
.mob .g-live .scene{order:1}.mob .g-live .side{order:2}.mob .g-live .cast{order:3}
.mob .g-live .side{display:flex;flex-direction:column;gap:10px}
.mob .g-live .side .board{order:-1}
.mob .side .board .rows{height:232px}
.mob .side .board .row{font-size:13px}
.mob .livemap{height:200px}
.mob .cast{min-height:180px}
.fin-row.two{display:flex;gap:14px}.fin-row.two span{display:flex;gap:6px;align-items:baseline}.fin-row.two b{font:16px var(--fx)}
.intel .isp{padding:2px 8px}
@media (max-height:800px) and (min-width:900px){.g-hq .fin>small{display:none}.g-hq .fin .fin-row{padding:2px 0}.g-hq .fin .boardline{margin-top:4px;padding:3px 8px}.intel{margin-top:5px;padding-top:4px}.intel h5{font-size:11.5px}}
.mob .season.mini li{grid-template-columns:1fr!important;align-items:start}
.mob .season.mini li>*{grid-column:1!important}
.mob .side .board .rows{height:264px}
.mob .side .board .row small{display:none}
.mob .side .board .row b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ═════ 圖片視窗寬度修正：圖片是背景圖或依文字撐開時，視窗會被縮成很窄 ═════ */
.vic.big{width:min(960px,calc(96vw - 44px));height:auto;aspect-ratio:16/9;max-height:70vh;background-size:cover}
.event{width:min(860px,94vw)}
.result{width:min(1000px,calc(96vw - 44px))}
.is-m .vic.big{width:calc(100vw - 40px);margin:-16px -16px 12px}
.is-m .event{width:auto;min-width:calc(100vw - 48px)}.is-m .event .evimg{min-height:0;aspect-ratio:16/9}
.is-m .result{width:auto}
dialog.wide:has(.vicimg){width:auto}
.sd-act .morelink{margin-left:auto;align-self:center;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:900;color:var(--c);text-decoration:none;border:2px solid var(--c);background:#21e6ff12;transform:skewX(-8deg);white-space:nowrap}
.sd-act .morelink:hover{background:var(--c);color:var(--ink)}
@media (max-width:520px){.welcome .sd-act{flex-wrap:wrap}.welcome .sd-act .morelink{margin-left:0}}
.is-m .sndp{min-width:0;width:calc(100vw - 72px)}.is-m .sndp .opt{min-width:0}
