:root{--bg:#f5f2ea;--surface:#fff;--surface-muted:#faf8f3;--text:#5c5a66;--text-h:#1d1c24;--text-subtle:#8d8a97;--border:#e4dfd3;--ink:#17161d;--ink-text:#f5f2ea;--accent:#c8102e;--accent-bg:#c8102e14;--accent-text:#a50d26;--focus:#c8102e59;--shadow:0 1px 2px #17161d0a, 0 8px 24px -12px #17161d2e;--belt-white:#f1efe9;--belt-white-edge:#c9c4b7;--belt-blue:#1f5fbf;--belt-purple:#6b3fa0;--belt-brown:#7a4a26;--belt-black:#17161d;--sans:system-ui, "Hiragino Sans", "Noto Sans JP", "Segoe UI", Roboto, sans-serif;--heading:var(--sans);font:16px/1.6 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121117;--surface:#1b1a22;--surface-muted:#22212a;--text:#b4b1bd;--text-h:#f3f1ec;--text-subtle:#807d8a;--border:#2e2c37;--ink:#0b0a0f;--ink-text:#f3f1ec;--accent:#ff4d64;--accent-bg:#ff4d6424;--accent-text:#ff7a8b;--focus:#ff4d6473;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #0009;--belt-white-edge:#6a6676;--belt-blue:#4a8af0;--belt-purple:#a07ad6;--belt-brown:#b07a4f;--belt-black:#000}}body{background:var(--bg);margin:0}#root{flex-direction:column;min-height:100svh;display:flex}p{margin:0}#app-header{z-index:10;background:var(--ink);color:var(--ink-text);border-bottom:4px solid var(--accent);position:sticky;top:0}#app-header .header-inner{max-width:960px;margin:0 auto;padding:14px 16px}#app-header .app-title{font-family:var(--heading);letter-spacing:-.02em;font-size:22px;font-weight:800}#tournaments{box-sizing:border-box;text-align:left;width:100%;max-width:960px;margin:0 auto;padding:24px 16px 48px}.category-filter{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}@media (width<=640px){.category-filter{grid-template-columns:1fr}}.category-filter label{letter-spacing:.04em;color:var(--text-subtle);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.category-filter .belt-label{align-items:center;gap:8px;display:inline-flex}.category-filter select{font:inherit;border:1px solid var(--border);background:var(--surface-muted);width:100%;color:var(--text-h);box-sizing:border-box;cursor:pointer;border-radius:8px;padding:9px 12px;font-size:15px;font-weight:500;transition:border-color .15s,box-shadow .15s}.category-filter select:hover{border-color:var(--text-subtle)}.category-filter select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus);outline:none}.belt-swatch{border-radius:2px;width:28px;height:8px;display:inline-block}.belt-swatch.belt-white{background:var(--belt-white);box-shadow:inset 0 0 0 1px var(--belt-white-edge)}.belt-swatch.belt-blue{background:var(--belt-blue)}.belt-swatch.belt-purple{background:var(--belt-purple)}.belt-swatch.belt-brown{background:var(--belt-brown)}.belt-swatch.belt-black{background:linear-gradient(90deg, var(--belt-black) 0 55%, var(--accent) 55% 85%, var(--belt-black) 85%)}.status{color:var(--text-subtle);margin-top:24px}.status-error{color:var(--accent-text)}.table-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;margin-top:20px;overflow:hidden}.tournament-table{table-layout:fixed;border-collapse:collapse;width:100%}.tournament-table .col-date{width:22%}.tournament-table .col-name{width:56%}.tournament-table .col-entry-count{width:22%}@media (width<=640px){.tournament-table .col-date{width:25%}.tournament-table .col-name{width:50%}.tournament-table .col-entry-count{width:25%}}.tournament-table th,.tournament-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}@media (width<=640px){.tournament-table th,.tournament-table td{padding:10px 8px}}.tournament-table tbody tr:last-child td{border-bottom:none}.tournament-table th{text-align:left;letter-spacing:.04em;color:var(--text-subtle);background:var(--surface-muted);white-space:nowrap;font-size:12px;font-weight:600}.tournament-table .date{color:var(--text-h);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:600}.tournament-table .date-line{display:block}.tournament-table .date-year{color:var(--text-subtle);font-size:11px;font-weight:500;display:block}.tournament-table .entry-count{text-align:right}.tournament-table .tournament-link{color:inherit;overflow-wrap:anywhere;flex-direction:column;text-decoration:none;display:flex}.tournament-table .tournament-link:hover .name-primary{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline}.tournament-table .name-primary{color:var(--text-h);font-weight:600;transition:color .15s}.tournament-table .name-secondary{color:var(--text-subtle);font-size:12px}.tournament-table tbody tr{transition:background .15s}.tournament-table tbody tr:hover{background:var(--surface-muted)}.count-badge{text-align:center;font-variant-numeric:tabular-nums;min-width:3.5em;color:var(--accent-text);background:var(--accent-bg);box-sizing:border-box;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:700;display:inline-block}@media (width<=640px){.count-badge{min-width:0;padding:3px 8px;font-size:13px}}.count-link{text-decoration:none;transition:background .15s,color .15s}.count-link:hover{color:#fff;background:var(--accent)}.count-link:focus-visible{box-shadow:0 0 0 3px var(--focus);outline:none}.count-none{color:var(--text-subtle);background:0 0;font-weight:500}
