.g-gomoku{--gmk-wood:#e2b868;--gmk-line:#4a3716;--gmk-mark:#d23b2e;margin:0 auto;max-width:100%;border-radius:8px;touch-action:manipulation;line-height:0;box-shadow:0 2px 8px rgba(0,0,0,.25);outline:none;cursor:pointer}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .g-gomoku{--gmk-wood:#b88d48;--gmk-line:#2f2209}}:root[data-theme=dark] .g-gomoku{--gmk-wood:#b88d48;--gmk-line:#2f2209}.g-gomoku:focus-visible{outline:3px solid #7cc7ff;outline-offset:2px}.g-gomoku .gmk-svg{display:block;width:100%;height:100%}.g-gomoku .gmk-wood{fill:var(--gmk-wood)}.g-gomoku .gmk-grid line{stroke:var(--gmk-line);stroke-width:.045;stroke-linecap:square}.g-gomoku .gmk-stars circle{fill:var(--gmk-line)}.g-gomoku .gmk-stone.is-black{stroke:#000;stroke-width:.02;filter:drop-shadow(.03px .05px .04px rgba(0,0,0,.5))}.g-gomoku .gmk-stone.is-white{stroke:#8f8f86;stroke-width:.03;filter:drop-shadow(.03px .05px .04px rgba(0,0,0,.45))}.g-gomoku .gmk-last{stroke:none}.g-gomoku .gmk-last.is-black{fill:#ff5a4a}.g-gomoku .gmk-last.is-white{fill:var(--gmk-mark)}.g-gomoku .gmk-ghost{pointer-events:none}.g-gomoku .gmk-ghost.is-black{fill:#000}.g-gomoku .gmk-ghost.is-white{fill:#fff;stroke:#777;stroke-width:.03}.g-gomoku .gmk-ghost.is-hover{opacity:.38}.g-gomoku .gmk-ghost.is-pending{opacity:.62;stroke:#2a7fd6;stroke-width:.1}.g-gomoku .gmk-hint{fill:none;stroke:#1c7ed6;stroke-width:.1;stroke-dasharray:.22 .14;animation:gmk-pulse 900ms ease-in-out infinite alternate}.g-gomoku .gmk-cursor{fill:none;stroke:#1c7ed6;stroke-width:.09}.g-gomoku .gmk-winline{stroke:var(--gold);stroke-width:.12;stroke-linecap:round;opacity:.9}.g-gomoku .gmk-winring{fill:none;stroke:var(--gold);stroke-width:.1}@keyframes gmk-pulse{from{opacity:.45}to{opacity:1}}@media(prefers-reduced-motion:reduce){.g-gomoku .gmk-hint{animation:none}}.gmk-dialog{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:16px 18px;max-width:min(420px,calc(100vw - 24px));width:100%}.gmk-dialog::backdrop{background:rgba(0,0,0,.45)}.gmk-form h2{margin:0 0 10px;font-size:1.2rem}.gmk-field{display:grid;gap:4px;margin:0 0 10px;font-size:.9rem;color:var(--muted)}.gmk-field select{width:100%}.gmk-check{display:flex;gap:10px;align-items:flex-start;margin:4px 0 10px;color:var(--ink-2);font-size:.95rem}.gmk-check input{width:20px;height:20px;margin-top:2px;flex:none}.gmk-note{margin:0 0 12px;font-size:.85rem;color:var(--muted)}