.row.tap{cursor:pointer}.row.tap:active{background:#f3f6fb}
.sheet{position:fixed;inset:0;background:rgba(10,20,40,.5);z-index:50;display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sbox{background:#fff;width:100%;max-width:560px;border-radius:18px 18px 0 0;padding:14px 16px 22px;animation:up .2s ease-out;max-height:92vh;overflow:auto}
@keyframes up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media(min-width:640px){.sheet{align-items:center}.sbox{border-radius:18px}}
.shead{display:flex;justify-content:space-between;align-items:center;font-size:18px}
.shead button{border:0;background:#eef2f7;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.srange{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}
.srange button{border:1px solid #c9d4e6;background:#fff;border-radius:16px;padding:6px 0;font-weight:700;color:#1a4fa0;font-family:inherit}
.srange button.on{background:#0c2a66;color:#ffd75a;border-color:#0c2a66}.srange button:disabled{opacity:.35}
.sstat{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:8px}
.sstat small{display:block;font-size:11.5px;color:#889}.sstat b{font-size:16px;font-variant-numeric:tabular-nums}
.schart{position:relative;touch-action:none}.schart svg{width:100%;height:210px;display:block}
.stip{position:absolute;top:-4px;background:#0c2a66;color:#fff;font-size:12px;padding:3px 8px;border-radius:6px;white-space:nowrap;pointer-events:none}
.board .row{grid-template-columns:1fr auto auto;grid-template-areas:"nm val sp" "nm chg sp";column-gap:10px}
.nm{white-space:nowrap}.sp{grid-area:sp;align-self:center;width:96px}.sp .spark{display:block;width:96px;height:36px}

h2 small{font-size:12px;font-weight:400;color:#889;margin-left:6px}
.ctabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:2px solid #0c2a66;margin-bottom:10px}
.ctabs button{border:0;background:none;padding:9px 0;font-size:15px;font-weight:700;color:#556;font-family:inherit;cursor:pointer}
.ctabs button.on{background:#0c2a66;color:#ffd75a;border-radius:8px 8px 0 0}
.viewer{position:relative}.viewer img{width:100%;display:block;border-radius:8px;aspect-ratio:1080/1350;background:#0c2a66}
.nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:56px;border:0;border-radius:8px;background:rgba(12,42,102,.75);color:#ffd75a;font-size:30px;cursor:pointer}
.prev{left:6px}.next{right:6px}
.cbar{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-weight:700}
.cbar .btn{background:#c8961c;padding:8px 18px;font-size:14px}
.csrc{display:block;margin-top:8px;color:#1a4fa0;font-size:14px;font-weight:700;text-decoration:none}
.clist{list-style:none;margin-top:10px;border-top:1px solid #eef}
.clist li{display:flex;gap:8px;align-items:flex-start;padding:9px 4px;border-bottom:1px solid #eef;font-size:14.5px;cursor:pointer}
.clist li.on{background:#fff7d6}
.ctag{flex:none;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:10px;color:#fff;margin-top:2px}
.t0{background:#1a4fa0}.t1{background:#c8961c}.t2{background:#1f9e8a}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Noto Sans TC","Noto Sans CJK TC","PingFang TC","Microsoft JhengHei",sans-serif;background:#eef2f7;color:#1b2430;line-height:1.5}
header{background:linear-gradient(160deg,#0c2a66,#1a4fa0);color:#fff;text-align:center;padding:22px 16px 18px}
.kick{font-size:13px;opacity:.85;letter-spacing:1px}
h1{font-family:"Noto Serif TC","Noto Serif CJK TC",serif;font-weight:900;font-size:40px;letter-spacing:6px;color:#ffd75a;text-shadow:0 2px 0 #7a3d00}
main{max-width:720px;margin:0 auto;padding:12px}
section{background:#fff;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
h2{font-size:18px;border-left:4px solid #ffc21a;padding-left:8px;margin-bottom:10px}
.board .row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"nm val" "nm chg";padding:8px 2px;border-bottom:1px solid #eef}
.board .row:last-child{border:0}
.nm{grid-area:nm;font-weight:700;font-size:17px;align-self:center}.nm small{font-weight:400;color:#789;margin-left:6px;font-size:12px}
.val{grid-area:val;text-align:right;font-weight:800;font-size:21px;font-variant-numeric:tabular-nums}
.chg{grid-area:chg;text-align:right;font-size:14px;font-weight:600}
.up{color:#d61a1a}.down{color:#138a2c}.flat{color:#666}
.note{font-size:12px;color:#667;margin-top:8px}
.base{float:right;font-size:12px;font-weight:400;color:#889;margin-top:6px}
.posters{display:grid;grid-template-columns:1fr 1fr;gap:10px}
figure{text-align:center}figure img{width:100%;border-radius:8px;display:block}
figcaption{font-size:12px;color:#556;margin:4px 0}
.btn{display:inline-block;background:#1a4fa0;color:#fff;text-decoration:none;font-size:13px;padding:5px 14px;border-radius:20px}
.news{list-style:none}.news li{border-bottom:1px solid #eef}.news li:last-child{border:0}
.news a{display:flex;gap:10px;padding:10px 2px;color:inherit;text-decoration:none}
.no{flex:none;width:24px;height:24px;border-radius:50%;background:#ffd23f;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px}
.tt{font-weight:700;font-size:15.5px}.tt small{display:block;font-weight:400;color:#1a4fa0;font-size:12px}
.arch{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.arch a{display:block;padding:4px 12px;border:1px solid #c9d4e6;border-radius:16px;font-size:13px;color:#1a4fa0;text-decoration:none}
.arch a.cur{background:#1a4fa0;color:#fff}
footer{text-align:center;font-size:12px;color:#778;padding:10px 16px 28px}footer a{color:#1a4fa0}
@media(min-width:640px){.board{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}}
