:root{--bg:#f2f5f9;--card:#fff;--ink:#0d2147;--mut:#5d6b85;--line:#dde3ee;--navy:#0d2147;--blue:#1c4fd8;--or:#ff6a1a;--up:#16874a;--dn:#d23b3b;--soft:#eaf0fb;--warn:#fff3e0}
@media(prefers-color-scheme:dark){:root{--bg:#081329;--card:#102244;--ink:#eaf0fb;--mut:#9fb0cf;--line:#223a66;--blue:#7ea2ff;--soft:#16305c;--warn:#3a2a14;--up:#4cc98a;--dn:#ff7d7d}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 "Noto Sans TC",system-ui,sans-serif}
a{color:var(--blue)}
.num{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:700;letter-spacing:.01em}
header.top{background:#0d2147;color:#fff;position:relative;overflow:hidden;padding-top:env(safe-area-inset-top,0)}
header.top:after{content:"";position:absolute;right:-60px;top:0;bottom:0;width:260px;background:var(--or);transform:skewX(-24deg)}
.hd{max-width:1000px;margin:auto;padding:18px 16px 0;position:relative;z-index:1;display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none}
.hd b{display:block;font-size:19px;line-height:1.25}.hd small{font-family:"Barlow Condensed",sans-serif;font-size:18px;letter-spacing:.14em;color:#ffb98f}
nav.main{max-width:1000px;margin:auto;padding:12px 16px 0;display:flex;gap:4px;position:relative;z-index:1;flex-wrap:wrap}
nav.main a{color:#c9d6f2;font:500 15px "Noto Sans TC",sans-serif;padding:10px 14px;text-decoration:none;border-bottom:3px solid transparent}
nav.main a.on{color:#fff;border-color:#fff;font-weight:700}
nav.main .r{margin-left:auto}
main{max-width:1000px;margin:auto;padding:20px 16px 40px}
footer{text-align:center;color:var(--mut);font-size:13px;padding:0 16px 32px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}
h1{font-size:22px;margin:0 0 12px}h2{margin:0 0 12px;font-size:20px}h3{margin:0 0 10px;font-size:16px}
.bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
select,input[type=text],input[type=number],input[type=password],input[type=date],input[type=search],input[type=file],textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:9px 12px;min-height:42px;max-width:100%}
label{display:inline-flex;gap:6px;align-items:center}
.btn{display:inline-block;background:var(--soft);color:var(--ink);border:0;border-radius:8px;padding:10px 16px;font:500 15px "Noto Sans TC",sans-serif;cursor:pointer;min-height:42px;text-decoration:none}
.btn.pri{background:var(--or);color:#fff;font-weight:700}.btn.sm{padding:5px 10px;min-height:32px;font-size:13px}.btn.dn{background:var(--dn);color:#fff}
:focus-visible{outline:3px solid var(--or);outline-offset:1px}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:560px}
th{font-size:13px;color:var(--mut);text-align:right;font-weight:500;padding:8px 10px;border-bottom:2px solid var(--line);white-space:nowrap}
td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
th.l,td.l{text-align:left}
tr.go{cursor:pointer}tr.go:hover{background:var(--soft)}
.rk{font-size:24px;width:56px;text-align:left}.top .rk{color:var(--or)}
.chg{font-size:13px;margin-left:6px}.u{color:var(--up)}.d{color:var(--dn)}
tr.line td{background:var(--navy);color:#fff;text-align:center;font-size:13px;padding:6px}
.pts{font-size:22px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.kpi span{font-size:13px;color:var(--mut)}.kpi .num{display:block;font-size:34px;line-height:1.1}
.kpi.hot{background:var(--navy);color:#fff;border-color:var(--navy)}.kpi.hot span{color:#ffb98f}
.who{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.ph{width:84px;height:112px;border-radius:8px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:34px;flex:none;border-bottom:5px solid var(--or);object-fit:cover;overflow:hidden}
.tag{display:inline-block;font-size:12px;padding:1px 8px;border-radius:20px;background:var(--soft);color:var(--ink)}.tag.or{background:var(--or);color:#fff}
.note{background:var(--soft);border-radius:8px;padding:12px 14px;margin-bottom:16px}
.dim td{color:var(--mut)}
.warn td{background:var(--warn)}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:12px;border-left:5px solid var(--up);background:var(--soft)}.flash.err{border-color:var(--dn);background:var(--warn)}
.cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:16px}
.ct{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--ink);display:block}.ct:hover{border-color:var(--or)}
.ct h3{margin:0;background:var(--navy);color:#fff;padding:10px 14px;display:flex;justify-content:space-between;border-bottom:4px solid var(--or)}
.ct ol{list-style:none;margin:0;padding:6px 14px}.ct li{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.ct li b{width:22px;font-size:18px}
.ct .ft{padding:10px 14px;color:var(--blue);font-weight:700;font-size:14px}
.tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto}
.tabs a{flex:none;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:8px 18px;text-decoration:none}.tabs a.on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}
.spon{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 8px;font-size:14px;color:var(--mut)}
.spon b{font-family:"Barlow Condensed","Noto Sans TC",sans-serif;font-size:18px;color:var(--ink);background:var(--soft);padding:2px 12px;border-radius:4px;border-left:4px solid var(--or)}
.ad{display:block;position:relative;margin:0 0 16px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.ad img{display:block;width:100%;height:auto;aspect-ratio:970/160;object-fit:cover}.ad.sm img{aspect-ratio:970/90}
.ad .tag{position:absolute;left:8px;top:8px;font-size:11px;background:var(--card);opacity:.92}
@media(max-width:600px){.ad img{aspect-ratio:16/6}.ad.sm img{aspect-ratio:16/4}}
.share{background:var(--navy);color:#fff;border-radius:14px;padding:22px;border-bottom:8px solid var(--or);max-width:380px;margin:20px auto}
.share .big{font-size:64px;line-height:1.1}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
form.inline{display:inline}
@media print{header.top,nav.main,footer,.noprint{display:none!important}@page{margin:12mm}}

/* 個人頁:我的所有項目 */
.ovw{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.ov{display:flex;flex-direction:column;gap:2px;padding:12px;border:2px solid #dfe5f0;border-radius:12px;text-decoration:none;color:inherit;background:#fff}
.ov.cur{border-color:#ff6a1a;background:#fff6f0}
.ov b{font-size:16px}.ov .num{font-size:22px;font-weight:800;color:#0d2147}.ov small{color:#5b6882}

/* 項目小圖示 */
.ico{display:inline-block;vertical-align:middle;flex:none;color:var(--navy)}
.ct h3 .ico,.tabs a.on .ico,.share .ico{color:#fff}
.ct h3 .ico path,.ct h3 .ico circle{stroke-opacity:1}
img.ico{border-radius:6px;object-fit:cover;background:#fff}
.ico.fb{border-radius:50%;background:var(--or);color:#fff;text-align:center;font-weight:700}
.ih{display:inline-flex;align-items:center;gap:8px}
.tabs a{display:inline-flex;align-items:center;gap:6px}

/* 個人頁:選手名片 */
.hero{position:relative;overflow:hidden;display:flex;gap:20px;align-items:center;margin-bottom:16px;padding:20px 22px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#0d2147 0%,#1a3a78 100%);border-bottom:5px solid var(--or)}
.hero:after{content:"";position:absolute;right:-50px;top:0;bottom:0;width:150px;background:var(--or);opacity:.9;transform:skewX(-24deg);pointer-events:none}
.hero .hp{position:relative;z-index:1;flex:none;width:120px;height:160px;border-radius:12px;overflow:hidden;border:3px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.35);background:#16346b;display:block}
.hero .hp img{display:block;width:100%;height:100%;object-fit:cover}
.hero .hp.fb{display:grid;place-items:center;font-size:56px;font-weight:700;color:#fff;background:linear-gradient(160deg,#ff8a4c,var(--or))}
.hero .hi{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.hero h1{margin:0;font-size:30px;line-height:1.15;color:#fff;overflow-wrap:anywhere}
.hero .hm{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hero .idc{font-size:20px;font-weight:700;background:rgba(255,255,255,.14);border-radius:999px;padding:2px 14px}
.hero .hu{color:#cfd9ee}
.hero .hs{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px 12px 3px 8px;font-size:13px;color:#fff}
.chip .ico{color:#fff}
@media(max-width:560px){
 .hero{gap:14px;padding:16px;align-items:flex-start}
 .hero .hp{width:96px;height:128px}.hero .hp.fb{font-size:44px}
 .hero h1{font-size:24px}.hero:after{display:none}
}
/* 多項目總覽:手機改橫向捲動,不佔太多高度 */
@media(max-width:560px){
 .ovw{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 -4px;padding:2px 4px 8px}
 .ov{flex:0 0 78%;scroll-snap-align:start}
}

.sup{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-left:4px solid var(--or)}
.sup p{margin:4px 0 0;color:var(--mut);font-size:14px}.sup.sm{padding:12px 16px;margin-top:8px}
@media(max-width:560px){.sup .btn{width:100%;text-align:center}}

#mine{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--or);border-radius:10px;padding:12px 16px;margin:0 0 16px}
#mine .mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
#mine .lnk{background:none;border:0;color:var(--mut);font-size:13px;cursor:pointer;text-decoration:underline;padding:4px}
#mine .mp{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}
#mine .mav{width:44px;height:58px;border-radius:8px;overflow:hidden;flex:none;background:var(--or);color:#fff;font:700 22px "Noto Sans TC",sans-serif;display:flex;align-items:center;justify-content:center}
#mine .mav img{width:100%;height:100%;object-fit:cover}
#mine .mi{flex:1;min-width:0}#mine .mn{font-weight:700;display:block}#mine .mn small{margin-left:8px;color:var(--mut);font-weight:400}
#mine .mc{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}#mine .go{color:#1d4ed8;font-size:14px;white-space:nowrap}
@media(max-width:560px){#mine .go{display:none}}

nav.main .r{color:#fff}
.board .brk{display:none}
@media(max-width:560px){
header.top:after{width:84px;right:-46px}
.hd b{font-size:17px}
.board{padding:0;overflow:visible}
.board table,.board tbody,.board tr,.board td{display:block;min-width:0}
.board thead{display:none}
.board tr.go{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer}
.board tr.go td{border:0;padding:0;text-align:left;width:auto}
.board .c-rk{order:1;flex:0 0 44px;font-size:22px;font-weight:800;display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.board .c-rk .chg{font-size:11px;font-weight:600}
.board .c-nm{order:2;flex:1;font-size:17px;font-weight:700}
.board .c-pts{order:3;font-size:22px;font-weight:800}
.board .brk{display:block;order:4;flex:0 0 100%;height:0}
.board tr.go{column-gap:10px}.board .c-id,.board .c-ex{order:5;font-size:12px;color:var(--mut);white-space:nowrap}.board tr.go .c-id,.board tr.go .c-ex{margin-right:-2px}
.board .c-id{margin-left:0}
.board .c-id:before,.board .c-ex:before{content:attr(data-l) " ";opacity:.75}
.board tr.top .c-rk{color:var(--or)}
.board tr.line{display:block}.board tr.line td{display:block;padding:8px 14px;text-align:center;font-size:13px}
.board tr:not(.go):not(.line) td{display:block;padding:14px}
}

.sup{align-items:center}.sup .sbody{flex:1;min-width:220px}.sup p{margin:4px 0 8px}
.sprog .pg{height:8px;background:var(--soft);border-radius:99px;overflow:hidden}.sprog .pg i{display:block;height:100%;background:var(--or);border-radius:99px}
.sprog small{display:block;margin-top:5px;color:var(--mut);font-size:12.5px}.slink{font-size:14px;color:#1d4ed8;text-decoration:none}
.sup.sm .sprog{display:none}
.shero{background:linear-gradient(135deg,#0d2147,#17336b);color:#fff;border-radius:14px;padding:28px 22px;margin:4px 0 20px;text-align:center}
.shero h1{margin:0 0 10px;font-size:28px}.shero .lead{max-width:640px;margin:0 auto 18px;line-height:1.8;color:#dbe5fa}
.shero .btn.big{font-size:17px;padding:13px 34px;min-height:48px}.snote{color:#b9c8e8;font-size:13px;margin-top:10px}
.sprog.big{max-width:520px;margin:0 auto 20px;text-align:left}.sprog.big .pg{height:12px;background:rgba(255,255,255,.18)}
.sgl{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px}.sgl span{color:#c9d6f2;font-size:14px}.sgl em{font-style:normal;color:#ffb98f;font-weight:700}.sga{font-size:26px;font-weight:700;margin-top:2px}.sga small{font-size:14px;color:#c9d6f2;font-weight:400}
.sh2{font-size:20px;margin:22px 0 12px}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.tier{margin:0;border-top:4px solid var(--or)}.tier b{font-size:26px;color:var(--or)}.tier p{margin:8px 0 0;line-height:1.6}
.thanks{display:flex;flex-wrap:wrap;gap:6px}

/* 精簡贊助條(覆蓋前面較大的版型) */
.sup{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--or);border-radius:8px;padding:9px 12px;margin:0 0 14px}
.sup p{margin:0;flex:1;min-width:0;font-size:14px;line-height:1.5;color:var(--ink)}.sup p b{margin-right:4px}
.sup .btn.sm{flex:none;padding:6px 14px;min-height:34px;font-size:14px;white-space:nowrap}
.sup .slink{font-size:13px;color:var(--mut);white-space:nowrap}
.sup.sm{padding:7px 12px;margin-top:6px;background:transparent}.sup.sm p{font-size:13px;color:var(--mut)}
.shero{padding:20px 18px;margin-bottom:14px}.shero h1{font-size:24px;margin-bottom:8px}.shero .lead{margin-bottom:14px}
@media(max-width:560px){.sup .btn{width:auto}.sup p{font-size:13.5px}}

.faq details{padding:10px 0;border-bottom:1px solid var(--line)}.faq details:last-child{border:0}.faq summary{cursor:pointer;font-weight:700}.faq p{margin:8px 0 0;color:var(--mut);line-height:1.7}
.contact p{margin:4px 0;line-height:1.7}.tier b{font-size:18px;color:var(--ink)}
nav.main a{white-space:nowrap}

/* 贊助頁巧思 */
.sqk{text-align:center;margin:6px 0 14px;font-size:13.5px}.sqk a{color:var(--mut);text-decoration:none;padding:6px 10px;border-radius:99px}.sqk a:hover{color:var(--ink);background:var(--soft)}.sqk span{color:var(--or)}
.shero{position:relative;overflow:hidden}.shero>*{position:relative}
.sdeco{display:flex;justify-content:center;gap:22px;margin-bottom:10px;color:#ffb98f;opacity:.9}.sdeco span{display:inline-flex;animation:sfloat 3.2s ease-in-out infinite}
@keyframes sfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.pulse{animation:spulse 2.6s ease-in-out infinite}@keyframes spulse{0%,100%{box-shadow:0 0 0 0 rgba(255,106,26,.45)}60%{box-shadow:0 0 0 12px rgba(255,106,26,0)}}
.sstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 4px}.sstats div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 8px;text-align:center}
.sstats b{display:block;font-size:26px;color:var(--or);font-family:"Barlow Condensed","Noto Sans TC",sans-serif}.sstats span{font-size:12.5px;color:var(--mut)}
.sfoot{text-align:center;color:var(--mut);font-size:12px;margin:6px 0 0}
.upc a{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.upc a:last-child{border:0}
.upc .ut{flex:1;min-width:0}.upc .ut b{display:block}.upc small{color:var(--mut)}.upc .ug{color:#1d4ed8;font-size:14px;white-space:nowrap}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.quotes figure{margin:0}.quotes blockquote{margin:0 0 8px;line-height:1.7;font-size:15.5px}.quotes figcaption{color:var(--mut);font-size:13px}
.perks p{margin:6px 0}.perks span{color:var(--or);font-weight:800;margin-right:8px}
.scta{text-align:center;margin:22px 0 4px}.sbar{display:none}
@media(max-width:560px){.sstats{grid-template-columns:repeat(2,1fr)}.sdeco{gap:14px}.sdeco svg{width:28px;height:28px}
.scta{display:none}.sbar{display:block;position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0));background:linear-gradient(transparent,var(--bg) 35%);z-index:5;text-align:center}.sbar .btn{width:100%;max-width:420px;box-shadow:0 4px 16px rgba(0,0,0,.18)}
body:has(.sbar) main{padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){.sdeco span,.pulse{animation:none}}

.slogo{height:28px;width:auto;max-width:140px;object-fit:contain;background:#fff;border-radius:4px;padding:2px 6px;border:1px solid var(--line)}
.shp{max-width:420px;margin:16px auto;text-align:center}
.shp img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 6px 24px rgba(0,0,0,.25);background:var(--navy)}
.shp.st{max-width:260px}
.shtab{display:flex;gap:8px;justify-content:center;margin-top:14px}
.shtab button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:20px;padding:6px 16px;font:500 14px "Noto Sans TC",sans-serif;cursor:pointer;min-height:36px}
.shtab button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.shact{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:16px 0}
.shmsg{text-align:center;color:var(--mut);font-size:14px;min-height:22px}

.spon .sl{font-size:13px;color:var(--mut)}
.pls{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.pls.sep{margin-left:6px}
.pls img,.wall .wi img{height:28px;width:auto;max-width:110px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:4px;padding:2px 6px;filter:grayscale(1);opacity:.78;transition:.2s}
.pls a:hover img,.pls a:focus-visible img,.wall a:hover img,.wall a:focus-visible img{filter:none;opacity:1}
.wall{display:grid;gap:18px}.wr{display:grid;gap:8px}.wl{font-size:13px;color:var(--mut);letter-spacing:.08em}
.wi{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}.wall .wi img{height:34px;max-width:130px}.wall .wi.sm img{height:26px;max-width:100px}
.wall .wi img.big{height:48px;max-width:190px;filter:none;opacity:1}
.wt{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px}.wt small{font-size:12px;color:var(--mut)}.wt b{font-size:18px}

@media(max-width:620px){
.recw{overflow:visible}
.rec,.rec tbody,.rec tr,.rec td{display:block;min-width:0;width:auto}
.rec thead{display:none}
.rec tr{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 2px;border-bottom:1px solid var(--line)}
.rec tr:last-child{border-bottom:0}
.rec td{border:0;padding:0;text-align:left}
.rec .c-m{flex:0 0 100%;font-weight:700;font-size:16px}
.rec .c-d,.rec .c-p{font-size:13px;color:var(--mut)}
.rec .c-d:after{content:"・"}
.rec .c-p:empty,.rec .c-p:empty:before{display:none}
.rec .c-r,.rec .c-s,.rec .c-x,.rec .c-pt,.rec .c-pz{display:flex;flex-direction:column;min-width:64px;flex:0 0 auto}
.rec .c-r:before,.rec .c-s:before,.rec .c-x:before,.rec .c-pt:before,.rec .c-pz:before{content:attr(data-l);font-size:11px;color:var(--mut);font-weight:400}
.rec .c-r{order:3;flex-basis:100%;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.rec .c-r:before{flex:0 0 auto}
.rec .c-s{order:4;flex-basis:100%}
.rec .c-x{order:5}.rec .c-pt{order:5;font-size:18px}.rec .c-pz{order:5}
.rec tr.dim{opacity:.6}
}

.h2r>div{padding:6px 0;border-bottom:1px solid var(--line)}.h2r>div:last-child{border:0}.h2r small{color:var(--mut)}
@media(max-width:620px){.h2r small{display:block;margin-top:2px}}

.h2t{min-width:0}.h2t th,.h2t td{padding:8px 8px}
@media(max-width:620px){.kpis .kpi.wide{grid-column:1/-1}.kpis .kpi.wide b{white-space:nowrap}.kpis:has(.wide){grid-template-columns:1fr 1fr}}

.rhead{display:none}.rpt .sh{margin:26px 0 10px;padding-bottom:6px;border-bottom:3px solid var(--or);font-size:19px}
.rpt .fn{color:var(--mut);font-size:13px;margin:6px 0 0}.rt{min-width:0}.rt th,.rt td{padding:7px 8px}
.hb{display:grid;grid-template-columns:90px 1fr 44px 40px;gap:8px;align-items:center;margin:6px 0}.hb .ht{background:var(--soft);border-radius:6px;height:14px;overflow:hidden}.hb .ht i{display:block;height:100%;border-radius:6px}.hb small{color:var(--mut)}
@media print{
 body{background:#fff}.rhead{display:block;margin-bottom:10px}.rhead b{color:#555}.rhead h2{margin:2px 0;font-size:24px}.rhead p{margin:0;color:#444;font-size:13px}
 .rpt .card,.rpt .kpi{break-inside:avoid;box-shadow:none}main{padding:0}.tw{overflow:visible}
 .kpi.hot{background:#fff!important;color:#000!important;border:2px solid #ff6a1a}.kpi.hot span{color:#555!important}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.msn{display:flex;align-items:baseline;gap:8px}.msn b{font-size:34px;color:var(--navy,#0e2149)}.msn span{color:var(--mut);font-size:13px}
.msbar{height:12px;background:var(--soft);border-radius:8px;overflow:hidden;margin:8px 0}.msbar i{display:block;height:100%;background:var(--or);border-radius:8px}
.msnx{margin:4px 0 10px}.msl{list-style:none;margin:0;padding:0}.msl li{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.msl .msd{width:30px;height:30px;border-radius:50%;background:var(--soft);color:var(--mut);display:grid;place-items:center;font-size:12px;font-weight:700}
.msl li.claimed .msd,.msl li.done .msd,.msl li.gone .msd,.msl li.reached .msd{background:var(--or);color:#fff;font-size:15px}.msl li.todo{color:var(--mut)}
.msl em{font-style:normal;font-size:13px;color:var(--mut)}.msl li.done em{color:var(--or);font-weight:700}.msr{font-size:13px}.msl small{color:var(--mut)}

.nxtc{border-left:0;background:linear-gradient(90deg,#fff3ea,#fff)}.nxh{display:flex;align-items:center;gap:10px}.nxh h3{margin:0}.nxd{background:var(--or);color:#fff;border-radius:99px;padding:2px 10px;font-size:13px;font-weight:700}

/* ---- 首頁 ---- */
.hm-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;border-radius:14px;padding:26px 22px 22px;margin:4px 0 16px;display:grid;gap:22px;grid-template-columns:1.5fr 1fr;align-items:end}
.hm-hero:after{content:"";position:absolute;right:-90px;top:0;bottom:0;width:150px;background:var(--or);opacity:.95;transform:skewX(-24deg);z-index:0}
.hm-hero>*{position:relative;z-index:1;min-width:0}
.hm-hero h1{font-size:34px;line-height:1.2;margin:0 0 8px;letter-spacing:.01em}
.hm-hero p{margin:0 0 16px;color:#c9d6f2;max-width:30em}
.hm-s{display:flex;gap:8px;max-width:520px}.hm-s input{flex:1;min-width:0;font-size:17px;padding:13px 14px;border:0;border-radius:10px;background:#fff;color:#0d2147}.hm-s input:focus-visible{outline:3px solid var(--or);outline-offset:2px}
.hm-s .btn{padding:0 22px;font-size:16px;border-radius:10px}
.hm-st{margin:0;display:flex;gap:26px;justify-content:flex-start;padding-right:60px}.hm-st div{text-align:left}
.hm-st dd{margin:0;font-size:46px;line-height:1;color:#fff}.hm-st dt{font-size:13px;color:#c9d6f2;margin-top:4px}
.hm-h{margin:26px 0 10px;font-size:20px}
.hm-up{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px}
.hm-m{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.hm-d{flex:none;width:56px;text-align:center;border-top:4px solid var(--or);background:var(--soft);border-radius:6px;padding:4px 0 6px}.hm-d small{display:block;color:var(--mut);font-size:12px}.hm-d b{font-size:30px;line-height:1;color:var(--ink)}
.hm-mi{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.hm-mi span{color:var(--mut);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-mi em{font-style:normal;color:var(--or);font-weight:700;font-size:13px}
.hm .ct li:first-child{background:var(--soft);margin:0 -14px;padding:9px 14px;font-weight:700;font-size:16px}.hm .ct li:first-child b{color:var(--or);font-size:24px;line-height:1.1}
.hm .ct:hover{box-shadow:0 4px 14px rgba(13,33,71,.12)}
.hm-rc{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.hm-rc a{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:11px 14px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.hm-rc a:first-child{border-top:0}.hm-rc a:hover{background:var(--soft)}
.hm-rc .num{font-size:20px;color:var(--mut)}.hm-rn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-rw{text-align:right;line-height:1.3}.hm-rw small{display:block;color:var(--mut)}
@media(max-width:720px){.hm-hero{grid-template-columns:1fr;padding:22px 16px 18px}.hm-hero:after{width:46px;right:-14px;top:auto;height:52%}.hm-hero h1{font-size:28px}.hm-st{justify-content:flex-start;padding-right:0;gap:18px}.hm-st dd{font-size:36px}
 .hm-rc a{grid-template-columns:46px 1fr}.hm-rw{grid-column:2;text-align:left}}

.hm-hint{display:none;font-weight:400;font-size:13px;color:var(--mut);margin-left:10px}
@media(max-width:720px){
 .hm-hint{display:inline}
 .hm .cg,.hm-up{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:0 16px 10px;scroll-padding:0 16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .hm .cg::-webkit-scrollbar,.hm-up::-webkit-scrollbar{display:none}
 .hm .cg .ct{flex:0 0 84%;scroll-snap-align:start}.hm-up .hm-m{flex:0 0 88%;scroll-snap-align:start}
 .hm .ct li:nth-child(n+4){display:none}
 .hm .ct ol{padding-bottom:2px}
 .hm-rc a:nth-child(n+4){display:none}.hm-rc a{gap:2px 12px}.hm-rc .num{grid-row:1/3;align-self:start}
}

.hm-chips{display:none}
@media(max-width:720px){
 .hm-chips{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 10px;padding:2px 16px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.hm-chips::-webkit-scrollbar{display:none}
 .hm-chips button{flex:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:7px 14px;font:500 14px "Noto Sans TC",sans-serif;cursor:pointer}
 .hm-chips button .ico{width:18px;height:18px}
 .hm-chips button.on{background:var(--navy);border-color:var(--navy);color:#fff}.hm-chips button.on .ico{color:#fff}
 .hm-chips button:focus-visible{outline:3px solid var(--or);outline-offset:2px}
 .hm-hint{display:none}
}

/* 頒獎台版 */
.pd{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:8px;align-items:end;padding:16px 12px 0;background:linear-gradient(180deg,var(--soft),var(--card))}
.pd>div{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.pav{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;margin-bottom:6px;border:2px solid #fff;box-shadow:0 1px 4px rgba(13,33,71,.25)}
.pd1 .pav{width:52px;height:52px;font-size:22px;background:linear-gradient(135deg,#ff8a45,#ff6a1a)}
.pn{font-size:14px;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd1 .pn{font-size:15.5px}
.ps{font-size:15px;color:var(--mut)}.pd1 .ps{color:var(--or);font-size:18px}
.pb{width:100%;margin-top:6px;border-radius:8px 8px 0 0;display:grid;place-items:start center;padding-top:6px;color:#fff}.pb .num{font-size:26px;line-height:1}
.pd1 .pb{height:74px;background:linear-gradient(180deg,#ff8a45,#ff6a1a)}.pd2 .pb{height:54px;background:#1c3a7a}.pd3 .pb{height:40px;background:#4a6299}
.pr{list-style:none;margin:0;padding:6px 14px}.pr li{display:flex;gap:10px;padding:6px 0;border-top:1px solid var(--line)}.pr li b{width:22px;font-size:18px}
@media(max-width:720px){.pr{display:none}}
.hm .pr li:first-child{background:none;margin:0;padding:6px 0;font-weight:400;font-size:inherit}.hm .pr li:first-child b{color:inherit;font-size:18px}
.pav{overflow:hidden}.pav img{width:100%;height:100%;object-fit:cover;display:block}
/* 企業贊助頁 */
.cps{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.cptiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:14px}
.cpt{margin:0;border-top:4px solid var(--or)}.cpt h3{margin:0 0 8px;font-size:18px}.cpt h3 small{display:block;font-weight:400;color:var(--mut);font-size:13px;margin-top:2px}
.cpt ul{margin:0 0 10px;padding-left:18px;line-height:1.7}.cpp{margin:0;padding-top:10px;border-top:1px solid var(--line);font-weight:700}
.cpi>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}.cpi>div:first-child{border-top:0}.cpi .tag{margin-left:auto}.cpr{color:var(--mut)}.cpi .ico{display:inline-flex}
.cpn p{margin:0;line-height:1.8}
.mms{display:block;margin-top:5px;font-size:13px;color:var(--mut)}.mms.hot{color:var(--or);font-weight:700}

.hm-corp{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 6px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--or);border-radius:12px;background:#fff;color:inherit;text-decoration:none}
.hm-corp b{display:block;font-size:16px}.hm-corp small{display:block;color:var(--mut);font-size:13px;margin-top:2px}.hm-corp em{font-style:normal;color:var(--or);font-weight:700;white-space:nowrap}
@media(max-width:600px){.hm-corp{flex-direction:column;align-items:flex-start}}

.ssplit.two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:4px 0 20px}.ssplit.two .shero{margin:0;display:flex;flex-direction:column;justify-content:center}
.swho{display:inline-block;align-self:center;font-size:12.5px;letter-spacing:.08em;background:rgba(255,255,255,.14);padding:3px 12px;border-radius:999px;margin-bottom:12px}
.ssplit.two .shero h1{font-size:24px}
.shero.corpside{background:#fff;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--or)}
.shero.corpside .lead{color:var(--ink)}.shero.corpside .swho{background:#fff3e6;color:#b85c00}.shero.corpside .snote{color:var(--mut)}
.shero.corpside .btn{background:var(--or);color:#fff;align-self:center}
@media(max-width:760px){.ssplit.two{grid-template-columns:1fr}}

.sbank{margin:14px auto 0;max-width:360px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:10px 14px;text-align:left;font-size:14px}
.sbank b{display:block;margin-bottom:6px;text-align:center}.sbank dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}.sbank dt{color:#b9c8e8}.sbank dd{margin:0;word-break:break-all}
.sbank p{margin:8px 0 0;font-size:12.5px;color:#dbe5fa;line-height:1.6}.bkcp{margin-left:6px;font-size:12.5px;padding:2px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;cursor:pointer}
.abh{text-align:center;padding:26px 16px 10px}.abh h1{margin:0;font-size:26px}.abe{color:var(--or);letter-spacing:.14em;margin-top:4px;font-weight:700}
.abh .lead{max-width:640px;margin:14px auto 0;line-height:1.9;color:var(--ink)}
.abt p{margin:0 0 10px;line-height:1.9}.abt p:last-child{margin:0}.abs{display:flex;flex-wrap:wrap;gap:8px}
.abd dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0}.abd dt{color:var(--mut)}.abd dd{margin:0;word-break:break-all}

.hm-hl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hm-hl a{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 12px;color:var(--ink);text-decoration:none}
.hm-hl .hg{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff3e6;color:var(--or);font-weight:700}
.hm-hl .hg.climb{background:#e7f6ec;color:#1c8a4b}.hm-hl .hg.milestone{background:#fff3e6;color:var(--or)}.hm-hl .hg.streak{background:#e8eefc;color:#1d4ea8}.hm-hl .hg.pb{background:#f3e9fb;color:#7a3db3}.hm-hl .hg.new{background:#eef1f5;color:#566}
.hm-hl .ht b{display:block;font-size:14.5px;line-height:1.45}.hm-hl .ht small{display:block;color:var(--mut);font-size:12px;margin-top:2px}
@media(max-width:700px){.hm-hl{grid-template-columns:1fr}}

.abn{margin:10px 0 0;color:var(--mut);font-size:13.5px;line-height:1.7}.bkcp{margin-left:6px;font-size:12.5px;padding:2px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}

.bsort{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px}.bsort select{margin-left:6px}#bme{display:flex;gap:8px;flex-wrap:wrap}
.board tr.mine td{background:#fff3e6}.board tr.flash td{animation:fl 1.6s ease-out}@keyframes fl{0%{background:#ffd9b8}100%{background:transparent}}
@media(prefers-reduced-motion:reduce){.board tr.flash td{animation:none;background:#ffd9b8}}
.totop{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:44px;height:44px;border-radius:50%;border:0;background:var(--or);color:#fff;font-size:20px;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;z-index:20}
.totop[hidden]{display:none}

.board tr.mine{background:#fff3e6}
.pact{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.pill{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--soft);font-size:13.5px}
.errp{text-align:center;padding:28px 18px}.errp .ec{font-size:64px;color:var(--or);line-height:1}.errp h1{font-size:20px;margin:8px 0}.eac{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.a2hs{margin:18px 0 6px;font-size:14px;color:var(--mut);text-align:center}.a2hs summary{cursor:pointer}.a2hs p{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;text-align:left;line-height:1.8;margin:8px 0 0}

.a2b{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 10px 10px 14px;border-radius:12px;background:linear-gradient(135deg,#fff3e6,#fff);border:1px solid #ffd9b8;border-left:4px solid var(--or)}
.a2b[hidden],.a2s[hidden]{display:none}.a2i{font-size:26px}.a2t{flex:1;min-width:0}.a2t b{display:block;font-size:15px}.a2t small{color:var(--mut);font-size:12.5px}
.a2b .btn{flex:none;padding:8px 18px}.a2x{flex:none;width:32px;height:32px;border:0;background:transparent;font-size:22px;line-height:1;color:var(--mut);cursor:pointer}
.a2s{position:fixed;inset:0;background:rgba(8,19,41,.55);display:flex;align-items:flex-end;justify-content:center;z-index:50}
.a2c{position:relative;width:100%;max-width:480px;background:var(--card);color:var(--ink);border-radius:16px 16px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom))}
.a2c h3{margin:0 0 10px}.a2c .a2x{position:absolute;right:10px;top:10px}.a2ol{margin:0;padding-left:22px;line-height:2}.a2w{margin:0 0 8px;padding:8px 10px;border-radius:8px;background:var(--warn);font-size:14px}
@media(min-width:821px){.a2s{align-items:center}.a2c{border-radius:16px}}

.a2lead{margin:0 0 10px;color:var(--mut)}.a2ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}.a2ol li{display:flex;gap:12px;align-items:flex-start}
.a2ol p{margin:2px 0 6px;font-size:15.5px;line-height:1.5}.a2n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--or);color:#fff;display:grid;place-items:center;font-weight:700}
.a2v{display:flex;gap:8px;flex-wrap:wrap}.a2k{display:inline-flex;align-items:center;gap:6px;min-width:44px;height:40px;justify-content:center;padding:0 12px;border-radius:10px;background:var(--soft);border:1px solid var(--line);font-size:15px;font-weight:700}
.a2k.pri{background:var(--or);color:#fff;border-color:var(--or)}.a2ic{width:22px;height:22px;display:inline-block}.a2ic.dots{font-size:24px;line-height:22px;text-align:center;width:auto}
.a2done{margin-top:14px;padding:10px 12px;border-radius:10px;background:#e7f6ec;color:#17633a;display:flex;align-items:center;gap:10px;font-weight:700}.a2app{width:40px;height:40px;border-radius:10px;flex:none}
