:root{--bg:oklch(98.5% .003 240);--surface:oklch(100% 0 0);--surface-2:oklch(97% .004 240);--text:oklch(19% .014 255);--muted:oklch(52% .014 255);--border:oklch(90% .007 250);--accent:oklch(58% .17 255);--accent-hover:oklch(50% .17 255);--danger:oklch(58% .19 25);--success:oklch(60% .14 155);--bg-glow:none;--font-display:"Iowan Old Style", "Charter", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--dark-bg:oklch(22% .03 260);--dark-surface:oklch(27% .035 258);--dark-surface-2:oklch(30% .035 258);--dark-text:oklch(93% .01 255);--dark-muted:oklch(68% .02 258);--dark-border:oklch(36% .035 258);--dark-accent:oklch(72% .16 255);--dark-accent-hover:oklch(78% .16 255);--dark-danger:oklch(70% .18 25);--dark-success:oklch(70% .14 155);--dark-bg-glow:radial-gradient(1100px 700px at 50% -12%, color-mix(in oklch, var(--dark-accent) 14%, transparent), transparent 62%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--dark-bg);--surface:var(--dark-surface);--surface-2:var(--dark-surface-2);--text:var(--dark-text);--muted:var(--dark-muted);--border:var(--dark-border);--accent:var(--dark-accent);--accent-hover:var(--dark-accent-hover);--danger:var(--dark-danger);--success:var(--dark-success);--bg-glow:var(--dark-bg-glow);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:var(--dark-bg);--surface:var(--dark-surface);--surface-2:var(--dark-surface-2);--text:var(--dark-text);--muted:var(--dark-muted);--border:var(--dark-border);--accent:var(--dark-accent);--accent-hover:var(--dark-accent-hover);--danger:var(--dark-danger);--success:var(--dark-success);--bg-glow:var(--dark-bg-glow);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background-color:var(--bg);background-image:var(--bg-glow);min-height:100vh;color:var(--text);justify-content:center;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex}main{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:.9rem;width:100%;max-width:420px;margin:6vh 1rem;padding:2rem;display:flex;box-shadow:0 1px 3px #0000000f}main:has(.board){max-width:fit-content}main.landing{max-width:1040px;box-shadow:none;background:0 0;border:none;padding:3rem 1.5rem}.hero-center{flex-direction:column;align-items:center;gap:.9rem;width:100%;max-width:640px;margin-inline:auto;display:flex}main.landing h1{font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.1}.rule{border:0;border-top:1px solid var(--border);width:100%;margin:.6rem 0}.grid-3{text-align:left;grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;display:grid}@media (width<=620px){.grid-3{grid-template-columns:1fr}}.feature-mark{border:1px solid var(--border);width:2.2rem;height:2.2rem;color:var(--accent);border-radius:10px;place-items:center;margin-bottom:.75rem;display:grid}.feature-mark svg{width:1.1rem;height:1.1rem}.feature h3{color:var(--text);margin:0 0 .3rem;font-size:1rem;font-weight:600}.feature p{color:var(--muted);margin:0;font-size:.85rem}@media (width<=480px){main{margin:3vh .5rem;padding:1rem}}.page-top{justify-content:space-between;align-items:center;width:100%;display:flex}h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.6rem}p{color:var(--muted);margin:0}form{flex-direction:column;gap:.6rem;width:100%;display:flex}input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:.6rem .8rem;font-size:1rem}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:1rem;font-weight:500}button:hover{background:var(--accent-hover)}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}button.secondary:hover{background:var(--bg)}button:disabled{opacity:.5;cursor:default}button.btn-danger{background:var(--danger);color:#fff}button.btn-danger:hover{background:color-mix(in oklch, var(--danger) 85%, black)}button.btn-resign{color:var(--danger);border:1px solid color-mix(in oklch, var(--danger) 45%, transparent);background:0 0}button.btn-resign:hover{background:color-mix(in oklch, var(--danger) 10%, transparent);border-color:var(--danger)}.quiet-link{color:var(--muted);align-items:center;gap:.35rem;margin-top:.9rem;font-size:.85rem;text-decoration:none;display:inline-flex}.quiet-link:hover{color:var(--text);text-decoration:none}.game-actions{justify-content:center;gap:.6rem;margin-top:1.1rem;display:flex}.promo-overlay{z-index:10;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.promo-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:.8rem;padding:1.2rem;display:flex}.promo-modal p{color:var(--text);margin:0;font-weight:600}.row{gap:.6rem;display:flex}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.error{color:var(--danger)}.stats{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:.4rem .9rem;font-size:.9rem}.result{color:var(--success);font-weight:600}.room-pill{background:color-mix(in oklch, var(--accent) 12%, transparent);color:var(--accent);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.7rem;display:inline-flex}.link-row{gap:.5rem;width:100%;display:flex}.link-row input{font-family:var(--font-mono);font-size:.8rem}.turn-badge{font-size:1rem;font-weight:600}.lead{font-size:.95rem;line-height:1.5}.field{flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;display:flex}.field label{color:var(--muted);font-size:.8rem}input.invalid{border-color:var(--danger)}.hint{color:var(--muted);font-size:.75rem}.hint.err{color:var(--danger)}.hint.ok{color:var(--success)}.form-error{background:color-mix(in oklch, var(--danger) 10%, transparent);width:100%;color:var(--danger);border-radius:8px;padding:.6rem .75rem;font-size:.85rem;line-height:1.4}.switch{margin:0;font-size:.875rem}.footnote{color:var(--muted);font-size:.75rem;font-family:var(--font-mono);margin:.4rem 0 0}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.75rem}.stat-grid{background:var(--border);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:1px;width:100%;display:grid;overflow:hidden}@media (width<=380px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-cell{background:var(--surface);text-align:center;padding:.75rem .5rem}.stat-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-size:1.4rem;font-weight:600}.stat-num.accent{color:var(--accent)}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem;font-size:.65rem}.brand.svelte-byj55g{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.brand.svelte-byj55g svg:where(.svelte-byj55g){width:1.4rem;height:1.4rem;color:var(--accent)}.theme-toggle.svelte-lu0t34{background:var(--surface);border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:border-color .15s,color .15s;display:inline-flex}.theme-toggle.svelte-lu0t34:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle.svelte-lu0t34 svg:where(.svelte-lu0t34){width:1.1rem;height:1.1rem}.piece-svg.svelte-6vg8yu{filter:drop-shadow(0 4px 4px #00000059);width:100%;height:100%;display:block}.piece-shadow.svelte-6vg8yu{fill:#00000047}.piece-svg.fill-w.svelte-6vg8yu .body{stroke:oklch(15% 0 0);stroke-width:2.5px;stroke-linejoin:round}.piece-svg.fill-b.svelte-6vg8yu .body{stroke:oklch(97% 0 0);stroke-width:2.5px;stroke-linejoin:round}.piece-svg.fill-w.svelte-6vg8yu .slit{stroke:oklch(15% 0 0)}.piece-svg.fill-b.svelte-6vg8yu .slit{stroke:oklch(97% 0 0)}.piece-svg.fill-w.svelte-6vg8yu .eye{fill:oklch(15% 0 0)}.piece-svg.fill-b.svelte-6vg8yu .eye{fill:oklch(97% 0 0)}.board-container.svelte-105szbu{flex-direction:column;align-items:center;gap:.5rem;display:flex}.theme-switch.svelte-105szbu{gap:.35rem;display:flex}.theme-option.svelte-105szbu{color:var(--muted);background:var(--surface-2,var(--bg));border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:500}.theme-option.active.svelte-105szbu{color:var(--accent-fg,#fff);background:var(--accent);border-color:var(--accent)}.board-container.svelte-105szbu{--board-size:min(90vmin, 580px)}@media (width<=743px){.board-container.svelte-105szbu{--board-size:min(calc(100vw - 7.85rem), 480px)}}@media (width<=480px){.board-container.svelte-105szbu{--board-size:min(calc(100vw - 4.85rem), 420px)}}.captured.svelte-105szbu{width:calc(var(--board-size) + 1.85rem);flex-wrap:wrap;gap:.2rem;min-height:1.8rem;display:flex}.captured-piece.svelte-105szbu{width:1.5rem;height:1.5rem}.board-frame.svelte-105szbu{--sq-light:#fff;--sq-dark:#1e1e1e;grid-template-columns:1.5rem var(--board-size);grid-template-rows:var(--board-size) 1.5rem;gap:.35rem;display:grid}.board-frame[data-board-theme=slate].svelte-105szbu{--sq-light:oklch(95% .006 250);--sq-dark:oklch(38% .032 258)}.board-frame[data-board-theme=forest].svelte-105szbu{--sq-light:oklch(94% .02 120);--sq-dark:oklch(40% .055 148)}.rank-labels.svelte-105szbu{flex-direction:column;grid-area:1/1;display:flex}.file-labels-spacer.svelte-105szbu{grid-area:2/1}.file-labels.svelte-105szbu{flex-direction:row;grid-area:2/2;display:flex}.rank-labels.svelte-105szbu span:where(.svelte-105szbu),.file-labels.svelte-105szbu span:where(.svelte-105szbu){color:var(--text);flex:1;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.board.svelte-105szbu{width:var(--board-size);aspect-ratio:1;background:var(--text);border:2px solid var(--text);-webkit-user-select:none;user-select:none;border-radius:10px;grid-area:1/2;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);gap:3px;display:grid;overflow:hidden;box-shadow:0 14px 32px -14px #0006}.square.svelte-105szbu{background:radial-gradient(125% 140% at 28% 20%, color-mix(in oklch, var(--sq-light) 100%, white 22%), var(--sq-light) 70%);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative}.square.dark.svelte-105szbu{background:radial-gradient(125% 140% at 28% 20%, color-mix(in oklch, var(--sq-dark) 100%, white 18%), var(--sq-dark) 70%)}.square.selected.svelte-105szbu{box-shadow:inset 0 0 0 3px var(--accent), 0 0 0 5px color-mix(in oklch, var(--accent) 30%, transparent)}.square.legal.svelte-105szbu:after{content:"";background:color-mix(in oklch, var(--accent) 70%, transparent);border-radius:50%;width:30%;height:30%;animation:1.6s ease-in-out infinite svelte-105szbu-legal-pulse;position:absolute;box-shadow:0 0 0 2px #ffffff8c}.square.legal.has-piece.svelte-105szbu:after{width:100%;height:100%;box-shadow:inset 0 0 0 4px color-mix(in oklch, var(--accent) 70%, transparent);background:0 0;border-radius:4px;animation:none}@keyframes svelte-105szbu-legal-pulse{0%,to{opacity:.75;transform:scale(.85)}50%{opacity:1;transform:scale(1.05)}}.square.last-move.svelte-105szbu{background:color-mix(in oklch, oklch(85% .15 95) 78%, var(--sq-light))}.square.dark.last-move.svelte-105szbu{background:color-mix(in oklch, oklch(85% .15 95) 55%, var(--sq-dark))}.square.check.svelte-105szbu{box-shadow:inset 0 0 0 3px var(--danger), 0 0 16px 2px color-mix(in oklch, var(--danger) 55%, transparent)}.piece.svelte-105szbu{cursor:grab;justify-content:center;align-items:center;width:82%;height:82%;transition:transform .12s;display:flex}.piece[draggable=true].svelte-105szbu:hover{transform:translateY(-4px)}.board.disabled.svelte-105szbu .square:where(.svelte-105szbu){cursor:default}.promo-options.svelte-105szbu{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.promo-choice.svelte-105szbu{background:var(--surface-2,var(--bg));border:1px solid var(--border);cursor:pointer;border-radius:8px;width:3rem;height:3rem;padding:.4rem}.promo-choice.svelte-105szbu:hover{background:var(--bg)}
