: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 (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;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 (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (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 - 96px);--board-vw-unit:1vw;--board-vh-unit:1vh}html{overscroll-behavior-y:none}html,body{height:100%}body{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}.board,.tak-board,.duel-board,.pente-board,.c6-board,.go-board,.c4-board,.tf-board,.alq-board,.mo-board,.fg-board,.hm-board,.square,.tak-cell,.ttt-square,.rev-square,.tf-cell{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.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 (height<=700px) and (aspect-ratio>=3/2){.sky-bg{opacity:.5}}.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,.mo-phase-badge--flash{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{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:28px;width:100%;min-width:0;min-height:0;display:flex}.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}.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}.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}.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)}.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}.btn-ctrl:hover:not(:disabled){background:#4a5568}.btn-ctrl:disabled{opacity:.35;cursor:not-allowed}.btn-new{background:#2c5282}.btn-new:hover{background:#2b6cb0}.btn-flip{background:#2d4a3e}.btn-flip:hover{background:#3a6150}.history h3{color:#a0aec0;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px}.move-list{flex-direction:column;gap:2px;max-height:340px;padding-right:4px;list-style:none;display:flex;overflow-y:auto}.move-list li{gap:6px;font-size:13px;display:flex}.move{border-radius:4px;min-width:72px;padding:2px 8px;font-family:monospace}.move.white{color:#e2e8f0;background:#2d3748}.move.black{color:#a0aec0;background:#1a202c}.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}.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}.conn-banner{top:calc(16px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));z-index:150;overflow-wrap:break-word;text-align:center;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}.conn-banner-warn{color:#faf089;background:#744210;border-color:#975a16}.conn-banner-error{color:#feb2b2;background:#742a2a}.call-panel{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:12px;flex-direction:column;width:min(400px,46vw);height:min(500px,60vh);padding:10px;transition:top .25s,right .25s,width .25s,height .25s,border-radius .25s;display:flex;position:fixed;box-shadow:0 8px 24px #0009}.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(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{touch-action:manipulation;background:#0f1420;border-radius:8px;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;text-align:center;justify-content:center;align-items:center;height:100%;padding:8px;font-size:13px;display:flex}.call-video-local{aspect-ratio:4/3;object-fit:cover;background:#0f1420;border:2px solid #1a202c;border-radius:6px;width:30%;position:absolute;bottom:6px;right:6px;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{flex-shrink:0;justify-content:center;gap:6px;margin-top:8px;display:flex}.call-ctrl-btn{color:#e2e8f0;cursor:pointer;background:#2d3748;border:none;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;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-error{color:#feb2b2;text-align:center;overflow-wrap:break-word;background:#742a2a;border-radius:6px;margin-top:8px;padding:6px 8px;font-size:12px}@media (width<=640px){.call-panel{width:min(220px,60vw);height:min(260px,50vh)}.call-ctrl-btn{width:34px;height:34px;font-size: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}.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-right:5px;display:inline-block}.mp-advanced[open]>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}.tf-ai-notice{color:#f6c177;text-align:center;background:#f6c1771f;border:1px solid #f6c17759;border-radius:6px;flex:0 0 100%;order:-1;align-self:center;max-width:min(560px,90vw);margin:0 auto;padding:6px 10px;font-size:12px;line-height:1.35}.chat-panel{width:min(560px,94vw);max-width:min(560px,94vw)}.chat-list{flex-direction:column;gap:7px;max-height:min(62dvh,640px);padding-right: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{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;top:-2px;right:-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-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}.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:#718096;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:left;cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:12px}.mp-auth-switch:hover{text-decoration:underline}.mp-authed-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.mp-authed-as{color:#cbd5e0;align-items:center;gap:8px;min-width:0;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{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}.icon-btn{z-index:10;color:#e2e8f0;cursor:pointer;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}.icon-btn:hover:not(:disabled){background:#4a5568;transform:scale(1.06)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn-active{background:#2c5282!important}.icon-btn-glyph{-webkit-user-select:none;user-select:none;line-height:1}.score-badge{cursor:default;font-size:15px;font-weight:800}.score-badge:hover{transform:none}.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;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}.icon-btn:hover .icon-btn-tooltip{opacity:1}.game-item{color:#a0aec0;cursor:pointer;text-align:left;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}.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}.app[data-theme=day] .captured-row{color:#2d2416}.rules-list{color:#a0aec0;flex-direction:column;gap:4px;padding-left:18px;font-size:13px;line-height:1.5;list-style:outside;display:flex}.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}.dock-scroll-wrap{flex-shrink:0;min-height:96px;position:relative}.dock-scroll{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;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}.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-coord-ranks{height:min(640px, calc(var(--board-vw-unit,1vw) * 71.1), var(--board-max-h))}.duel-coord-files{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), calc(var(--board-max-h) * 9 / 8))}.duel-board{width:min(720px, calc(var(--board-vw-unit,1vw) * 80), calc(var(--board-max-h) * 9 / 8));aspect-ratio:9/8;border:3px solid #4a3728;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-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}.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-coord-ranks{height:min(640px, calc(var(--board-vw-unit,1vw) * 78), var(--board-max-h))}.tak-coord-files{width:min(640px, calc(var(--board-vw-unit,1vw) * 78), var(--board-max-h))}.tak-board{width:min(640px, calc(var(--board-vw-unit,1vw) * 78), var(--board-max-h));aspect-ratio:1;background:#c9a06c;border:3px solid #4a3728;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-coord-ranks{height:min(640px, calc(var(--board-vw-unit,1vw) * 78), var(--board-max-h))}.tf-coord-files{width:min(640px, calc(var(--board-vw-unit,1vw) * 78), var(--board-max-h))}.tf-board{width:min(640px, calc(var(--board-vw-unit,1vw) * 78), var(--board-max-h));aspect-ratio:1;background:#c9a06c;border:3px solid #4a3728;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-col{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.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-badge{color:#e8d5a3;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.mo-phase-badge--flash{animation:.9s ease-out mo-phase-flash}@keyframes mo-phase-flash{0%{color:#fff3c4;text-shadow:0 0 10px #ffd659d9}to{color:#e8d5a3;text-shadow:none}}.mo-phase-toast{color:#ffd659;text-align:center;pointer-events:none;z-index:7;background:#14100ad9;border-radius:20px;max-width:88%;padding:6px 14px;font-size:13px;font-weight:700;animation:.35s ease-out mo-phase-toast-in,.35s ease-in 2.25s forwards mo-phase-toast-out;position:absolute;top:10px;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}.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-selected-ring{fill:none;stroke:#7fc97f;stroke-width:4px;pointer-events:none}.fg-dot{fill:#7fc97fbf;pointer-events:none}.fg-capture-ring{fill:none;stroke:#f44;stroke-width:4px;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}@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}.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}.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) * 78), var(--board-max-h));aspect-ratio:1;cursor:crosshair;background:#3d2b1a;border:3px solid #4a3728;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-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:left}.qr-mode-active{color:#fefcbf!important;background:#744210!important}@media (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;margin-top:-10px;overflow:auto hidden}.control-dock::-webkit-scrollbar{display:none}.control-dock>*{flex-shrink:0}.icon-btn-tooltip{display:none}.sidebar{width:100%;max-width:min(560px,90vw)}.move-list{max-height:160px}.board,.qr-container{width:min(720px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.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{width:min(640px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.tak-coord-ranks{height:min(640px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.tak-coord-files,.tf-board{width:min(640px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.tf-coord-ranks{height:min(640px, calc(var(--board-vw-unit,1vw) * 92), var(--board-max-h))}.tf-coord-files{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))}.duel-coord-ranks{height:min(640px, calc(var(--board-vw-unit,1vw) * 81.8), var(--board-max-h))}.duel-coord-files{width:min(720px, calc(var(--board-vw-unit,1vw) * 92), calc(var(--board-max-h) * 9 / 8))}.ttt-board{width:min(420px, calc(var(--board-vw-unit,1vw) * 88), var(--board-max-h))}.pente-board,.c6-board,.go-board,.hm-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))}}@media (orientation:landscape) and (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{gap:6px;max-height:calc(100dvh - 16px);padding-top:0;overflow:visible auto}.icon-btn{width:34px;height:34px;font-size:15px}.icon-btn-tooltip{left:42px}.chat-list{max-height:40dvh}.chat-text{font-size:14px}.sidebar{width:auto;max-width:220px;max-height:90dvh;overflow-y:auto}.move-list{max-height:120px}.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{width:min(640px, calc(var(--board-vh-unit,1vh) * 74))}.tak-coord-ranks{height:min(640px, calc(var(--board-vh-unit,1vh) * 74))}.tak-coord-files,.tf-board{width:min(640px, calc(var(--board-vh-unit,1vh) * 74))}.tf-coord-ranks{height:min(640px, calc(var(--board-vh-unit,1vh) * 74))}.tf-coord-files{width:min(640px, calc(var(--board-vh-unit,1vh) * 74))}.duel-board{width:min(720px, calc(var(--board-vh-unit,1vh) * 83.25))}.duel-coord-ranks{height:min(640px, calc(var(--board-vh-unit,1vh) * 74))}.duel-coord-files{width:min(720px, calc(var(--board-vh-unit,1vh) * 83.25))}.ttt-board{width:min(420px, calc(var(--board-vh-unit,1vh) * 70))}.pente-board,.c6-board,.go-board,.hm-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))}.piece{font-size:clamp(14px,6dvh,40px)}.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)))}}.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}
