:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (max-width:1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{background:#1a1a2e;margin:0}#root{box-sizing:border-box;direction:ltr;flex-direction:column;width:100%;max-width:100%;height:100%;min-height:0;display:flex;overflow:hidden}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (max-width:1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (max-width:1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--board-max-h:calc(100dvh - var(--board-height-budget,96px));--board-vw-unit:1vw;--board-vh-unit:1vh}html{overscroll-behavior-y:none}html,body{height:100%}body{height:100vh;overscroll-behavior:none;height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:#0b0c2a;justify-content:center;font-family:Segoe UI,sans-serif;display:flex;overflow:hidden}button{touch-action:manipulation}:root{--focus-in:#fff;--focus-out:#101828}button:focus-visible,a[href]:focus-visible,summary:focus-visible,select:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible,input[type=button]:focus-visible,input[type=submit]:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=radio]:focus-visible,[role=switch]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,[data-nav]:focus-visible{outline:2px solid var(--focus-in)!important;outline-offset:0!important;box-shadow:0 0 0 4px var(--focus-out)!important}.help-tabpanel.help-tabpanel:focus-visible,.stats-body.stats-body:focus-visible,[data-nav][data-nav]:focus-visible{outline-offset:-3px!important;box-shadow:inset 0 0 0 5px var(--focus-out)!important}svg [data-nav][data-nav]:focus-visible{stroke:var(--focus-in);stroke-width:4px;stroke-opacity:1;paint-order:stroke;filter:drop-shadow(0 0 2px var(--focus-out)) drop-shadow(0 0 2px var(--focus-out));box-shadow:none!important;outline:none!important}[data-nav]:focus:not(:focus-visible),[role=group][tabindex]:focus:not(:focus-visible){outline:none}.board,.tak-board,.duel-board,.pente-board,.c6-board,.go-board,.c4-board,.tf-board,.alq-board,.mo-board,.fg-board,.hm-board,.bs-board,.tg-board,.mc-board,.square,.tak-cell,.ttt-square,.rev-square,.tf-cell{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;direction:ltr}.board-outer,.ttt-board-outer{direction:ltr}.celestial{transition:transform .7s ease-out}@media (prefers-reduced-motion:reduce){.celestial{transition:none}}.sky-bg{z-index:0;pointer-events:none;width:100%;height:100%;transition:opacity .2s;position:fixed;inset:0}@media (max-height:700px) and (min-aspect-ratio:3/2){.sky-bg{opacity:.5}}.sky-ev{pointer-events:none}.sky-ev-plane{animation:sky-plane var(--dur,9s) linear forwards;will-change:transform}.sky-ev-star{will-change:transform, opacity;animation:.6s ease-out forwards sky-star}@keyframes sky-plane{0%{transform:translateX(var(--x0))}to{transform:translateX(var(--x1))}}@keyframes sky-star{0%{opacity:0;transform:translate(0)}15%{opacity:1}to{transform:translateX(var(--len));opacity:0}}@media (prefers-reduced-motion:reduce){.sky-ev{display:none}}.weather-layer{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.weather-dim{background:#080c1242;position:absolute;inset:0}.weather-cloud{top:var(--cloud-top);width:var(--cloud-w);height:calc(var(--cloud-w) * .42);opacity:var(--cloud-op);filter:blur(1.5px);animation:weather-drift var(--cloud-dur) linear infinite;animation-delay:var(--cloud-delay);background:#dde4e9;border-radius:999px;position:absolute;left:-25vw}.weather-cloud:before,.weather-cloud:after{content:"";background:inherit;border-radius:999px;position:absolute}.weather-cloud:before{width:60%;height:130%;top:-45%;left:8%}.weather-cloud:after{width:45%;height:110%;top:-35%;right:10%}@keyframes weather-drift{0%{transform:translate(0)}to{transform:translate(150vw)}}.weather-drop{top:-5%;left:var(--x);width:2px;height:16px;animation:weather-rain-fall var(--dur) linear infinite;animation-delay:var(--delay);background:linear-gradient(#bedcff00,#bedcffbf);border-radius:2px;position:absolute}@keyframes weather-rain-fall{0%{opacity:.9;transform:translateY(0)}to{opacity:.5;transform:translateY(115vh)}}.weather-flake{top:-5%;left:var(--x);animation:weather-sway var(--sway-dur) ease-in-out infinite alternate;animation-delay:var(--sway-delay);position:absolute}.weather-flake-inner{width:var(--size);height:var(--size);opacity:var(--op);animation:weather-snow-fall var(--dur) linear infinite;animation-delay:var(--delay);background:#fff;border-radius:50%}@keyframes weather-sway{0%{transform:translate(-14px)}to{transform:translate(14px)}}@keyframes weather-snow-fall{0%{transform:translateY(0)}to{transform:translateY(115vh)}}.weather-fog-dim{background:#b4b9be52;position:absolute;inset:0}.weather-fog-band{left:-15%;bottom:var(--fog-bottom);width:130%;height:var(--fog-height);opacity:var(--fog-op);filter:blur(var(--fog-blur));animation:weather-fog-drift var(--fog-dur) ease-in-out infinite alternate;animation-delay:var(--fog-delay);background:#d2d6da8c;border-radius:50%;position:absolute}@keyframes weather-fog-drift{0%{transform:translate(-3%)}to{transform:translate(3%)}}@media (prefers-reduced-motion:reduce){.weather-cloud,.weather-drop,.weather-flake,.weather-flake-inner,.weather-fog-band{animation:none!important}.mo-phase-toast{opacity:1;animation:none!important}}.app{flex-direction:column;align-items:center;width:100%;max-width:1060px;height:100%;min-height:0;padding:24px 16px;display:flex;position:relative;overflow-y:auto}.sidebar-title{color:#e8d5a3;letter-spacing:1px;text-align:center;font-size:20px;font-weight:700}.game-layout{direction:ltr;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:28px;width:100%;min-width:0;min-height:0;display:flex}[dir=rtl] .control-dock,[dir=rtl] .sidebar{direction:rtl}.board-outer{flex-direction:row;flex-shrink:0;align-items:flex-start;gap:6px;display:flex}.board-col{flex-direction:column;gap:6px;display:flex}.board-watermark{text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:1px;color:#ffffff3d;text-shadow:0 2px 8px #00000059,0 0 2px #00000040;z-index:6;justify-content:center;align-items:center;padding:8%;font-size:clamp(16px,6vw,52px);font-weight:800;line-height:1.15;display:flex;position:absolute;inset:0}.board-watermark--check{color:#ffd65966}.board-watermark--end{color:#7fc97f73}.game-layout .board-watermark.board-watermark--morris{box-sizing:border-box;color:#fff8e6f5;width:max-content;max-width:22%;font-size:max(8.5px, calc(var(--mo-bw,320px) * .029));letter-spacing:0;text-shadow:0 1px 2px #000000e6,0 0 5px #0009;-webkit-text-stroke:.3px #0000008c;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;text-wrap:balance;background:#18100894;border-radius:8px;padding:.2em .3em;line-height:1.15;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.game-layout .board-watermark.board-watermark--morris.board-watermark--check{color:#ffd659}.game-layout .board-watermark.board-watermark--morris.board-watermark--end{color:#a6e9a6;font-size:max(8px, calc(var(--mo-bw,320px) * .023))}[dir=rtl] .board-watermark{letter-spacing:0;direction:rtl}.coord-ranks{height:min(720px, calc(var(--board-vw-unit,1vw) * 78), var(--board-max-h));flex-direction:column;justify-content:space-around;padding:0 2px;display:flex}.coord-files{width:min(720px, calc(var(--board-vw-unit,1vw) * 78), var(--board-max-h));flex-direction:row;justify-content:space-around;padding:0 2px;display:flex}.coord-cell{color:#a0aec0;text-align:center;-webkit-user-select:none;user-select:none;min-width:16px;font-size:13px;font-weight:700;line-height:1;transition:color .4s}.app[data-theme=day] .coord-cell{color:#2d2416}.board{width:min(720px, calc(var(--board-vw-unit,1vw) * 78), var(--board-max-h));aspect-ratio:1;border:3px solid #4a3728;border-radius:4px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:relative;overflow:hidden;box-shadow:0 12px 40px #0009}.ch-board,.rev-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));border:1px solid #4a372859}.square{cursor:pointer;justify-content:center;align-items:center;transition:filter .1s;display:flex;position:relative}.square:hover{filter:brightness(1.12)}.square.light{background:#f0d9b5}.square.dark{background:#b58863}.square.selected{background:#7fc97f!important}.square.in-check{background:radial-gradient(circle,#f44 0%,#c00 100%)!important}.piece{-webkit-user-select:none;user-select:none;cursor:pointer;z-index:1;font-size:clamp(28px,6vw,52px);line-height:1;transition:transform .1s}.piece:hover{transform:scale(1.08)}.move-layer{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.move-ghost{pointer-events:none;will-change:transform;justify-content:center;align-items:center;display:flex;position:absolute}.move-ghost .piece,.move-ghost .ch-piece,.move-ghost .tf-piece{transition:none}.move-look{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.move-appear{pointer-events:none;position:absolute;inset:0}.piece.piece--arriving,.ch-piece.piece--arriving,.tf-piece.piece--arriving,.hm-piece.piece--arriving,.alq-piece.piece--arriving,.fg-piece.piece--arriving,.fg-fox-glyph.piece--arriving,.duel-die.piece--arriving,.qr-pawn.piece--arriving,.qr-wall.piece--arriving{visibility:hidden}.qr-ghost-inner{box-sizing:border-box;border:1px solid #0000;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.dot{z-index:2;pointer-events:none;background:#00000038;border-radius:50%;width:28%;height:28%;position:absolute}.capture-ring{z-index:2;pointer-events:none;border:5px solid #00000038;border-radius:50%;position:absolute;inset:0}.sidebar{flex-direction:column;flex-shrink:0;gap:16px;width:200px;display:flex}.status{text-align:center;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:600;line-height:1.4}.status--normal{color:#e2e8f0;background:#2d3748}.status--check{color:#fefcbf;background:#744210}.status--end{color:#c6f6d5;background:#22543d}.btn-ctrl{cursor:pointer;color:#e2e8f0;background:#2d3748;border:none;border-radius:7px;padding:9px 12px;font-size:13px;font-weight:600;transition:background .15s}@media (hover:hover) and (pointer:fine){.btn-ctrl:hover:not(:disabled){background:#4a5568}}.btn-ctrl:disabled{opacity:.35;cursor:not-allowed}.btn-new{background:#2c5282}.btn-flip{background:#2d4a3e}@media (hover:hover) and (pointer:fine){.btn-new:hover{background:#2b6cb0}.btn-flip:hover{background:#3a6150}}.btn-save{color:#f0fff4;background:#276749}.btn-quiet{color:#a0aec0;background:0 0}@media (hover:hover) and (pointer:fine){.btn-save:hover:not(:disabled){background:#2f855a}.btn-quiet:hover:not(:disabled){color:#e2e8f0;background:#2d3748}}.save-leave{max-height:calc(100vh - 16px);box-sizing:border-box;max-height:calc(100dvh - 16px);padding:20px 18px;overflow-y:auto}.save-leave-actions{flex-direction:column;gap:8px;margin-top:14px;display:flex}.save-leave-actions .btn-ctrl{white-space:normal;overflow-wrap:anywhere;width:100%;min-height:44px;font-size:14px}.save-leave-actions [aria-disabled=true]{opacity:.6;cursor:progress}.save-leave-hint{color:#fbd38d;text-align:center;border:1px dashed #4a5568;border-radius:7px;margin:0;padding:10px 12px;font-size:13px;line-height:1.35}.dock-flyout-error{z-index:150;color:#feb2b2;text-align:center;overflow-wrap:break-word;background:#742a2a;border-radius:6px;width:max-content;max-width:min(220px,100vw - 64px);margin-top:6px;padding:6px 10px;font-size:12px;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0009}.dock-flyout-error--toast{top:calc(8px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));width:fit-content;max-width:min(360px, calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));z-index:450;cursor:pointer;margin:0 auto;padding:8px 12px;font-size:13px;line-height:1.35;position:fixed}.toast-stack{top:calc(8px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));width:fit-content;max-width:min(360px, calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));z-index:450;pointer-events:none;flex-direction:column;align-items:center;gap:6px;margin:0 auto;display:flex;position:fixed}.toast-stack.toast-stack--right{left:var(--toast-x);max-width:min(360px, calc(100vw - var(--toast-x) - 8px - env(safe-area-inset-right,0px)));align-items:flex-start;margin:0;right:auto}.toast-stack.toast-stack--below{top:var(--toast-y)}.toast-stack>.dock-flyout-error--toast{pointer-events:auto;max-width:100%;margin:0;position:static}.call-incoming{top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));z-index:150;background:#1a202c;border:1px solid #4a5568;border-radius:10px;flex-direction:column;gap:10px;min-width:200px;max-width:calc(100vw - 32px);padding:14px;animation:1.4s ease-in-out infinite call-pulse;display:flex;position:fixed;box-shadow:0 8px 24px #0009}@keyframes call-pulse{0%,to{box-shadow:0 8px 24px #0009}50%{box-shadow:0 8px 24px #7fc97f80}}.call-incoming-text{color:#e2e8f0;text-align:center;font-weight:700}.call-incoming-actions{gap:8px;display:flex}.call-btn{cursor:pointer;border:none;border-radius:7px;flex:1;padding:8px 10px;font-size:13px;font-weight:700}.call-btn-accept{color:#f0fff4;background:#2f855a}.call-btn-accept:hover{background:#38a169}.call-btn-decline{color:#fff5f5;background:#742a2a}.call-btn-decline:hover{background:#9b2c2c}.call-pill{top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));z-index:150;overflow-wrap:break-word;color:#e2e8f0;cursor:pointer;background:#1a202c;border:1px solid #4a5568;border-radius:999px;max-width:calc(100vw - 32px);padding:8px 14px;font-size:13px;font-weight:600;position:fixed;box-shadow:0 8px 24px #0009}.dock-flyout-error--toast[data-notice=reconnecting],.dock-flyout-error--toast[data-notice=displaced],.dock-flyout-error--toast[data-notice^=restart-]{color:#faf089;background:#744210}.dock-flyout-error--toast[data-notice=reconnecting],.dock-flyout-error--toast[data-notice=displaced],.dock-flyout-error--toast[data-notice=ended],.dock-flyout-error--toast[data-notice^=restart-]{cursor:default}.dock-flyout-error--toast[data-notice=saved]{color:#c6f6d5;background:#22543d}.dock-flyout-error--toast[data-notice=saved-warn]{color:#faf089;background:#744210}.dock-flyout-error--toast.resume-toast{color:#e6fffa;cursor:default;background:#1c4532;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;display:flex}.resume-toast-text{text-align:start;overflow-wrap:anywhere;cursor:pointer;flex:140px;min-width:0}.resume-toast-join{flex:none;min-height:34px}.home-resume{border-color:#3b6b4f}.home-resume-text{flex:160px}.call-panel{top:var(--cp-top,calc(16px + env(safe-area-inset-top)));right:var(--cp-right,calc(16px + env(safe-area-inset-right)));z-index:150;border-radius:calc(12px * var(--cp-k,1));padding:calc(10px * var(--cp-k,1));width:var(--cp-width,min(400px, 46vw));height:var(--cp-height,min(500px, 60vh));--cp-btn:42px;--cp-btn-font:18px;background:#1a202c;border:1px solid #4a5568;flex-direction:column;transition:top .25s,right .25s,width .25s,height .25s,border-radius .25s,background-color .25s;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 24px #0009}.call-panel:not(.call-panel-fullscreen)[data-call-mode=corner]{background:#1a202cb8}.call-panel:not(.call-panel-fullscreen)[data-call-mode=corner] .call-video-wrap{background:#0f142099}.call-panel:not(.call-panel-fullscreen)[data-call-mode=corner] .call-ctrl-btn{width:max(36px, calc(var(--cp-btn,42px) * var(--cp-k,1)));height:max(36px, calc(var(--cp-btn,42px) * var(--cp-k,1)));font-size:max(15px, calc(var(--cp-btn-font,18px) * var(--cp-k,1)));flex-shrink:0}.call-panel:not(.call-panel-fullscreen)[data-call-mode=corner] .call-controls{gap:max(4px, calc(6px * var(--cp-k,1)));flex-wrap:wrap}.call-panel:not(.call-panel-fullscreen)[data-call-mode=corner] .report-link{box-sizing:border-box;height:44px;padding:0}.call-panel.call-panel-fullscreen{top:env(safe-area-inset-top);right:env(safe-area-inset-right);width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right));height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));z-index:300;padding:10px calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));border-radius:0}.call-video-wrap{border-radius:calc(8px * var(--cp-k,1));touch-action:manipulation;background:#0f1420;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.call-video-remote{object-fit:cover;width:100%;height:100%;display:block}.call-video-placeholder{color:#a0aec0;height:100%;font-size:max(9px, calc(13px * var(--cp-k,1)));text-align:center;padding:calc(8px * var(--cp-k,1));justify-content:center;align-items:center;display:flex}.call-video-local{bottom:calc(6px * var(--cp-k,1));right:calc(6px * var(--cp-k,1));aspect-ratio:4/3;object-fit:cover;border-radius:calc(6px * var(--cp-k,1));border:max(1px, calc(2px * var(--cp-k,1))) solid #1a202c;background:#0f1420;width:30%;position:absolute;transform:scaleX(-1)}.call-panel-fullscreen .call-video-local{width:min(30%,160px)}.call-fullscreen-exit{background:#1a202cbf;position:absolute;top:8px;left:8px}.call-controls{gap:calc(6px * var(--cp-k,1));margin-top:calc(8px * var(--cp-k,1));flex-shrink:0;justify-content:center;display:flex}.call-ctrl-btn{width:calc(var(--cp-btn,42px) * var(--cp-k,1));height:calc(var(--cp-btn,42px) * var(--cp-k,1));color:#e2e8f0;font-size:calc(var(--cp-btn-font,18px) * var(--cp-k,1));cursor:pointer;background:#2d3748;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.call-ctrl-btn:hover{background:#4a5568}.call-ctrl-off{background:#742a2a}.call-ctrl-off:hover,.call-ctrl-end{background:#9b2c2c}.call-ctrl-end:hover{background:#c53030}.call-link{top:calc(6px * var(--cp-k,1));max-width:calc(100% - 12px * var(--cp-k,1));box-sizing:border-box;align-items:center;gap:calc(6px * var(--cp-k,1));padding:calc(3px * var(--cp-k,1)) calc(8px * var(--cp-k,1));color:#e2e8f0;font-size:max(11px, calc(12px * var(--cp-k,1)));pointer-events:none;background:#0f1420c7;border-radius:999px;flex-wrap:nowrap;line-height:1.25;display:flex;position:absolute;inset-inline-start:calc(6px * var(--cp-k,1))}.call-link-dot{width:max(6px, calc(9px * var(--cp-k,1)));height:max(6px, calc(9px * var(--cp-k,1)));background:#48bb78;border-radius:50%;flex:none}.call-link[data-link=live]{padding:calc(5px * var(--cp-k,1))}.call-link[data-link=connecting] .call-link-dot,.call-link[data-link=recovering] .call-link-dot{background:#ecc94b;animation:1.2s ease-in-out infinite call-link-pulse}.call-link-status{align-items:center;gap:calc(6px * var(--cp-k,1));min-width:0;display:flex}.call-link[data-link=lost] .call-link-status{flex:auto}.call-link-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.call-link-text{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.call-link[data-link=lost]{top:auto;bottom:calc(6px * var(--cp-k,1));background:#742a2aeb;max-width:none;inset-inline-end:calc(6px * var(--cp-k,1))}.call-link[data-link=lost] .call-link-text{flex:auto}.call-video-wrap:has(.call-link[data-link=lost]) .call-video-local{visibility:hidden}.call-link[data-link=lost] .call-link-dot{background:#fc8181;width:7px;height:7px}.call-link[data-link=lost]{gap:4px;padding:2px 3px 2px 7px;font-size:10px}.call-link[data-link=lost] .call-link-status{gap:4px}.call-link[data-link=lost] .call-redial{min-height:26px;padding:0 8px;font-size:10px}.call-video-wrap{container-type:inline-size}@container (width>=181px){.call-link[data-link=lost],.call-link[data-link=lost] .call-redial{font-size:max(11px, calc(12px * var(--cp-k,1)))}}.call-redial{white-space:nowrap;pointer-events:auto;min-height:max(28px, calc(32px * var(--cp-k,1)));padding:0 calc(10px * var(--cp-k,1));color:#1a202c;font:inherit;cursor:pointer;background:#e2e8f0;border:0;border-radius:999px;flex:none;font-weight:600}@keyframes call-link-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.call-link[data-link=connecting] .call-link-dot,.call-link[data-link=recovering] .call-link-dot{animation:none}}.call-error{margin-top:calc(8px * var(--cp-k,1));font-size:max(9px, calc(12px * var(--cp-k,1)));color:#feb2b2;padding:calc(6px * var(--cp-k,1)) calc(8px * var(--cp-k,1));border-radius:calc(6px * var(--cp-k,1));text-align:center;overflow-wrap:break-word;background:#742a2a;flex:0 auto;min-height:0;max-height:40%;overflow-y:auto}@media (max-width:640px){.call-panel{width:var(--cp-width,min(220px, 60vw));height:var(--cp-height,min(260px, 50vh));--cp-btn:34px;--cp-btn-font:15px}}.promotion-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.promotion-dialog{text-align:center;background:#2d3748;border-radius:12px;padding:24px 32px;box-shadow:0 20px 60px #000000b3}.start-confirm{max-width:min(360px,90vw)}.start-confirm-guest{overflow-wrap:anywhere;justify-content:center;align-items:center;gap:8px;margin-bottom:10px;font-size:15px;font-weight:600;display:flex}.start-confirm-title{font-size:16px;font-weight:600}.start-confirm-note{color:#a0aec0;font-size:13px}.start-confirm-timer{color:#718096;margin-top:10px;margin-bottom:0;font-size:12px}.promotion-dialog p{color:#e2e8f0;margin-bottom:16px;font-size:15px}.promotion-pieces{justify-content:center;gap:12px;display:flex}.promo-btn{cursor:pointer;background:#4a5568;border:none;border-radius:8px;width:72px;height:72px;font-size:48px;line-height:1;transition:background .15s,transform .1s}.promo-btn:hover{background:#718096;transform:scale(1.1)}.control-dock{flex-direction:column;flex-shrink:0;gap:10px;padding-top:4px;display:flex}.dock-flyout{position:relative}.dock-menu{z-index:50;min-width:170px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 32px - env(safe-area-inset-bottom,0px));padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));background:#1a202c;border:1px solid #4a5568;border-radius:8px;flex-direction:column;gap:4px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0009}html[data-dock-menu-above] .dock-menu{top:auto;bottom:var(--dock-menu-bottom);max-height:var(--dock-menu-max-h);transform:translate(-50%)}.dock-menu-text{min-width:200px;max-width:240px;padding:12px 16px}.dock-menu-text h3{color:#a0aec0;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px}.mp-panel{flex-direction:column;gap:8px;width:min(260px,100vw - 46px);min-width:0;max-width:none;display:flex}.mp-panel h3{color:#a0aec0;text-transform:uppercase;letter-spacing:1px;font-size:12px}.mp-label{color:#a0aec0;font-size:12px}.mp-input{color:#e2e8f0;background:#0f1420;border:1px solid #4a5568;border-radius:6px;width:100%;padding:8px 10px;font-size:13px}.mp-status{color:#e2e8f0;font-size:13px;line-height:1.4}.mp-room-code{letter-spacing:3px;color:#e8d5a3;text-align:center;-webkit-user-select:text;user-select:text;padding:6px 0;font-size:28px;font-weight:700}.mp-code-row{align-items:stretch;gap:6px;display:flex}.mp-code-row .mp-input{text-transform:uppercase;letter-spacing:2px;flex:auto;min-width:0}.mp-code-row .btn-ctrl{flex:none}.mp-advanced{border-top:1px solid #2d3748;padding-top:8px}.mp-advanced>summary{color:#718096;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;list-style:none}.mp-advanced>summary::-webkit-details-marker{display:none}.mp-advanced>summary:before{content:"▸";margin-inline-end:5px;display:inline-block}.mp-advanced[open]>summary:before{content:"▾"}[dir=rtl] .mp-advanced>summary:before{content:"◂"}.mp-advanced>summary:hover{color:#a0aec0}.mp-advanced>:not(summary){margin-top:6px}.mp-advanced-row{gap:6px;display:flex}.mp-advanced-row .btn-ctrl{flex:1 1 0;padding:6px 8px;font-size:12px}.mp-advanced-row .btn-ctrl:disabled{opacity:.45;cursor:default}.mp-advanced-note{color:#718096;font-size:11px;line-height:1.35}.chat-panel{width:min(560px,94vw);max-width:min(560px,94vw)}.chat-list{max-height:min(62vh,640px);flex-direction:column;gap:7px;max-height:min(62dvh,640px);padding-inline-end:2px;display:flex;overflow-y:auto}.chat-empty{color:#718096;text-align:center;padding:12px 0;font-size:12px}.chat-line{background:#1a202c;border-radius:10px;flex-direction:column;align-self:flex-start;gap:2px;max-width:88%;padding:7px 11px;display:flex}.chat-mine{background:#2c5282;align-self:flex-end}.chat-from{color:#a0aec0;align-items:center;gap:6px;min-height:0;font-size:11px;display:flex}.chat-mine .chat-from{color:#bee3f8}.chat-text{color:#e2e8f0;word-break:break-word;font-size:15px;line-height:1.4}.chat-form{gap:6px;display:flex}.chat-form .mp-input{flex:auto;min-width:0;font-size:16px}.chat-form .btn-ctrl{flex:none}.chat-unread{top:-2px;color:#fff;text-align:center;pointer-events:none;background:#e53e3e;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;inset-inline-end:-2px}.mp-invite-row{gap:6px;display:flex}.mp-invite-row .btn-ctrl{flex:1 1 0}.mp-error{color:#feb2b2;overflow-wrap:break-word;background:#742a2a;border-radius:6px;padding:6px 8px;font-size:12px}.mp-privacy-link{color:#a0aec0;align-self:flex-start;padding:4px 0;font-size:12px}.mp-privacy-link:hover{color:#cbd5e0}.mp-danger-link{color:#a0aec0;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:12px;text-decoration:underline}.mp-danger-link:hover{color:#feb2b2}.mp-delete-panel{background:#742a2a24;border:1px solid #742a2a;border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.mp-delete-title{color:#feb2b2;font-size:13px}.mp-delete-text{color:#cbd5e0;margin:0;font-size:12px;line-height:1.45}.mp-delete-actions{gap:8px;display:flex}.mp-unlink-panel{background:#4a556824;border-color:#4a5568}.mp-unlink-panel .mp-delete-title{color:#e2e8f0}.mp-merge-actions{flex-wrap:wrap}.mp-merge-actions .btn-ctrl{white-space:normal;flex:8.5em;min-width:0;line-height:1.2}.mp-unlink-confirm:disabled{opacity:.5;cursor:default}.mp-delete-actions .btn-ctrl{flex:1}.mp-delete-confirm{color:#fed7d7;background:#742a2a}.mp-delete-confirm:disabled{opacity:.5;cursor:default}.report-link{color:#a0aec0;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:6px 0 2px;font-size:12px;text-decoration:underline}.report-link:hover{color:#feb2b2}.call-panel .report-link{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:max(9px, calc(12px * var(--cp-k,1)));padding:calc(6px * var(--cp-k,1)) 0 calc(2px * var(--cp-k,1));flex-shrink:0;overflow:hidden}.call-panel>.report-dialog{overflow-wrap:anywhere;min-height:0;max-height:75%;margin-top:calc(6px * var(--cp-k,1));flex:0 auto;overflow-y:auto}.call-panel .report-reason{min-width:0}.call-panel .report-actions .btn-ctrl{text-overflow:ellipsis;min-width:0;overflow:hidden}.report-dialog{background:#742a2a24;border:1px solid #742a2a;border-radius:6px;flex-direction:column;gap:8px;margin-top:6px;padding:10px;display:flex}.report-title{color:#feb2b2;font-size:13px}.report-reasons{flex-wrap:wrap;gap:6px;display:flex}.report-reason{color:#cbd5e0;cursor:pointer;background:#2d3748;border:1px solid #4a5568;border-radius:6px;flex:auto;min-width:96px;padding:8px 10px;font-size:12px}.report-reason-on{color:#f7fafc;background:#4a5568;border-color:#a0aec0}.report-comment{box-sizing:border-box;width:100%;font:inherit;color:#e2e8f0;resize:vertical;background:#1a202c;border:1px solid #4a5568;border-radius:6px;padding:8px;font-size:13px}.report-note{color:#cbd5e0;margin:0;font-size:12px;line-height:1.45}.report-actions{gap:8px;display:flex}.report-actions .btn-ctrl{flex:1}.report-send{color:#fed7d7;background:#742a2a}.report-send:disabled{opacity:.5;cursor:default}.report-sent{color:#9ae6b4;background:#22543d;border-radius:6px;padding:8px;font-size:12px}.mp-game-switch{flex-direction:column;gap:4px;display:flex}.mp-checkbox-row{color:#cbd5e0;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.mp-room-list{flex-direction:column;flex-shrink:0;gap:6px;max-height:250px;display:flex;overflow-y:auto}.mp-room-empty{color:#8a9bb3;padding:4px 0;font-size:12px;font-style:italic}.mp-room-row{background:#0f1420;border:1px solid #2d3748;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.mp-room-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.mp-room-game{color:#a0aec0;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mp-room-host{color:#e2e8f0;overflow-wrap:anywhere;font-size:12px}.mp-room-row .btn-ctrl{flex-shrink:0;padding:4px 10px;font-size:12px}.mp-auth-switch{color:#90cdf4;text-align:start;cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:12px}.mp-auth-switch:hover{text-decoration:underline}.mp-authed-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 8px;display:flex}.mp-authed-as{color:#cbd5e0;flex:1 1 0;align-items:center;gap:8px;min-width:40px;font-size:12px;display:flex;overflow:hidden}.mp-authed-as strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mp-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;line-height:0}.mp-avatar-btn:hover{outline-offset:1px;outline:2px solid #4a5568}.mp-avatar-grid{background:#0f1420;border:1px solid #2d3748;border-radius:8px;flex-shrink:0;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px;max-height:190px;padding:6px;display:grid;overflow-y:auto}.mp-avatar-cell{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:6px;padding:2px;line-height:0}.mp-avatar-cell:hover{border-color:#4a5568}.mp-avatar-cell-on{border-color:#63b3ed}.identicon{border-radius:4px;flex-shrink:0;display:block}.reset-password-screen{min-height:100vh;background:#0b0e17;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.reset-password-card{background:#1a202c;border:1px solid #2d3748;border-radius:12px;flex-direction:column;gap:10px;width:100%;max-width:320px;padding:24px;display:flex}.reset-password-card h2{color:#e2e8f0;margin:0 0 6px;font-size:16px}.reset-password-card form{flex-direction:column;gap:10px;display:flex}.tg-screen{background:#0b0e17;flex:1;min-height:0;padding:16px;display:flex;overflow-y:auto}.tg-card{background:#1a202c;border:1px solid #2d3748;border-radius:12px;flex-direction:column;gap:10px;width:100%;max-width:320px;margin:auto;padding:24px;display:flex}.tg-card h2{color:#e2e8f0;margin:0 0 6px;font-size:16px}.tg-card form{flex-direction:column;gap:10px;display:flex}.tg-card .mp-input{font-size:16px}.session-replaced{z-index:990;position:fixed;inset:0}.session-replaced:focus{outline:none}:is(body:has(.session-replaced) .toast-stack,body:has(.session-replaced) .dock-flyout-error--toast){z-index:995}.session-replaced-message{flex-direction:column;gap:6px;display:flex}.session-replaced-message h2{overflow-wrap:anywhere;margin:0;line-height:1.3}.session-replaced .mp-status{overflow-wrap:anywhere}.session-replaced-form{flex-direction:column;gap:10px;display:flex}.session-replaced .btn-ctrl{min-height:44px}.session-replaced .btn-ctrl[aria-disabled=true]{opacity:.5;cursor:default}.session-replaced .btn-ctrl:focus-visible{outline-offset:2px;outline:2px solid #90cdf4}.unknown-game{width:100%}.unknown-game-message{flex-direction:column;gap:6px;display:flex}.unknown-game-message h2{overflow-wrap:anywhere;margin:0;line-height:1.3}.unknown-game .mp-status{overflow-wrap:anywhere}.unknown-game .btn-ctrl{min-height:44px}.unknown-game .btn-ctrl[aria-disabled=true]{opacity:.5;cursor:default}.unknown-game .btn-ctrl:focus-visible{outline-offset:2px;outline:2px solid #90cdf4}.unknown-game-hint:empty{display:none}.tg-spinner{border:3px solid #2d3748;border-top-color:#63b3ed;border-radius:50%;width:28px;height:28px;margin:0 auto;animation:.9s linear infinite tg-spin}@keyframes tg-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.tg-spinner{animation-duration:3s}}.lang-boot{background:#0b0e17;place-items:center;display:grid;position:fixed;inset:0}.resume-boot{z-index:900}.resume-boot-body{text-align:center;opacity:0;flex-direction:column;align-items:center;gap:10px;padding:16px;animation:.2s linear .3s forwards resume-in;display:flex}@keyframes resume-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.resume-boot-body{animation-duration:10ms}}.icon-btn[aria-busy=true]{cursor:progress}.icon-btn[aria-busy=true] .icon-btn-glyph{animation:.8s ease-in-out infinite alternate lang-busy}@keyframes lang-busy{0%{opacity:1}to{opacity:.35}}@media (prefers-reduced-motion:reduce){.icon-btn[aria-busy=true] .icon-btn-glyph{opacity:.5;animation:none}}.icon-btn{z-index:10;color:#e2e8f0;cursor:pointer;appearance:none;background:#2d3748;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;transition:background .15s,transform .1s;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.icon-btn:hover:not(:disabled){background:#4a5568;transform:scale(1.06)}}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.global-error-toast{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.global-error-toast .btn-ctrl{flex:none}.panel-stub{opacity:.55}.icon-btn-active{background:#2c5282!important}.icon-btn:focus{outline:none}.icon-btn:focus-visible{border-radius:50%}.icon-btn-glyph{-webkit-user-select:none;user-select:none;line-height:1}.score-badge{cursor:default;font-size:15px;font-weight:800}@media (hover:hover) and (pointer:fine){.score-badge:hover{transform:none}}button.score-badge{cursor:pointer}.score-badge-count{-webkit-user-select:none;user-select:none;line-height:1}.score-badge-w{color:#2d2416;background:radial-gradient(circle at 35% 35%,#fff 0%,#d0c8b0 60%,#a09070 100%);border:2px solid #8a7860}.score-badge-b{color:#e8e4db;background:radial-gradient(circle at 35% 35%,#555 0%,#222 60%,#000 100%);border:2px solid #111}.icon-btn-tooltip{color:#e2e8f0;white-space:normal;overflow-wrap:break-word;opacity:0;pointer-events:none;z-index:30;background:#1a202c;border-radius:6px;width:max-content;max-width:calc(100vw - 90px);padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .15s;position:absolute;top:50%;left:54px;transform:translateY(-50%);box-shadow:0 4px 12px #0006}@media (hover:hover) and (pointer:fine){.icon-btn:hover:not([data-tip-off]) .icon-btn-tooltip{opacity:1}}.game-item{color:#a0aec0;cursor:pointer;text-align:start;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex}.game-item:hover{color:#e2e8f0;background:#2d3748}.game-item.active{color:#e8d5a3;background:#2c5282;font-weight:700}.game-icon{font-size:16px;line-height:1}.sel-icon{pointer-events:none;flex:none;width:1.26563em;height:1.26563em;margin:-.132813em -.0078125em;display:block}.game-icon .sel-icon{width:1.42188em;height:1.42188em;margin:-.210938em -.0859375em}@media (orientation:landscape) and (max-height:500px){html:not([data-phone-board]) .icon-btn .sel-icon{width:1.51563em;height:1.51563em;margin:-.257813em -.132813em}}.ui-icon{pointer-events:none;flex:none;width:1.26563em;height:1.26563em;margin:-.132813em -.0078125em;display:block}.side-tone-red{color:#fc8181}.side-tone-yellow{color:#ecc94b}.call-pill,.camcheck-btn{align-items:center;gap:6px;display:inline-flex}.ch-piece{z-index:1;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:72%;height:72%;transition:transform .1s;display:flex;position:relative;box-shadow:inset 0 -3px 6px #0006,0 3px 8px #00000080}.ch-piece:hover{transform:scale(1.08)}.ch-w{background:radial-gradient(circle at 35% 35%,#fff 0%,#d0c8b0 60%,#a09070 100%);border:2px solid #8a7860}.ch-b{background:radial-gradient(circle at 35% 35%,#555 0%,#222 60%,#000 100%);border:2px solid #111}.ch-king{box-shadow:inset 0 -3px 6px #0006,0 3px 8px #00000080,0 0 0 3px #e8d5a3}.ch-crown{-webkit-user-select:none;user-select:none;pointer-events:none;color:#e8d5a3;text-shadow:0 1px 2px #000c;font-size:clamp(14px,3vw,22px);line-height:1}.ch-mini{flex-shrink:0;width:18px;height:18px;display:inline-block}.captured-info{flex-direction:column;gap:6px;display:flex}.captured-row{color:#a0aec0;align-items:center;gap:8px;font-size:13px;transition:color .4s;display:flex}.captured-glyph{font-size:1.6em;line-height:1}.app[data-theme=day] .captured-row{color:#2d2416}.rules-list{color:#a0aec0;flex-direction:column;gap:4px;padding-inline-start:18px;font-size:13px;line-height:1.5;list-style:outside;display:flex}.help-panel{width:min(340px,100vw - 32px)}.help-title{color:#a0aec0;text-transform:uppercase;letter-spacing:1px;flex-shrink:0;margin:0;padding:6px 10px 2px;font-size:12px}.help-tabs{flex-shrink:0;gap:6px;padding:2px 6px 0;display:flex}.help-tab{color:#a0aec0;text-align:center;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:1px solid #4a5568;border-radius:6px;flex:1 1 0;min-width:0;padding:6px 8px;font-size:13px;font-weight:600;line-height:1.25}.help-tab:hover{color:#e2e8f0}.help-tab-active,.help-tab-active:hover{color:#e8d5a3;background:#2d3748;border-color:#e8d5a3}.help-tabpanel{flex-direction:column;gap:14px;display:flex}.help-tabpanel:focus-visible{border-radius:6px}.help-panel .dock-scroll-wrap{flex-direction:column;flex-shrink:1;display:flex}.help-panel .dock-scroll{flex:auto;max-height:520px;padding:4px 10px}.help-section-title{color:#e8d5a3;margin:0 0 4px;font-size:13px;font-weight:700}.help-steps{color:#a0aec0;overflow-wrap:anywhere;flex-direction:column;gap:4px;margin:0;padding-inline-start:20px;font-size:13px;line-height:1.5;list-style:decimal;display:flex}.help-ref{color:#e2e8f0;font-weight:600}.help-link{color:#63b3ed}.help-icon{vertical-align:-.15em;width:1em;height:1em;display:inline-block}.help-icon svg{width:100%;height:100%;margin:0}.help-glue{white-space:nowrap}.poddavki-hint{color:#fefcbf;text-align:center;background:#744210;border-radius:6px;margin-bottom:4px;padding:6px 14px;font-size:13px}.lang-flag{font-size:18px;line-height:1}.lang-panel{flex-direction:column;gap:4px;width:max-content;max-width:min(90vw,220px);display:flex}.mp-authed-actions{flex:none;align-items:center;gap:6px;margin-inline-start:auto;display:flex}.mp-stats-btn{justify-content:center;align-items:center;padding:7px 10px;font-size:18px;line-height:1;display:inline-flex}.mp-panel-stats{width:min(340px,100vw - 32px)}.stats-screen{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex}.stats-head{flex-wrap:wrap;flex-shrink:0;align-items:stretch;gap:6px;display:flex}.stats-head .help-tabs{flex:auto;min-width:0;padding:0}.stats-head .help-tab{overflow-wrap:break-word;flex:auto;padding-inline:6px}.stats-back{flex:none;padding:6px 10px;line-height:1.25}.stats-tabpanel{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex}.stats-tabpanel .dock-scroll-wrap{flex-direction:column;flex-shrink:1;display:flex}.stats-tabpanel .dock-scroll{flex:auto}.stats-filter{flex-shrink:0}.stats-filters{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.stats-filters .stats-filter,.stats-filters .stats-filter-result{flex:120px;width:auto;min-width:0}.stats-filters .stats-filter-opponent{flex:140px;width:auto;min-width:0;padding-block:5px;font-size:16px}.stats-filters .stats-reset{flex:none;justify-content:center;align-items:center;padding:6px 10px;line-height:1;display:inline-flex}.stats-reset-icon{pointer-events:none;width:18px;height:18px}@media (max-height:500px) and (orientation:landscape){.stats-filters{flex-wrap:nowrap}.stats-filters .stats-filter,.stats-filters .stats-filter-result{flex:1 1 0}.stats-filters .stats-filter-opponent{flex:1.3 1 0}}.stats-body{flex-direction:column;gap:8px;padding:2px 4px;display:flex}.stats-body:focus-visible{border-radius:6px}.stats-list,.stats-group{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stats-row,.stats-group-row,.stats-total{background:#141a26;border:1px solid #2d3748;border-radius:6px;padding:6px 8px}.stats-row-main,.stats-group-name,.stats-total{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.stats-game,.stats-group-name{color:#e2e8f0;overflow-wrap:anywhere;font-size:13px;font-weight:600}.stats-result{white-space:nowrap;color:#a0aec0;font-size:12px;font-weight:700}.stats-result-win{color:#68d391}.stats-result-loss{color:#fc8181}.stats-result-draw{color:#e8d5a3}.stats-row-sub,.stats-tally{color:#a0aec0;flex-wrap:wrap;gap:2px 10px;font-size:12px;display:flex}.stats-opponent{color:#cbd5e0;overflow-wrap:anywhere}.stats-nick{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.stats-last{color:#a0aec0;overflow-wrap:anywhere;margin-top:2px;font-size:12px;display:block}.stats-moves,.stats-duration{overflow-wrap:anywhere;min-width:0}.stats-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;display:grid}.stats-total dt{color:#a0aec0;font-size:12px}.stats-total dd{color:#e2e8f0;margin:0;font-size:13px;font-weight:700}.stats-chip b{color:#e2e8f0;margin-inline-start:4px}.stats-h{color:#e8d5a3;margin:6px 0 4px;font-size:13px;font-weight:700}.stats-note{color:#a0aec0;text-align:center;margin:0;padding:12px 4px;font-size:13px}.stats-error{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.stats-error p{color:#feb2b2;margin:0;font-size:13px}.stats-more{align-self:stretch}.stats-more[aria-disabled=true]{opacity:.6;cursor:progress}.saved-list{gap:8px}.saved-row{flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 10px;display:flex}.saved-row--running{border-color:#3b6b4f}.saved-row-icon{color:#e8d5a3;flex:none;font-size:20px;line-height:1;display:flex}.saved-row-text{flex-direction:column;flex:150px;gap:2px;min-width:0;display:flex}.saved-row-title{color:#e2e8f0;overflow-wrap:anywhere;font-size:13px;font-weight:600}.saved-row-who{color:#cbd5e0;font-weight:500}.saved-row-sub{color:#a0aec0;flex-wrap:wrap;gap:2px 10px;font-size:12px;display:flex}.saved-row-running{color:#68d391;font-weight:700}.saved-row-expires{color:#ecc94b;font-size:12px}.saved-row-note{color:#fbd38d;overflow-wrap:anywhere;font-size:12px}.saved-row-error{color:#feb2b2;overflow-wrap:anywhere;font-size:12px}.saved-row-actions{flex:none;align-items:center;gap:6px;margin-inline-start:auto;display:flex}.saved-row-go{min-height:36px}.saved-row-del{justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:6px 8px;display:inline-flex}.saved-trash-icon{pointer-events:none;width:18px;height:18px}.saved-row-del--ask{color:#fff5f5;background:#9b2c2c}.saved-row-del-text{white-space:nowrap}.saved-row [aria-disabled=true]{opacity:.5;cursor:progress}.saved-inroom{color:#fbd38d;border:1px dashed #4a5568;border-radius:6px;margin:0;padding:6px 8px;font-size:12px}@media (hover:hover) and (pointer:fine){.saved-row-del--ask:hover:not(:disabled){background:#c53030}}.dock-scroll-wrap{flex-shrink:0;min-height:96px;position:relative}.dock-scroll{max-height:min(56vh,420px);touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;gap:4px;min-height:96px;max-height:min(56dvh,420px);padding-bottom:4px;display:flex;overflow-y:auto}.dock-scroll-above:before,.dock-scroll-below:after{content:"";pointer-events:none;height:28px;position:absolute;left:0;right:0}.dock-scroll-above:before{background:linear-gradient(#1a202cf5,#1a202c00);border-radius:6px 6px 0 0;top:0}.dock-scroll-below:after{background:linear-gradient(#1a202c00,#1a202cf5);border-radius:0 0 6px 6px;bottom:0}.lang-item{color:#a0aec0;cursor:pointer;white-space:nowrap;direction:ltr;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;transition:background .12s,color .12s;display:flex}.lang-item:hover{color:#e2e8f0;background:#2d3748}.lang-item.active{color:#e8d5a3;background:#2c5282;font-weight:700}.lang-label{font-size:12px}.dock-group-divider{background:#4a5568;width:100%;height:1px;margin:2px 0}.rev-board{background:#1a5029;gap:2px}.rev-square{cursor:default;background:#276f39;justify-content:center;align-items:center;transition:filter .1s;display:flex;position:relative}.rev-hint{cursor:pointer}.rev-hint:hover{filter:brightness(1.2)}.rev-piece{border-radius:50%;width:80%;height:80%;transition:transform .15s;box-shadow:inset 0 -3px 6px #00000059,0 3px 8px #00000080}.rev-hint .rev-piece{transform:scale(1.05)}.rev-black{background:radial-gradient(circle at 35% 35%,#555 0%,#1a1a1a 55%,#000 100%);border:2px solid #111}.rev-white{background:radial-gradient(circle at 35% 35%,#fff 0%,#ddd 55%,#bbb 100%);border:2px solid #999}.rev-move-dot{pointer-events:none;background:#ffffff47;border-radius:50%;width:28%;height:28%}.duel-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), calc(var(--board-max-h) * 9 / 8));aspect-ratio:9/8;border:1px solid #4a372859;border-radius:4px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(9,1fr);display:grid;position:relative;overflow:hidden;box-shadow:0 12px 40px #0009}.duel-throne:after{content:"";pointer-events:none;border:2px dashed #e8d5a38c;border-radius:4px;position:absolute;inset:8%}.duel-die{z-index:1;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:76%;height:76%;transition:transform .1s;display:flex;position:relative;box-shadow:inset 0 -3px 6px #00000059,0 3px 8px #00000080}.duel-die:hover{transform:scale(1.06)}.duel-die-w{background:linear-gradient(155deg,#fdf8ee 0%,#d8cdb0 100%);border:2px solid #8a7860}.duel-die-b{background:linear-gradient(155deg,#4a4a4a 0%,#161616 100%);border:2px solid #111}.duel-die-king{box-shadow:inset 0 -3px 6px #00000059,0 3px 8px #00000080,0 0 0 3px #e8d5a3}.duel-threat-pulse{pointer-events:none;will-change:transform, opacity;border:2px solid #ff4b3e;border-radius:13px;animation:1.2s ease-in-out infinite duel-threat-pulse;position:absolute;inset:-4px;box-shadow:0 0 10px 2px #ff4b3ecc,inset 0 0 8px #ff4b3e8c}@keyframes duel-threat-pulse{0%,to{opacity:.25;transform:scale(.96)}50%{opacity:1;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.duel-threat-pulse{opacity:.9;will-change:auto;animation:none}}.duel-pip-grid{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:68%;height:68%;display:grid}.duel-pip{background:currentColor;border-radius:50%;place-self:center;width:60%;height:60%}.duel-die-w .duel-pip{color:#2d2416}.duel-die-b .duel-pip{color:#e8e4db}.duel-king-star{width:62%;height:62%}.duel-die-w .duel-king-star{color:#2d2416}.duel-die-b .duel-king-star{color:#e8e4db}.duel-choice-panel{background:#1a202c;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.duel-choice-panel h3{color:#a0aec0;text-transform:uppercase;letter-spacing:1px;font-size:12px}.duel-choice-options{flex-wrap:wrap;gap:8px;display:flex}.duel-choice-btn{cursor:pointer;background:#2d3748;border:none;border-radius:6px;justify-content:center;align-items:center;width:52px;height:52px;padding:4px;transition:background .15s;display:flex}.duel-choice-btn:hover{background:#4a5568}.duel-hint-badge{z-index:2;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.duel-hint-badge .duel-die{width:100%;height:100%;box-shadow:none;opacity:.45;background:0 0;border:none}.duel-hint-badge .duel-pip-grid{width:74%;height:74%}.duel-hint-badge .duel-pip{width:85%;height:85%}.duel-hint-badge .duel-die-w .duel-pip{filter:drop-shadow(0 0 1px #ffffffd9)}.duel-hint-badge .duel-die-b .duel-pip{filter:drop-shadow(0 0 1.1px #000000d9)}.duel-hint-badge.duel-hint-move{width:78%;height:78%}.duel-hint-badge.duel-hint-capture{width:60%;height:60%;top:1%;right:1%}.duel-hint-badge.duel-hint-multi{color:#fdf8ee;background:#140f0a80;border:2px dashed #fdf8eee6;border-radius:50%;font-family:inherit;font-weight:800;line-height:1}.duel-hint-badge.duel-hint-move.duel-hint-multi{font-size:clamp(13px,4.6vw,24px)}.duel-hint-badge.duel-hint-capture.duel-hint-multi{font-size:clamp(10px,3.4vw,15px);box-shadow:0 0 0 2px #140f0a80}.pente-board-wrap{flex-shrink:0;justify-content:center;display:flex;position:relative}.pente-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));border-radius:4px;height:auto;display:block;box-shadow:0 12px 40px #0009}.pente-bg{fill:#c9a06c}.pente-grid-line{stroke:#4a3728;stroke-width:1.4px}.pente-star{fill:#4a3728}.pente-hit{fill:#0000;cursor:pointer}.pente-stone-b{fill:#161616;stroke:#000;stroke-width:1px;filter:drop-shadow(0 2px 3px #00000080)}.pente-stone-w{fill:#f5f0e6;stroke:#8a7860;stroke-width:1px;filter:drop-shadow(0 2px 3px #0006)}.pente-shine-b{fill:#ffffff2e;pointer-events:none}.pente-shine-w{fill:#ffffffbf;pointer-events:none}.pente-last-dot{fill:#e8d5a3;pointer-events:none}.pente-flash{fill:none;stroke:#f44;stroke-width:3px;transform-origin:50%;transform-box:fill-box;pointer-events:none;animation:.5s ease-out forwards pente-flash-pulse}@keyframes pente-flash-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.9)}}.pente-mini{border-radius:50%;flex-shrink:0;width:18px;height:18px;display:inline-block}.pente-mini-b{background:radial-gradient(circle at 35% 35%,#555 0%,#1a1a1a 55%,#000 100%);border:1px solid #111}.pente-mini-w{background:radial-gradient(circle at 35% 35%,#fff 0%,#ddd 55%,#bbb 100%);border:1px solid #999}.c6-board-wrap{flex-shrink:0;justify-content:center;display:flex;position:relative}.c6-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));border-radius:4px;height:auto;display:block;box-shadow:0 12px 40px #0009}.c6-bg{fill:#c9a06c}.c6-grid-line{stroke:#4a3728;stroke-width:1.4px}.c6-star{fill:#4a3728}.c6-hit{fill:#0000;cursor:pointer}.c6-win-line{stroke:#e8d5a3;stroke-width:5px;stroke-linecap:round;opacity:.55}.c6-stone-b{fill:#161616;stroke:#000;stroke-width:1px;filter:drop-shadow(0 2px 3px #00000080)}.c6-stone-w{fill:#f5f0e6;stroke:#8a7860;stroke-width:1px;filter:drop-shadow(0 2px 3px #0006)}.c6-shine-b{fill:#ffffff2e;pointer-events:none}.c6-shine-w{fill:#ffffffbf;pointer-events:none}.c6-turn-dot{fill:#e8d5a3;pointer-events:none}.c6-win-ring{fill:none;stroke:#7fc97f;stroke-width:3px;pointer-events:none}.tak-board{width:min(640px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));aspect-ratio:1;background:#c9a06c;border:1px solid #4a372859;border-radius:4px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 40px #0009}.tak-cell{cursor:pointer;border:1px solid #4a372873;justify-content:center;align-items:center;transition:filter .1s;display:flex;position:relative}.tak-cell:hover{filter:brightness(1.1)}.tak-cell.selected{background:#7fc97f59}.tak-cell.tak-highlight{background:#e8d5a366}.tak-cell.tak-highlight:hover{filter:brightness(1.25)}.tak-cell.tak-road{background:#7fc97f8c}.tak-piece{z-index:1;width:62%;height:62%}.tak-piece-flat.tak-piece-w,.tak-piece-cap.tak-piece-w{background:linear-gradient(155deg,#fdf8ee 0%,#d8cdb0 100%);border:2px solid #8a7860}.tak-piece-flat.tak-piece-b,.tak-piece-cap.tak-piece-b{background:linear-gradient(155deg,#4a4a4a 0%,#161616 100%);border:2px solid #111}.tak-piece-flat{border-radius:6px}.tak-piece-cap{border-radius:50%;box-shadow:0 0 0 3px #e8d5a3}.tak-piece-wall{border-radius:3px;width:46%;height:46%;transform:rotate(45deg)}.tak-piece-wall.tak-piece-w{background:linear-gradient(155deg,#fdf8ee 0%,#d8cdb0 100%);border:2px solid #8a7860}.tak-piece-wall.tak-piece-b{background:linear-gradient(155deg,#4a4a4a 0%,#161616 100%);border:2px solid #111}.tak-height-badge{color:#e8d5a3;text-shadow:0 1px 2px #000000e6;z-index:2;pointer-events:none;font-size:11px;font-weight:700;position:absolute;bottom:2px;right:4px}.tak-mini{border-radius:6px;flex-shrink:0;width:18px;height:18px;display:inline-block}.tak-mini-w{background:linear-gradient(155deg,#fdf8ee 0%,#d8cdb0 100%);border:1px solid #8a7860}.tak-mini-b{background:linear-gradient(155deg,#4a4a4a 0%,#161616 100%);border:1px solid #111}.tak-split-row{flex-wrap:wrap;gap:10px;display:flex}.tak-split-cell{color:#e2e8f0;flex-direction:column;align-items:center;gap:4px;font-weight:700;display:flex}.tf-board{width:min(640px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));aspect-ratio:1;background:#c9a06c;border:1px solid #4a372859;border-radius:4px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 40px #0009}.tf-cell{cursor:pointer;border:1px solid #4a372873;justify-content:center;align-items:center;transition:filter .1s;display:flex;position:relative}.tf-cell:hover{filter:brightness(1.1)}.tf-cell.selected{background:#7fc97f59}.tf-cell.tf-throne{background:#7a4a288c}.tf-cell.tf-corner{background:#5a28288c}.tf-throne-mark{pointer-events:none;border:2px solid #e8d5a38c;border-radius:3px;width:46%;height:46%;transform:rotate(45deg)}.tf-piece{z-index:1;border-radius:50%;justify-content:center;align-items:center;width:68%;height:68%;transition:transform .1s;display:flex}.tf-piece:hover{transform:scale(1.06)}.tf-piece-b{background:linear-gradient(155deg,#4a4a4a 0%,#161616 100%);border:2px solid #111}.tf-piece-w{background:linear-gradient(155deg,#fdf8ee 0%,#d8cdb0 100%);border:2px solid #8a7860}.tf-piece.tf-king{background:linear-gradient(155deg,#fff6da 0%,#e8d5a3 100%);border:3px solid #d4af37;width:80%;height:80%;box-shadow:0 0 0 3px #d4af3759}.tf-crown{color:#7a5a1a;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:clamp(14px,3.4vw,26px);line-height:1}.tf-flash{z-index:3;pointer-events:none;background:#ff44448c;border-radius:50%;animation:.5s ease-out tf-flash-pop;position:absolute;inset:8%}@keyframes tf-flash-pop{0%{opacity:1;transform:scale(1.4)}to{opacity:0;transform:scale(1)}}.tf-illegal{z-index:3;pointer-events:none;border:3px solid #ff4444bf;border-radius:50%;position:absolute;inset:4%}.tf-king-badge{z-index:2;pointer-events:none;border-radius:50%;animation:1.1s ease-in-out infinite tf-king-badge-pulse;position:absolute;inset:-6%}.tf-king-badge--raichi{border:3px solid #ffd659d9}.tf-king-badge--tuichi{border:4px solid #7fc97fe6}.tf-king-badge--check{border:3px solid #ff4444d9}@keyframes tf-king-badge-pulse{0%,to{opacity:.55}50%{opacity:1}}.alq-board-wrap{flex-shrink:0;justify-content:center;display:flex;position:relative}.alq-board{width:min(620px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));border-radius:4px;height:auto;display:block;box-shadow:0 12px 40px #0009}.alq-bg{fill:#c9a06c}.alq-line{stroke:#4a3728;stroke-width:2px}.alq-point{fill:#4a3728;pointer-events:none}.alq-hit{fill:#0000;cursor:pointer}.alq-piece-w{fill:#f5f0e6;stroke:#8a7860;stroke-width:2px;filter:drop-shadow(0 2px 3px #0006);pointer-events:none}.alq-piece-b{fill:#161616;stroke:#000;stroke-width:2px;filter:drop-shadow(0 2px 3px #00000080);pointer-events:none}.alq-selected-ring{fill:none;stroke:#7fc97f;stroke-width:4px;pointer-events:none}.alq-must-capture-ring{fill:none;stroke:#ffd659;stroke-width:4px;pointer-events:none;animation:1.1s ease-in-out infinite alq-must-capture-pulse}@keyframes alq-must-capture-pulse{0%,to{opacity:.5}50%{opacity:1}}.alq-dot{fill:#7fc97fbf;pointer-events:none}.alq-capture-ring{fill:none;stroke:#f44;stroke-width:4px;pointer-events:none}.alq-illegal{fill:#ff444459;stroke:#f44;stroke-width:2px;transform-origin:50%;transform-box:fill-box;pointer-events:none;animation:.4s ease-out go-illegal-shake}.mo-board-wrap{flex-shrink:0;justify-content:center;display:flex;position:relative}.mo-board{width:min(620px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));border-radius:4px;height:auto;display:block;box-shadow:0 12px 40px #0009}.mo-bg{fill:#c9a06c}.mo-line{stroke:#4a3728;stroke-width:3px}.mo-line-mill{stroke:#ffd659;stroke-width:5px}.mo-point{fill:#4a3728;pointer-events:none}.mo-hit{fill:#0000;cursor:pointer}.mo-piece-w{fill:#f5f0e6;stroke:#8a7860;stroke-width:2px;filter:drop-shadow(0 2px 3px #0006);pointer-events:none}.mo-piece-b{fill:#161616;stroke:#000;stroke-width:2px;filter:drop-shadow(0 2px 3px #00000080);pointer-events:none}.mo-piece-ineligible{opacity:.35}.mo-selected-ring{fill:none;stroke:#7fc97f;stroke-width:4px;pointer-events:none}.mo-must-capture-ring{fill:none;stroke:#f44;stroke-width:4px;pointer-events:none;animation:1.1s ease-in-out infinite alq-must-capture-pulse}.mo-dot{fill:#7fc97fbf;pointer-events:none}.mo-capture-ring{fill:none;stroke:#f44;stroke-width:4px;pointer-events:none}.mo-illegal{fill:#ff444459;stroke:#f44;stroke-width:2px;transform-origin:50%;transform-box:fill-box;pointer-events:none;animation:.4s ease-out go-illegal-shake}.mo-phase-toast{box-sizing:border-box;color:#ffd659;text-wrap:balance;text-align:center;pointer-events:none;z-index:7;background:#14100ad9;border-radius:20px;max-width:calc(100% - 8px);padding:4px 8px;font-size:11px;font-weight:700;line-height:1.25;animation:.35s ease-out mo-phase-toast-in,.35s ease-in 2.25s forwards mo-phase-toast-out;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0006}@keyframes mo-phase-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes mo-phase-toast-out{0%{opacity:1}to{opacity:0}}.fg-board-wrap{flex-shrink:0;justify-content:center;display:flex;position:relative}[data-held] :is(.board-outer,.ttt-board-outer,.alq-board-wrap,.bs-board-wrap,.c4-board-wrap,.c6-board-wrap,.fg-board-wrap,.go-board-wrap,.hm-board-wrap,.mo-board-wrap,.pente-board-wrap,.tg-board-wrap,.mc-board-wrap){pointer-events:none;filter:brightness(.88)saturate(.85)}.fg-board{width:min(560px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));border-radius:4px;height:auto;display:block;box-shadow:0 12px 40px #0009}.fg-bg{fill:#c9a06c}.fg-line{stroke:#4a3728;stroke-width:3px}.fg-point{fill:#4a3728;pointer-events:none}.fg-hit{fill:#0000;cursor:pointer}.fg-piece-goose{fill:#f5f0e6;stroke:#8a7860;stroke-width:2px;filter:drop-shadow(0 2px 3px #0006);pointer-events:none}.fg-piece-fox{fill:#d9711f;stroke:#7a3d0f;stroke-width:2px;filter:drop-shadow(0 2px 4px #0000008c);pointer-events:none}.fg-fox-glyph{fill:#fff6e8;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:20px;font-weight:800}.fg-dot{fill:#7fc97fbf;pointer-events:none}.fg-capture-ring{fill:none;stroke:#ff4d4d;stroke-width:5px;pointer-events:none}.fg-land{fill:none;stroke:#ffd166;stroke-width:4px;stroke-dasharray:8 6;pointer-events:none}.fg-path{fill:none;stroke:#ffd166;stroke-width:4px;stroke-dasharray:10 8;stroke-linecap:round;pointer-events:none}.fg-illegal{fill:#ff444459;stroke:#f44;stroke-width:2px;transform-origin:50%;transform-box:fill-box;pointer-events:none;animation:.4s ease-out go-illegal-shake}.c4-board-wrap{flex-shrink:0;justify-content:center;display:flex;position:relative}.c4-board{width:min(620px, calc(var(--board-vw-unit,1vw) * 80), calc(var(--board-max-h) * 586 / 568));height:auto;display:block}.c4-plate{fill:#2456a6;filter:drop-shadow(0 12px 30px #0009)}.c4-arrow-hit,.c4-col-hit{cursor:pointer}.c4-arrow-hit.c4-arrow-disabled{cursor:not-allowed}.c4-arrow{fill:#718096;opacity:.7;transition:fill .15s,opacity .15s}.c4-arrow-r{fill:#e53e3e}.c4-arrow-y{fill:#ecc94b}.c4-arrow-active{fill:#22c55e;opacity:1}.c4-hole{fill:#16233f;pointer-events:none}.c4-piece-r{fill:#e53e3e;stroke:#7b1d1d;stroke-width:2px}.c4-piece-y{fill:#ecc94b;stroke:#8a6d1a;stroke-width:2px}.c4-piece-drop{animation:.4s cubic-bezier(.5,0,.75,.6) c4-fall}@media (prefers-reduced-motion:reduce){.c4-piece-drop{animation:none}}@keyframes c4-fall{0%{transform:translateY(var(--drop-from,-400px))}to{transform:translateY(0)}}.c4-piece-win{stroke:#7fc97f;stroke-width:4px}.go-board-wrap{flex-shrink:0;justify-content:center;display:flex;position:relative}.go-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));border-radius:4px;height:auto;display:block;box-shadow:0 12px 40px #0009}.go-bg{fill:#c9a06c}.go-grid-line{stroke:#4a3728;stroke-width:1.4px}.go-star{fill:#4a3728}.go-hit{fill:#0000;cursor:pointer}.go-stone-b{fill:#161616;stroke:#000;stroke-width:1px;filter:drop-shadow(0 2px 3px #00000080)}.go-stone-w{fill:#f5f0e6;stroke:#8a7860;stroke-width:1px;filter:drop-shadow(0 2px 3px #0006)}.go-shine-b{fill:#ffffff2e;pointer-events:none}.go-shine-w{fill:#ffffffbf;pointer-events:none}.go-last-dot{fill:#e8d5a3;pointer-events:none}.go-territory{pointer-events:none}.go-territory-b{fill:#161616;opacity:.55}.go-territory-w{fill:#f5f0e6;opacity:.75}.go-flash{fill:none;stroke:#f44;stroke-width:3px;transform-origin:50%;transform-box:fill-box;pointer-events:none;animation:.5s ease-out forwards pente-flash-pulse}.go-illegal{fill:#ff444459;stroke:#f44;stroke-width:2px;transform-origin:50%;transform-box:fill-box;pointer-events:none;animation:.4s ease-out go-illegal-shake}@keyframes go-illegal-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.go-mini{border-radius:50%;flex-shrink:0;width:18px;height:18px;display:inline-block}.go-mini-b{background:radial-gradient(circle at 35% 35%,#555 0%,#1a1a1a 55%,#000 100%);border:1px solid #111}.go-mini-w{background:radial-gradient(circle at 35% 35%,#fff 0%,#ddd 55%,#bbb 100%);border:1px solid #999}.hm-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));border-radius:4px;height:auto;display:block;box-shadow:0 12px 40px #0009}.hm-board-wrap{flex-shrink:0;justify-content:center;display:flex;position:relative}.hm-bg{fill:#c9a06c}.hm-cell{cursor:pointer}.hm-cell-light{fill:#f0d9b5}.hm-cell-dark{fill:#dcc296}.hm-cell:hover{filter:brightness(1.08)}.hm-cell-selected{fill:#7fc97f!important}.hm-camp-w{fill:#f0f6ff8c;stroke:#a8c8e8;stroke-width:1.5px}.hm-camp-b{fill:#14141e66;stroke:#6a6a80;stroke-width:1.5px}.hm-dot{fill:#7fc97fd9;pointer-events:none}.mc-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), calc(var(--board-max-h) * 19 / 16));border-radius:8px;height:auto;display:block;box-shadow:0 12px 40px #0009}.mc-board-wrap{flex-shrink:0;justify-content:center;display:flex;position:relative}.mc-bg{fill:var(--tg-field)}.mc-pit{fill:var(--tg-pit);stroke:var(--tg-pit-line);stroke-width:1.5px}.mc-pit-own{fill:var(--tg-pit-own)}.mc-pit-play{cursor:pointer;stroke:var(--tg-from);stroke-width:2px}.mc-pit-play:hover{filter:brightness(1.25)}.mc-count{fill:var(--tg-text);pointer-events:none;font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.mc-count-zero{opacity:.7}.mc-pitno{fill:var(--tg-pitno);pointer-events:none;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;font-size:9px;font-weight:700}.mc-stone{fill:var(--tg-stone);stroke:var(--tg-stone-line);stroke-width:.8px;pointer-events:none}.mc-pile-stone{stroke:var(--tg-stone-line);stroke-width:.9px}.mc-pile-shadow{fill:#00000061;pointer-events:none}.mc-pile{pointer-events:none}.mc-kazan{fill:var(--tg-kazan);stroke:var(--tg-pit-line);stroke-width:1.5px}.mc-kazan-side{stroke-width:1.5px}.mc-kazan-side-w{fill:#f4efe2;stroke:var(--tg-pit-line)}.mc-kazan-side-b{fill:#25252d;stroke:#d8cfb8}.mc-kazan-n{fill:var(--tg-text);font-variant-numeric:tabular-nums;pointer-events:none;font-size:22px;font-weight:800}.mc-score-n{font-size:18px}.mc-kazan-pulse{stroke:var(--tg-last);stroke-width:3px}.mc-frame{fill:none;stroke-width:3px;pointer-events:none}.mc-frame-from{stroke:var(--tg-from)}.mc-frame-last{stroke:var(--tg-last)}.mc-ghost-stone{fill:var(--tg-stone);stroke:var(--tg-stone-line);stroke-width:1px}.mc-ghost-pack circle{fill:var(--tg-last);stroke:var(--tg-stone-line);stroke-width:1.2px}.mc-ghost-pack text{fill:var(--tg-pit-line);font-size:12px;font-weight:800}.game-layout .board-watermark.board-watermark--mancala{box-sizing:border-box;min-width:0;max-width:none;height:25%;font-size:max(10px, calc(var(--mc-bw,320px) * .045));letter-spacing:0;text-wrap:balance;overflow-wrap:anywhere;color:#fff8e6eb;text-shadow:0 1px 2px #000000e6,0 0 5px #0009;padding:0 1%;line-height:1.1;inset:37.5% 15.5% auto}.game-layout .board-watermark.board-watermark--mancala.board-watermark--mancala-oware{height:7.5%;font-size:max(10px, calc(var(--mc-bw,320px) * .036));top:46.25%;left:3.7%;right:3.7%}.game-layout .board-watermark.board-watermark--mancala.board-watermark--end{color:var(--tg-end)}.game-layout .board-watermark.board-watermark--mancala.board-watermark--mancala-long{font-size:max(9px, calc(var(--mc-bw,320px) * .034))}.game-layout .board-watermark.board-watermark--mancala.board-watermark--mancala-oware.board-watermark--mancala-long{font-size:max(9px, calc(var(--mc-bw,320px) * .027))}.mc-toast{color:var(--tg-last);font-size:max(11px, calc(var(--mc-bw,320px) * .045));white-space:nowrap;pointer-events:none;z-index:8;background:#14100aeb;border-radius:999px;padding:.2em .9em;font-weight:800;animation:1.8s both mc-toast;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 18px #0006}@keyframes mc-toast{0%{opacity:0;transform:translate(-50%,-30%)}15%{opacity:1;transform:translate(-50%,-50%)}80%{opacity:1}to{opacity:0}}.mc-board-wrap:has(.mc-toast) .board-watermark--mancala{opacity:0}@keyframes mc-kazan-pulse{0%,to{stroke-width:3px}50%{stroke-width:5.5px}}@media (prefers-reduced-motion:no-preference){.mc-kazan-pulse{animation:1s ease-in-out infinite mc-kazan-pulse}}@media (prefers-reduced-motion:reduce){.mc-toast{animation:none}}.tg-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), calc(var(--board-max-h) * 19 / 16));border-radius:8px;height:auto;display:block;box-shadow:0 12px 40px #0009}.tg-board-wrap,.mc-board-wrap{--tg-field:#1f4d3a;--tg-pit:#163827;--tg-pit-own:#1b4331;--tg-pit-line:#0e2419;--tg-pit-tz:#2c5a46;--tg-tz-line:#b69cf2;--tg-kazan:#16352a;--tg-stone:#e8d9b5;--tg-stone-line:#6e5530;--tg-text:#f1ead0;--tg-pitno:#a8c9b4;--tg-pitno-tz:#cfe4d6;--tg-from:#8fe08f;--tg-last:#ffd659;--tg-end:#a6e9a6;flex-shrink:0;justify-content:center;display:flex;position:relative}.tg-bg{fill:var(--tg-field)}.tg-pit{fill:var(--tg-pit);stroke:var(--tg-pit-line);stroke-width:1.5px}.tg-pit-own{fill:var(--tg-pit-own)}.tg-pit-play{cursor:pointer}.tg-pit-play:hover{filter:brightness(1.25)}.tg-pit-tz{fill:var(--tg-pit-tz);stroke:var(--tg-tz-line);stroke-width:2.5px}.tg-count{fill:var(--tg-text);pointer-events:none;font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.tg-count-zero{opacity:.7}.tg-pitno{fill:var(--tg-pitno);pointer-events:none;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;font-size:9px;font-weight:700}.tg-pitno-tz{fill:var(--tg-pitno-tz)}.tg-stone{fill:var(--tg-stone);stroke:var(--tg-stone-line);stroke-width:.8px;pointer-events:none}.tg-pile-stone{stroke:#5b4524;stroke-width:.9px}.tg-pile-shadow{fill:#00000061;pointer-events:none}.tg-pile{pointer-events:none}.tg-kazan{fill:var(--tg-kazan);stroke:var(--tg-pit-line);stroke-width:1.5px}.tg-kazan-side{stroke-width:1.5px}.tg-kazan-side-w{fill:#f4efe2;stroke:var(--tg-pit-line)}.tg-kazan-side-b{fill:#25252d;stroke:#d8cfb8}.tg-kazan-n{fill:var(--tg-text);font-variant-numeric:tabular-nums;pointer-events:none;font-size:22px;font-weight:800}.tg-frame{fill:none;stroke-width:3px;pointer-events:none}.tg-frame-from{stroke:var(--tg-from)}.tg-frame-last{stroke:var(--tg-last)}.tg-tz{paint-order:stroke;stroke-width:1.6px;pointer-events:none;transform-box:fill-box;transform-origin:50%;font-size:30px;animation:.45s ease-out tg-tz-pop}.tg-tz-w{fill:#f6f1e4;stroke:var(--tg-pit-line)}.tg-tz-b{fill:#1d1d25;stroke:#f0e6c8}@keyframes tg-tz-pop{0%{opacity:0;transform:scale(.3)}55%{opacity:1;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.tg-ghost-stone{fill:var(--tg-stone);stroke:#5b4524;stroke-width:1px}.tg-ghost-pack circle{fill:var(--tg-last);stroke:#5b4524;stroke-width:1.2px}.tg-ghost-pack text{fill:#2a1a0b;font-size:12px;font-weight:800}.game-layout .board-watermark.board-watermark--togyz{box-sizing:border-box;min-width:0;max-width:none;height:10%;font-size:max(10px, calc(var(--tg-bw,320px) * .036));letter-spacing:0;text-wrap:balance;overflow-wrap:anywhere;color:#fff8e6eb;text-shadow:0 1px 2px #000000e6,0 0 5px #0009;padding:0 1%;line-height:1.1;inset:45% 3.7% auto}.game-layout .board-watermark.board-watermark--togyz.board-watermark--end{color:var(--tg-end)}.game-layout .board-watermark.board-watermark--togyz.board-watermark--togyz-long{font-size:max(9px, calc(var(--tg-bw,320px) * .027))}.tg-toast{color:var(--tg-last);font-size:max(11px, calc(var(--tg-bw,320px) * .045));white-space:nowrap;pointer-events:none;z-index:8;background:#08160ff0;border-radius:999px;padding:.2em .9em;font-weight:800;animation:1.8s both tg-toast;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 18px #0006}@keyframes tg-toast{0%{opacity:0;transform:translate(-50%,-30%)}15%{opacity:1;transform:translate(-50%,-50%)}80%{opacity:1}to{opacity:0}}.tg-board-wrap:has(.tg-toast) .board-watermark--togyz{opacity:0}@media (prefers-reduced-motion:reduce){.tg-tz,.tg-toast{animation:none}}.hm-piece{cursor:pointer;filter:drop-shadow(0 2px 3px #00000080)}.hm-piece-w{fill:#f5f0e6;stroke:#8a7860;stroke-width:1.5px}.hm-piece-b{fill:#161616;stroke:#000;stroke-width:1.5px}.bs-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));border-radius:4px;height:auto;display:block;box-shadow:0 12px 40px #0009}.bs-board-clickable .bs-cell:not(.bs-cell-done):hover{filter:brightness(1.15)}.bs-board-clickable .bs-cell:not(.bs-cell-done){cursor:pointer}.bs-board-wrap{flex-shrink:0;justify-content:center;display:flex;position:relative}.bs-empty{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));aspect-ratio:1;text-align:center;box-sizing:border-box;color:#a0aec0;border:2px dashed #4a5568;border-radius:8px;justify-content:center;align-items:center;padding:24px;font-size:15px;display:flex}.bs-bg{fill:#274060}.bs-cell-light{fill:#2d4a6b}.bs-cell-dark{fill:#26405e}.bs-ship{fill:#a0aec0}.bs-ship-sunk{fill:#ff6b6b}.bs-mark-miss{fill:#e2e8f0bf}.bs-mark-halo{fill:#e2e8f08c}.bs-cross-out,.bs-cross-core{fill:none;stroke-linecap:round}.bs-cross-out{stroke-width:9px}.bs-cross-core{stroke-width:5px}.bs-mark-hit .bs-cross-out{stroke:#0f172a}.bs-mark-hit .bs-cross-core{stroke:#f6ad55}.bs-mark-sunk .bs-cross-out{stroke:#fff}.bs-mark-sunk .bs-cross-core{stroke:#1a1a1a}.bs-mark-new{fill:none;stroke:#facc15;stroke-width:4px;pointer-events:none;animation:1.1s ease-in-out infinite bs-mark-new-pulse}@keyframes bs-mark-new-pulse{0%,to{opacity:.55}50%{opacity:1}}.ttt-board-outer{flex-shrink:0;justify-content:center;display:flex}.ttt-board{grid-template-columns:repeat(var(--ttt-size,3), 1fr);grid-template-rows:repeat(var(--ttt-size,3), 1fr);width:min(420px, calc(var(--board-vw-unit,1vw) * 78), var(--board-max-h));aspect-ratio:1;background:#4a3728;border:3px solid #4a3728;border-radius:4px;gap:6px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 40px #0009}.ttt-square{cursor:pointer;background:#f0d9b5;justify-content:center;align-items:center;transition:filter .1s;display:flex}.ttt-square:hover{filter:brightness(1.1)}.ttt-win{background:#7fc97f!important}.ttt-mark{font-size:clamp(calc(144px / var(--ttt-size,3)), calc(36vw / var(--ttt-size,3)), calc(288px / var(--ttt-size,3)));-webkit-user-select:none;user-select:none;font-weight:800;line-height:1}.ttt-x{color:#2c5282}.ttt-o{color:#9b2c2c}.rev-scoreboard{justify-content:center;align-items:center;gap:14px;padding:10px 0;display:flex}.rev-score-row{align-items:center;gap:8px;display:flex}.rev-score-chip{flex-shrink:0;width:28px;height:28px}.rev-score-num{color:#e2e8f0;text-align:center;min-width:32px;font-size:26px;font-weight:800}.rev-score-sep{color:#718096;font-size:22px;font-weight:700}.qr-container{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), var(--board-max-h));aspect-ratio:1;cursor:crosshair;background:#3d2b1a;border:1px solid #4a372859;border-radius:4px;position:relative;overflow:hidden;box-shadow:0 12px 40px #0009}.qr-cell{box-sizing:border-box;cursor:default;background:#f0d9b5;border:1px solid #c8a070;justify-content:center;align-items:center;width:11.1111%;height:11.1111%;display:flex;position:absolute}.qr-cell.qr-valid{cursor:pointer;background:#d4f0b5}.qr-cell.qr-valid:hover{background:#b8e890}.qr-pawn{z-index:2;border-radius:50%;width:66%;height:66%;transition:transform .15s;position:relative;box-shadow:inset 0 -3px 6px #0006,0 4px 10px #0009}.qr-p1{background:radial-gradient(circle at 35% 30%,#fff 0%,#d8d0c0 55%,#a09080 100%);border:2px solid #808070}.qr-p2{background:radial-gradient(circle at 35% 30%,#666 0%,#2a2018 55%,#0a0806 100%);border:2px solid #1a1206}.qr-pawn-mini{border-radius:50%;flex-shrink:0;width:22px;height:22px;box-shadow:inset 0 -2px 4px #0006}.qr-move-dot{pointer-events:none;background:#28a02873;border-radius:50%;width:30%;height:30%}.qr-wall{z-index:5;pointer-events:none;border-radius:3px;position:absolute}.qr-hwall{background:#d04010;width:22.2222%;height:7px;margin-top:-3.5px;box-shadow:0 2px 6px #00000080}.qr-vwall{background:#d04010;width:7px;height:22.2222%;margin-left:-3.5px;box-shadow:2px 0 6px #00000080}.qr-slot{z-index:6;pointer-events:none;background:0 0;position:absolute}.qr-slot-h{width:22.2222%;height:14px;margin-top:-7px}.qr-slot-v{width:14px;height:22.2222%;margin-left:-7px}.qr-slot.qr-slot[data-nav]:focus-visible{outline:2px solid var(--focus-in)!important;outline-offset:1px!important;box-shadow:0 0 0 4px var(--focus-out)!important}.qr-preview{opacity:.55;pointer-events:none}.qr-preview-invalid{opacity:.35;background:#888!important}.qr-walls-display{background:#2d3748;border-radius:8px;flex-direction:column;gap:6px;padding:8px 12px;display:flex}.qr-walls-row{color:#718096;align-items:center;gap:8px;font-size:14px;font-weight:600;transition:color .15s;display:flex}.qr-walls-row.qr-walls-active{color:#e2e8f0}.qr-wall-icon{opacity:.6;letter-spacing:-2px;font-size:10px}.qr-mode-btns{flex-direction:column;gap:6px;display:flex}.qr-mode-btn{text-align:start}.qr-mode-active{color:#fefcbf!important;background:#744210!important}@media (max-width:640px){.app{justify-content:flex-end;padding:12px 8px 0}.game-layout{flex-flow:column-reverse;align-items:center;gap:10px}.control-dock{width:100%;padding:4px 8px calc(4px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-flow:row;gap:8px;margin-top:-10px;overflow:auto hidden}.control-dock::-webkit-scrollbar{display:none}.control-dock>*{flex-shrink:0}@media (max-width:360px){.control-dock{gap:4px;padding-left:6px;padding-right:6px}}.control-dock>:nth-child(-n+2){order:-2}.control-dock>.dock-lobby{order:-1}[dir=rtl] .control-dock{direction:ltr}.icon-btn-tooltip{display:none}.sidebar{width:100%;max-width:min(560px,90vw)}.board,.qr-container{width:min(720px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.board-outer,.board-col{gap:1px}.coord-cell{min-width:10px;font-size:10px}.coord-ranks{height:min(720px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.coord-files{width:min(720px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.tak-board,.tf-board{width:min(640px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.duel-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 92), calc(var(--board-max-h) * 9 / 8))}.tg-board,.mc-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 92), calc(var(--board-max-h) * 19 / 16))}.ttt-board{width:min(420px, calc(var(--board-vw-unit,1vw) * 88), var(--board-max-h))}.pente-board,.c6-board,.go-board,.hm-board,.bs-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.alq-board,.mo-board{width:min(620px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.fg-board{width:min(560px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.c4-board{width:min(620px, calc(var(--board-vw-unit,1vw) * 92), calc(var(--board-max-h) * 586 / 568))}.bs-empty{width:min(720px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}}@media (orientation:landscape) and (max-height:500px){.app{align-items:flex-start;padding:8px}.game-layout{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:10px}.control-dock{max-height:calc(100vh - 8px);gap:6px;max-height:calc(100dvh - 8px);margin:-4px;padding:4px;overflow:visible auto}.icon-btn{width:34px;height:34px;font-size:15px}.icon-btn-tooltip{left:42px}.control-dock>:last-child .icon-btn-tooltip{top:auto;bottom:0;transform:none}.chat-list{max-height:40vh;max-height:40dvh}.chat-text{font-size:14px}.sidebar{width:auto;max-width:220px;max-height:90vh;max-height:90dvh;overflow-y:auto}.board,.qr-container{width:min(720px, calc(var(--board-vh-unit,1vh) * 74))}.coord-ranks{height:min(720px, calc(var(--board-vh-unit,1vh) * 74))}.coord-files{width:min(720px, calc(var(--board-vh-unit,1vh) * 74))}.tak-board,.tf-board{width:min(640px, calc(var(--board-vh-unit,1vh) * 74))}.duel-board{width:min(720px, calc(var(--board-vh-unit,1vh) * 83.25))}.tg-board,.mc-board{width:min(720px, calc(var(--board-vh-unit,1vh) * 80 * 19 / 16))}.duel-hint-badge.duel-hint-move.duel-hint-multi{font-size:clamp(11px,4.2vh,22px)}.duel-hint-badge.duel-hint-capture.duel-hint-multi{font-size:clamp(9px,3vh,14px)}.ttt-board{width:min(420px, calc(var(--board-vh-unit,1vh) * 70))}.pente-board,.c6-board,.go-board,.hm-board,.bs-board{width:min(720px, calc(var(--board-vh-unit,1vh) * 74))}.alq-board,.mo-board{width:min(620px, calc(var(--board-vh-unit,1vh) * 74))}.fg-board{width:min(560px, calc(var(--board-vh-unit,1vh) * 74))}.c4-board{width:min(620px, calc(var(--board-vh-unit,1vh) * 74))}.bs-empty{width:min(720px, calc(var(--board-vh-unit,1vh) * 74))}.piece{font-size:clamp(14px,6vh,40px);font-size:clamp(14px,6dvh,40px)}.board-watermark{font-size:clamp(11px, calc(var(--board-vh-unit,1vh) * 4.8), 52px);overflow-wrap:anywhere;min-width:0;max-width:100%}.ttt-mark{font-size:clamp(calc(60px / var(--ttt-size,3)), calc(48vh / var(--ttt-size,3)), calc(210px / var(--ttt-size,3)));font-size:clamp(calc(60px / var(--ttt-size,3)), calc(48dvh / var(--ttt-size,3)), calc(210px / var(--ttt-size,3)))}}@media (max-width:640px){html[data-phone-board] .mo-phase-toast{top:auto;bottom:calc(100% + 8px)}html[data-phone-board]{--phone-board-w:calc(var(--board-vw-unit,1vw) * 100 - 2 * var(--board-gutter) - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));--phone-board-size:min(var(--phone-board-w), var(--board-max-h))}html[data-phone-board] .app{padding:12px var(--board-gutter) 0;height:var(--board-app-h,100%);flex-shrink:0}html[data-phone-board] .control-dock{width:auto;margin:calc(var(--board-dock-gap) - 10px) calc(8px - var(--board-gutter)) 0;align-self:stretch}html[data-phone-board] .board,html[data-phone-board] .qr-container,html[data-phone-board] .tak-board,html[data-phone-board] .tf-board,html[data-phone-board] .ttt-board,html[data-phone-board] .pente-board,html[data-phone-board] .c6-board,html[data-phone-board] .go-board,html[data-phone-board] .hm-board,html[data-phone-board] .bs-board,html[data-phone-board] .alq-board,html[data-phone-board] .mo-board,html[data-phone-board] .fg-board,html[data-phone-board] .bs-empty,html[data-phone-board] .duel-board{width:var(--phone-board-size)}html[data-phone-board] .duel-board{--phone-board-size:min(var(--phone-board-w), calc(var(--board-max-h) * 9 / 8))}html[data-phone-board] .c4-board{width:min(var(--phone-board-w), calc(var(--board-max-h) * 586 / 568))}html[data-phone-board] .tg-board,html[data-phone-board] .mc-board{width:min(var(--phone-board-w), calc(var(--board-max-h) * 19 / 16))}html[data-phone-board] .board,html[data-phone-board] .tak-board,html[data-phone-board] .tf-board,html[data-phone-board] .duel-board,html[data-phone-board] .ttt-board,html[data-phone-board] .qr-container{--phone-cell:calc((var(--phone-board-size) - 2 * var(--phone-edge,1px) - (var(--board-cols,8) - 1) * var(--phone-gap,0px)) / var(--board-cols,8))}html[data-phone-board] .board{--phone-edge:3px}html[data-phone-board] .ch-board,html[data-phone-board] .rev-board{--phone-edge:1px}html[data-phone-board] .rev-board{--phone-gap:2px}html[data-phone-board] .ttt-board{--phone-edge:3px;--phone-gap:6px;--board-cols:var(--ttt-size,3)}html[data-phone-board] .duel-board,html[data-phone-board] .qr-container{--board-cols:9}html[data-phone-board] .piece{font-size:max(clamp(28px, 6vw, 52px), calc(var(--phone-cell) * .635))}html[data-phone-board] .ch-crown{font-size:max(clamp(14px, 3vw, 22px), calc(var(--phone-cell) * .314))}html[data-phone-board] .tf-crown{font-size:max(clamp(14px, 3.4vw, 26px), calc(var(--phone-cell) * .3344))}html[data-phone-board] .tak-height-badge{font-size:max(11px, calc(var(--phone-cell) * .1541))}html[data-phone-board] .ttt-mark{font-size:max(clamp(calc(144px / var(--ttt-size,3)), calc(36vw / var(--ttt-size,3)), calc(288px / var(--ttt-size,3))), calc(var(--phone-cell) * .4317))}html[data-phone-board] .duel-hint-badge.duel-hint-move.duel-hint-multi{font-size:max(clamp(13px, 4.6vw, 24px), calc(var(--phone-cell) * .4525))}html[data-phone-board] .duel-hint-badge.duel-hint-capture.duel-hint-multi{font-size:max(clamp(10px, 3.4vw, 15px), calc(var(--phone-cell) * .3345))}html[data-phone-board] .qr-container{--phone-wall:max(7px, calc(var(--phone-cell) * .1766))}html[data-phone-board] .qr-hwall{height:var(--phone-wall);margin-top:calc(var(--phone-wall) / -2)}html[data-phone-board] .qr-vwall{width:var(--phone-wall);margin-left:calc(var(--phone-wall) / -2)}html[data-phone-board] .coord-ranks,html[data-phone-board] .coord-files{display:none}}@media (orientation:landscape) and (max-height:500px) and (max-width:640px){html[data-phone-board] .app{padding:12px var(--board-gutter) 0;align-items:center}html[data-phone-board] .control-dock{padding:4px 8px calc(4px + env(safe-area-inset-bottom));gap:8px;max-height:none;overflow:auto hidden}html[data-phone-board] .icon-btn{width:44px;height:44px;font-size:18px}html[data-phone-board] .score-badge{font-size:15px}html[data-phone-board] .sidebar{width:100%;max-width:min(560px,90vw);max-height:none;overflow-y:visible}html[data-phone-board] .board-watermark{overflow-wrap:normal;min-width:auto;max-width:none;font-size:clamp(16px,6vw,52px)}}@media (max-width:360px){html[data-phone-board] .control-dock{gap:4px;padding-left:6px;padding-right:6px}}.mp-invite-pending{color:#e8d5a3;background:#2c5282;border-radius:4px;padding:8px;font-size:12px;line-height:1.4}.mp-invite-pending strong{letter-spacing:2px}.camcheck-btn{color:#e8d5a3;cursor:pointer;background:0 0;border:1px dashed #718096;border-radius:4px;align-self:flex-start;padding:6px 10px;font-size:12px}.camcheck-overlay{z-index:400;background:#000000c7;justify-content:center;align-items:center;padding:8px;display:flex;position:fixed;inset:0}.camcheck-dialog{width:100%;max-width:360px;max-height:96vh;color:#e8d5a3;background:#1a202c;border-radius:8px;flex-direction:column;gap:8px;max-height:96dvh;padding:12px;display:flex;overflow-y:auto;box-shadow:0 8px 32px #0009}.camcheck-title{font-size:14px;font-weight:700}.camcheck-video{width:100%;max-height:40vh;object-fit:contain;background:#000;border-radius:4px;max-height:40dvh}.camcheck-hidden{display:none}.camcheck-line{background:#2d3748;border-radius:4px;padding:6px 8px;font-size:13px;font-weight:700;line-height:1.35}.camcheck-ok{color:#68d391}.camcheck-bad{color:#fc8181}.camcheck-wait{color:#e8d5a3}.rotate-gate{z-index:1000;box-sizing:border-box;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);color:#e2e8f0;text-align:center;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#0b0e17;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}.rotate-gate-icon{color:#63b3ed;flex:none}.rotate-gate-phone{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite rotate-gate-turn}@keyframes rotate-gate-turn{0%,20%{transform:rotate(-90deg)}60%,to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.rotate-gate-phone{animation:none}}.rotate-gate-text{margin:0;padding:0 16px;font-size:18px;font-weight:700;line-height:1.3}.app[data-screen=home]{overscroll-behavior:contain;justify-content:flex-start;max-width:none;scroll-padding:8px}.home{--home-row:96px;flex-direction:column;flex:auto;gap:14px;width:100%;max-width:960px;min-height:0;margin-inline:auto;display:flex}.home>*{flex-shrink:0}.home-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-title{letter-spacing:1px;color:#e8d5a3;text-shadow:0 1px 6px #000000b3;font-size:22px;font-weight:800}.home-actions{flex-shrink:0;gap:10px;display:flex}.home-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}@media (max-width:420px){.home-header{gap:8px}.home-title{letter-spacing:0;font-size:18px}.home-actions{gap:6px}}.home-actions .icon-btn-tooltip{inset-inline:auto 0;max-width:min(60vw,240px);top:calc(100% + 6px);transform:none}.home>.home-grid{flex:auto}.home-grid{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 4px calc(16px + env(safe-area-inset-bottom,0px));min-height:calc(var(--home-row) + 4px + 16px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;margin:-4px -4px 0;scroll-padding:6px;display:grid;overflow:hidden auto}.home-tile{min-height:var(--home-row);font:inherit;text-align:center;cursor:pointer;appearance:none;border:1.5px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px 6px;font-size:13px;font-weight:600;line-height:1.2;display:flex}.home-tile-icon{font-size:24px;line-height:1;display:flex}.home-tile-name{overflow-wrap:anywhere}@media (hover:hover) and (pointer:fine){.home-tile:hover:not(:disabled){transform:translateY(-1px)}}.home.home[data-ring-off] .home-tile:focus-visible{box-shadow:none!important;outline:none!important}.home-tile:disabled{opacity:.35;cursor:not-allowed}.home-tile:active:not(:disabled){filter:brightness(.92);transform:scale(.97)}@media (prefers-reduced-motion:reduce){.home-tile:active:not(:disabled){transform:none}}.home-room{color:#e2e8f0;background:#1a202c;border:1px solid #4a5568;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 12px;font-size:14px;display:flex}.home-room-text{flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;display:flex}.home-room-code{color:#e8d5a3}.home-room-held{color:#fbd38d}.home-room-chat{align-items:center;gap:4px;font-weight:700;display:inline-flex}.home-room-return{flex-shrink:0}.home-note{color:#cbd5e0;text-shadow:0 1px 4px #000000b3;text-align:center;font-size:12px}html[dir=rtl] .home{direction:rtl}@media (min-width:700px){.home{max-width:640px}.home-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.home{--home-row:112px}.home-tile{font-size:14px}.home-tile-icon{font-size:28px}.home-title{font-size:26px}}@media (min-width:1100px){.home{max-width:900px}.home-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (max-height:500px){.home{flex:none}.home>.home-grid{min-height:0;padding:0 0 calc(16px + env(safe-area-inset-bottom,0px));flex:none;margin:0;scroll-padding:0;overflow:visible}}@media (orientation:landscape) and (max-height:500px){.home,.home-grid{gap:8px}.home{--home-row:74px}.home-tile{gap:4px;padding:6px 4px}.home-tile-icon{font-size:21px}}.home-online{display:flex}.home-online-btn{border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 14px;font-size:16px;font-weight:700;line-height:1.2;display:flex}.home-online-text{overflow-wrap:anywhere}.home-online-badge{color:#1a202c;text-align:center;background:#e8d5a3;border-radius:999px;min-width:24px;padding:1px 8px;font-size:14px;font-weight:800}.home-online-btn--muted .home-online-badge{color:inherit;background:0 0;border:1px solid;padding:0 7px}.open-rooms-sr,.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.open-rooms-panel{width:min(340px,100vw - 32px)}.open-rooms-panel:focus{outline:none}.open-rooms-inroom{color:#e8d5a3;background:#1a202c;border:1px solid #4a5568;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.open-rooms-inroom .btn-ctrl{flex-shrink:0;padding:4px 10px;font-size:12px}.open-room-list{margin:0;padding:0;list-style:none}.open-room-empty{flex-direction:column;gap:4px;display:flex}.open-rooms-hint{color:#718096;font-size:11px;font-style:normal}.open-room-meta{color:#a0aec0;gap:8px;font-size:11px;display:flex}.open-room-yours{color:#e8d5a3;border:1px solid #e8d5a3;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:700}.open-switch{flex-direction:column;gap:4px;display:flex}html[dir=rtl] .open-rooms-panel{direction:rtl}.pres-switch{border-bottom:1px solid #2d3748;flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.pres-switch-btn{color:#e2e8f0;width:100%;min-height:36px;font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:4px 2px;font-size:14px;font-weight:600;display:flex}.pres-switch-btn[aria-disabled=true]{cursor:progress;opacity:.7}.pres-switch-track{background:#2d3748;border:1px solid #718096;border-radius:999px;flex:none;width:38px;height:22px;transition:background .12s ease-out,border-color .12s ease-out;position:relative}.pres-switch-thumb{top:2px;background:#cbd5e0;border-radius:50%;width:16px;height:16px;transition:inset-inline-start .12s ease-out,background .12s ease-out;position:absolute;inset-inline-start:2px}.pres-switch-btn[aria-checked=true] .pres-switch-track{background:#2c5282;border-color:#63b3ed}.pres-switch-btn[aria-checked=true] .pres-switch-thumb{background:#e8d5a3;inset-inline-start:18px}.pres-switch-label{overflow-wrap:anywhere}.pres-hint{color:#a0aec0;margin:0;font-size:12px;line-height:1.4}@media (prefers-reduced-motion:reduce){.pres-switch-track,.pres-switch-thumb{transition:none}}.snd-section{border-top:1px solid #2d3748;flex-direction:column;gap:2px;margin-top:8px;padding-top:8px;display:flex}.snd-title{color:#a0aec0;margin:0 0 2px;font-size:13px;font-weight:600}.snd-switch--dim{opacity:.55}html[dir=rtl] .snd-section{direction:rtl}.pres-section{border-top:1px solid #2d3748;flex-direction:column;gap:8px;margin-top:4px;padding-top:10px;display:flex}.pres-locked{padding:2px 0}.pres-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pres-row{background:#0f1420;border:1px solid #2d3748;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px 8px;display:flex}.pres-info{flex-direction:column;flex:110px;gap:1px;min-width:0;display:flex}.pres-name{color:#e2e8f0;overflow-wrap:anywhere;font-size:13px}.pres-status{color:#a0aec0;overflow-wrap:anywhere;font-size:11px}.pres-actions{flex-wrap:wrap;flex:0 auto;align-items:center;gap:6px;display:flex}.pres-game{color:#e2e8f0;min-width:0;max-width:130px;font:inherit;background:#1a202c;border:1px solid #4a5568;border-radius:6px;padding:4px 6px;font-size:12px}.pres-game:disabled{opacity:.85;cursor:not-allowed;color:#e2e8f0;border-style:dashed}.pres-action{flex-shrink:0;padding:4px 10px;font-size:12px}.pres-action[aria-disabled=true]{opacity:.45;cursor:not-allowed}.pres-action--cancel{background:#4a5568}.pres-note{color:#cbd5e0;overflow-wrap:anywhere;flex:1 0 100%;font-size:11px}.pres-row[data-state=error] .pres-note{color:#feb2b2}.pres-note bdi{font-weight:600}.pres-more{color:#a0aec0;text-align:center;font-size:12px}.pres-empty{color:#a0aec0;padding:4px 0;font-style:normal}html[dir=rtl] .pres-section,html[dir=rtl] .pres-switch{direction:rtl}.invite-card{gap:6px 10px;position:relative;overflow:hidden}.invite-card--strip{border-color:#63b3ed}.invite-card--strip .invite-text{overflow-wrap:anywhere;flex:160px;min-width:0}.dock-flyout-error--toast.invite-card--toast{color:#ebf8ff;cursor:default;background:#1a365d;flex-wrap:wrap;justify-content:center;align-items:center;padding-bottom:12px;display:flex}.toast-stack>.invite-card--toast{position:relative;overflow:hidden}.invite-card--toast .invite-text{text-align:start;overflow-wrap:anywhere;flex:140px;min-width:0}.invite-more{color:#bee3f8;flex:none;font-size:11px}.invite-actions{flex:none;gap:6px;display:flex}.invite-actions .btn-ctrl{min-height:34px;padding:4px 12px}.invite-actions .btn-ctrl[aria-disabled=true]{opacity:.5;cursor:progress}.invite-timer{inset-inline:0;background:#ffffff24;height:3px;position:absolute;bottom:0}.invite-timer-bar{transform-origin:0;background:#63b3ed;height:100%;animation:linear forwards invite-drain;display:block}html[dir=rtl] .invite-timer-bar{transform-origin:100%}@keyframes invite-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.invite-timer-bar{animation:none;transform:none}}.pres-failed{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.pres-retry{padding:4px 12px;font-size:12px}.invite-strip-wrap{grid-template-rows:1fr;animation:.15s ease-out invite-strip-in;display:grid}.invite-strip-wrap[data-state=out]{pointer-events:none;animation:.15s ease-in forwards invite-strip-out}.invite-strip-inner{min-height:0;margin:-6px;padding:6px;overflow:hidden}@keyframes invite-strip-in{0%{opacity:0;grid-template-rows:0fr;margin-bottom:-14px;transform:translateY(-6px)}to{opacity:1;grid-template-rows:1fr;margin-bottom:0;transform:none}}@keyframes invite-strip-out{0%{opacity:1;grid-template-rows:1fr;margin-bottom:0;transform:none}to{opacity:0;grid-template-rows:0fr;margin-bottom:-14px;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.invite-strip-wrap,.invite-strip-wrap[data-state=out]{animation:none}}:root{--glass-line:#ffffffbf;--glass-ink:#1b2430;--glass-film:#ffffff47;--glass-film-last:#ffffff2e;--glass-fallback:#ffffff59;--glass-gold:#70500c;--glass-blur:blur(8px);--glass-t:.12s;--glass-halo-text:none;--glass-halo-icon:none}.app[data-theme=night]{--glass-line:#ffffff73;--glass-ink:#fff;--glass-film:#ffffff24;--glass-film-last:#ffffff14;--glass-gold:#e8d5a3;--glass-halo-text:0 0 2px #000c, 0 0 3px #000c, 0 0 1px #000c;--glass-halo-icon:drop-shadow(0 0 2px #000c) drop-shadow(0 0 3px #000c) drop-shadow(0 0 1px #000c)}.home-tile,.btn-ctrl.home-online-btn,.home-actions .icon-btn,.control-dock .icon-btn:not(.score-badge){border:1.5px solid var(--glass-line);color:var(--glass-ink);transition:background-color var(--glass-t) ease-out, border-color var(--glass-t) ease-out, backdrop-filter var(--glass-t) ease-out, -webkit-backdrop-filter var(--glass-t) ease-out, transform var(--glass-t) ease-out, filter var(--glass-t) ease-out;background:0 0}.home-tile:focus-visible:not(:disabled),.home-tile:active:not(:disabled),.btn-ctrl.home-online-btn:focus-visible,.btn-ctrl.home-online-btn:active,.home-actions .icon-btn:focus-visible,.home-actions .icon-btn:active,.control-dock .icon-btn:not(.score-badge):focus-visible,.control-dock .icon-btn:not(.score-badge):active:not(:disabled),.control-dock .icon-btn:not(.score-badge)[aria-pressed=true],.control-dock .icon-btn.icon-btn-active:not(.score-badge){background:var(--glass-film);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}@media (hover:hover) and (pointer:fine){.home-tile:hover:not(:disabled),.btn-ctrl.home-online-btn:hover:not(:disabled),.home-actions .icon-btn:hover:not(:disabled),.control-dock .icon-btn:not(.score-badge):hover:not(:disabled){background:var(--glass-film);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.home.home[data-ring-off] .home-tile:focus-visible:not(:hover):not(:active){-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.home.home[data-ring-off] .home-tile.home-tile--last:focus-visible:not(:hover):not(:active){background:var(--glass-film-last)}.control-dock .icon-btn.icon-btn-active:not(.score-badge){background:var(--glass-film)!important}.home-tile.home-tile--last{border:2px solid var(--glass-gold);background:var(--glass-film-last)}.home-tile.home-tile--room{border:2px solid var(--glass-gold)}.home-tile,.btn-ctrl.home-online-btn,.home-actions .icon-btn,.control-dock .icon-btn:not(.score-badge){text-shadow:var(--glass-halo-text)}.home-tile svg,.btn-ctrl.home-online-btn svg,.home-actions .icon-btn svg,.control-dock .icon-btn:not(.score-badge) svg{filter:var(--glass-halo-icon)}.control-dock .icon-btn:not(.score-badge) .icon-btn-tooltip,.home-actions .icon-btn .icon-btn-tooltip,.btn-ctrl.home-online-btn .home-online-badge{text-shadow:none}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.home-tile:focus-visible:not(:disabled),.home-tile:active:not(:disabled),.btn-ctrl.home-online-btn:focus-visible,.btn-ctrl.home-online-btn:active,.home-actions .icon-btn:focus-visible,.home-actions .icon-btn:active,.control-dock .icon-btn:not(.score-badge):focus-visible,.control-dock .icon-btn:not(.score-badge):active:not(:disabled),.control-dock .icon-btn:not(.score-badge)[aria-pressed=true]{background:var(--glass-fallback)}.control-dock .icon-btn.icon-btn-active:not(.score-badge){background:var(--glass-fallback)!important}.home-tile.home-tile--last{background:var(--glass-film-last)}}@media (hover:hover) and (pointer:fine){@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.home-tile:hover:not(:disabled),.btn-ctrl.home-online-btn:hover:not(:disabled),.home-actions .icon-btn:hover:not(:disabled),.control-dock .icon-btn:not(.score-badge):hover:not(:disabled){background:var(--glass-fallback)}}}@media (prefers-reduced-motion:reduce){.home-tile,.btn-ctrl.home-online-btn,.home-actions .icon-btn,.control-dock .icon-btn:not(.score-badge){transition:none}}
