:root{--bg:#15171c;--panel:#1d2027;--fg:#e8e8ec;--muted:#9aa0ad;--accent:#e0a458;--border:#2c3039;--input:#0f1116;--btn:#2a2e38;--btn-hover:#343947;--accent-fg:#1a1408;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);height:100%;margin:0}#app{display:flex;height:var(--app-h,100dvh)}#toolbar{position:fixed;z-index:20;display:flex;background:color-mix(in srgb,var(--panel)82%,transparent);border:1px solid var(--border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;align-items: center;gap:8px;padding:6px 10px 6px 14px;top:12px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}#toolbar h1{margin-right:8px;font-size:20px}#toolbar button,#toolbar a.btn{padding:6px 10px;font-size:14px}#toolbar a.btn{background:var(--btn);color:var(--fg);border:1px solid var(--border);text-decoration:none;border-radius:6px}#toolbar a.btn:hover{background:var(--btn-hover)}dialog.sheet{background:var(--panel);color:var(--fg);border:1px solid var(--border);overflow-y:auto;display:none;border-radius:14px;flex-direction:column;gap:14px;width:min(520px,92vw);max-height:88vh;padding:18px 22px 24px;box-shadow:0 20px 60px #0009}dialog.sheet[open]{display:flex}dialog.sheet::backdrop{backdrop-filter:blur(3px);background:#0000008c}.panel-head{display:flex;justify-content:space-between;align-items: center}.panel-head button{padding:4px 10px;font-size:16px}#board{position:relative;overflow:hidden;height:var(--app-h,100dvh);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;--turn:#888;--hud-bg:#0c0e14c7;--hud-fg:#f2f2f5;--hud-font:inherit;--hud-radius:999px;--hud-border:#ffffff24;background:#000;flex:1;min-width:0}#board>*{position:absolute;inset:0}#board:after{content:"";position:absolute;pointer-events:none;box-shadow:inset 0 0 0 4px var(--turn),inset 0 0 40px 4px color-mix(in srgb,var(--turn)55%,transparent);z-index:5;transition:box-shadow .3s;inset:0}#board.over:after{box-shadow:inset 0 0 0 4px var(--turn)}h1{letter-spacing:.04em;color:var(--accent);margin:0;font-family:Aclonica,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:30px;font-weight:400}h2{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 8px;font-family:Aclonica,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;font-weight:400}.tagline{color:var(--muted);margin:-6px 0 4px;font-size:13px}section{border-top:1px solid var(--border);padding-top:12px}label{display:block;color:var(--muted);margin-bottom:8px;font-size:13px}label.check{display:flex;align-items: flex-start;gap:8px;line-height:1.3}label.check input{margin-top:2px}input[type=range]{display:block;accent-color:var(--accent);width:100%;margin-top:4px}label .range-ends{display:flex;justify-content:space-between;margin-top:2px;font-size:12px}label output{color:var(--fg);font-variant-numeric:tabular-nums}select{display:block;background:var(--input);color:var(--fg);border:1px solid var(--border);border-radius:6px;width:100%;margin-top:4px;padding:6px 8px;font-size:13px}.buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:var(--btn);color:var(--fg);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:13px}button:hover{background:var(--btn-hover)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:var(--accent-fg);border-color:#0000;font-weight:600}button.primary:hover{filter:brightness(1.1)}#swap{background:#3c5a8a;border-color:#0000}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.theme-grid button{display:flex;text-align:left;flex-direction:column;align-items: flex-start;gap:4px;padding:8px;line-height:1.2}.theme-grid button small{color:var(--muted);font-size:11px}.theme-grid button.active{outline:2px solid var(--accent)}dialog.sheet,#toolbar{transition:background .3s,color .3s,border-color .3s}.sw{display:block;border-radius:4px;width:100%;height:28px;margin-bottom:2px}.sw-marble{background:linear-gradient(135deg,#f5eee0 0 50%,#17141b 50%),#5a3b26;box-shadow:inset 0 0 0 4px #5a3b26,inset 0 0 0 6px #c9a25a}.sw-neon{background:radial-gradient(circle at 30%,#ff3bd8 0 22%,#0000 24%),radial-gradient(circle at 70%,#25f0ff 0 22%,#0000 24%),#03040a}.sw-paper{background:repeating-linear-gradient(0deg,#0000 0 6px,#5a82be40 6px 7px),#f6efdc}.sw-terminal{background:repeating-linear-gradient(0deg,#0000004d 0 1px,#0000 1px 3px),#0a100a;box-shadow:inset 0 0 12px #1f5a2a}.hint{color:var(--muted);margin:8px 0 0;font-size:12px}label .hint{display:block;margin-top:4px}#status{display:flex;align-items: center;gap:8px;min-height:24px;font-size:16px;font-weight:600}#status .dot{display:inline-block;border:1px solid #ffffff59;border-radius:50%;flex:none;width:14px;height:14px}#status.over{color:var(--accent)}details{border-top:1px solid var(--border);color:var(--muted);padding-top:12px;font-size:13px}details summary{cursor:pointer;color:var(--fg);letter-spacing:.03em;font-family:Aclonica,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:400}details ul{margin:8px 0;padding-left:18px}details li{margin-bottom:4px}details b{color:var(--fg)}.three-canvas{display:block;touch-action:none;width:100%;height:100%}.paper-canvas{display:block}.term{color:#5dff7a;overflow:auto;display:flex;background:#070a07;justify-content:center;font-family:SF Mono,Menlo,Consolas,Liberation Mono,monospace}.term-screen{text-shadow:0 0 6px #5dff7a8c;white-space:pre;width:min(100%,720px);margin:0;padding:78px 32px 28px;font-size:clamp(15px,2vmin,24px);line-height:1.35}.term-scanlines{position:absolute;pointer-events:none;background:repeating-linear-gradient(0deg,#00000047 0 1px,#0000 1px 3px),radial-gradient(#0000 60%,#0000008c 100%);inset:0}.term-prompt{color:#9dffb0;font-weight:700}.term-dim{color:#2e8a45;text-shadow:none}.term-p1{color:#5dff7a}.term-p2{color:#ffb400;text-shadow:0 0 6px #ffb40099}.term-cell{display:inline-block;cursor:default;border-radius:2px;width:1ch}.term-cell.term-free{cursor:pointer}.term-cell.term-free:hover{color:#d6ffdd;background:#1f5a2a}.term-cell.term-last{text-decoration:underline}.term-cell.term-win{color:#061006;text-shadow:none;animation:.9s steps(2,end) infinite term-blink;background:#5dff7a}.term-cell.term-lose{color:#180404;text-shadow:none;animation:.9s steps(2,end) infinite term-blink;background:#ff4a4a}.term-cursor{animation:1s steps(2,end) infinite term-blink}@keyframes term-blink{50%{opacity:.25}}kbd{background:var(--input);border:1px solid var(--border);color:var(--muted);border-radius:4px;margin-left:4px;padding:1px 5px;font:11px ui-monospace,monospace}.color-pick button{display:flex;flex:1;justify-content:flex-start;align-items: center;gap:8px}.color-pick button.active{outline:2px solid var(--accent)}.color-pick .dot,.group-row .dot{display:inline-block;border:1px solid #ffffff59;border-radius:50%;flex:none;width:14px;height:14px}.group-row{display:flex;flex-wrap:wrap;align-items: center;gap:6px;margin-bottom:6px}.group-name{color:var(--muted);width:58px;font-size:12px}.chip{display:inline-flex;color:#fff;background:#2f3542;border-radius:50%;justify-content:center;align-items: center;width:22px;height:22px;font-size:12px;font-weight:700}.chip.s3{color:#1a1208;background:#e0912a}.chip.s4{animation:1s steps(2,end) infinite term-blink;background:#c0202c}.chip.s5{color:#1a1208;background:#e6b422}.sw-terraces{position:relative;overflow:hidden;background:linear-gradient(#bfd9ee 0 40%,#7ea25a 40%)}.sw-terraces:after{content:"";position:absolute;background:#e9c46a;width:22%;height:70%;bottom:0;left:18%;box-shadow:34px 10px #3d5a80,68px 22px #e9c46a}.sw-constellation{background:radial-gradient(circle at 25% 60%,#ffd166 0 9%,#0000 11%),radial-gradient(circle at 50% 35%,#ffd166 0 9%,#0000 11%),radial-gradient(circle at 78% 60%,#5ee1ff 0 9%,#0000 11%),linear-gradient(115deg,#0000 0 40%,#ffd166cc 40% 44%,#0000 44%),#0a1030}.term-cell.term-illegal{color:#1f4a2a}.term-warn{color:#ffb400}.cst{display:block;background:#04060f;width:100%;height:100%}.cst-lattice line{stroke:#a0b4ff47;stroke-width:.025;stroke-dasharray:.14 .1}.cst-node{fill:#becdffb3}.cst-node.cst-star-point{fill:#e6eefff2;filter:url(#cst-glow)}.cst-cell{fill:transparent;stroke:none;cursor:default}.cst-cell.cst-legal{cursor:pointer}.cst-cell.cst-legal:hover{fill:#ffffff12}.cst-cell.cst-illegal{fill:#ff3c3c0f}.cst-halos,.cst-edges,.cst-pieces,.cst-labels,.cst-hover{pointer-events:none}.cst-star.cst-quint circle:first-child{stroke:gold;stroke-width:.1;animation:1.2s ease-in-out infinite alternate cst-pulse;transform-box:fill-box;transform-origin:center}.cst-star.cst-quart circle:first-child{stroke:#ff4d5e;stroke-width:.1;animation:.7s ease-in-out infinite alternate cst-pulse;transform-box:fill-box;transform-origin:center}.cst-last{animation:6s linear infinite cst-spin;transform-box:fill-box;transform-origin:center}.cst-twinkle{animation:3s ease-in-out infinite alternate cst-twinkle}@keyframes cst-pulse{0%{transform:scale(1)}to{transform:scale(1.18)}}@keyframes cst-spin{to{transform:rotate(360deg)}}@keyframes cst-twinkle{0%{opacity:.15}to{opacity:1}}.sw-mercury{background:radial-gradient(at 35%,#fff 0 12%,#9aa3b0 20%,#0000 32%),radial-gradient(at 68% 55%,#b58cff 0 10%,#3a1a5c 18%,#0000 30%),#0d1118}.sw-slime{background:radial-gradient(circle at 30% 55%,#8df01c 0 16%,#0000 19%),radial-gradient(circle,#8df01c 0 16%,#0000 19%),radial-gradient(circle at 74%,#b25cff 0 14%,#0000 17%),#16232a}.slm{display:block;background:#0a1114;width:100%;height:100%}.slm-cell{fill:#ffffff05;stroke:#c8e6e629;stroke-width:.03}.slm-cell.slm-legal{cursor:pointer}.slm-cell.slm-legal:hover{fill:#ffffff14}.slm-cell.slm-illegal{stroke:#ff5a3c59;fill:#ff5a3c0f}.slm-cell.slm-last{stroke:#ffffffb3;stroke-width:.06}.slm-gloss,.slm-bubbles,.slm-labels,.slm-shadow,.slm svg g[filter]{pointer-events:none}#hud{position:absolute;pointer-events:none;z-index:6;font-family:var(--hud-font);inset:0}#hud .hud-turn{position:absolute;top:14px;left:50%;transform:translate(-50%)}#hud>.hud-turn{pointer-events:auto;background:var(--hud-bg);color:var(--hud-fg);border:1px solid var(--hud-border);border-radius:var(--hud-radius);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items: center;gap:10px;padding:8px 14px;box-shadow:0 4px 18px #00000059}.hud-turn{letter-spacing:.01em;white-space:nowrap;font-size:17px;font-weight:700;border-left:6px solid var(--turn)!important}.hud-turn .hud-dot{width:20px;height:20px}.hud-dot{display:inline-block;border:2px solid #ffffffb3;border-radius:50%;flex:none;width:16px;height:16px;box-shadow:0 0 0 2px #00000059}.hud-label{text-transform:uppercase;letter-spacing:.14em;opacity:.7;font-size:11px}.hud-swatch{display:inline-flex;color:inherit;font:inherit;cursor:pointer;opacity:.55;background:#ffffff0f;border:2px solid #0000;border-radius:999px;align-items: center;gap:7px;padding:4px 10px 4px 5px;transition:opacity .15s,transform .15s,border-color .15s;font-size:13px;font-weight:600}.hud-swatch:hover{opacity:.9}.hud-swatch.active{opacity:1;background:#ffffff24;border-color:#fff;transform:scale(1.08)}.hud-swatch .hud-dot{width:22px;height:22px}.hud-note{opacity:.8;max-width:200px;font-size:12px}#board.thinking .hud-turn{animation:1s ease-in-out infinite alternate hud-think}@keyframes hud-think{0%{opacity:1}to{opacity:.6}}#board.over .hud-turn{font-size:18px}#board[data-theme=terminal]{--hud-bg:#070a07e6;--hud-fg:#5dff7a;--hud-font:"SF Mono",Menlo,Consolas,monospace;--hud-radius:3px;--hud-border:#2e8a45}#board[data-theme=terminal] #hud>.hud-turn,#board[data-theme=terminal] .hud-side{text-shadow:0 0 6px #5dff7a80;backdrop-filter:none;box-shadow:0 0 12px #5dff7a40}#board[data-theme=paper]{--hud-bg:#fffbf0eb;--hud-fg:#2a2f3f;--hud-font:"Comic Sans MS","Segoe Print","Bradley Hand",cursive;--hud-radius:6px;--hud-border:#3a3f4f}#board[data-theme=paper] #hud>.hud-turn,#board[data-theme=paper] .hud-side{border-width:2px;box-shadow:3px 3px #282d3c40}#board[data-theme=neon]{--hud-bg:#03040abf;--hud-border:#11a8c8;--hud-radius:4px}#board[data-theme=neon] #hud>.hud-turn,#board[data-theme=neon] .hud-side{box-shadow:0 0 16px #25f0ff59,inset 0 0 12px #25f0ff14}#board[data-theme=marble]{--hud-bg:#faf5ede0;--hud-fg:#2b211a;--hud-border:#b89a6a;--hud-radius:8px}#board[data-theme=marble] .hud-swatch{background:#0000000d}#board[data-theme=marble] .hud-swatch.active{background:#0000001a;border-color:#2b211a}#board[data-theme=terraces]{--hud-bg:#ffffffdb;--hud-fg:#1e2a24;--hud-border:#00000026}#board[data-theme=terraces] .hud-swatch{background:#0000000d}#board[data-theme=terraces] .hud-swatch.active{background:#0000001a;border-color:#1e2a24}#board[data-theme=constellation]{--hud-bg:#0a1030cc;--hud-border:#a0b4ff59}#board[data-theme=slime]{--hud-bg:#0e1a1ce0;--hud-border:#c8e6e64d;--hud-radius:14px}#board[data-theme=mercury]{--hud-bg:#0d1118cc;--hud-border:#b4bed259}@media (max-width:760px){#hud{top:8px;left:8px;right:8px}.hud-turn{font-size:14px}}.hud-side{position:absolute;pointer-events:auto;cursor:pointer;display:flex;background:var(--hud-bg);color:var(--hud-fg);border:2px solid var(--hud-border);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);user-select:none;border-radius:18px;flex-direction:column;justify-content:center;align-items: center;gap:10px;width:104px;transition:transform .2s,top .2s,bottom .2s,box-shadow .2s,border-color .2s,opacity .2s;top:88px;bottom:36px;box-shadow:0 4px 18px #00000059}.hud-side-left{left:max(12px,50% - 650px - 8vw)}.hud-side-right{right:max(12px,50% - 650px - 8vw)}.hud-side:hover{top:62px;bottom:18px;transform:scaleX(1.03)}.hud-side .hud-piece{width:64px;height:64px}.hud-piece{display:block;background:var(--pc,#888);border:3px solid #ffffffbf;border-radius:50%;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s,box-shadow .2s;box-shadow:0 6px 14px #00000073,inset -8px -10px 18px #00000059,inset 6px 8px 14px #ffffff59}.hud-side-name{text-align:center;font-size:13px;font-weight:700}.hud-side-hint{opacity:.7;text-align:center;font-size:11px;line-height:1.2}.hud-side.turn .hud-side-name:after{content:" · to move";opacity:.7;font-weight:400}#board.choose .hud-side{border-color:var(--pc);box-shadow:0 0 0 3px color-mix(in srgb,var(--pc)45%,transparent),0 6px 24px #00000073;animation:1.2s ease-in-out infinite alternate side-beckon}#board.choose .hud-side .hud-piece{animation:1.2s ease-in-out infinite alternate piece-bob}@keyframes side-beckon{0%{filter:brightness(1)}to{filter:brightness(1.2)}}@keyframes piece-bob{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.hud-side.selected{box-shadow:0 0 0 3px var(--pc),0 8px 28px #00000080;border-color:#fff}.hud-side.selected .hud-piece{opacity:.35;transform:translateY(-10px)scale(1.12);box-shadow:0 18px 20px #00000059,inset -8px -10px 18px #00000059}.hud-side.selected .hud-side-hint:before{content:"holding — "}.hud-side.other{opacity:.55}.hud-side.other .hud-side-hint:before{content:"click to switch — "}#board.ai-wait .hud-side,#board.over .hud-side{opacity:.35;pointer-events:none}#board.nudge .hud-side{animation:.4s hud-nudge}@keyframes hud-nudge{0%,to{translate:0}25%{translate:-8px}75%{translate:8px}}#carry{position:absolute;pointer-events:none;z-index:7;display:none;width:0;height:0;inset:0 auto auto 0}#carry .hud-piece{opacity:.92;width:40px;height:40px;transform:translate(-50%,-115%)}#board.carrying #carry{display:block}#board.carrying,#board.carrying .three-canvas,#board.carrying .paper-canvas,#board.carrying .slm,#board.carrying .cst,#board.carrying .term-cell{cursor:grabbing!important}.term{box-sizing:border-box;padding:0 128px}@media (max-width:760px){.hud-side{width:72px;top:60px}.hud-side .hud-piece{width:44px;height:44px}.hud-side-hint{display:none}}#board.check:after{animation:.9s ease-in-out infinite alternate check-pulse}@keyframes check-pulse{0%{box-shadow:inset 0 0 0 4px #d8232f,inset 0 0 40px 4px #d8232f73}to{box-shadow:inset 0 0 0 8px #d8232f,inset 0 0 70px 10px #d8232fb3}}#hud .hud-turn.is-check{animation:.7s ease-in-out infinite alternate hud-think;color:#fff!important;background:#d8232f!important;border-color:#ff8a90 #ff8a90 #ff8a90 #fff!important}#hud .hud-turn.is-check .hud-dot{border-color:#fff}.term-cell.term-quart{color:#ff4a4a;text-shadow:0 0 8px #ff4a4acc;animation:.9s steps(2,end) infinite term-blink}.term-cell.term-pv-lose{color:#fff!important;background:#7a1018!important}.term-cell.term-pv-win{color:#fff!important;background:#a67c00!important}.term-cell.term-pv-check{color:#fff!important;background:#7a4a08!important}.cst-outcome,.slm-outcome{animation:.7s ease-in-out infinite alternate cst-pulse;transform-box:fill-box;transform-origin:center}.sw-goban{background:radial-gradient(circle at 32%,#f4efe4 0 15%,#0000 18%),radial-gradient(circle at 68%,#1c1b20 0 15%,#0000 18%),repeating-linear-gradient(0deg,#5a37142e 0 1px,#0000 1px 4px),#dcb06a}#board[data-theme=goban]{--hud-bg:#2a2620db;--hud-fg:#f1e6d2;--hud-border:#8a6a3a;--hud-radius:6px}.hud-side{gap:0;width:clamp(84px,56px + 1.6vw,124px)}.hud-side .hud-piece{width:clamp(56px,36px + 1.2vw,84px);height:clamp(56px,36px + 1.2vw,84px)}.hud-side.turn{border-color:var(--pc);box-shadow:0 0 0 3px color-mix(in srgb,var(--pc)55%,transparent),0 0 28px color-mix(in srgb,var(--pc)45%,transparent),0 6px 24px #00000073}.hud-side.selected .hud-side-hint:before,.hud-side.other .hud-side-hint:before{content:none}.hud-side.winner{border-color:#e6b422;box-shadow:0 0 0 4px #e6b422,0 0 36px #e6b42299;opacity:1!important}.hud-side.winner:after{content:"";position:absolute;background:#e6b422;border-radius:50%;width:26px;height:26px;bottom:16px;box-shadow:0 0 14px #e6b422}.hud-side.loser{opacity:.35!important}#board.check .hud-side.turn{border-color:#d8232f;box-shadow:0 0 0 4px #d8232f,0 0 36px #d8232fb3}.term-screen{padding-left:112px!important;padding-right:112px!important}.cst-nebula{opacity:.85;mix-blend-mode:screen;transform-box:view-box;transform-origin:0 0;animation:240s linear infinite cst-drift}@keyframes cst-drift{0%{transform:rotate(0)scale(1)}50%{transform:rotate(3deg)scale(1.04)}to{transform:rotate(0)scale(1)}}.hud-piece.has-icon{box-shadow:none;filter:drop-shadow(0 6px 8px #00000073);overflow:visible;border:none;border-radius:0;background:0 0!important}.hud-side .hud-piece.has-icon{aspect-ratio:1;width:86%;height:auto}.hud-piece.has-icon img,.hud-piece.has-icon canvas{object-fit:contain;display:block;pointer-events:none;width:100%;height:100%;transform:scale(1.15)}#carry .hud-piece.has-icon{width:56px;height:56px}.hud-side.selected .hud-piece.has-icon{filter:drop-shadow(0 18px 14px #00000059)}@media (max-width:760px){#app{flex-direction:column}#toolbar{position:static;box-shadow:none;background:var(--panel);border-top:none;border-left:none;border-right:none;border-radius:0;flex:none;gap:6px;width:100%;padding:6px 10px 6px 14px;transform:none}#board{flex:1;height:auto;min-height:0}#toolbar h1{margin-right:auto}#toolbar button span{display:none}#toolbar button{min-width:40px;min-height:40px;font-size:18px}#toolbar h1{margin-right:2px;font-size:17px}.hud-side{border-radius:16px;width:76px;height:96px;top:auto;bottom:12px}.hud-side-left{left:10px}.hud-side-right{right:10px}.hud-side:hover{top:auto;bottom:12px;transform:scale(1.03)}.hud-side .hud-piece{width:50px;height:50px}.theme-grid{grid-template-columns:repeat(2,1fr)}dialog.sheet{border-radius:12px;padding:14px 16px 20px}.term-screen{font-size:clamp(11px,3.4vw,16px);padding:64px 12px 120px!important}}@media (max-width:760px) and (orientation:landscape){.hud-side{width:64px;height:auto;top:64px;bottom:12px}.term-screen{padding:58px 84px 24px!important}}@media (pointer:coarse){#carry{display:none!important}.hud-side{cursor:default}select,button{min-height:40px}label.check input{width:20px;height:20px}}html[data-theme=marble]{--panel:#f6efe4;--fg:#2b211a;--muted:#7d6c5b;--accent:#a8823f;--border:#d8cab4;--input:#fffaf2;--btn:#ebe1d0;--btn-hover:#e0d4bf;--accent-fg:#fff8ea}html[data-theme=goban]{--panel:#3b2a17;--fg:#f6ead3;--muted:#cbb693;--accent:#e0a94e;--border:#6b4f2b;--input:#26190d;--btn:#4d381f;--btn-hover:#5b442a;--accent-fg:#201406}html[data-theme=neon]{--panel:#06080f;--fg:#d9f6ff;--muted:#6fb8c8;--accent:#ff3bd8;--border:#11a8c8;--input:#020409;--btn:#0c1a26;--btn-hover:#112838;--accent-fg:#1a0414}html[data-theme=terraces]{--panel:#f1f3ea;--fg:#1e2a24;--muted:#5c6b5e;--accent:#6b8f4e;--border:#c6cfb9;--input:#fff;--btn:#e2e7d8;--btn-hover:#d3dac6;--accent-fg:#f4f8ee}html[data-theme=constellation]{--panel:#0c1330;--fg:#e6ecff;--muted:#8e9bc8;--accent:#ffd166;--border:#2a3a6a;--input:#070c20;--btn:#16204a;--btn-hover:#1e2a5e;--accent-fg:#1a1408}html[data-theme=mercury]{--panel:#0e1119;--fg:#e6e9f0;--muted:#8b93a6;--accent:#b07aff;--border:#2c3444;--input:#080a10;--btn:#1a1f2b;--btn-hover:#242a38;--accent-fg:#140a24}html[data-theme=slime]{--panel:#0e1a1c;--fg:#e8f5ef;--muted:#7fa896;--accent:#8df01c;--border:#244244;--input:#081113;--btn:#16282b;--btn-hover:#1d3438;--accent-fg:#0f1a08}html[data-theme=paper]{--panel:#f6efdc;--fg:#2a2f3f;--muted:#6a6f7f;--accent:#b8322a;--border:#c9bfa6;--input:#fffaf0;--btn:#ece3cc;--btn-hover:#e2d7bd;--accent-fg:#fff5ee}html[data-theme=terminal]{--panel:#070a07;--fg:#5dff7a;--muted:#3fae5a;--accent:#ffb400;--border:#2e8a45;--input:#030503;--btn:#0d1a0f;--btn-hover:#132615;--accent-fg:#1a1200}html[data-theme=paper] dialog.sheet,html[data-theme=paper] #toolbar{font-family:Comic Sans MS,Segoe Print,Bradley Hand,cursive}html[data-theme=terminal] dialog.sheet,html[data-theme=terminal] #toolbar{text-shadow:0 0 6px #5dff7a59;font-family:SF Mono,Menlo,Consolas,monospace}html[data-theme=terminal] h1,html[data-theme=terminal] h2{font-family:SF Mono,Menlo,Consolas,monospace}.hud-clock{font-variant-numeric:tabular-nums;letter-spacing:.02em;opacity:.55;transition:opacity .2s,color .2s;font-size:22px;font-weight:700}.hud-clock.running{opacity:1}.hud-clock.low{color:#ff5560}.hud-clock.low.running{animation:.5s ease-in-out infinite alternate hud-think}body.online #board.over .hud-side{pointer-events:none}#toolbar button[hidden]{display:none}#hud-status{position:absolute;z-index:7;display:flex;background:color-mix(in srgb,var(--panel)82%,transparent);color:var(--fg);border:1px solid var(--border);white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;border-radius:12px;align-items: center;gap:9px;padding:7px 14px;transition:background .3s,color .3s,border-color .3s;font-size:14px;font-weight:600;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}#hud-status .dot{border:1px solid #ffffff59;border-radius:50%;flex:none;width:10px;height:10px}#hud-status.is-check{color:#ff8a90;border-color:#d8232f}#hud-status.is-check .dot{box-shadow:0 0 0 3px #d8232f59}.hud-player{display:flex;flex-direction:column;align-items: center;gap:6px}.hud-avatar{object-fit:cover;background:#0003;border:2px solid #ffffffb3;border-radius:50%;width:44px;height:44px;box-shadow:0 3px 10px #00000059}.hud-side-name{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:92px;padding:0 4px;font-size:12px;font-weight:700}.hud-side.turn .hud-side-name:after{content:none}#toast{position:absolute;background:var(--hud-bg);color:var(--hud-fg);border:1px solid var(--hud-border);border-radius:var(--hud-radius);z-index:7;pointer-events:none;animation:.2s toast-in;text-align:center;max-width:80vw;padding:8px 16px;font-size:14px;bottom:60px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #00000059}@keyframes toast-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (max-width:760px){#hud-status{font-size:13px;bottom:10px}.hud-player{display:none}}#online .who{display:flex;color:var(--muted);justify-content:space-between;align-items: center;gap:12px;font-size:13px}#online .who a{color:var(--accent);text-decoration:none}#online form.stack{display:flex;flex-direction:column;gap:4px}#online form.stack input{display:block;background:var(--input);color:var(--fg);border:1px solid var(--border);border-radius:6px;width:100%;margin-top:4px;padding:6px 8px;font-size:13px}#online form.stack button{align-self: flex-start;margin-top:6px}#online .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}#online .list{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0}#online .list li{display:flex;background:var(--input);border:1px solid var(--border);border-radius:10px;align-items: center;gap:10px;padding:8px 12px;font-size:13px}#online .list li .tc{font-variant-numeric:tabular-nums;color:var(--accent);min-width:4em;font-weight:600}#online .list li .who-line{display:flex;white-space:nowrap;overflow:hidden;color:inherit;text-decoration:none;flex:1;align-items: center;gap:4px;min-width:0}#online .list li .meta{color:var(--muted);white-space:nowrap;font-size:11px}#online .list li.mine{border-color:color-mix(in srgb,var(--accent)45%,var(--border))}#online .list li.forme{border-color:color-mix(in srgb,#5dcf7a 45%,var(--border))}#online .list li.current{border-color:var(--accent)}#online .person{display:inline-flex;vertical-align:middle;align-items: center;gap:6px;min-width:0}#online .person>span{overflow:hidden;text-overflow:ellipsis}#online .avatar{object-fit:cover;background:var(--btn);border-radius:50%;flex:none;width:22px;height:22px}#online .avatar.blank{display:inline-block;border:1px solid var(--border)}#online .arrow{color:var(--muted);margin:0 3px}#online .rank{background:color-mix(in srgb,var(--accent)18%,transparent);color:var(--accent);border-radius:6px;flex:none;padding:1px 5px;font-size:10px;font-weight:700}#online form.stack label.check{display:flex;align-items: center;gap:8px;font-size:13px}#online form.stack label.check input{width:auto;margin:0}#online form.stack label.check .hint{color:var(--muted);font-size:11px}#online .error{color:var(--accent)}#online .hint a{color:var(--accent);text-decoration:none}#online .leave{display:flex;justify-content:space-between;align-items: center;gap:12px}@media (max-width:520px){#online .row{grid-template-columns:1fr}#online .list li .meta{display:none}}#online-body{display:flex;flex-direction:column;gap:14px}#online-body>section:first-child{border-top:0;padding-top:0}
