:root{
  --bg:#0a1730; --bg2:#0e1f40; --card:#12264b; --card2:#173060; --line:#21407a;
  --text:#eaf1ff; --muted:#93a6c9; --green:#22d36f; --green2:#14a85a; --hl:#ffd23f; --warn:#ff8a4c; --bad:#ff5d6c;
  --away:#4a7fe0; --draw:#516787; --home:#22b86a;
  --r:14px; --r-sm:8px; --s1:4px; --s2:8px; --s3:12px; --s4:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,#15376f 0,transparent 60%),var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;line-height:1.6;font-size:15px}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.topbar{position:sticky;top:0;z-index:10;background:rgba(10,23,48,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;height:56px;gap:12px}
.brand{display:flex;white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;font-weight:900;font-size:19px;letter-spacing:.5px}
.brand span{background:linear-gradient(90deg,#fff,var(--hl));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a,.nav .nav-off{padding:6px 9px;border-radius:999px;color:var(--muted);font-weight:600;font-size:14px;white-space:nowrap}
.nav a.on,.nav a:hover{color:var(--bg);background:var(--green)}
.nav .nav-off{opacity:.45;cursor:default}
.notice{background:linear-gradient(90deg,#0f2a1f,#0e2240);border-bottom:1px solid var(--line);font-size:12.5px;color:#cfe;padding:7px 0}
.notice strong{color:var(--hl)}
.hero{padding:26px 0 8px}
.hero.small{padding:20px 0 4px}
.eyebrow{color:var(--green);font-weight:800;font-size:12.5px;letter-spacing:2px;margin:0 0 6px}
.hero h1{font-size:clamp(24px,6vw,38px);line-height:1.25;margin:0 0 8px;font-weight:900}
.hl{color:var(--hl)}
.sub{color:var(--muted);margin:0 0 14px;max-width:680px}
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(min-width:720px){.quick{grid-template-columns:repeat(6,1fr)}}
.qbtn{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 8px;text-align:center;font-weight:700;font-size:13.5px}
.qbtn span{display:block;font-size:24px}
.qbtn:hover{border-color:var(--green)}
.sec{font-size:18px;margin:26px 0 10px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.sec small{color:var(--muted);font-weight:500;font-size:12.5px}
.sec .more{margin-left:auto;font-size:13px;color:var(--green);font-weight:700}
.sec.day{font-size:15px;color:var(--hl);border-left:4px solid var(--green);padding-left:8px}
.grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:680px){.grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.grid{grid-template-columns:1fr 1fr 1fr}}
.card{background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:var(--r)}
.card.pad{padding:16px;margin:14px 0}
.game{display:block;padding:12px 14px;transition:transform .15s,border-color .15s}
.game:hover{transform:translateY(-2px);border-color:var(--green)}
.meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:12px}
.meta.center{justify-content:center}
.chip{background:#1b3566;color:#bcd0f5;border-radius:6px;padding:1px 7px;font-size:11.5px;font-weight:600}
.chip.sport{background:var(--green);color:var(--bg)}
.chip.warn{background:#4a2a14;color:var(--warn);white-space:nowrap}
.when{margin-left:auto;color:var(--hl);font-weight:700;font-variant-numeric:tabular-nums}
.vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:10px 0}
.side{display:flex;align-items:center;gap:6px}
.side.r{justify-content:flex-end;text-align:right}
.side small{color:var(--muted);font-size:11px;border:1px solid var(--line);border-radius:4px;padding:0 4px}
.mid{color:var(--muted);font-weight:900;font-size:12px;padding:0 6px}
.team{display:inline-flex;align-items:center;gap:7px;font-weight:800}
.side.r .team{flex-direction:row-reverse}
.team img{background:#fff1;border-radius:50%;padding:3px;object-fit:contain}
.ph{display:inline-block;border-radius:50%;background:#fff2}
.pbar{display:flex;height:8px;border-radius:999px;overflow:hidden;gap:2px}
.seg{display:block;min-width:4px}
.seg.away{background:var(--away)} .seg.draw{background:var(--draw)} .seg.home{background:var(--home)}
.pb-nums{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s1);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.pb-nums .n{display:inline-flex;align-items:center;gap:6px}
.pb-nums .away{color:#9dbcf5} .pb-nums .draw{color:var(--muted)} .pb-nums .home{color:#7fe0aa}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--hl);flex:none}
.dotlegend{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:500;margin-left:auto}
.pickline{display:flex;gap:8px;align-items:center;margin-top:9px;font-size:13px;color:var(--muted)}
.pickline strong{color:var(--text)}
.marginline{margin:6px 0 0;font-size:13px;line-height:1.35;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conf{margin-left:auto;font-size:11.5px;font-weight:700;border-radius:var(--r-sm);padding:1px var(--s2);background:#1b3566;color:#bcd0f5}
.kpis .conf,.kpis b.conf{background:none;padding:0;font-size:inherit}
.c高{color:var(--green);border-color:var(--green)} .c中{color:var(--hl);border-color:var(--hl)} .c低{color:var(--muted);border-color:var(--line)}
.kpis b.conf{margin:0;display:inline-block}
.missing{color:var(--warn);background:#2a1d14;border:1px dashed #6b3d1f;border-radius:10px;padding:8px 12px;font-size:13px}
.crumb{color:var(--muted);font-size:13px;margin:16px 0 0}
.crumb a{color:var(--green)}
.match{padding:14px 0 4px;text-align:center}
.match .meta.center{flex-wrap:wrap;justify-content:center;row-gap:4px}
.bigvs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:14px}
.bt{display:flex;flex-direction:column;align-items:center;gap:4px}
.bt .team{flex-direction:column;font-size:18px}
.bt small{color:var(--muted);font-size:12px}
.kick{display:flex;flex-direction:column;align-items:center}
.kick b{font-size:28px;color:var(--hl);font-variant-numeric:tabular-nums;line-height:1.1}
.kick span{font-size:12.5px;color:var(--muted)}
.kick .tz{color:var(--green);font-weight:700}
.venue{color:var(--muted);font-size:13px;margin:10px 0 0}
.h{font-size:16px;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.tag{font-size:11px;background:#2a2410;color:var(--hl);border-radius:6px;padding:1px 7px;font-weight:700}
.legend{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:5px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:14px}
.kpis div{background:#0b1b38;border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}
.kpis span{display:block;font-size:11.5px;color:var(--muted)}
.kpis b{font-size:17px}
.analysis{list-style:none;margin:0;padding:0;counter-reset:a}
.analysis li{position:relative;padding:0 0 12px 38px;margin-bottom:12px;border-bottom:1px solid #1c3566;counter-increment:a}
.analysis li:last-child{border:0;margin:0;padding-bottom:0}
.analysis li::before{content:counter(a);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--green);color:var(--bg);font-weight:900;display:grid;place-items:center;font-size:13px}
.analysis h3{margin:0 0 2px;font-size:14.5px;color:var(--green)}
.analysis li:last-child h3{color:var(--hl)}
.analysis p{margin:0;color:#d5e0f7}
.two{display:grid;gap:14px}
@media(min-width:680px){.two{grid-template-columns:1fr 1fr}}
.two h3{font-size:14px;margin:0 0 6px}
.inj{list-style:none;padding:0;margin:0;font-size:13px}
.inj li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid #1c3566}
.muted{color:var(--muted);font-size:13px}
.method p{margin:0 0 8px;font-size:13.5px;color:#c9d6f0}
.list{padding-left:18px;margin:0}.list li{margin:5px 0}
.bad{color:var(--bad)}
.filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
.filters button{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}
.filters button.on{background:var(--green);color:var(--bg);border-color:var(--green)}
.foot{margin-top:40px;border-top:1px solid var(--line);background:#081329;padding:20px 0 28px;color:var(--muted);font-size:12.5px}
.foot p{margin:4px 0}.foot a{color:var(--green)}
.foot-brand{font-weight:900;color:var(--text);font-size:15px}.foot-brand span{color:var(--muted);font-weight:500;font-size:12.5px}
[hidden]{display:none!important}
@media(max-width:420px){.brand{font-size:17px}.brand img{width:26px;height:26px}.nav a,.nav .nav-off{padding:5px 7px;font-size:13px}}
@media(max-width:450px){
  .nav{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
}

/* —— 準度頁 —— */
.banner-info{background:#10263f;border:1px solid var(--line);border-left:4px solid var(--hl);border-radius:10px;padding:12px 14px;margin:8px 0 16px;font-size:13.5px;color:#d5e0f7;line-height:1.55}
.banner-info b{color:var(--hl)}
.kpis.big b{font-size:26px}
.kpis small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;color:var(--muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:9px 8px;border-bottom:1px solid #1c3566;vertical-align:top}
.tbl a{color:var(--text);font-weight:700}
.tbl a:hover{color:var(--green)}
.tbl .tiny{display:block;color:var(--muted);font-weight:500;font-size:11.5px;margin-top:2px}
.nowrap{white-space:nowrap;font-variant-numeric:tabular-nums}
.badge{display:inline-block;font-size:12px;font-weight:800;border-radius:6px;padding:2px 8px}
.badge.hit{background:#143a28;color:var(--green)}
.badge.miss{background:#3a1820;color:var(--bad)}
.pending-list{list-style:none;margin:0;padding:0}
.pending-list li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:8px 0;border-bottom:1px solid #1c3566;font-size:13.5px}
.pending-list li .tiny{grid-column:1/-1}
@media(max-width:600px){
  .pending-list li{grid-template-columns:1fr}
  .tbl td:nth-child(3),.tbl th:nth-child(3){display:none}
}

@media(max-width:720px){.nav a,.nav .nav-off{padding:5px 7px;font-size:12.5px}}

/* —— v2 UI —— */
.meta .lg{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.meta{flex-wrap:nowrap;gap:var(--s2)}
.when{margin-left:0;flex:none}
.tn{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;font-size:14px;word-break:break-all}
.card .tn{text-wrap:balance}
.vs{min-height:52px}
.lgrow{display:flex;gap:var(--s2);overflow-x:auto;scrollbar-width:none;padding:var(--s1) 0 var(--s2);margin:0 -16px;padding-left:16px;padding-right:16px}
.lgrow::-webkit-scrollbar{display:none}
.lgrow a{flex:none;display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:700;font-size:13.5px;white-space:nowrap}
.lgrow a:hover{border-color:var(--green)}
.accsum{display:block;padding:var(--s3) var(--s4);margin:var(--s3) 0}
.accsum:hover{border-color:var(--green)}
.acc-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);font-size:13px}
.acc-h b{font-size:15px}.acc-h span{color:var(--green);font-size:12px;font-weight:700}
.acc-k{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-top:var(--s2)}
.acc-k div{background:#0b1b38;border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s2) var(--s3)}
.acc-k span{display:block;font-size:11.5px;color:var(--muted)}
.acc-k b{font-size:22px;font-variant-numeric:tabular-nums}
.acc-k small{color:var(--muted);font-size:11.5px;margin-left:6px}
.warnline{display:block;font-style:normal;color:var(--warn);font-size:11px;margin-top:2px;line-height:1.35}
@media(max-width:600px){
  .tbl thead{display:none}
  .tbl,.tbl tbody,.tbl tr{display:block;width:100%}
  .tbl tr{display:grid;grid-template-columns:auto 1fr auto;gap:2px var(--s2);padding:var(--s2) 0;border-bottom:1px solid #1c3566}
  .tbl td{border:0;padding:0}
  .tbl td:nth-child(1){grid-row:1/3}
  .tbl td:nth-child(2){grid-column:2}
  .tbl td:nth-child(4){grid-column:2;font-size:12px;color:var(--muted)}
  .tbl td:nth-child(5){grid-column:3;grid-row:1;text-align:right}
  .tbl td:nth-child(6){grid-column:3;grid-row:2;text-align:right}
  .tbl td[colspan]{grid-column:1/-1}
}

.card.game .pb-nums .n{font-size:20px;font-weight:900}
.card.game .pb-nums .away{color:var(--away)} .card.game .pb-nums .home{color:var(--home)}
.card.game .pb-nums .draw{font-size:13px;font-weight:700;color:var(--muted)}
.kpis small.warnline{display:block}
@font-face{font-family:"QQBrand";src:url(/static/fonts/brand-rounded.woff) format("woff");font-weight:900;font-display:swap}
.brand span{font-family:"QQBrand",system-ui,sans-serif;font-weight:900}

/* —— 會員：登入、選擇、紀錄、週榜 —— */
.top-rest{display:flex;align-items:center;gap:8px;min-width:0;flex:1;justify-content:flex-end}
.top-rest .nav{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.who{flex-shrink:0}
.login-open{background:var(--green);color:#06210f;border:0;border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.avatar{max-width:calc(4em + 16px);min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--card2);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;overflow:hidden}
.avatar-name{max-width:4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:480px){
  .top-rest{gap:2px}
  .avatar{width:28px;max-width:28px;padding:0}
  .avatar-name{display:none}
  .avatar::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green)}
}
.card-main{display:block;color:inherit}
body.sheet-open{overflow:hidden}
.login-dim{position:fixed;left:0;right:0;top:56px;bottom:0;background:rgba(3,8,20,.6);z-index:40}
.login-sheet{position:absolute;left:0;right:0;bottom:0;background:#0e1f40;border-top:1px solid var(--line);border-radius:20px 20px 0 0;padding:22px 20px 28px}
.login-sheet h2{margin:0 36px 0 0;font-size:19px}
.sheet-close{position:absolute;top:16px;right:16px;background:transparent;color:var(--muted);border:0;font:inherit;font-size:13px;cursor:pointer}
.line-login{display:flex;justify-content:center;margin:18px 0 8px}
.line-login img{width:min(100%,240px);height:auto}
.login-notes{color:var(--muted);font-size:12.5px;line-height:1.7;margin:14px 0 0}
.login-notes a{color:var(--green);font-weight:700}
.form-error{color:#ff8a9a;font-size:12.5px;margin:8px 0 0}
.form-error small{font-size:10.5px}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.choices.three{grid-template-columns:1fr .7fr 1fr}
.choice{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px;text-align:center;font:inherit;font-size:13.5px;font-weight:700;background:var(--card2);color:var(--text);cursor:pointer}
.choice.on{border-color:var(--green);background:#173d2b;color:var(--green)}
.choice.go{background:var(--green);color:#06210f;border-color:var(--green)}
.choice:disabled{opacity:.6;cursor:default}
.confirm-box{margin-top:10px;background:#0e1f40;border:1px solid var(--hl);border-radius:12px;padding:12px}
.confirm-q{font-size:13.5px;font-weight:700}
.confirm-actions{display:flex;gap:8px;margin-top:10px}
.confirm-actions .choice{flex:1}
.confirm-actions .choice.go{flex:2}
.lockrow{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-size:13px}
.locknote{margin:10px 0 0}
.chip.ok{background:#173d2b;color:var(--green)}
.chip.no{background:#3a2330;color:#ff8a9a}
.kpis.record{grid-template-columns:repeat(3,1fr)}
.kpis.record b{font-size:22px}
.cmp{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:12px 0}
.cmp-h{font-weight:800;margin-bottom:4px}
.cmp-row{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:13px}
.cmp-row span:first-child{width:40px;flex:none}
.cmp-row span:last-child{flex:none;font-variant-numeric:tabular-nums}
.cmp .tr{flex:1;height:8px;background:var(--card2);border-radius:99px;overflow:hidden}
.cmp .tr i{display:block;height:100%}
.rec-row{display:grid;grid-template-columns:64px 1fr auto;gap:4px 10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.rec-row .chip{min-width:64px;width:100%;box-sizing:border-box;text-align:center;display:block;padding-left:2px;padding-right:2px}
.rec-mine{text-align:right;font-variant-numeric:tabular-nums;font-size:12.5px}
.danger{margin-top:18px}
.linkish{background:none;border:0;padding:0;color:var(--text);text-decoration:underline;font:inherit;cursor:pointer}
.danger-go{margin-top:8px;background:#3a2330;color:#ff8a9a;border-color:#ff8a9a}
.board{width:100%;border-collapse:collapse;font-size:13.5px}
.board th,.board td{padding:9px 6px;border-bottom:1px solid var(--line);text-align:left}
.board th{color:var(--muted);font-weight:500;font-size:12px}
.board .n{text-align:right;font-variant-numeric:tabular-nums}
.board .rk{width:26px;font-weight:900}
.board .rk.top{color:var(--hl)}
.board tr.me td{background:#1a2f22}
.board tr.base td{background:var(--card2);color:var(--muted)}
#board-app .banner-info{border-left-color:var(--green)}
.footnote{margin-top:10px;line-height:1.7}
.progress{font-size:13.5px}
.progress{border-color:var(--line)}
.draft-note{background:#2a2410;color:var(--hl);border-radius:10px;padding:10px 12px;margin:16px 0;font-size:13px}
.legal h1{font-size:26px;margin:0 0 8px}
.legal h2{font-size:16px;margin:18px 0 8px}
.legal p,.legal li{font-size:14px;color:#d5e0f7}
.legal blockquote{margin:0 0 12px;color:var(--muted);font-size:13px}
.legal a{color:var(--green)}

/* 手機底部導覽列（≤720px）；電腦版不顯示 */
.tabbar{display:none}
@media(max-width:720px){
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:50;
    height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);
    background:rgba(10,23,48,.96);border-top:1px solid var(--line);backdrop-filter:blur(8px)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:11px;font-weight:700}
  .tabbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .tabbar a[aria-current="page"]{color:var(--green)}
  body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
  /* 上方只留 logo＋聯賽；週榜、準度、關於、登入搬到下方 */
  .nav a.mv{display:none}
  .who{display:none}
  /* 登入面板蓋過導覽列，底部內容留出安全區 */
  .login-dim{z-index:60}
  .login-sheet{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
}

/* —— 挑戰頁 /challenge/ —— */
.rule{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--muted);margin:0 0 4px}
.rule b{color:var(--text);font-weight:700}
.sec .cnt{font-size:12px;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}
.cg{padding:12px 14px;margin:0;scroll-margin-top:72px}
.cg .meta{gap:var(--s2)}
.cg .when{color:var(--text);font-weight:700}
.cg .vs{min-height:44px;margin:8px 0 0}
.cg .vs .side{min-width:0}
.cg .team{min-width:0;max-width:100%}
.cg .ph{width:24px;height:24px;flex:none}
.cg .tn{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal;font-size:14.5px}
.cg:target,.cg.is-target{box-shadow:0 0 0 2px var(--green)}
.cg .choices{margin-top:10px}
.cg .choice{min-height:40px;padding:8px 4px;white-space:nowrap}
.cg .choice.on::before{content:"✓ ";font-weight:900}
.cg .confirm-box{border-color:var(--green)}
.cg-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid #1c3566;font-size:12.5px;color:var(--muted);min-width:0}
.cg-foot .st{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cg-foot .st b{color:var(--green);font-weight:700}
.to-game{flex:none;color:var(--green);font-weight:700;font-size:13px;padding:4px 0 4px 8px}
.to-game::after{content:" ›"}
.cg.locked{background:linear-gradient(180deg,#10223f,var(--bg2))}
.cg .score{flex:none;padding:0 6px;font-size:18px;font-weight:900;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:1px}
.chip.live{background:#173d2b;color:var(--green)}
.mine{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:13.5px}
.mine span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mine b{font-weight:800}
.reveal{margin-top:10px;background:#0b1b38;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px}
.rv-h{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--muted);margin-bottom:4px}
.reveal .pb-nums{font-size:12.5px;margin-bottom:3px}
.reveal .pbar{height:6px}
.rv-pick{font-size:12.5px;color:var(--muted);margin-top:6px}
.rv-pick b{color:var(--hl);font-weight:800}
.reveal.none{font-size:12px;color:var(--muted)}
.show-more{display:block;width:100%;margin:4px 0 8px;background:#13284d;color:var(--text);border:1px solid var(--line);border-radius:999px;padding:10px 14px;font:inherit;font-weight:800;font-size:14px}
.cg-list{display:grid;gap:10px;align-items:start}
@media(min-width:720px){.cg-list{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.cg-list{grid-template-columns:1fr 1fr 1fr}}
.board .rk.top{color:var(--green)}
.board th.n{text-align:right}
.board .nm{max-width:9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.board .vm{width:52px}
.vm.up{color:var(--green);font-weight:800}
.vm.flat,.vm.down{color:var(--muted)}
.progress b{color:var(--green)}
.board-wrap{max-width:720px}
@media(max-width:420px){.board th,.board td{padding:9px 4px}.board{font-size:13px}}
.go-ch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin:14px 0}
.go-ch p{margin:0;font-size:13.5px;color:var(--muted);min-width:0}
.go-ch p b{display:block;color:var(--text);font-size:15px}
.go-ch a{flex:none;background:var(--green);color:#06210f;font-weight:800;font-size:14px;border-radius:999px;padding:8px 14px;white-space:nowrap}
.go-ch[data-state="picked"],.go-ch[data-state="locked"]{display:block}
.go-ch[data-state="picked"] p,.go-ch[data-state="locked"] p{display:none}
.go-ch[data-state="picked"] a,.go-ch[data-state="locked"] a{display:block;background:transparent;color:var(--green);padding:2px 0;white-space:normal;border-radius:0;font-size:15px;line-height:1.4}
.res{display:inline-block;flex:none;width:64px;text-align:center;font-size:11px;font-weight:800;border-radius:6px;padding:1px 0}
.res.hit{background:#123b2a;color:var(--green)}
.res.miss{background:#3b1a20;color:var(--bad)}
.res.void{background:#1a2c55;color:var(--muted)}
.res.wait{background:var(--card2);color:var(--muted)}
.cg .choice.on:disabled{opacity:1}

/* 準度頁：上線後真實預測在上、回測在下；回測區塊用較淡的平面底色與灰色標題，和真實成績明顯區隔 */
.acc-live h3.h,.acc-bt h3.h{font-size:14px;margin:18px 0 0}
.acc-bt{background:var(--bg2);border-style:dashed}
.card.acc-bt{margin-top:28px}
.acc-bt .h{color:var(--muted)}
.acc-bt .kpis div{background:transparent}
.kpis b .chip{display:inline-block;width:auto;font-size:11.5px;vertical-align:middle}
.acc-bt .kpis b{color:var(--muted)}
.acc-bt .kpis.big b{font-size:20px}
.acc-live .kpis b.conf{color:inherit}
.acc-bt .kpis b.conf{color:var(--muted)}
.kpis b{font-variant-numeric:tabular-nums}
.kpis b.conf{font-size:17px}
.kpis b.empty{font-size:13px;font-weight:600;color:var(--muted)}
.kpis.big b.empty,.acc-bt .kpis.big b.empty{font-size:13px;font-weight:600;color:var(--muted)}

/* ===== 首頁一屏（body.home1）與聯賽頁（body.lean.league） ===== */
.home1 .wrap.h1-main{max-width:720px}
.h1-main{display:flex;flex-direction:column;gap:var(--s4);padding-top:24px;padding-bottom:var(--s2)}
.notice.compact{padding:5px 0;font-size:11.5px;line-height:1.4;text-align:center;background:var(--bg2);color:var(--muted)}
.notice.compact strong{color:var(--green)}
.h1-head h1{margin:0;font-size:22px;line-height:1.3;font-weight:900}
.h1-head p{margin:2px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.lg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none}
.lg-btn{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:76px;height:100%;
  padding:10px 12px 10px 14px;border-radius:var(--r);border:1px solid var(--line);
  background:var(--card);transition:border-color .15s}
.lg-btn:hover,.lg-btn:focus-visible{border-color:var(--green);outline:none}
.lg-btn:active{transform:scale(.98)}
.lg-top{display:flex;align-items:center;gap:8px;min-width:0}
.lg-ic{font-size:24px;line-height:1;flex:none}
.lg-en{font-size:20px;font-weight:900;letter-spacing:.3px;line-height:1.15;white-space:nowrap}
.lg-zh{flex:none;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.lg-sub{font-size:12.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-btn.is-today .lg-sub{color:var(--green)}
.lg-btn.is-today .lg-sub::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:6px;vertical-align:2px}
.lg-btn.is-none{opacity:.7}
.lg-btn.is-missing{opacity:.7}
.h1-line{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 14px;font-size:13px;color:var(--muted)}
.h1-line:hover .go{text-decoration:underline}
.h1-line b{color:var(--text);font-weight:800;font-variant-numeric:tabular-nums}
.h1-line .go{flex:none;color:var(--green);font-weight:700}
.h1-line .go::after{content:" ›"}
.h1-legal{margin:0;text-align:center;font-size:11px;color:var(--muted);line-height:1.5}
.h1-legal a{color:var(--muted);text-decoration:underline}
.promo{position:relative;flex:none}
.promo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:var(--r)}
.promo-track::-webkit-scrollbar{display:none}
.promo-slide{position:relative;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:2.6/1;
  display:flex;align-items:center;padding:0 18px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);color:var(--text);
  background:var(--pv,none) right 16px center/auto 62% no-repeat,radial-gradient(circle at 84% 50%,rgba(34,211,111,.2),transparent 48%),linear-gradient(135deg,var(--card2),var(--bg2))}
.promo-slide:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.pv-challenge{--pv:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%3Ccircle cx='44' cy='40' r='26' fill='none' stroke='%2322d36f' stroke-width='4'/%3E%3Ccircle cx='76' cy='40' r='26' fill='none' stroke='%234a7fe0' stroke-width='4'/%3E%3Cpath d='M50 41l7 7 13-15' fill='none' stroke='%23eaf1ff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.pv-accuracy{--pv:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%3Cg stroke='%2321407a' stroke-width='1.5'%3E%3Cpath d='M0 20h120M0 40h120M0 60h120'/%3E%3C/g%3E%3Cpolyline points='4,64 26,50 48,56 70,34 92,40 116,14' fill='none' stroke='%2322d36f' stroke-width='4' stroke-linejoin='round' stroke-linecap='round'/%3E%3Cg fill='%2322d36f'%3E%3Ccircle cx='26' cy='50' r='4'/%3E%3Ccircle cx='70' cy='34' r='4'/%3E%3Ccircle cx='116' cy='14' r='4'/%3E%3C/g%3E%3C/svg%3E")}
.pv-line{--pv:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%3Cpath d='M30 10h60a20 20 0 0 1 20 20v8a20 20 0 0 1-20 20H58l-18 14v-14H30a20 20 0 0 1-20-20v-8a20 20 0 0 1 20-20z' fill='%2322d36f' fill-opacity='.18' stroke='%2322d36f' stroke-width='4' stroke-linejoin='round'/%3E%3Cg fill='%23eaf1ff'%3E%3Ccircle cx='42' cy='34' r='5'/%3E%3Ccircle cx='60' cy='34' r='5'/%3E%3Ccircle cx='78' cy='34' r='5'/%3E%3C/g%3E%3C/svg%3E")}
.promo-tx{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;max-width:64%}
.promo-t{font-size:21px;font-weight:900;line-height:1.2;letter-spacing:.3px}
.promo-s{font-size:12.5px;font-weight:600;line-height:1.4;color:var(--muted)}
.promo-s::after{content:" ›";color:var(--green);font-weight:800}
.promo-slide.has-img{background:var(--bg2)}
.promo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.promo-slide.has-img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,23,48,.88),rgba(10,23,48,.2) 70%)}
.promo-tx{z-index:2}
.promo-dots{position:absolute;right:8px;bottom:4px;z-index:3;display:flex}
.promo-dots button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer}
.promo-dots button::before{content:"";width:6px;height:6px;border-radius:3px;background:rgba(234,241,255,.4);transition:width .2s,background-color .2s}
.promo-dots button[aria-current]::before{width:16px;background:var(--green)}
@media(max-width:720px) and (max-height:700px){.promo-t{font-size:19px}.promo-s{font-size:12px}}
@media(min-width:721px){.promo-slide{padding:0 36px}.promo-t{font-size:30px}.promo-s{font-size:15px}.promo-dots{right:14px;bottom:8px}}
@media(prefers-reduced-motion:reduce){.promo-dots button::before{transition:none}}
@media(max-width:720px){
  body.home1{height:100vh;height:100dvh;display:flex;flex-direction:column}
  .home1 .topbar .nav{display:none}
  .home1 .h1-main{flex:1;min-height:0;width:100%}
  .home1 .lg-grid{flex:1;min-height:0;grid-template-rows:repeat(3,minmax(72px,120px));align-content:start}
  .home1 .h1-line{margin-top:auto}
  .home1 .foot{display:none}
}
@media(max-width:720px) and (max-height:700px){
  .h1-main{gap:var(--s2);padding-top:var(--s3);padding-bottom:var(--s2)}
  .h1-head h1{font-size:20px}
  .h1-head p{font-size:12px}
  .lg-grid{gap:8px}
  .lg-btn{min-height:72px;padding:8px 12px}
  .lg-ic{font-size:21px}.lg-en{font-size:18px}
  .h1-line{min-height:40px;padding:6px 12px;font-size:12.5px}
}
@media(min-width:721px){
  .h1-main{padding-top:40px;gap:var(--s4);min-height:calc(100vh - 56px - 30px - 200px)}
  .h1-head{text-align:center}
  .h1-head h1{font-size:30px}
  .h1-head p{font-size:14px}
  .lg-grid{grid-template-columns:repeat(3,1fr);gap:12px}
  .lg-btn{min-height:104px;padding:14px 16px}
  .lg-ic{font-size:28px}.lg-en{font-size:22px}
  .h1-legal{display:none}
}
@media(max-width:720px){.lean .topbar .nav{display:none}}
.lp-head{padding:16px 0 4px}
.lp-back{display:inline-block;color:var(--muted);font-size:13px;font-weight:600;line-height:24px;padding:10px 12px 10px 0;margin:-6px 0 -2px}
.lp-back:hover{color:var(--green)}
.lp-title{display:flex;align-items:baseline;gap:8px;margin:0;font-size:24px;font-weight:900;line-height:1.25}
.lp-title small{font-size:13px;font-weight:600;color:var(--muted)}
.lp-count{margin:2px 0 0;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.lp-count b{color:var(--green);font-weight:800}
.lp-head .filters{margin-top:12px}
.day-h{font-size:15px;font-weight:800;margin:20px 0 10px;color:var(--text)}
.day-h small{margin-left:6px;color:var(--muted);font-weight:600;font-size:12.5px}
.day-fold{border-top:1px solid var(--line)}
.day-fold>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:52px;padding:0 4px;cursor:pointer;font-size:15px;font-weight:700}
.day-fold>summary::-webkit-details-marker{display:none}
.day-fold>summary .n{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}
.day-fold>summary::after{content:"›";margin-left:auto;color:var(--muted);font-size:20px;transition:transform .15s}
.day-fold[open]>summary::after{transform:rotate(90deg)}
.day-fold>summary:hover{color:var(--green)}
.day-fold>.grid{padding:0 0 16px}
.days-later{margin-top:24px;border-bottom:1px solid var(--line)}
.about-model{margin:32px 0 8px;border-top:1px solid var(--line);padding-top:4px}
.about-model>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:13.5px;font-weight:700}
.about-model>summary::-webkit-details-marker{display:none}
.about-model>summary::after{content:"＋";margin-left:auto}
.about-model[open]>summary::after{content:"－"}
.about-model p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.7}
.about-model a{color:var(--green)}
@media(min-width:721px){.lp-head{padding-top:24px}.lp-title{font-size:28px}}
@media(max-width:520px){.kpis-game{grid-template-columns:1fr 1fr}.kpis-game>div:last-child:nth-child(odd){grid-column:1/-1}}

/* ===== 首頁聯賽按鈕 9 顆（台灣三聯盟在前）：一律 3×3，代號／中文／場數三行 ===== */
.lg-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lg-btn{gap:1px;min-height:72px;padding:8px 10px;border-radius:12px}
.lg-top{gap:6px}
.lg-ic{font-size:18px}
.lg-en{font-size:18px;letter-spacing:.2px}
.lg-zh{display:block;font-size:11.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis}
.lg-sub{font-size:12px;line-height:1.35}
.lg-btn.is-today .lg-sub::before{width:5px;height:5px;margin-right:4px}
.lg-btn.is-off{background:var(--bg2);border-style:dashed;cursor:default}
.lg-btn.is-off:hover,.lg-btn.is-off:focus-visible{border-color:var(--line)}
.lg-btn.is-off:active{transform:none}
.lg-btn.is-off .lg-ic{filter:grayscale(1);opacity:.6}
.lg-btn.is-off .lg-en{color:var(--muted)}
.lg-btn.is-off .lg-sub{color:var(--muted);font-weight:600}
@media(max-width:720px) and (max-height:700px){
  .lg-btn{min-height:0;padding:6px 10px}
  .home1 .lg-grid{grid-template-rows:repeat(3,minmax(68px,1fr))}
  .h1-line{min-height:36px;padding:4px 12px}
}
@media(min-width:721px){
  .lg-grid{gap:10px}
  .h1-main{padding-top:28px}
  .lg-btn{min-height:80px;padding:8px 16px;gap:1px}
  .lg-ic{font-size:24px}.lg-en{font-size:22px}
  .lg-zh{font-size:13px}.lg-sub{font-size:13px}
}
