.board[data-v-29dbc94e]{aspect-ratio:1;-webkit-user-select:none;user-select:none;border:2px solid #5a4632;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:min(92vw,520px);display:grid}.sq[data-v-29dbc94e]{cursor:default;border:0;border-radius:0;justify-content:center;align-items:center;min-width:0;min-height:0;margin:0;padding:0;font-size:min(9vw,52px);line-height:1;display:flex;position:relative}.sq.active[data-v-29dbc94e]{cursor:pointer}.light[data-v-29dbc94e]{background:#ecdab9}.dark[data-v-29dbc94e]{background:#ae8a68}.sel[data-v-29dbc94e]{background:#e8e26a!important}.last[data-v-29dbc94e]{background:#cdd16f!important}.check[data-v-29dbc94e]{background:#e06060!important}.dot[data-v-29dbc94e]:after{content:"";background:#00000040;border-radius:50%;width:26%;height:26%;position:absolute}.cap[data-v-29dbc94e]:after{content:"";border:4px solid #00000040;border-radius:50%;position:absolute;inset:4%}.pw[data-v-29dbc94e]{color:#fff;-webkit-text-stroke:1.5px #222}.pb[data-v-29dbc94e]{color:#111}.coord[data-v-29dbc94e]{color:#0000008c;font-family:system-ui,sans-serif;font-size:11px;position:absolute}.file[data-v-29dbc94e]{bottom:2px;right:3px}.rank[data-v-29dbc94e]{top:2px;left:3px}.sq[data-v-29dbc94e]:focus-visible{outline-offset:-3px;outline:3px solid #3b6fd6}.promo[data-v-29dbc94e]{align-items:center;gap:8px;margin-top:10px;display:flex}.promo-btn[data-v-29dbc94e]{padding:4px 10px;font-size:28px;line-height:1}:root{--bg:#f6f4f0;--panel:#fff;--text:#1d1d1b;--muted:#6b6860;--border:#d9d5cc;--accent:#2f5fb8;--danger:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1b1b1a;--panel:#252524;--text:#ecebe8;--muted:#a4a19a;--border:#3d3c39;--accent:#6f9bf0;--danger:#f08a82}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}main{max-width:1000px;margin:0 auto;padding:20px 16px 40px}h1{margin:0 0 16px;font-size:24px}h2{margin:0 0 10px;font-size:16px}.loader{background:var(--accent);opacity:0;width:0;height:3px;transition:opacity .2s;position:fixed;top:0;left:0}.loader.on{opacity:1;animation:1.2s ease-in-out infinite load}@keyframes load{0%{width:0;left:0}50%{width:60%;left:20%}to{width:0;left:100%}}.lobby{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.game{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.right{flex-direction:column;flex:1;gap:12px;min-width:280px;display:flex}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:7px 9px}button{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:7px 14px;font-size:14px;display:inline-flex}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;align-self:flex-start}button.small{padding:3px 8px;font-size:12px}button.link{color:inherit;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.row input{flex:1;min-width:0}.status{margin:0 0 10px;font-weight:600}.status.over{color:var(--accent)}.muted{color:var(--muted);margin:0;font-size:13px}.error{color:var(--danger);margin:8px 0 0;font-size:14px}.kv{grid-template-columns:50px 1fr auto;align-items:center;gap:8px;font-size:14px;display:grid}.kv code{overflow-wrap:anywhere}.btns{gap:4px;display:flex}code,pre{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:13px}pre{background:var(--bg);border-radius:6px;margin:0;padding:8px;overflow-x:auto}summary{cursor:pointer;font-size:14px;font-weight:600}.moves{max-height:260px;margin:0;padding:0;font-family:ui-monospace,Consolas,monospace;font-size:14px;list-style:none;overflow-y:auto}.moves li{grid-template-columns:36px 70px 70px;display:grid}.moves li span:first-child{color:var(--muted)}@media (prefers-reduced-motion:reduce){.loader.on,.spinner{animation-duration:3s}}.overlay{z-index:10;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.prompt-window{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;width:100%;max-width:640px;padding:16px 18px;display:flex}.prompt-head{justify-content:space-between;align-items:center;display:flex}.prompt-head h2{margin:0}.prompt-text{resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;min-height:300px;color:var(--text);white-space:pre;border-radius:6px;padding:10px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:13px;line-height:1.5;overflow:auto}.namebar{align-items:center;gap:8px;padding:6px 4px;font-size:15px;display:flex}.namebar.active .pname{font-weight:500}.namebar .chip{border:1px solid var(--muted);border-radius:50%;flex:none;width:14px;height:14px}.namebar .wchip{background:#fff}.namebar .bchip{background:#111}.namebar .pname{overflow-wrap:anywhere}.namebar .tomove{color:var(--text-secondary,var(--muted));background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1px 8px;font-size:12px}.chat-log{flex-direction:column;gap:8px;max-height:260px;margin-bottom:10px;display:flex;overflow-y:auto}.chat-msg{font-size:14px;line-height:1.4}.chat-from{margin-right:6px;font-weight:500}.chat-from.w{color:var(--text)}.chat-from.b{color:var(--text-secondary,var(--muted))}.chat-text{overflow-wrap:anywhere}
