:root{color-scheme:light;--bg:#fff4dd;--surface:#fffdf7;--ink:#33210f;--muted:#76603f;--accent:#f58a1f;--accent-ink:#a34c00;--accent-soft:#ffe3bf;--on-accent:#2a1706;--line:#efddbb;--live:#ce2553;--live-soft:#ffe1e8;--men-soft:#d2eef0;--women-soft:#f8e0f3;--font-display:"Huninn", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-body:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-score:"Baloo 2", "Arial Rounded MT Bold", system-ui, sans-serif;--text-sm:.8125rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.75rem}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#211710;--surface:#2e2117;--ink:#fbebd3;--muted:#c4ae91;--accent:#ffa24a;--accent-ink:#ffb56e;--accent-soft:#4d3017;--line:#49372a;--live:#ff7a9b;--live-soft:#4c1f2c;--men-soft:#173f44;--women-soft:#4a2344}}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);margin:0;line-height:1.65}.wrap{max-width:1120px;padding-block:20px 56px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));gap:20px;margin-inline:auto;display:grid}h1,h2{font-family:var(--font-display);text-wrap:balance;margin:0;font-weight:400;line-height:1.25}p{margin:0}button,select{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px}.site-head{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.brand{align-items:center;gap:12px;margin-right:auto;display:flex}.brand img{flex:none;width:60px;height:60px}.brand h1{font-size:var(--text-xl)}.brand p{color:var(--muted);font-size:var(--text-sm)}nav{background:var(--accent-soft);border-radius:999px;gap:4px;max-width:100%;padding:4px;display:flex}nav a{font-family:var(--font-display);white-space:nowrap;color:inherit;border-radius:999px;padding:6px 16px;text-decoration:none}nav a[aria-current=page]{background:var(--accent);color:var(--on-accent)}.now{background:var(--surface);border-radius:20px;flex-wrap:wrap;align-items:center;gap:8px 18px;min-height:58px;margin-bottom:14px;padding:14px 18px;display:flex}.now h2{font-size:var(--text-base);color:var(--live);align-items:center;gap:8px;display:flex}.now ul{flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none;display:flex}.now b{font-weight:700}.dot{background:var(--live);border-radius:50%;flex:none;width:10px;height:10px;animation:1.6s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--live)}to{box-shadow:0 0 0 9px #0000}}.board{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width>=960px){.board{grid-template-columns:minmax(0,1fr) 360px}.side{top:calc(12px + env(safe-area-inset-top,0px));position:sticky}.jump{display:none}}.tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:14px;display:flex}.tools label{font-size:var(--text-sm);align-items:center;gap:8px;display:flex}select{background:var(--surface);border:2px solid var(--line);border-radius:999px;padding:4px 12px}.jump{background:var(--accent);color:var(--on-accent);font-family:var(--font-display);border-radius:999px;padding:6px 16px;text-decoration:none}.duty{font-size:var(--text-sm);background:var(--accent-soft);border-radius:12px;margin-bottom:14px;padding:8px 14px}.slots{gap:20px;display:grid}.slot{gap:8px;display:grid}.slot time{font-family:var(--font-score);font-weight:800;font-size:var(--text-lg);font-variant-numeric:tabular-nums;line-height:1.2}.courts{gap:10px;display:grid}@media (width>=620px){.slot{grid-template-columns:64px minmax(0,1fr);gap:12px}.slot time{padding-top:12px}.courts{grid-template-columns:repeat(2,minmax(0,1fr))}}.match{background:var(--surface);border:2px solid #0000;border-radius:18px;gap:6px;padding:10px 14px 12px;transition:opacity .15s;display:grid}.match.mine{border-color:var(--accent)}.match.live{border-color:var(--live);background:var(--live-soft)}.match.faded{opacity:.45}.meta{font-size:var(--text-sm);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;display:flex}.court{color:var(--ink);font-weight:700}.badge{color:var(--live);align-items:center;gap:6px;font-weight:700;display:inline-flex}.role{color:var(--accent-ink);font-weight:700}.line{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:44px;display:grid}.team{text-align:center;overflow-wrap:anywhere;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 6px;padding:2px 6px;display:flex}.team.win{background:var(--accent);color:var(--on-accent);font-weight:700;position:relative}.team.win i{background:var(--ink);color:var(--bg);border-radius:999px;padding:0 6px;font-size:.6875rem;font-style:normal;font-weight:700;line-height:1.5;position:absolute;top:-9px;right:-5px}.team.lose{color:var(--muted)}.score{font-family:var(--font-score);font-size:var(--text-xl);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;font-weight:600;line-height:1}.score b{color:var(--accent-ink);font-weight:800}.vs{font-family:var(--font-score);font-size:var(--text-base);color:var(--muted)}.ref{font-size:var(--text-sm);color:var(--muted);text-align:center}.ref.me{color:var(--accent-ink);font-weight:700}.side{background:var(--surface);border-radius:22px;padding:16px;scroll-margin-top:12px}.side h2{font-size:var(--text-lg);margin-bottom:8px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th{font-size:var(--text-sm);color:var(--muted);text-align:center;white-space:nowrap;padding:4px;font-weight:500}td{text-align:center;border-top:1px solid var(--line);padding:8px 4px}.name{text-align:left;white-space:nowrap}.pts{font-family:var(--font-score);font-weight:800;font-size:var(--text-lg);color:var(--accent-ink);line-height:1}tr.mine td{background:var(--accent-soft)}.note{font-size:var(--text-sm);color:var(--muted);margin-top:10px}.notice{background:var(--surface);border-radius:20px;gap:8px;padding:20px 24px;display:grid}.notice h2{font-size:var(--text-lg);margin-top:12px}.notice h2:first-child{margin-top:0}.notice ul{gap:4px;margin:0;padding-left:1.2em;display:grid}.notice blockquote{background:var(--accent-soft);border-radius:16px;gap:8px;margin:0;padding:14px 18px;display:grid}.teams{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:14px;display:grid}.roster{background:var(--surface);border-radius:20px;align-content:start;gap:10px;padding:14px 18px 16px;display:grid}.roster h2{font-size:var(--text-lg)}.group{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.group li{border-radius:999px;padding:2px 12px}.group.men li{background:var(--men-soft)}.group.women li{background:var(--women-soft)}@media (prefers-reduced-motion:reduce){.dot{animation:none}.match{transition:none}}
