:root{color-scheme:light;--bg: #f4f1ea;--surface: #fcfcfb;--border: #dedad0;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #7b7972;--grid: #e9e6de;--series-1: #2a78d6;--clone: #c9c5b8;--accent: #b3402f;--accent-text: #ffffff;--tile-light: #f1e8d6;--tile-dark: #2d6e73;--tile-inlay: #6fb0b1;--tile-frame: #1f5257;--piece-black: #171b24;--piece-black-ring: #c9a35a;--piece-red: #b4432e;--piece-red-ring: #f3e3c8;--crown: #e3b44f;--good: #1a7f4b;--meter: #2a78d6;--meter-bg: #e9e6de}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #121211;--surface: #1a1a19;--border: #33322f;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #8e8c84;--grid: #2a2927;--series-1: #3987e5;--clone: #4a4944;--accent: #d9604d;--accent-text: #14110f;--tile-light: #ddd2bb;--tile-dark: #255d63;--tile-inlay: #5a9a9c;--tile-frame: #17454a;--piece-black: #14171f;--piece-black-ring: #c9a35a;--piece-red: #b84732;--piece-red-ring: #f3e3c8;--crown: #e3b44f;--good: #46b97c;--meter: #3987e5;--meter-bg: #2a2927}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text-primary);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.top{max-width:1180px;margin:0 auto;padding:20px 16px 4px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 24px}.who{padding-top:6px;max-width:420px}.who form .row{margin:4px 0 8px}h1{margin:0;font-size:26px;letter-spacing:-.02em}h2{margin:0 0 8px;font-size:16px}h3{margin:14px 0 4px;font-size:14px}.tag{margin:2px 0 0;color:var(--text-secondary)}.site-nav{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:10px;font-size:14px}.site-nav a{color:var(--text-secondary);text-decoration:none;padding:2px 0;border-bottom:2px solid transparent}.site-nav a:hover{color:var(--text-primary)}.site-nav a[aria-current=page]{color:var(--text-primary);border-bottom-color:var(--accent)}.layout{max-width:1180px;margin:0 auto;padding:12px 16px 24px;display:grid;grid-template-columns:minmax(300px,520px) minmax(0,1fr);gap:16px;align-items:start}@media(max-width:880px){.layout{grid-template-columns:minmax(0,1fr)}}.side{display:grid;gap:16px;min-width:0}.layout[data-mode=play] .play-panel{order:-1}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;min-width:0}.board-panel{position:sticky;top:12px}@media(max-width:880px){.board-panel{position:static}}.muted{color:var(--text-muted)}.small{font-size:13px}p{margin:6px 0}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.row label{color:var(--text-secondary)}button,.button,select,input[type=text],input[type=number]{font:inherit;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:6px 10px}button,.button{cursor:pointer}button:hover:not(:disabled),.button:hover{border-color:var(--text-muted)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.link{border:0;padding:2px 4px;background:none;color:var(--series-1);text-decoration:underline}select{max-width:100%;min-width:0}input[type=number]{width:100%}input[type=text]{flex:1;min-width:150px}input[type=range]{flex:1;min-width:80px;accent-color:var(--accent)}:focus-visible{outline:2px solid var(--series-1);outline-offset:2px}.seg{display:flex;gap:4px;padding:3px;background:var(--bg);border-radius:9px;margin-bottom:10px}.seg button{flex:1;border:0;background:transparent;color:var(--text-secondary)}.seg button[aria-selected=true]{background:var(--surface);color:var(--text-primary);font-weight:600;box-shadow:0 0 0 1px var(--border)}details{margin:8px 0}summary{cursor:pointer;color:var(--text-secondary)}.grid2{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:6px 10px;align-items:center;margin:10px 0}.grid2 label{color:var(--text-secondary)}.grid2.wide{grid-template-columns:max-content minmax(0,1fr)}.grid2.wide select{width:100%}.check{display:flex;gap:8px;align-items:center;color:var(--text-secondary)}.players{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:13px;color:var(--text-secondary)}.player{display:inline-flex;align-items:center;gap:6px;min-width:0}.dot{width:12px;height:12px;border-radius:50%;flex:none}.dot.black{background:var(--piece-black);box-shadow:0 0 0 1.5px var(--piece-black-ring)}.dot.red{background:var(--piece-red)}.board{display:block;width:100%;height:auto;border-radius:6px;touch-action:manipulation}.tile.light{fill:var(--tile-light)}.tile.dark{fill:var(--tile-dark)}.tile.inlay{fill:none;stroke:var(--tile-inlay);stroke-width:1.1}.tile.frame{fill:var(--tile-frame)}.hit{fill:transparent}.pixel{image-rendering:pixelated}.look{border-top:1px solid var(--grid);padding-top:10px;margin-bottom:0}.playable .hit{cursor:pointer}.piece .body{stroke:#00000059;stroke-width:1.5}.piece .ring{fill:none;stroke-width:1.4}.piece .ring.inner{stroke-width:1.5}.piece.black .pip{fill:var(--piece-black-ring)}.piece.red .pip{fill:var(--piece-red-ring)}.piece.black .eye{fill:var(--piece-black)}.piece.red .eye{fill:var(--piece-red)}.piece.black .body{fill:var(--piece-black)}.piece.black .ring{stroke:var(--piece-black-ring)}.piece.red .body{fill:var(--piece-red)}.piece.red .ring{stroke:var(--piece-red-ring)}.piece .crown{fill:var(--crown)}.mark.last{fill:none;stroke:#ffdd57bf;stroke-width:3}.mark.from{fill:none;stroke:#ffdd57;stroke-width:4}.mark.target{fill:#ffffffbf;stroke:#00000059}.caption{min-height:2.9em;color:var(--text-secondary)}.rev-chart{margin:8px 0 4px;cursor:pointer}.rev-chart svg{display:block;width:100%;height:84px;background:var(--bg);border-radius:6px}.rev-chart .zero{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.rev-chart .line{fill:none;stroke:var(--series-1);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.rev-chart .cursor{stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.person-check{position:fixed;right:16px;bottom:16px;z-index:10;max-width:calc(100vw - 32px);padding:10px 12px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 24px #00000040}.person-check p{margin:0 0 8px;color:var(--text-secondary)}.ladder{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.ladder li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.ladder li>div{display:grid;gap:1px;min-width:0}.ladder .level{margin-left:8px;padding:1px 7px;border:1px solid var(--border);border-radius:999px;font-size:12px;color:var(--text-secondary);white-space:nowrap}.ladder .n{font-weight:650;color:var(--text-muted);text-align:center}.ladder li.beaten{border-color:var(--good)}.ladder li.beaten .n{color:var(--good)}.play-panel td{white-space:normal}tr.you td{font-weight:600}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}@media(max-width:520px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.tile{border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:grid;gap:2px;min-width:0}.tile-label{font-size:12px;color:var(--text-muted)}.tile-value{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums}.chart{position:relative;margin:12px 0 0}.chart figcaption{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:2px}.chart canvas{display:block;width:100%;height:130px}.chart-tip{position:absolute;top:18px;display:grid;gap:1px;padding:5px 8px;font-size:12px;white-space:nowrap;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 2px 8px #0000001f;pointer-events:none}.chart-tip span{color:var(--text-secondary)}.table-wrap{overflow-x:auto;max-height:320px;overflow-y:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:600;font-size:12px;color:var(--text-muted);padding:4px 8px 4px 0;position:sticky;top:0;background:var(--surface)}td{padding:5px 8px 5px 0;border-top:1px solid var(--grid);white-space:pre;font-variant-numeric:tabular-nums}td:last-child{padding-right:0;text-align:right}.meter{display:inline-block;vertical-align:middle;width:64px;height:8px;border-radius:4px;background:var(--meter-bg);overflow:hidden;margin-right:8px}.meter i{display:block;height:100%;background:var(--meter);border-radius:4px 0 0 4px}.log{list-style:none;margin:8px 0;padding:0;font-size:14px;display:grid;gap:4px}.foot{max-width:1180px;margin:0 auto;padding:0 16px 24px}
