.hidden{display:none!important}.sr-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-primary{padding:.8rem 1.5rem;background:var(--accent-grad);color:var(--accent-ink);border:none;border-radius:var(--radius);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:var(--fw-bold);cursor:pointer;box-shadow:var(--shadow-card);transition:filter var(--ease),transform var(--ease)}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{padding:.4rem .9rem;background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:var(--ease)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-link{background:none;border:none;padding:0;font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);text-decoration:underline;cursor:pointer;transition:var(--ease)}.btn-link:hover{color:var(--accent)}.btn-link:disabled{opacity:.45;cursor:default}.lobby-strip{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);text-align:left}.lobby-strip-summary{display:flex;align-items:center;gap:.4rem;padding:.5rem .7rem;cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);list-style-position:inside}.lobby-strip-summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lobby-strip-body{display:flex;flex-direction:column;gap:.5rem;padding:0 .7rem .65rem}.lobby-roster{display:flex;flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;max-height:15rem;overflow-y:auto}.roster-row{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .4rem;padding:.35rem .45rem;border-radius:var(--radius);background:var(--surface-alt);font-size:var(--fs-sm);min-width:0}.roster-row--me{box-shadow:inset 0 0 0 1px var(--border)}.roster-flag{width:18px;height:14px;flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px #0000002e}.roster-name{font-weight:var(--fw-semibold);color:var(--text);min-width:0;overflow-wrap:anywhere}a.roster-name{color:var(--text);text-decoration:underline}.roster-rating{color:var(--text-muted)}.roster-status{flex:1 0 100%;font-size:var(--fs-xs);color:var(--text-muted)}.roster-you{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent-text);margin-left:auto}.roster-action{margin-left:auto;padding:.25rem .6rem;font-size:var(--fs-xs)}.lobby-prefs{display:flex;flex-wrap:wrap;gap:.3rem .9rem}.lobby-pref{display:flex;align-items:center;gap:.35rem;font-size:var(--fs-xs);color:var(--text-muted);cursor:pointer}.lobby-pref input{accent-color:var(--accent)}.lobby-see-all{align-self:flex-start;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent-text);text-decoration:underline}.challenge-out{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem .6rem;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.challenge-out-text{min-width:0;overflow-wrap:anywhere}.challenge-toast{position:fixed;top:calc(var(--header-h) + .6rem);left:50%;transform:translate(-50%);z-index:210;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem .55rem;width:max-content;max-width:min(94vw,30rem);padding:.55rem .8rem;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-board);animation:challenge-appear .22s ease}@keyframes challenge-appear{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.challenge-toast-text{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);min-width:0;overflow-wrap:anywhere}.challenge-flag{width:18px;height:14px;margin-right:.3rem;vertical-align:-.15em;border-radius:2px;box-shadow:0 0 0 1px #0000002e}a.challenge-name{color:var(--text);text-decoration:underline}.challenge-toast-count{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-text);font-variant-numeric:tabular-nums}.challenge-toast .btn-primary,.challenge-toast .btn-secondary{padding:.3rem .7rem;font-size:var(--fs-sm)}.challenge-toast .btn-link{font-size:var(--fs-xs)}.challenge-notify{flex:1 0 100%;text-align:center}:root{--c-page: #f6f4f2;--c-chrome: #2e1518;--c-surface: #eae7e3;--c-surface-2: #fbfaf9;--c-white: #ffffff;--c-text: #2c2220;--c-text-muted: #4a3f3b;--c-text-chrome: #f2e8e4;--c-orange: #f4762c;--c-orange-hi: #ff8b46;--c-orange-ink: #ffffff;--c-orange-text: #a84a00;--c-board-dark: #8b6a4a;--c-board-light: #d6c4a0;--c-board-frame: #33271b;--c-piece-black-hi: #555555;--c-piece-black-lo: #111111;--c-piece-white-hi: #ffffff;--c-piece-white-lo: #bbbbbb;--c-piece-black-rim: #2f2f2f;--c-piece-white-rim: #a6a6a6;--c-piece-black-nub-hi: #6a6a6a;--c-piece-black-nub-lo: #0c0c0c;--c-piece-white-nub-hi: #ffffff;--c-piece-white-nub-lo: #b4b4b4;--c-king-crown: #f0c75e;--c-king-crown-stroke: #231a0c;--c-turn-disc-black: #1a1210;--c-turn-disc-white: #f2ede8;--piece-black-art: none;--piece-white-art: none;--c-red: #cf3a2e;--c-red-text: #a4161a;--c-legal: #4fa83f;--c-live: #e0443e;--c-overlay: rgba(30, 14, 16, .72);--c-overlay-setup: rgba(30, 14, 16, .45);--bg: var(--c-page);--chrome: var(--c-chrome);--surface: var(--c-surface);--surface-alt: var(--c-surface-2);--text: var(--c-text);--text-muted: var(--c-text-muted);--text-on-chrome: var(--c-text-chrome);--accent: var(--c-orange);--accent-hi: var(--c-orange-hi);--accent-text: var(--c-orange-text);--accent-grad: linear-gradient(180deg, var(--accent-hi) 0%, var(--accent) 100%);--accent-ink: var(--c-orange-ink);--accent-on-chrome: var(--c-orange);--danger: var(--c-red);--danger-text: var(--c-red-text);--border: rgba(44, 34, 32, .12);--live: var(--c-live);--sq-dark: var(--c-board-dark);--sq-light: var(--c-board-light);--sq-highlight: var(--accent);--font-sans: "Schibsted Grotesk", system-ui, -apple-system, sans-serif;--fw-regular: 400;--fw-semibold: 600;--fw-bold: 700;--fs-xs: .72rem;--fs-sm: .85rem;--fs-md: 1rem;--fs-lg: 1.15rem;--fs-xl: 1.5rem;--fs-2xl: clamp(2rem, 5vw, 3rem);--tracking-label: .1em;--tracking-tight: -.5px;--radius: 8px;--radius-lg: 14px;--radius-pill: 999px;--shadow-card: 0 1px 3px rgba(44, 34, 32, .1);--shadow-board: 0 8px 24px rgba(30, 14, 16, .26);--shadow-piece: 0 3px 7px rgba(0, 0, 0, .45), inset 0 1px 2px rgba(255, 255, 255, .25);--ease: .18s ease;--header-h: 46px}:root{--board-size: min(92vw, calc(100dvh - var(--header-h) - 7rem), 760px)}body:before,body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}body:before{opacity:.14;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}body:after{background:radial-gradient(ellipse 105% 115% at 50% 40%,transparent 48%,rgba(34,21,9,.4) 100%)}.btn-group{display:flex;gap:.4rem;background:var(--surface);padding:.25rem;border-radius:var(--radius-pill)}.btn-option{flex:1;padding:.55rem .5rem;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transition:var(--ease)}.btn-option.active{background:var(--accent-grad);color:var(--accent-ink);box-shadow:var(--shadow-card)}.game-root{position:relative}.game-root.is-setup:before{content:"";position:absolute;inset:0;z-index:29;background:var(--c-overlay-setup);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}.setup-screen{position:absolute;inset:0;max-height:calc(100dvh - var(--header-h));z-index:30;display:flex;padding:1.5rem 1.5rem 2rem;overflow-y:auto}.setup-card{margin:auto auto 0;width:100%;max-width:420px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.9rem 1.5rem 2.1rem;display:flex;flex-direction:column;align-items:center;text-align:center;animation:setup-glow 3.2s ease-in-out infinite}@keyframes setup-glow{0%,to{box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),0 0 12px 2px color-mix(in srgb,var(--accent) 16%,transparent)}50%{box-shadow:var(--shadow-card),0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent),0 0 30px 8px color-mix(in srgb,var(--accent) 40%,transparent)}}@media(prefers-reduced-motion:reduce){.setup-card{animation:none;box-shadow:var(--shadow-card),0 0 0 2px color-mix(in srgb,var(--accent) 42%,transparent),0 0 22px 5px color-mix(in srgb,var(--accent) 30%,transparent)}}.game-root.is-setup .side-actions,.game-root.is-setup .side-rules-link,.game-root.is-setup .status-bar{display:none}.setup-screen h1{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);color:var(--text);margin-bottom:.4rem}.setup-subtitle{color:var(--text-muted);margin-bottom:1.1rem}.setup-trust{list-style:none;margin:0 0 1.7rem;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.setup-trust li{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.setup-trust svg{width:.95rem;height:.95rem;color:var(--accent);flex-shrink:0}.setup-options{display:flex;flex-direction:column;gap:.9rem;width:100%;max-width:360px}.option-group label{display:block;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);margin-bottom:.5rem}.start-btn,.resume-btn{width:100%}.setup-stats{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.setup-alt{display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:var(--fs-sm);color:var(--text-muted)}.setup-subctas{display:flex;gap:.6rem;margin-top:.6rem}.setup-subctas .btn-secondary{flex:1;padding:.65rem .9rem}.nfj-badge{color:var(--text)}.gameover-card .gameover-house-rule{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.start-btn,.setup-subctas .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-icon{width:1.15em;height:1.15em;flex-shrink:0}.hero-more-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);margin-bottom:.7rem}.hero-more-chips{list-style:none;margin:0 0 .9rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.hero-more-chips a{display:inline-block;padding:.4rem .85rem;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-alt);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);text-decoration:none;transition:var(--ease)}.hero-more-chips a:hover{border-color:var(--accent);color:var(--accent)}.hero-more-all{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);text-decoration:underline}.hero-more-all:hover{color:var(--accent)}.hero-more--hero{display:none;width:100%;max-width:400px;margin-top:2rem}.hero-more--flow{width:100%;max-width:640px;margin:0 auto;padding:1.75rem 1.25rem .25rem;text-align:center}.hero-more--flow .hero-more-chips{justify-content:center}.game-screen{width:100%;max-width:1500px;margin:0 auto;min-height:calc(100dvh - var(--header-h));padding:.85rem 1.25rem 1rem;display:flex;flex-direction:column}.game-layout{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.game-main{display:flex;flex-direction:column;align-items:center;gap:.6rem}.game-side{width:var(--board-size);display:flex;flex-direction:column;gap:.8rem}.side-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.95rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.75rem}.side-actions .new-game-btn{width:100%;padding:.55rem 1.1rem;font-size:var(--fs-sm)}.color-note{font-size:var(--fs-xs);color:var(--text-muted);margin-top:.4rem}.side-info-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text)}.side-info-meta{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);margin-top:-.45rem}.side-rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.side-rules li{position:relative;padding-left:.9rem;font-size:var(--fs-sm);color:var(--text-muted)}.side-rules li:before{content:"";position:absolute;left:0;top:.5em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.side-rules-link{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);text-decoration:underline}.side-rules-link:hover{color:var(--accent)}.game-controls{display:flex;flex-wrap:wrap;gap:.5rem;width:100%;justify-content:center}.game-controls button{flex:1;min-width:5.5rem}.game-controls button:disabled{opacity:.45;cursor:default}.game-controls button:disabled:hover{border-color:var(--border);color:var(--text-muted)}@media(min-width:1151px){:root{--board-size: min( calc(100vw - 27rem) , calc(100dvh - var(--header-h) - 7rem), 760px)}.game-layout{display:grid;grid-template-columns:1fr auto minmax(16rem,19rem) 1fr;align-items:center;gap:1.5rem}.game-main{grid-column:2}.game-side{grid-column:3;width:auto;min-width:0}.game-root.is-setup{--board-size: min( calc(100vw - 44rem) , calc(100dvh - var(--header-h) - 7rem), 620px)}.game-root.is-setup .game-layout{grid-template-columns:1fr minmax(20rem,34rem) var(--board-size) 1fr;align-items:start}.game-root.is-setup .game-main{grid-column:3}.setup-screen{display:grid;grid-template-columns:1fr minmax(20rem,34rem) var(--board-size) 1fr;align-items:start;padding-top:clamp(1.5rem,6vh,4rem);gap:1.5rem;max-width:1500px;margin:0 auto;padding-inline:1.25rem;padding-bottom:1rem;pointer-events:none}.game-root.is-setup:before{display:none}.setup-card{grid-column:2;justify-self:stretch;margin:0;max-width:34rem;background:none;border:none;box-shadow:none;animation:none;padding:0;text-align:left;align-items:flex-start;pointer-events:auto}.setup-screen h1{font-size:clamp(2.6rem,3.6vw,3.6rem);line-height:1.03;margin-bottom:.7rem}.setup-subtitle{font-size:var(--fs-lg);margin-bottom:1.4rem;max-width:30rem}.setup-trust{justify-content:flex-start;margin-bottom:2rem}.setup-options{max-width:400px}.setup-alt{justify-content:flex-start}.hero-more--hero{display:block}.hero-more--flow,.game-root.is-setup .side-info{display:none}}.game-ad-rail{display:none}@media(min-width:1500px)and (min-height:700px),(min-width:1460px)and (min-height:700px)and (max-height:892px),(min-width:1420px)and (min-height:700px)and (max-height:852px),(min-width:1380px)and (min-height:700px)and (max-height:812px),(min-width:1340px)and (min-height:700px)and (max-height:772px),(min-width:1300px)and (min-height:700px)and (max-height:732px){.game-ad-rail{display:block;position:fixed;top:calc(var(--header-h) + 2rem);z-index:5;--rail-w: 160px}.game-ad-rail--left{right:calc(50vw + var(--board-size) / 2 + 11.25rem)}.game-ad-rail--right{left:calc(50vw + var(--board-size) / 2 + 11.25rem)}.game-root.is-setup .game-ad-rail--left{right:min(calc(50vw + var(--board-size) / 2 + 18.75rem),calc(100% - var(--rail-w) - 8px))}.game-root.is-setup .game-ad-rail--right{left:min(calc(50vw + var(--board-size) / 2 + 18.75rem),calc(100% - var(--rail-w) - 8px))}}.game-root.is-setup .game-ad-rail{display:none}@media(min-width:1555px)and (min-height:700px){.game-root.is-setup .game-ad-rail{display:block}}@media(min-width:1536px)and (min-height:700px)and (max-height:756px){.game-root.is-setup .game-ad-rail{display:block}}@media(min-width:1780px){.game-ad-rail{--rail-w: 300px}}@media(min-width:1780px)and (max-width:1834px){.game-root.is-setup .game-ad-rail{display:none}}.game-ad-box{display:none}@media(min-width:1280px)and (min-height:400px)and (max-height:699.98px){.game-root.has-ad-box:not(.is-setup){--board-size: min( calc(100vw - 28.5rem - 300px) , calc(100dvh - var(--header-h) - 7rem), 760px)}.game-root.has-ad-box:not(.is-setup) .game-layout{grid-template-columns:1fr auto minmax(16rem,19rem) 300px 1fr}.game-root.has-ad-box:not(.is-setup) .game-ad-box{display:block;grid-column:4}}.status-bar{display:flex;align-items:center;gap:.5rem;width:var(--board-size)}.status-text{margin-right:auto}.status-meta{display:flex;gap:.4rem}.meta-chip{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.32rem .65rem;white-space:nowrap}.meta-chip .info-moves{color:var(--text)}.last-move{color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,var(--surface-alt));font-variant-numeric:tabular-nums}.turn-clock{color:var(--text);font-variant-numeric:tabular-nums}.turn-clock.is-low{color:var(--danger-text);border-color:var(--danger);font-weight:var(--fw-bold)}.status-text{font-size:var(--fs-md);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);padding:.45rem 1.1rem;display:inline-flex;align-items:center;gap:.5rem;transition:background var(--ease),color var(--ease)}.status-text:before{content:"";width:.7em;height:.7em;border-radius:50%;background:currentColor;opacity:.9}.status-text.turn-white{background:var(--surface-alt);color:var(--text);border:1px solid var(--border)}.status-text.turn-white:before{background:var(--c-turn-disc-white);box-shadow:inset 0 0 0 1px #00000040}.status-text.turn-black{background:#2c2220;color:#f2e8e4;border:1px solid #2c2220}.status-text.turn-black:before{background:var(--c-turn-disc-black);box-shadow:inset 0 0 0 1px #ffffff40}.status-text.is-thinking{animation:blink 1.2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.45}}.board{position:relative;display:grid;width:var(--board-size);height:var(--board-size);border:6px solid var(--c-board-frame);border-radius:6px;overflow:hidden;user-select:none;box-shadow:var(--shadow-board)}.game-root[data-theme=christmas] .board{border-color:transparent;background:repeating-linear-gradient(45deg,var(--c-board-frame) 0 6px,var(--c-board-frame-stripe) 6px 12px) border-box}.board:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.sq{position:relative}.sq--light{background:var(--sq-light)}.sq--dark{background:var(--sq-dark);cursor:pointer;touch-action:none}.sq--dark:hover{filter:brightness(1.22)}.board--plain .sq--dark{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sq-light) 26%,transparent)}.sq--dark:focus-visible{outline:3px solid var(--sq-highlight);outline-offset:-3px;z-index:1}.sq--trail-from,.sq--trail-to{background:color-mix(in srgb,var(--sq-dark) 62%,var(--sq-light) 38%)}.sq--trail-via{background:color-mix(in srgb,var(--sq-dark) 78%,var(--sq-light) 22%)}.sq--trail-origin:after{content:"";position:absolute;inset:34%;border-radius:50%;border:2px solid rgba(242,232,228,.55);pointer-events:none}.sq--trail-capture:before,.sq--trail-capture:after{content:"";position:absolute;left:50%;top:50%;width:34%;height:2px;background:#f2e8e46b;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}.sq--trail-capture:after{transform:translate(-50%,-50%) rotate(-45deg)}.sq--selected{background:color-mix(in srgb,var(--sq-dark) 55%,var(--sq-highlight) 45%);outline:3px solid var(--sq-highlight);outline-offset:-3px}.sq--legal:after{content:"";position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c-legal) 75%,transparent) 0%,transparent 68%);pointer-events:none}.sq--hint{outline:3px dashed var(--sq-highlight);outline-offset:-3px;z-index:1}.sq--hint:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--sq-highlight) 20%,transparent);pointer-events:none}.piece{position:absolute;inset:7%;border-radius:50%;pointer-events:none;z-index:1}.piece--black{background:var(--piece-black-art, none) var(--piece-art-pos, center) / var(--piece-art-size, 100%) no-repeat,radial-gradient(circle at 38% 30%,rgba(255,255,255,.16),transparent 55%),radial-gradient(circle at 50% 50%,rgba(0,0,0,.28) 0 6%,transparent 15%),repeating-radial-gradient(circle at 50% 50%,#ffffff17 0px 1.6px,#0000004d 3.6px,#ffffff17 5.4px),radial-gradient(circle at 36% 30%,var(--c-piece-black-hi),var(--c-piece-black-lo));border:2px solid var(--c-piece-black-rim);box-shadow:var(--shadow-piece),inset 0 0 0 2px #ffffff0f,inset 0 0 7px #00000080}.piece--white{background:var(--piece-white-art, none) var(--piece-art-pos, center) / var(--piece-art-size, 100%) no-repeat,radial-gradient(circle at 38% 30%,rgba(255,255,255,.4),transparent 55%),radial-gradient(circle at 50% 50%,rgba(0,0,0,.1) 0 6%,transparent 15%),repeating-radial-gradient(circle at 50% 50%,#ffffff4d 0px 1.6px,#00000021 3.6px,#ffffff4d 5.4px),radial-gradient(circle at 36% 30%,var(--c-piece-white-hi),var(--c-piece-white-lo));border:2px solid var(--c-piece-white-rim);box-shadow:var(--shadow-piece),inset 0 0 0 2px #fff6,inset 0 0 7px #00000038}.piece:before{content:"";position:absolute;inset:41%;border-radius:50%}.piece--black:before{background:radial-gradient(circle at 42% 36%,var(--c-piece-black-nub-hi),var(--c-piece-black-nub-lo));box-shadow:inset 0 1px 1px #ffffff2e,0 0 2px #0009}.piece--white:before{background:radial-gradient(circle at 42% 36%,var(--c-piece-white-nub-hi),var(--c-piece-white-nub-lo));box-shadow:inset 0 1px 1px #ffffffb3,0 0 2px #00000059}.piece.piece--king:before{inset:26%;border-radius:0;box-shadow:none;background:var(--c-king-crown-stroke);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='0.5'/%3E%3C/filter%3E%3Cpath d='M2.5 8.5l4 3.2L12 4.5l5.5 7.2 4-3.2-1.6 9.5H4.1L2.5 8.5z' transform='translate(0 1)' opacity='0.45' filter='url(%23b)' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'/%3E%3Cpath d='M2.5 8.5l4 3.2L12 4.5l5.5 7.2 4-3.2-1.6 9.5H4.1L2.5 8.5z' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='0.5'/%3E%3C/filter%3E%3Cpath d='M2.5 8.5l4 3.2L12 4.5l5.5 7.2 4-3.2-1.6 9.5H4.1L2.5 8.5z' transform='translate(0 1)' opacity='0.45' filter='url(%23b)' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'/%3E%3Cpath d='M2.5 8.5l4 3.2L12 4.5l5.5 7.2 4-3.2-1.6 9.5H4.1L2.5 8.5z' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat}.piece--king:after{content:"";position:absolute;inset:26%;background:var(--c-king-crown);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='m'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M2.5 8.5l4 3.2L12 4.5l5.5 7.2 4-3.2-1.6 9.5H4.1L2.5 8.5z' fill='none' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/mask%3E%3Cpath d='M2.5 8.5l4 3.2L12 4.5l5.5 7.2 4-3.2-1.6 9.5H4.1L2.5 8.5z' mask='url(%23m)'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='m'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M2.5 8.5l4 3.2L12 4.5l5.5 7.2 4-3.2-1.6 9.5H4.1L2.5 8.5z' fill='none' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/mask%3E%3Cpath d='M2.5 8.5l4 3.2L12 4.5l5.5 7.2 4-3.2-1.6 9.5H4.1L2.5 8.5z' mask='url(%23m)'/%3E%3C/svg%3E") center / contain no-repeat}:is(.game-root[data-theme=christmas],.game-root[data-theme=winter],.game-root[data-theme=spring],.game-root[data-theme=summer],.game-root[data-theme=halloween],.game-root[data-theme=fall]) .piece--black{background:var(--piece-black-art) var(--piece-art-pos, center) / var(--piece-art-size, 100%) no-repeat,radial-gradient(circle at 38% 30%,rgba(255,255,255,.14),transparent 55%),radial-gradient(circle at 36% 30%,var(--c-piece-black-hi),var(--c-piece-black-lo))}:is(.game-root[data-theme=christmas],.game-root[data-theme=winter],.game-root[data-theme=spring],.game-root[data-theme=summer],.game-root[data-theme=halloween],.game-root[data-theme=fall]) .piece--white{background:var(--piece-white-art) var(--piece-art-pos, center) / var(--piece-art-size, 100%) no-repeat,radial-gradient(circle at 38% 30%,rgba(255,255,255,.35),transparent 55%),radial-gradient(circle at 36% 30%,var(--c-piece-white-hi),var(--c-piece-white-lo))}:is(.game-root[data-theme=christmas],.game-root[data-theme=winter],.game-root[data-theme=spring],.game-root[data-theme=summer],.game-root[data-theme=halloween],.game-root[data-theme=fall]) .piece:not(.piece--king):before{display:none}:is(.game-root[data-theme=christmas],.game-root[data-theme=winter],.game-root[data-theme=spring],.game-root[data-theme=summer],.game-root[data-theme=halloween],.game-root[data-theme=fall]) .piece--king:before,:is(.game-root[data-theme=christmas],.game-root[data-theme=winter],.game-root[data-theme=spring],.game-root[data-theme=summer],.game-root[data-theme=halloween],.game-root[data-theme=fall]) .piece--king:after{inset:0 18% 42%}.game-root[data-theme=halloween]{--piece-white-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%237a2b04' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M50 24C24 20 6 34 6 56s18 36 44 34c26 2 44-12 44-34S76 20 50 24Z'/%3E%3Cpath d='M50 24c-14 4-21 18-21 33s7 29 21 33M50 24c14 4 21 18 21 33s-7 29-21 33'/%3E%3C/g%3E%3Cpath d='M46 25c0-8 3-13 9-17l5 5c-5 3-6 7-6 12z' fill='%233f5f17' stroke='%231f2e0a' stroke-width='2.5' stroke-linejoin='round'/%3E%3Cg fill='%232a0f02'%3E%3Cpath d='M22 54h17l-8.5-15z'/%3E%3Cpath d='M61 54h17l-8.5-15z'/%3E%3Cpath d='M45.5 61h9l-4.5-7z'/%3E%3Cpath d='M20 63q30 30 60 0l-8 3-6 6-8-5-8 6-8-6-8 5-6-6z'/%3E%3C/g%3E%3C/svg%3E");--piece-black-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23c9b4f0'%3E%3Cpath d='M50 46C60 38 76 33 94 40q-9 6-10 18q-7-7-15 1q-6-5-12 4L50 58l-7 5q-6-9-12-4q-8-8-15-1Q15 46 6 40C24 33 40 38 50 46Z'/%3E%3Cellipse cx='50' cy='53' rx='7.5' ry='12'/%3E%3Ccircle cx='50' cy='40' r='7.5'/%3E%3Cpath d='M43 38l.5-12 6 8zM57 38l-.5-12-6 8z'/%3E%3C/g%3E%3Cg fill='%231a0f22'%3E%3Ccircle cx='47' cy='40' r='1.9'/%3E%3Ccircle cx='53' cy='40' r='1.9'/%3E%3C/g%3E%3C/svg%3E")}.game-root[data-theme=halloween] .piece--white.piece--king{--piece-art-size: 56%;--piece-art-pos: 50% 100%}.game-root[data-theme=halloween] .piece--black.piece--king{--piece-art-size: 84%;--piece-art-pos: 50% 160%}.game-root[data-theme=christmas]{--piece-black-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 10a6 6 0 1 1 0 .1' fill='none' stroke='%233a2806' stroke-width='3.5'/%3E%3Crect x='40' y='19' width='20' height='11' rx='2' fill='%23e9dcae' stroke='%233a2806' stroke-width='3'/%3E%3Ccircle cx='50' cy='58' r='29' fill='%23f5cf55' stroke='%233a2806' stroke-width='3.5'/%3E%3Cpath d='M23 54l9 7 9-7 9 7 9-7 9 7 9-7' fill='none' stroke='%231d4a32' stroke-width='5.5' stroke-linejoin='round' stroke-linecap='round'/%3E%3Cellipse cx='39' cy='45' rx='6' ry='4' fill='%23fff8dc' transform='rotate(-35 39 45)'/%3E%3C/svg%3E");--piece-white-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%231d4a32' stroke-width='6.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg id='a'%3E%3Cpath d='M50 50V13M50 29l-10-10M50 29l10-10'/%3E%3C/g%3E%3Cuse href='%23a' transform='rotate(60 50 50)'/%3E%3Cuse href='%23a' transform='rotate(120 50 50)'/%3E%3Cuse href='%23a' transform='rotate(180 50 50)'/%3E%3Cuse href='%23a' transform='rotate(240 50 50)'/%3E%3Cuse href='%23a' transform='rotate(300 50 50)'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='7' fill='%231d4a32'/%3E%3C/svg%3E")}.game-root[data-theme=christmas] .piece--black.piece--king{--piece-art-size: 58%;--piece-art-pos: 50% 100%}.game-root[data-theme=christmas] .piece--white.piece--king{--piece-art-size: 60%;--piece-art-pos: 50% 100%}.game-root[data-theme=winter]{--piece-black-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23f2f8ff' stroke-width='6.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg id='a'%3E%3Cpath d='M50 50V13M50 29l-10-10M50 29l10-10'/%3E%3C/g%3E%3Cuse href='%23a' transform='rotate(60 50 50)'/%3E%3Cuse href='%23a' transform='rotate(120 50 50)'/%3E%3Cuse href='%23a' transform='rotate(180 50 50)'/%3E%3Cuse href='%23a' transform='rotate(240 50 50)'/%3E%3Cuse href='%23a' transform='rotate(300 50 50)'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='7' fill='%23f2f8ff'/%3E%3C/svg%3E");--piece-white-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M30 64V36c0-14 8-22 20-22s20 8 20 22v8l8-8c5-4 11 1 7 7L70 60v4z' fill='%23c8202c' stroke='%2313233b' stroke-width='3.5' stroke-linejoin='round'/%3E%3Crect x='27' y='64' width='46' height='18' rx='4' fill='%23eef4fa' stroke='%2313233b' stroke-width='3.5'/%3E%3Cpath d='M36 70v6M44 70v6M52 70v6M60 70v6M68 70v6' stroke='%239ab4cc' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}.game-root[data-theme=winter] .piece--black.piece--king{--piece-art-size: 60%;--piece-art-pos: 50% 100%}.game-root[data-theme=winter] .piece--white.piece--king{--piece-art-size: 58%;--piece-art-pos: 50% 100%}.game-root[data-theme=spring]{--piece-black-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg id='p' fill='%23fff4f8' stroke='%237e2148' stroke-width='2.5' stroke-linejoin='round'%3E%3Cpath d='M50 50C37 41 35 22 43 14l7 7 7-7c8 8 6 27-7 36z'/%3E%3C/g%3E%3Cuse href='%23p' transform='rotate(72 50 50)'/%3E%3Cuse href='%23p' transform='rotate(144 50 50)'/%3E%3Cuse href='%23p' transform='rotate(216 50 50)'/%3E%3Cuse href='%23p' transform='rotate(288 50 50)'/%3E%3Ccircle cx='50' cy='50' r='8' fill='%23ffd84d' stroke='%237e2148' stroke-width='2.5'/%3E%3Cg fill='%237e2148'%3E%3Ccircle cx='50' cy='34' r='2.6'/%3E%3Ccircle cx='65' cy='45' r='2.6'/%3E%3Ccircle cx='59.5' cy='63' r='2.6'/%3E%3Ccircle cx='40.5' cy='63' r='2.6'/%3E%3Ccircle cx='35' cy='45' r='2.6'/%3E%3C/g%3E%3C/svg%3E");--piece-white-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 58V88' stroke='%232f6b22' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M49 86C36 84 27 72 27 62c11 3 20 12 22 24zM51 86c13-2 22-14 22-24-11 3-20 12-22 24z' fill='%234f9a34' stroke='%231f3f14' stroke-width='2.5' stroke-linejoin='round'/%3E%3Cpath d='M31 22l10 10 9-17 9 17 10-10c3 24-5 39-19 39S28 46 31 22z' fill='%238a3fc8' stroke='%232e0f4d' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M50 15v40' stroke='%235c2190' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")}.game-root[data-theme=spring] .piece--black.piece--king{--piece-art-size: 60%;--piece-art-pos: 50% 100%}.game-root[data-theme=spring] .piece--white.piece--king{--piece-art-size: 58%;--piece-art-pos: 50% 100%}.game-root[data-theme=summer]{--piece-black-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M8 34a42 42 0 0 0 84 0z' fill='%232f8a3a' stroke='%23123a14' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M15 34a35 35 0 0 0 70 0z' fill='%23eaf6c8'/%3E%3Cpath d='M20 34a30 30 0 0 0 60 0z' fill='%23ff5468'/%3E%3Cg fill='%231a0806'%3E%3Cellipse cx='36' cy='44' rx='2.6' ry='4'/%3E%3Cellipse cx='50' cy='48' rx='2.6' ry='4'/%3E%3Cellipse cx='64' cy='44' rx='2.6' ry='4'/%3E%3Cellipse cx='43' cy='56' rx='2.6' ry='4'/%3E%3Cellipse cx='57' cy='56' rx='2.6' ry='4'/%3E%3C/g%3E%3C/svg%3E");--piece-white-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg id='r' fill='%23f26a12' stroke='%235a2200' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M50 6l7 17H43z'/%3E%3C/g%3E%3Cuse href='%23r' transform='rotate(45 50 50)'/%3E%3Cuse href='%23r' transform='rotate(90 50 50)'/%3E%3Cuse href='%23r' transform='rotate(135 50 50)'/%3E%3Cuse href='%23r' transform='rotate(180 50 50)'/%3E%3Cuse href='%23r' transform='rotate(225 50 50)'/%3E%3Cuse href='%23r' transform='rotate(270 50 50)'/%3E%3Cuse href='%23r' transform='rotate(315 50 50)'/%3E%3Ccircle cx='50' cy='50' r='22' fill='%23ff8a1f' stroke='%235a2200' stroke-width='3.5'/%3E%3Cg fill='%235a2200'%3E%3Ccircle cx='42' cy='46' r='3'/%3E%3Ccircle cx='58' cy='46' r='3'/%3E%3C/g%3E%3Cpath d='M40 56q10 9 20 0' fill='none' stroke='%235a2200' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}.game-root[data-theme=summer] .piece--black.piece--king{--piece-art-size: 70%;--piece-art-pos: 50% 130%}.game-root[data-theme=summer] .piece--white.piece--king{--piece-art-size: 58%;--piece-art-pos: 50% 100%}.game-root[data-theme=fall]{--piece-black-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 70v20' stroke='%235a1a06' stroke-width='4.5' stroke-linecap='round'/%3E%3Cpath d='M50 9l6 16 8-5-2 17 14-10-1 8h14l-8 11 4 4-16 10 2 7-18-3v12h-6V64l-18 3 2-7-16-10 4-4-8-11h14l-1-8 14 10-2-17 8 5z' fill='%23f6c050' stroke='%235a1a06' stroke-width='3' stroke-linejoin='round'/%3E%3Cpath d='M50 70V24M50 56l24-17M50 56L26 39' fill='none' stroke='%23b5650f' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");--piece-white-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M30 44c0 22 10 38 20 44 10-6 20-22 20-44z' fill='%23b8702e' stroke='%233a1a06' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cellipse cx='40' cy='58' rx='4' ry='9' fill='%23dd9a55'/%3E%3Cpath d='M50 24c1-7 4-11 9-13' fill='none' stroke='%233a1a06' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M23 46c-2-15 12-24 27-24s29 9 27 24z' fill='%236b3a17' stroke='%232a1204' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M32 31l9 12M44 26l9 15M57 26l8 14M29 40l7-11M40 44l10-17M53 44l10-16' stroke='%239a5a2a' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}.game-root[data-theme=fall] .piece--black.piece--king,.game-root[data-theme=fall] .piece--white.piece--king{--piece-art-size: 58%;--piece-art-pos: 50% 100%}.sq--selected .piece{box-shadow:0 0 0 3px var(--sq-highlight),0 3px 10px #00000080}.sq--dragging{z-index:3}.piece--dragging{pointer-events:none;transition:none;z-index:3;scale:1.08;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}.piece{transition:transform .14s ease}.move-ghost{position:absolute;left:0;top:0;width:calc(100% / var(--board-size-n));height:calc(100% / var(--board-size-n));z-index:3;pointer-events:none;transition:transform var(--slide-ms, .21s) ease-in-out}.move-ghost .piece{filter:drop-shadow(0 4px 7px rgba(0,0,0,.4))}.piece--taken{opacity:0;scale:.6;transition:opacity var(--slide-ms, .21s) ease-in,scale var(--slide-ms, .21s) ease-in}@keyframes appear{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}.piece--new{animation:appear .22s ease}.sq--movable .piece{animation:pickable 1.7s ease-in-out infinite}@keyframes pickable{0%,to{filter:drop-shadow(0 0 2px rgba(240,199,94,.55))}50%{filter:drop-shadow(0 0 7px rgba(240,199,94,1))}}@media(prefers-reduced-motion:reduce){.sq--movable .piece{animation:none;filter:drop-shadow(0 0 5px rgba(240,199,94,.9))}}.gameover-overlay{position:fixed;inset:0;background:var(--c-overlay);display:flex;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(4px)}.gameover-card{background:var(--surface-alt);border-radius:var(--radius-lg);padding:2rem;text-align:center;max-width:340px;width:90%;display:flex;flex-direction:column;align-items:center;gap:.35rem;box-shadow:0 16px 40px #0006}.gameover-card .gameover-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text);margin-bottom:0}.gameover-card p{color:var(--text-muted);margin-bottom:.25rem}.gameover-stats{font-weight:var(--fw-semibold)}.play-again-btn{width:100%;margin-top:.5rem}.feedback{width:100%;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--border);text-align:left}.gameover-card .feedback-line{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:.6rem}.feedback-open-btn{width:100%}.feedback-form{display:flex;flex-direction:column;gap:.4rem}.feedback-label{font-size:var(--fs-sm);color:var(--text-muted)}.feedback-text,.feedback-email{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-sm);padding:.4rem .6rem;resize:vertical}.feedback-text:focus,.feedback-email:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.gameover-card .feedback-note{font-size:var(--fs-sm);color:var(--text);margin-bottom:0}.feedback-actions{display:flex;gap:.5rem;margin-top:.25rem}.feedback-actions button{flex:1}.gameover-card .feedback-thanks{font-size:var(--fs-sm);margin-bottom:0}.setup-note{margin-top:1rem;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.join-code-row{display:flex;gap:.5rem}.join-code-input{flex:1;min-width:0;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-sm);padding:.4rem .75rem}.join-code-input:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.match-search{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:.85rem .9rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.match-search-status{display:flex;align-items:center;gap:.5rem}.match-search-text{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.match-live-dot{position:relative;flex-shrink:0;width:9px;height:9px;border-radius:50%;background:var(--live)}.match-live-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--live);animation:live-pulse 1.5s ease-out infinite}@keyframes live-pulse{0%{transform:scale(1);opacity:.55}to{transform:scale(2.75);opacity:0}}.match-search-loader{display:flex;gap:.4rem}.match-search-loader span{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:search-bounce 1.2s ease-in-out infinite}.match-search-loader span:nth-child(2){animation-delay:.15s}.match-search-loader span:nth-child(3){animation-delay:.3s}@keyframes search-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.match-search.is-idle .match-live-dot,.match-search.is-idle .match-search-loader{display:none}@media(prefers-reduced-motion:reduce){.match-live-dot:after{display:none}.match-search-loader span{animation:none}}.match-search-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.lobby-count{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.online-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;width:var(--board-size);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .8rem;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);box-shadow:var(--shadow-card)}.room-link{font-size:var(--fs-xs);background:var(--surface);border-radius:var(--radius);padding:.3rem .55rem;color:var(--text);user-select:all;overflow-wrap:anywhere;max-width:100%}.online-players{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;width:var(--board-size);font-size:var(--fs-sm)}.op-seat{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.op-flag{flex:none;border-radius:2px;box-shadow:0 0 0 1px #00000026}.op-name{font-weight:var(--fw-semibold);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:10rem}.op-you{flex:none;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.02rem .4rem}.op-vs{color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-label)}.emote-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;width:100%}.emote-bar .emote-btn{padding:.35rem .6rem;font-size:var(--fs-xs);min-width:0}.emote-bar .emote-btn:disabled{opacity:.45;cursor:default}.emote-bar .emote-btn:disabled:hover{border-color:var(--border);color:var(--text-muted)}.game-main{position:relative}.emote-toast{position:absolute;top:4.6rem;left:50%;transform:translate(-50%);z-index:50;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.45rem 1rem;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);box-shadow:var(--shadow-board);pointer-events:none;white-space:nowrap;animation:appear .22s ease}.live-invite{position:absolute;top:4.6rem;left:50%;transform:translate(-50%);z-index:55;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .6rem;max-width:min(92%,27rem);padding:.5rem .75rem;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-board);animation:appear .22s ease}.live-invite-text{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);min-width:0;overflow-wrap:anywhere}.live-invite-flag{width:18px;height:14px;margin-right:.3rem;vertical-align:-.15em;border-radius:2px;box-shadow:0 0 0 1px #0000002e}a.live-invite-name{color:var(--text);text-decoration:underline}.live-invite .btn-primary,.live-invite .btn-secondary{padding:.3rem .7rem;font-size:var(--fs-sm)}.rematch-note{font-weight:var(--fw-semibold)}.leave-btn{width:100%;margin-top:.35rem}@media(max-width:680px){:root{--board-size: min(96vw, calc(100dvh - var(--header-h) - 7.5rem))}.game-screen{padding:.6rem}.status-meta{display:none}}
