:root{--bg:#faf8f4;--fg:#1c1b19;--mut:#6b675f;--card:#fff;--line:#e4dfd5;--acc:#1f5f3f;--acc2:#c98a1a}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#161512;--fg:#eeeae0;--mut:#9d978a;--card:#1f1e1a;--line:#33312b;--acc:#5fbf8a;--acc2:#e0a83a}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,sans-serif}
header{display:flex;flex-direction:column;gap:8px;padding:12px 16px 0;border-bottom:1px solid var(--line);background:var(--card)}
.brand{font-weight:700;font-size:1.15rem;color:var(--fg);text-decoration:none}
main{max-width:860px;margin:0 auto;padding:16px}footer{max-width:860px;margin:0 auto;padding:16px;color:var(--mut);font-size:.85rem}
a{color:var(--acc)}h1{margin:.2em 0 .5em}h2{margin-top:1.6em}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:12px 0}
.next{border-left:5px solid var(--acc2)}.big{font-size:1.4rem;font-weight:700}
.tag{display:inline-block;font-size:.75rem;padding:1px 8px;border-radius:99px;background:var(--acc);color:var(--bg);margin-left:6px}.tag.away{background:var(--acc2)}
.mut{color:var(--mut)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}.table td.n,.table th.n{text-align:right;font-variant-numeric:tabular-nums}
.todo{color:var(--acc2);font-style:italic}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.grid .card{margin:0}
.scroll{overflow-x:auto}.table{display:block;overflow-x:auto}
:root[data-theme=dark]{color-scheme:dark;--bg:#161512;--fg:#eeeae0;--mut:#9d978a;--card:#1f1e1a;--line:#33312b;--acc:#5fbf8a;--acc2:#e0a83a}
body{padding-inline:0}:focus-visible{outline:2px solid var(--acc2);outline-offset:2px}
header,main,footer{padding-inline:16px}main{padding-block:16px}
.conf{font-size:.75rem;padding:1px 8px;border-radius:99px;border:1px solid var(--line);white-space:nowrap}.conf.high{color:var(--acc);border-color:var(--acc)}.conf.mid{color:var(--fg)}.conf.low{color:var(--acc2);border-color:var(--acc2)}.why{min-width:16rem;font-size:.9rem;color:var(--mut)}
.cal{width:100%;border-collapse:collapse;min-width:34rem}.cal th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);text-align:left;padding:8px 10px;border-bottom:2px solid var(--line)}
.cal td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}.cal .rd{font-weight:700;color:var(--mut);width:2rem}
.cal .sub{font-size:.85rem;color:var(--mut)}.cal .tag{margin:0}.cal tr.bye td{padding:10px}.cal tbody tr:hover{background:var(--card)}
.col{font-size:.75rem;padding:1px 10px;border-radius:99px;border:1px solid #888;white-space:nowrap}.col.w{background:#fff;color:#111}.col.b{background:#111;color:#fff}
.cal{min-width:0}.cal td{padding:7px 10px;vertical-align:middle}.cal th{padding:6px 10px}.cal .dt{white-space:nowrap}.cal tr.bye td{padding:7px 10px}

.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{display:flex;flex-direction:column;padding:6px 12px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--fg);line-height:1.2}
.tab small{color:var(--mut);font-size:.7rem}.tab.on{background:var(--acc);border-color:var(--acc);color:var(--bg)}.tab.on small{color:var(--bg);opacity:.85}
#sub{display:flex;gap:16px;flex-wrap:wrap;min-height:2.2rem;align-items:flex-end}#sub a{color:var(--mut);text-decoration:none;padding:6px 0 8px;border-bottom:2px solid transparent}
#sub a.on,#sub a:hover{color:var(--acc);border-bottom-color:var(--acc)}
.cal tr.mon th{background:var(--card);text-transform:none;letter-spacing:0;font-size:.85rem;color:var(--fg);padding:6px 10px}
#sub:empty{display:none}header:has(#sub:empty){padding-bottom:12px}
@media(max-width:520px){.cal .rd{display:none}.cal td,.cal th{padding-inline:6px}.tab{padding:5px 9px}}

/* header: title left, team tabs right on the same row */
header{gap:2px;padding:8px 16px 0}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px}
.tabs{justify-content:flex-end;gap:4px}
.tab{padding:3px 9px;border-radius:6px;font-size:.9rem;line-height:1.15}.tab small{font-size:.65rem}
#sub{min-height:0}#sub a{padding:4px 0 6px}
header:has(#sub:empty){padding-bottom:8px}
@media(max-width:520px){.tabs{justify-content:flex-start}.tab{padding:3px 7px}}
@media(max-width:520px){.tab small{display:none}.tabs{gap:3px}.tab{padding:5px 7px;font-size:.8rem}}
.links{margin:.4em 0 0;padding-left:1.2em}.links li{margin:.2em 0}.card .links{margin-top:.3em}
.brand{display:flex;align-items:center;gap:9px}.brand img{display:block;border-radius:7px}
