:root{--bg:#f5f3ee;--surface:#fff;--surface-2:#faf9f6;--text:#1c1917;--muted:#6b645e;--border:#e5e1da;--accent:#0f766e;--accent-soft:#ccfbf1;--danger:#b91c1c;--warn-bg:#fef3c7;--warn-text:#92400e;--cell:#fff;--cell-stroke:#cfc8bd;--board:#efe9df;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000a;--radius:14px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f0e0d;--surface:#1a1816;--surface-2:#211e1b;--text:#f5f3ee;--muted:#a39b92;--border:#2f2b27;--accent:#2dd4bf;--accent-soft:#134e4a;--danger:#f87171;--warn-bg:#422006;--warn-text:#fcd34d;--cell:#2a2622;--cell-stroke:#4a433c;--board:#1f1c19;--shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}a{color:inherit}h1,h2,h3{margin:0;line-height:1.2}h1{letter-spacing:-.02em;font-size:28px}h2{letter-spacing:-.01em;font-size:18px}.shell{max-width:1200px;margin:0 auto;padding:0 16px 48px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;padding:18px 0;display:flex}.brand{flex-wrap:wrap;align-items:baseline;gap:10px;text-decoration:none;display:flex}.brand strong{letter-spacing:-.01em;font-size:18px}.brand span{color:var(--muted);font-size:13px}.nav{gap:4px;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:6px 12px;font-weight:500;text-decoration:none}.nav a:hover{background:var(--surface);color:var(--text)}.section{margin-top:28px}.section>h2{margin-bottom:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono);word-break:break-all;font-size:12px}.badge{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.live{background:var(--accent-soft);color:var(--accent);border-color:#0000}.badge.live:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite pulse}.badge.fallback{background:var(--warn-bg);color:var(--warn-text);border-color:#0000}.badge.error{color:var(--danger)}@keyframes pulse{50%{opacity:.25}}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 8px;font-weight:500;display:inline-flex}.chip .dot{border-radius:50%;flex:none;width:10px;height:10px}.chip.winner{border-color:currentColor}.hero-card{gap:14px;display:grid}.hero-card .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.countdown{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:26px;font-weight:700}.button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{border-color:var(--muted)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.button:disabled{opacity:.4;cursor:default}table.list{border-collapse:collapse;width:100%}table.list th,table.list td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 8px}table.list th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}table.list td.num,table.list th.num{text-align:right;font-variant-numeric:tabular-nums}table.list tr:last-child td{border-bottom:none}table.list a{font-weight:600;text-decoration:none}table.list a:hover{text-decoration:underline}.table-wrap{overflow-x:auto}.match-head{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.match-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:20px;margin-top:16px;display:grid}@media (max-width:860px){.match-grid{grid-template-columns:1fr}}.board-card{padding:12px;position:sticky;top:12px}@media (max-width:860px){.board-card{position:static}}.board{width:100%;height:auto;display:block}.board .pawn{transition:transform .6s cubic-bezier(.3,.7,.2,1)}.board .ring{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite ring}@keyframes ring{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(1.7)}}.replay{align-items:center;gap:8px;margin-top:10px;display:flex}.replay input[type=range]{accent-color:var(--accent);flex:1}.log{flex-direction:column;gap:10px;max-height:78vh;padding-right:4px;display:flex;overflow-y:auto}.log-entry{background:var(--surface);border:1px solid var(--border);cursor:default;border-radius:12px;grid-template-columns:40px 1fr;gap:10px;padding:12px;display:grid}.log-entry.clickable{cursor:pointer}.log-entry.selected{outline:2px solid var(--accent);outline-offset:-1px}.log-entry .avatar{border-radius:12px;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.log-entry .meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.log-entry .meta strong{font-size:14px}.log-entry .what{margin-top:2px;font-weight:600}.log-entry .why{color:var(--muted);margin-top:4px;font-style:italic}.die{border:1.5px solid var(--text);font-variant-numeric:tabular-nums;border-radius:6px;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:inline-grid}.die.six{background:var(--text);color:var(--surface)}.fair{gap:8px;display:grid}.fair .ok{color:var(--accent);font-weight:600}.fair .bad{color:var(--danger);font-weight:600}.rank-name{align-items:center;gap:10px;display:flex}.rank-name .emoji{border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:20px;display:grid}.rank-desc{color:var(--muted);max-width:460px;margin-top:2px;font-size:13px}.elo{font-size:18px;font-weight:700}.empty{text-align:center;color:var(--muted);padding:28px}
