@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-latin.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/poppins-extrabold-latin.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-system-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-geist-mono:"Geist Mono";--colored-theme-blue:#0b254f;--colored-theme-yellow:#d3a52e;--tone-light:#fbf7e8;--tone-dark:#22344b;--ink:var(--tone-dark);--paper:var(--tone-light);--board-edge:#8a9299;--cell-light:#e7e5de;--cell-dark:#d1d0c9;--cell-neutral:#deddd6;--cell-grid:#c0c0b9;--objective-target:#7a7d7b;--hud-color:#31445d;--rules-toggle-ink:var(--paper);--rules-text-color:var(--ink);--rating-panel-text:var(--ink);--rules-muted-ink:#536174;--rules-logo-blue:var(--dark-piece-color);--rules-logo-yellow:var(--light-piece-color);--rules-logo-blue-outline:transparent;--rules-logo-yellow-outline:transparent;--win-dark:color-mix(in srgb, var(--cell-dark) 65%, var(--tone-dark));--accent:#177565;--swap:#b44e32;--swap-lock:#737976;--swap-lock-detail:#d8dcda;--light-piece-color:var(--colored-theme-yellow);--dark-piece-color:var(--colored-theme-blue);--white-piece:var(--light-piece-color);--black-piece:var(--dark-piece-color);--soft-dark-border:color-mix(in srgb, var(--dark-piece-color) 42%, transparent);--white-piece-contrast-border:color-mix(in srgb, var(--white-piece) 58%, #282c31);--black-piece-contrast-border:color-mix(in srgb, var(--black-piece) 58%, #555957);--white-piece-outline:color-mix(in srgb, var(--white-piece) 62%, #202328);--black-piece-outline:color-mix(in srgb, var(--black-piece) 58%, #555957);--white-frame-outline:color-mix(in srgb, var(--white-piece) 72%, transparent);--black-frame-outline:color-mix(in srgb, var(--black-piece) 72%, transparent);--white-win-cell:color-mix(in srgb, var(--white-piece) 42%, var(--cell-neutral));--black-win-cell:color-mix(in srgb, var(--black-piece) 42%, var(--cell-neutral));--white-win-objective:var(--white-win-cell);--black-win-objective:var(--black-win-cell);--white-objective-occupied:var(--white-win-objective);--black-objective-occupied:var(--black-win-objective);--starting-coin-border:#646865;--body-background:var(--tone-light);--focus-ring-inner:#fff;--focus-ring-outer:#101820;--game-inline-start:max(10px, env(safe-area-inset-left));--game-inline-end:max(10px, env(safe-area-inset-right));--game-block-start:max(10px, env(safe-area-inset-top));--game-block-end:max(10px, env(safe-area-inset-bottom));--game-viewport-height:100svh;--game-score-stack-reserve:120px;--game-content-center-x:calc(( 100vw + var(--game-inline-start) - var(--game-inline-end) ) / 2);--board-width:min(calc(100vw - var(--game-inline-start) - var(--game-inline-end)), calc(( var(--game-viewport-height) - var(--game-block-start) - var(--game-block-end) - var(--game-score-stack-reserve) ) * 5 / 7));--board-inline-start:calc(var(--game-content-center-x) - (var(--board-width) / 2));--board-inline-end:calc(var(--game-content-center-x) + (var(--board-width) / 2));--board-border-width:clamp(5px, .7vw, 9px);--board-frame-inset:calc((var(--board-border-width) + 1px) * 2);--board-height:calc((var(--board-width) - var(--board-frame-inset)) * 7 / 5 + var(--board-frame-inset));--game-group-offset-y:0px;--game-content-center-y:calc(( var(--game-viewport-height) + var(--game-block-start) - var(--game-block-end) ) / 2);--top-corner-top:calc(var(--game-content-center-y) - (var(--board-height) / 2) - 49px + var(--game-group-offset-y));--bottom-corner-top:calc(var(--game-content-center-y) + (var(--board-height) / 2) + 11px + var(--game-group-offset-y))}:root[data-theme=colored-dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--colored-theme-blue:#80aedb;--colored-theme-yellow:#d8b652;--tone-light:#e8e5dd;--tone-dark:#111822;--ink:var(--tone-light);--paper:var(--tone-dark);--surface-raised:#1c2733;--surface-subtle:#283646;--surface-border:#536579;--selection-ring:#b9cadc;--button-ink:#111822;--board-edge:#536579;--cell-light:#344355;--cell-dark:#46576b;--cell-neutral:#344355;--cell-grid:#4a596a;--objective-target:#a1b1c2;--hud-color:var(--tone-light);--rules-toggle-ink:var(--button-ink);--rules-text-color:var(--tone-light);--rating-panel-text:var(--tone-light);--rules-muted-ink:#adb9c7;--rules-logo-blue:var(--colored-theme-blue);--rules-logo-blue-outline:transparent;--rules-logo-yellow-outline:transparent;--light-piece-color:var(--colored-theme-yellow);--dark-piece-color:#6491bd;--white-piece:var(--dark-piece-color);--black-piece:var(--colored-theme-yellow);--white-piece-contrast-border:var(--colored-theme-yellow);--black-piece-contrast-border:var(--colored-theme-blue);--white-piece-outline:#7da5cc;--black-piece-outline:#f1d186;--white-frame-outline:var(--colored-theme-yellow);--black-frame-outline:var(--colored-theme-blue);--soft-dark-border:var(--surface-border);--white-win-cell:#405570;--black-win-cell:#56503b;--white-win-objective:var(--white-win-cell);--black-win-objective:var(--black-win-cell);--white-objective-occupied:#3b4c63;--black-objective-occupied:#4a4941;--starting-coin-border:#8c9eaf;--accent:#75cbbb;--swap:#eda58b;--swap-lock:#7c8d9f;--board-border-width:clamp(3px, .45vw, 5px);--body-background:var(--tone-dark)}*{box-sizing:border-box;-webkit-user-select:none;user-select:none}html:lang(ko){word-break:keep-all;overflow-wrap:break-word}html{overscroll-behavior:none;background-color:var(--body-background);width:100%;min-width:320px;height:100%;overflow:hidden}body{overscroll-behavior:none;background-color:var(--body-background);width:100%;height:100%;color:var(--ink);font-family:var(--font-system-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow:hidden}button{color:inherit;font:inherit}.i18nRoot{display:contents}.i18nRoot[data-i18n-ready=false]{visibility:hidden}svg{display:block}button:focus-visible{z-index:20;outline:3px solid var(--focus-ring-inner);outline-offset:2px;box-shadow:0 0 0 5px var(--focus-ring-outer)}.gameShell{--game-review-control-width:40px;--game-review-control-gap:4px;width:100%;height:var(--game-viewport-height);background-color:var(--body-background);min-height:0;padding:var(--game-block-start) var(--game-inline-end) var(--game-block-end) var(--game-inline-start);grid-template-rows:42px auto 42px;place-content:center;place-items:center;gap:9px;transition:opacity .12s;display:grid;overflow:hidden}.gameShell--choosing{opacity:0}.gameShell--themeArrival{opacity:1;transition:none}.gameShell--starting{pointer-events:none}.gameShell--starting>.rulesToggle,.gameShell--starting>.onboardingBadge,.gameShell--starting>.ratingBadge,.gameShell--starting>.dailyBadge,.gameShell--starting>.opponentModeBadge,.gameShell--starting>.humanMatchScore,.gameShell--starting>.practiceBadge,.gameShell--starting>.ratingTierPanel{pointer-events:auto}.gameShell--postGame{cursor:pointer;touch-action:none}.startingRevealOverlay{z-index:20;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.startingRevealCoin{--starting-color:var(--light-piece-color);--starting-border-color:var(--starting-coin-border);aspect-ratio:1;border:2px solid var(--starting-border-color);background:var(--light-piece-color);width:34px;transform-style:preserve-3d;border-radius:50%;animation:.82s cubic-bezier(.3,.1,.2,1) forwards startingCoinFlip;box-shadow:0 4px 10px #07140f38,inset 0 0 0 1px #fff3}.startingRevealCoin--white{--starting-color:var(--white-piece)}.startingRevealCoin--black{--starting-color:var(--black-piece)}.restartToggle,.soundToggle,.themeModeToggle,.rulesToggle,.dailyArchiveToggle,.physicalEditionToggle{z-index:40;width:38px;height:38px;color:var(--hud-color);cursor:pointer;background:0 0;border:0;place-items:center;line-height:1;transition:color .16s,opacity .16s,transform .16s;display:grid;position:fixed}.restartToggle,.soundToggle,.themeModeToggle,.dailyArchiveToggle,.physicalEditionToggle{-webkit-tap-highlight-color:transparent}.restartToggle:active,.soundToggle:active,.themeModeToggle:active,.dailyArchiveToggle:active,.physicalEditionToggle:active{background:0 0}.restartToggle{top:var(--bottom-corner-top);left:calc(var(--board-inline-start) + 42px)}.physicalEditionToggle{top:var(--top-corner-top);left:calc(var(--board-inline-end) - 80px);display:grid}.dailyArchiveToggle{top:var(--top-corner-top);left:calc(var(--board-inline-end) - 80px)}.dailyArchiveToggle--withPhysicalEdition{left:calc(var(--board-inline-end) - 122px)}.soundToggle{top:var(--top-corner-top);left:calc(var(--board-inline-end) - 38px)}.themeModeToggle{top:var(--bottom-corner-top);left:var(--board-inline-start)}.rulesToggle{top:var(--bottom-corner-top);left:calc(var(--board-inline-end) - 38px);background:radial-gradient(circle, var(--hud-color) 0 16px, transparent 16.5px);color:var(--rules-toggle-ink);font-family:var(--font-geist-mono), ui-monospace, monospace;-webkit-tap-highlight-color:transparent;border:0;border-radius:50%;font-size:22px;font-weight:700;text-decoration:none}.rulesToggle:focus-visible{z-index:20;outline:3px solid var(--focus-ring-inner);outline-offset:2px;box-shadow:0 0 0 5px var(--focus-ring-outer)}.rulesToggle--goalCue{animation:.66s ease-in-out 2 rulesTogglePulse}.rulesToggleGlyph{place-items:center;width:100%;height:100%;display:grid}.restartToggle:hover,.soundToggle:hover,.themeModeToggle:hover,.dailyArchiveToggle:hover,.physicalEditionToggle:hover{opacity:.72;transform:translateY(-1px)}.restartIcon{width:21px;height:21px}.tabletopIcon{width:31px;height:24px}.dailyArchiveToggleIcon,.soundIcon{width:25px;height:25px}.themeModeIcon{width:23px;height:23px}.themeModeIconWrap{--theme-mode-icon-rotation:360deg;display:block}.themeModeIconWrap--sun{--theme-mode-icon-rotation:90deg}.themeModeIconWrap--moon{--theme-mode-icon-rotation:360deg}.themeModeIconWrap--reloading{animation:.6s linear infinite themeModeIconRotate}.themeModeIconWrap--arriving{animation:.6s cubic-bezier(.4,0,.2,1) both themeModeIconRotate}.themeModeToggle:disabled{cursor:wait;opacity:1}.ratingBadge,.dailyBadge,.opponentModeBadge,.onboardingBadge,.practiceBadge{z-index:43;top:var(--top-corner-top);left:var(--board-inline-start);height:38px;color:var(--hud-color);cursor:pointer;font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:24px;font-weight:400;line-height:1;display:flex;position:fixed}.practiceBadge{cursor:default;font-family:var(--font-system-sans);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:650}.ratingBadge{z-index:43;top:var(--top-corner-top);left:var(--board-inline-start);color:var(--hud-color);position:fixed}.scoreChevron{border-bottom:1.6px solid;border-right:1.6px solid;flex:none;width:7px;height:7px;transition:transform .22s;display:block;transform:translateY(-2px)rotate(45deg)}.ratingBadge[aria-expanded=true] .scoreChevron,.dailyBadge[aria-expanded=true] .scoreChevron,.opponentModeBadge[aria-expanded=true] .scoreChevron,.onboardingBadge[aria-expanded=true] .scoreChevron,.humanMatchScore[aria-expanded=true] .scoreChevron,.ratingBadge[aria-expanded=true] .scoreChevron,.humanMatchScore[aria-expanded=true] .scoreChevron{transform:translateY(2px)rotate(225deg)}.ratingBadgeContent{transform-origin:0;align-items:center;gap:7px;display:flex}.ratingBadge:focus-visible,.dailyBadge:focus-visible,.opponentModeBadge:focus-visible,.onboardingBadge:focus-visible,.ratingBadge:focus-visible{z-index:43;outline:2px solid var(--hud-color);outline-offset:4px;border-radius:6px}.dailyBadgeIcon,.opponentModeBadgeIcon,.onboardingBadgeIcon{flex:none;width:23px;height:23px}.dailyBadge,.opponentModeBadge,.onboardingBadge{font-family:var(--font-system-sans);font-size:20px}.dailyBadgeCounter,.onboardingBadgeCounter{font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.onboardingBadge--static{cursor:default}.humanMatchScore{z-index:40;top:var(--top-corner-top);left:var(--board-inline-start);height:38px;color:var(--hud-color);cursor:pointer;font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:24px;line-height:1;display:flex;position:fixed}.humanMatchScore:focus-visible{outline:2px solid var(--hud-color);outline-offset:4px;border-radius:6px}.scoreControl--compact,.scoreControl--compact .ratingBadgeContent{gap:4px}.humanMatchScoreIcon{flex:none;width:22px;height:22px}.humanMatchScoreIconBadge{border:2px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.humanMatchScoreIconBadge .humanMatchScoreIcon{width:16px;height:16px}.humanMatchScoreIconBadge--white{border-color:var(--black-piece);background:var(--white-piece);color:var(--black-piece)}.humanMatchScoreIconBadge--black{border-color:var(--white-piece);background:var(--black-piece);color:var(--white-piece)}.roomToast{z-index:110;bottom:calc(56px + env(safe-area-inset-bottom));border:2px solid var(--white-piece);background:var(--hud-color);width:max-content;max-width:min(520px,100vw - 40px);box-shadow:0 0 0 2px var(--hud-color), 0 8px 22px #07140f33;color:var(--rules-toggle-ink);overflow-wrap:anywhere;text-align:center;text-wrap:balance;white-space:pre-line;border-radius:999px;padding:8px 24px;font-size:clamp(19px,4.8vw,21px);font-weight:400;line-height:1.2;position:fixed;left:50%;transform:translate(-50%)}.roomToast--aboveOpponentPanel{z-index:110}.roomToast--celebration{z-index:140;pointer-events:none;animation:4s linear both celebrationToastLifetime}@keyframes celebrationToastLifetime{0%,90%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.roomToast--celebration{animation:none}}.roomToast--resultLearning{border-radius:26px;max-width:min(560px,100vw - 12px);padding-inline:14px}.roomToast--scoreDiscovery{top:calc(var(--top-corner-top) + 48px);bottom:auto;left:var(--board-inline-start);max-width:min(360px, calc(100vw - var(--board-inline-start) - 12px));text-align:start;white-space:normal;pointer-events:none;border-radius:16px;padding:10px 14px;font-size:clamp(16px,4.3vw,18px);transform:none;box-shadow:0 8px 22px #07140f33}.roomToast--scoreDiscovery:before,.roomToast--scoreDiscovery:after{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);pointer-events:none;position:absolute}.roomToast--scoreDiscovery:before{background:var(--white-piece);width:18px;height:10px;top:-10px;left:22px}.roomToast--scoreDiscovery:after{background:var(--hud-color);width:14px;height:9px;top:-7px;left:24px}.roomToast--physicalDiscovery{top:calc(var(--top-corner-top) + 48px);bottom:auto;left:auto;right:calc(100vw - var(--board-inline-end));max-width:min(360px, calc(var(--board-inline-end) - var(--board-inline-start)));text-align:start;white-space:normal;pointer-events:auto;border-radius:16px;padding:10px 44px 10px 14px;font-size:clamp(16px,4.3vw,18px);transform:none}.roomToast--physicalDiscovery:before,.roomToast--physicalDiscovery:after{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);pointer-events:none;position:absolute}.roomToast--physicalDiscovery:before{background:var(--white-piece);width:18px;height:10px;top:-10px;right:52px}.roomToast--physicalDiscovery:after{background:var(--hud-color);width:14px;height:9px;top:-7px;right:54px}.roomToastDismiss{width:36px;height:36px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:24px;display:grid;position:absolute;top:4px;right:4px}.roomToastPrimary{width:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0}.roomToastPrimary:focus-visible{outline-offset:3px;outline:2px solid}.roomToastDismiss:focus-visible{outline-offset:-4px;outline:2px solid}.ratingBadge--discovery:after{content:"";pointer-events:none;border:2px solid;border-radius:8px;animation:1.4s ease-out both scoreDiscoveryPulse;position:absolute;inset:-5px}@keyframes scoreDiscoveryPulse{0%,to{opacity:0}35%{opacity:.7}}@media (prefers-reduced-motion:reduce){.ratingBadge--discovery:after{opacity:.45;animation:none}}.roomToast--collapsing{pointer-events:none;transform-origin:50%;will-change:transform, opacity}.roomToast[data-layout-ready=false]{visibility:hidden}.roomToast--readable{pointer-events:auto;cursor:pointer;touch-action:none}.roomToast--readable:focus-visible{outline-offset:4px;outline:2px solid}.roomToast--action{cursor:default;touch-action:manipulation;border-radius:24px;padding-inline:16px}.roomToast--review{bottom:calc(var(--game-viewport-height) - var(--bottom-corner-top) + 12px)}.roomToastAction{width:max-content;max-width:100%;min-height:44px;color:inherit;font:inherit;white-space:normal;cursor:pointer;background:0 0;border:2px solid;border-radius:999px;margin:8px auto 0;padding:6px 18px;font-weight:600;display:block}.roomToastAction:focus-visible{outline-offset:3px;outline:2px solid}.ratingTierBackdrop{z-index:41;cursor:default;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;position:fixed;inset:0}.ratingTierPanel{z-index:42;top:calc(var(--top-corner-top) + 46px);left:var(--board-inline-start);width:min(316px, var(--board-width));max-block-size:calc(100dvh - var(--top-corner-top) - 54px - env(safe-area-inset-bottom));border:2px solid var(--hud-color);background:var(--paper);box-shadow:0 2px 0 color-mix(in srgb, var(--hud-color) 30%, transparent), 0 14px 34px #07140f33;color:var(--rating-panel-text);overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;visibility:hidden;border-radius:12px;padding:12px;position:fixed;overflow:hidden auto}.ratingPanelContent{display:flow-root}.ratingTierPanel:not(.ratingTierPanel--open){overflow:hidden}.ratingRankingRow{width:100%;min-height:44px;color:var(--rating-panel-text);cursor:pointer;text-align:start;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 8px;padding:6px 7px;display:flex}.ratingRankingValue{align-items:center;gap:8px;font-size:16px;display:flex}.ratingRankingValue>bdi{transform:translateY(2px)}.ratingRankingValue svg{width:21px;height:21px}.ratingRankingChevron{border-block-start:1.5px solid;border-inline-end:1.5px solid;width:8px;height:8px;margin-inline:4px 3px;transform:rotate(45deg)}[dir=rtl] .ratingRankingChevron{transform:rotate(-45deg)}.ratingRankingRow{box-shadow:none;outline:none}.ratingRankingRow:focus-visible{outline:2px solid var(--hud-color);outline-offset:2px;box-shadow:none;border-radius:5px}.ratingTierPanel--open{pointer-events:auto;visibility:visible}.ratingTierPanel--joinAnother{top:calc(var(--top-corner-top) + 46px)}.ratingTierPanelHeader{align-items:center;gap:7px;min-height:22px;margin:0 7px 5px;display:flex}.ratingTierPanelTitle{color:var(--rating-panel-text);letter-spacing:.08em;overflow-wrap:anywhere;text-transform:uppercase;margin:0;font-size:12px;font-weight:700;line-height:1.2}.ratingTierHelpLink{width:44px;height:44px;color:var(--rating-panel-text);font-family:var(--font-system-sans);-webkit-tap-highlight-color:transparent;border:0;place-items:center;margin:-13px;font-size:12px;font-weight:400;line-height:1;text-decoration:none;display:grid;position:relative}.ratingTierHelpLink:before{content:"";pointer-events:none;border:1.5px solid;border-radius:50%;position:absolute;inset:13px}.ratingTierHelpLink:focus-visible{outline:none}.ratingTierHelpLink:focus-visible:before{outline:2px solid var(--rating-panel-text);outline-offset:2px}.ratingTierRows{gap:2px;display:grid}.ratingTierRow{min-height:30px;font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;border-radius:7px;grid-template-columns:26px 1fr;align-items:center;gap:9px;padding:2px 7px;font-size:16px;line-height:1;display:grid}.ratingTierRow--current{background:color-mix(in srgb, var(--hud-color) 12%, transparent);font-weight:700}.ratingTierRow .ratingStarIcon{width:21px;height:21px}.ratingStarIcon{flex:none;width:22px;height:22px}.ratingValue{transform-origin:50%;min-width:3ch}.ratingValue--up{animation:.7s ease-out both ratingValueGrow}.ratingValue--down{animation:.7s ease-in-out both ratingValueShrink}.ratingDelta{font-size:18px;font-weight:400;animation:1.8s linear forwards ratingDelta;position:absolute;bottom:24px;left:27px}.ratingDelta--positive{color:var(--accent)}.ratingDelta--negative{color:var(--swap)}.ratingDelta--neutral{color:var(--ink)}.gameShell>.boardFrame{grid-row:2}.gameReviewControls{z-index:39;top:var(--bottom-corner-top);left:var(--board-inline-start);width:var(--board-width);grid-template-columns:38px var(--game-review-control-width) var(--game-review-control-width) minmax(0, 1fr) var(--game-review-control-width) 38px;align-items:center;column-gap:var(--game-review-control-gap);height:42px;display:grid;position:fixed}.gameReviewControls--practice{place-items:center;display:grid}.gameReviewControl{z-index:1;width:var(--game-review-control-width);height:44px;color:var(--hud-color);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:6px;grid-row:1;place-items:center;padding:0;display:grid;position:relative}.gameReviewControl:disabled{opacity:.28;cursor:default}.gameReviewControl svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.gameReviewPracticeAction{justify-self:center}.gameReviewBack{grid-column:2}.revisitMomentPanel{z-index:48;left:50%;bottom:calc(var(--game-block-end) + 58px);border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);background:var(--paper);width:min(340px,100vw - 32px);color:var(--ink);text-align:start;font-family:var(--font-system-sans);cursor:default;border-radius:15px;padding:18px;position:fixed;transform:translate(-50%);box-shadow:0 8px 30px #0002}.revisitMomentPanel header{justify-content:space-between;align-items:center;gap:10px;display:flex}.revisitMomentPanel h2{font:600 16px/1.35 var(--font-system-sans);margin:0}.revisitMomentPanel p{margin:10px 0;font-size:14px;line-height:1.5}.revisitMomentNote{opacity:.72}.revisitMomentPanel button{font:inherit;color:inherit;cursor:pointer}.revisitMomentClose{background:0 0;border:0;flex-shrink:0;width:36px;height:36px;font-size:24px!important}.revisitMomentTry{background:var(--ink);border:0;border-radius:8px;width:100%;min-height:44px;margin-top:14px;padding:10px 14px;display:block;color:var(--paper)!important;font-size:14px!important}.revisitMomentNewGame{border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);background:0 0;border-radius:8px;width:100%;min-height:44px;margin-top:8px;padding:10px 14px;display:block;font-size:14px!important}.revisitMomentPanel button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.gameReviewPlayFromHere{grid-column:3}.gameReviewPlayFromHere svg{width:20px;height:20px}.gameReviewPlayFromHere svg path:first-child,.gameReviewReturn svg path:first-child{fill:currentColor;stroke:none}.gameReviewPlayFromHere svg path:last-child,.gameReviewReturn svg path:last-child{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round}.gameReviewNewGame{width:38px;height:38px;color:var(--hud-color);background:0 0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gameReviewNewGame svg{fill:currentColor;stroke:none;width:24px;height:24px;transform:translate(1px)}.gameReviewNewGame:hover:not(:disabled){opacity:.72}.gameReviewNewGame:focus-visible{outline:2px solid var(--hud-color);outline-offset:3px}.gameReviewForward{grid-column:5}.gameReviewReturn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gameReviewReturn svg{width:20px;height:20px}.gameReviewPracticeAction:hover:not(:disabled){opacity:.72}.gameReviewPracticeAction:focus-visible{outline:2px solid var(--hud-color);outline-offset:3px}.opponentModeToggle{background:color-mix(in srgb, var(--hud-color) 10%, transparent);border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:4px;margin-bottom:10px;padding:2px;display:grid}.opponentModeToggle--two{grid-template-columns:repeat(2,minmax(0,1fr))}.opponentModeChoice{min-width:0;min-height:42px;color:var(--hud-color);cursor:pointer;text-align:center;white-space:normal;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:8px 9px;font-size:15px;font-weight:400;line-height:1.1;display:inline-flex}.opponentModeToggle:not(.opponentModeToggle--two) .opponentModeChoice{flex-direction:column;padding-inline:4px}@media (width<=340px){.opponentModeToggle{margin-inline:-8px}}.dailyPuzzlePanel{color:var(--rating-panel-text);text-align:center;text-wrap:balance;gap:9px;padding:7px 3px 2px;display:grid}.dailyPuzzlePanel p{margin:0;font-weight:400}.dailyPuzzleHeading{justify-self:center}.dailyPuzzleObjective,.dailyPuzzleSolvedTitle{color:var(--hud-color);font-size:17px;line-height:1.3}.dailyPuzzleStreak,.dailyPuzzleSolvedStats{font-size:14px;line-height:1.35}.dailyPuzzleProgress{color:color-mix(in srgb, var(--rating-panel-text) 72%, transparent);font-size:13px;line-height:1.3}.dailyPuzzlePanel--loading{place-items:center;min-height:72px}.dailyPuzzlePanel--error p{font-size:14px;line-height:1.4}.dailyPuzzleRetry,.dailyPuzzleShare,.ratingShare{background:var(--hud-color);width:100%;min-height:40px;color:var(--rules-toggle-ink);cursor:pointer;border:0;border-radius:8px;padding:8px 12px;font-size:16px;font-weight:400}.dailyPuzzleShare,.ratingShare{justify-content:center;align-items:center;gap:8px;display:inline-flex}.dailyPuzzleShareIcon,.ratingShareIcon{width:19px;height:19px}.dailyPuzzleShareStatus,.ratingShareStatus,.dailyReminderMessage{color:color-mix(in srgb, var(--rating-panel-text) 68%, transparent);font-size:12px}.ratingShare{margin-top:10px}.ratingShareStatus{text-align:center;margin-top:6px;display:block}.dailyReminderEnable{border:1px solid color-mix(in srgb, var(--hud-color) 45%, transparent);width:100%;min-height:40px;color:var(--hud-color);cursor:pointer;background:0 0;border-radius:8px;margin-top:3px;padding:8px 12px;font-size:15px;font-weight:400}.dailyReminderEnable:disabled{cursor:wait;opacity:.6}.dailyPuzzleRetry:focus-visible,.dailyPuzzleShare:focus-visible,.ratingShare:focus-visible,.dailyReminderEnable:focus-visible{outline:2px solid var(--focus-ring-inner);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring-outer)}.opponentModeIcon{flex:none;width:20px;height:20px}.opponentModeChoice--active{background:var(--hud-color);box-shadow:0 1px 4px color-mix(in srgb, var(--hud-color) 28%, transparent);color:var(--rules-toggle-ink)}.opponentModeChoice:disabled,.humanRoomShare:disabled,.humanRoomLocal:disabled,.humanRoomOnline:disabled,.humanRoomJoinAnother:disabled,.humanRoomRefresh:disabled,.humanRoomJoinSubmit:disabled,.humanRoomJoinCancel:disabled,.joinNotificationEnable:disabled,.joinNotificationDismiss:disabled,.humanRoomJoinInput:disabled{cursor:wait;opacity:.65}.humanRoomSettings--offline button:disabled,.humanRoomSettings--offline input:disabled{cursor:not-allowed}.humanRoomSettings{gap:10px;min-height:38px;display:grid}.humanRoomIdentity{gap:4px;display:grid}.humanRoomLabel{color:color-mix(in srgb, var(--rating-panel-text) 62%, transparent);font-size:12px;font-weight:650;line-height:1}.humanRoomCode{color:var(--hud-color);cursor:pointer;font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.07em;background:0 0;border:0;padding:0;font-size:17px}.humanRoomCodeRow{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:9px;min-width:0;display:flex}.humanRoomCodeActions{align-items:center;gap:6px;min-width:0;display:inline-flex}.humanRoomRefresh{width:24px;height:24px;color:var(--hud-color);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:3px;display:inline-grid}.humanRoomRefreshIcon{width:16px;height:16px}.humanRoomJoinAnother{color:var(--hud-color);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;flex:none;padding:1px 0;font-size:11px;font-weight:400;line-height:1;text-decoration:underline}.localeSelector{border-top:1px solid color-mix(in srgb, var(--hud-color) 18%, transparent);min-width:0;color:color-mix(in srgb, var(--rating-panel-text) 72%, transparent);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;margin-top:12px;padding:10px 3px 0;font-size:12px;line-height:1.2;display:grid}.localeSelector select{border:1px solid color-mix(in srgb, var(--hud-color) 36%, transparent);background:var(--paper);width:100%;min-width:0;min-height:34px;color:var(--rating-panel-text);font:inherit;border-radius:7px;padding-block:5px;padding-inline:8px 26px}.localeSelector select:focus-visible{outline:2px solid var(--focus-ring-inner);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring-outer)}[dir=rtl] .humanRoomCode,[dir=rtl] .humanRoomJoinInput,[dir=rtl] .physicalEditionInput{text-align:start;direction:ltr}.board,.rulesLogo,.rulesPanel>:is(.rulesDiagram,.rulesMovementDiagram),.onboardingBadgeCounter,.dailyBadgeCounter,.ratingValue,.ratingDelta,.humanMatchScoreLabel{direction:ltr;unicode-bidi:isolate}.legalCard[lang=en]{direction:ltr}.humanRoomJoinForm{gap:8px;display:grid}.humanRoomJoinInput{border:1.5px solid color-mix(in srgb, var(--hud-color) 48%, transparent);background:var(--paper);min-width:0;height:40px;color:var(--hud-color);font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;letter-spacing:.05em;text-transform:uppercase;border-radius:7px;padding:5px 8px;font-size:16px}.humanRoomJoinInput::placeholder{color:color-mix(in srgb, var(--rating-panel-text) 54%, transparent);letter-spacing:0;text-transform:none}.humanRoomJoinInput:focus-visible,.humanRoomCode:focus-visible,.humanRoomRefresh:focus-visible,.humanRoomJoinAnother:focus-visible,.humanRoomLocal:focus-visible,.humanRoomJoinSubmit:focus-visible,.humanRoomJoinCancel:focus-visible,.joinNotificationEnable:focus-visible,.joinNotificationDismiss:focus-visible{outline:2px solid var(--hud-color);outline-offset:2px}.humanRoomJoinActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.humanRoomJoinSubmit,.humanRoomJoinCancel{cursor:pointer;border:0;border-radius:7px;min-height:38px;padding:7px 10px;font-size:17px;font-weight:400}.humanRoomJoinSubmit{background:var(--hud-color);color:var(--rules-toggle-ink)}.humanRoomJoinCancel{border:1.5px solid color-mix(in srgb, var(--hud-color) 52%, transparent);color:var(--hud-color);background:0 0}.humanRoomShare{background:var(--hud-color);width:100%;min-height:40px;color:var(--rules-toggle-ink);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:17px;font-weight:400;display:inline-flex}.humanRoomShare--pulse{animation:.68s ease-in-out 2 inviteShadowPulse}.humanRoomShareIcon{flex:none;width:20px;height:20px}.humanRoomLocal,.humanRoomOnline{border:1.5px solid var(--hud-color);width:100%;min-height:40px;color:var(--hud-color);cursor:pointer;background:0 0;border-radius:8px;padding:8px 12px;font-size:17px;font-weight:400}.humanRoomOnline:focus-visible{outline:2px solid var(--hud-color);outline-offset:2px}.humanRoomLocalStatus{width:100%;color:color-mix(in srgb, var(--rating-panel-text) 62%, transparent);text-align:center;text-wrap:balance;margin:0;padding:3px 0;font-size:13px;font-weight:500;line-height:1.25}.humanRoomOfflineStatus,.humanRoomOfflineHint{text-align:center;text-wrap:balance;width:100%;margin:0}.humanRoomOfflineStatus{color:var(--hud-color);font-size:15px;font-weight:650}.humanRoomOfflineHint{color:color-mix(in srgb, var(--rating-panel-text) 62%, transparent);font-size:12px;line-height:1.35}.joinNotificationPrompt{border:1.5px solid color-mix(in srgb, var(--hud-color) 24%, transparent);background:color-mix(in srgb, var(--hud-color) 6%, var(--paper));border-radius:8px;gap:8px;padding:9px;display:grid}.joinNotificationPrompt p{color:var(--rating-panel-text);text-align:center;text-wrap:balance;margin:0;font-size:15px;line-height:1.25}.joinNotificationPromptActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.joinNotificationEnable,.joinNotificationDismiss{cursor:pointer;border-radius:7px;min-height:36px;padding:6px 9px;font-size:15px;font-weight:400}.joinNotificationEnable{background:var(--hud-color);color:var(--rules-toggle-ink);border:0}.joinNotificationDismiss{border:1.5px solid color-mix(in srgb, var(--hud-color) 45%, transparent);color:var(--hud-color);background:0 0}.humanRoomSpinner{border:2px solid color-mix(in srgb, var(--hud-color) 24%, transparent);border-top-color:var(--hud-color);border-radius:50%;grid-column:1/-1;justify-self:center;width:20px;height:20px;animation:.68s linear infinite opponentRoomSpin}@keyframes opponentRoomSpin{to{transform:rotate(1turn)}}@keyframes inviteShadowPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--hud-color) 0%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--hud-color) 30%, transparent), 0 0 20px color-mix(in srgb, var(--hud-color) 34%, transparent)}}.ratingLeaderboardButton,.leaderboardIconButton,.leaderboardPencil{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:7px;display:inline-flex}.ratingLeaderboardButton{opacity:.68;white-space:nowrap;gap:5px;min-width:32px;height:32px;margin-inline-start:auto}.ratingLeaderboardButton svg{flex-shrink:0;width:20px;height:20px}.ratingLeaderboardRank{font-family:var(--font-system-sans);font-variant-numeric:tabular-nums;font-size:16px;font-weight:400}.ratingLeaderboardButton:hover,.leaderboardIconButton:hover,.leaderboardPencil:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);opacity:1}.ratingLeaderboardButton:focus-visible,.leaderboardPanel button:focus-visible,.leaderboardPanel input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.leaderboardPanel{color:var(--ink);text-align:start;font-variant-numeric:tabular-nums}.leaderboardViews{background:color-mix(in srgb,var(--ink) 7%,transparent);border-radius:9px;gap:4px;margin:8px 0 10px;padding:3px;display:flex}.leaderboardViews button{min-height:38px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:7px 10px;font-size:13px}.leaderboardViews button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.leaderboardGap{opacity:.72;margin:4px 0;font-size:13px;line-height:1.5}.leaderboardHeader{justify-content:space-between;align-items:center;gap:8px;margin:-3px -5px 8px;display:flex}.leaderboardHeader h2{text-align:center;overflow-wrap:anywhere;min-width:0;font-family:var(--font-system-sans);letter-spacing:.055em;text-transform:uppercase;outline:none;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:700;line-height:1.3;display:inline-flex}.leaderboardHeader h2 svg{flex-shrink:0;width:18px;height:18px}.leaderboardIconButton{width:32px;height:32px}.leaderboardIconButton svg{width:19px;height:19px}[dir=rtl] .leaderboardBack svg{transform:scaleX(-1)}.leaderboardRows,.leaderboardOwn{margin:0;padding:0;list-style:none}.leaderboardRows{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;max-height:min(370px,45dvh);overflow:auto}.leaderboardRow{border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:7px;align-items:center;gap:4px;min-height:34px;padding:4px 9px;font-size:12px;display:flex}.leaderboardRow--you,.leaderboardRow--you .leaderboardName,.leaderboardRow--you .leaderboardName small,.leaderboardRow--you .leaderboardScore{font-weight:700}.leaderboardRank{opacity:.52;flex-shrink:0;width:32px;font-size:11px;font-weight:700}.leaderboardName{overflow-wrap:anywhere;flex:1;align-items:center;gap:5px;min-width:0;font-weight:400;display:flex}.leaderboardName small{opacity:.55;font-size:9px;font-weight:400}.leaderboardScore{text-align:end;min-width:30px;font-size:13px;font-weight:400}.leaderboardPencil{opacity:.6;width:26px;height:28px;padding:5px}.leaderboardPencil svg{width:14px;height:14px}.leaderboardOwn{border-top:1px dashed color-mix(in srgb,var(--ink) 20%,transparent);margin-top:4px;padding-top:5px}.leaderboardFooter{padding:7px 5px 0}.leaderboardSync{opacity:.7;align-items:center;gap:6px;font-size:10px;display:flex}.leaderboardDot{background:currentColor;border-radius:50%;flex-shrink:0;width:4px;height:4px}.leaderboardDot--offline{background:0 0;border:1px solid;width:5px;height:5px}.leaderboardSeedNote{opacity:.45;margin:6px 0 0;font-size:9px;line-height:1.5}.leaderboardEmpty{text-align:center;opacity:.65;padding:30px 18px;font-size:12px;line-height:1.6}.leaderboardNameForm{padding:2px 5px 5px;font-size:12px}.leaderboardInputWrap{position:relative}.leaderboardInputWrap input{box-sizing:border-box;border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);width:100%;color:inherit;font:inherit;background:0 0;border-radius:7px;padding:12px 48px 12px 10px;font-size:16px}.leaderboardInputWrap small{inset-inline-end:10px;opacity:.45;font-size:9px;position:absolute;top:16px}.leaderboardNameForm p{opacity:.65;margin:9px 0 14px;font-size:14px;line-height:1.5}.leaderboardSuggestion{cursor:pointer;color:inherit;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:7px 0;font-size:11px;text-decoration:underline}.leaderboardActions{gap:8px;margin-top:18px;display:flex}.leaderboardActions button{border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:7px;flex:1;padding:10px 6px;font-size:11px}.leaderboardActions button[type=submit]{background:var(--ink);color:var(--paper)}.leaderboardPanel button:disabled{opacity:.4;cursor:default}.leaderboardMessage{margin:8px 0;font-size:10px;line-height:1.5}@media (height<=600px){.leaderboardRows{max-height:32dvh}}:root[data-app-download-banner=visible]{--game-block-start:calc(var(--app-download-banner-height,64px) + 10px)}.appDownloadBanner{z-index:40;min-height:64px;padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 8px max(14px, env(safe-area-inset-left));border-bottom:1px solid color-mix(in srgb, var(--ink) 16%, transparent);background:var(--paper);color:var(--ink);align-items:center;gap:6px;display:flex;position:fixed;inset:0 0 auto}.appDownloadBannerLink{min-width:0;min-height:44px;color:inherit;flex:1;align-items:center;gap:12px;font-size:14px;font-weight:600;line-height:1.35;text-decoration:none;display:flex}.appDownloadBannerLink img{border-radius:9px;flex:none}.appDownloadBannerLink span{overflow-wrap:anywhere;flex:1;min-width:0}.appDownloadBannerLink svg{color:var(--hud-color);flex:none}.appDownloadBannerDismiss{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.appDownloadBannerLink:focus-visible,.appDownloadBannerDismiss:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:5px}.dailyPuzzleToday{border:1px solid color-mix(in srgb, var(--hud-color) 45%, transparent);width:100%;min-height:40px;color:var(--hud-color);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:3px;padding:8px 12px;font-size:15px;font-weight:400;line-height:1.2;display:inline-flex}.dailyPuzzleToday:focus-visible{outline:2px solid var(--focus-ring-outer);outline-offset:2px;box-shadow:0 0 0 1px var(--focus-ring-inner)}.dailyPuzzleToday:active{background:color-mix(in srgb, var(--hud-color) 9%, transparent)}.dailyArchiveScreen{z-index:120;overscroll-behavior:contain;background:var(--paper);min-width:320px;color:var(--ink);touch-action:pan-y;position:fixed;inset:0;overflow:hidden auto}.dailyArchiveShell{width:min(100%,760px);min-height:100%;padding:max(10px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(26px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));margin:0 auto}.dailyArchiveHeader{z-index:2;min-height:54px;margin:calc(-1 * max(10px, env(safe-area-inset-top))) 0 0;padding-top:max(10px, env(safe-area-inset-top));background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(10px);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid;position:sticky;top:0}.dailyArchiveHeader .dailyArchiveTitle{min-width:0;color:var(--hud-color);text-align:center;text-wrap:balance}.dailyArchiveBack{width:44px;height:44px;color:var(--hud-color);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.dailyArchiveBack svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:27px;height:27px}.dailyArchiveBack:focus-visible,.dailyArchiveError button:focus-visible{outline:2px solid var(--focus-ring-outer);outline-offset:2px;box-shadow:0 0 0 1px var(--focus-ring-inner)}.dailyPuzzleDate{color:color-mix(in srgb, var(--ink) 56%, transparent);letter-spacing:.035em;text-transform:uppercase;font-size:12px;font-weight:600;margin-top:-4px!important}.dailyArchiveOpenError{color:#9a4f37;text-align:center;margin:10px 0 -5px;font-size:13px;line-height:1.35}.dailyArchiveGrid{grid-template-columns:repeat(var(--daily-archive-columns,2), minmax(0, 1fr));gap:12px;padding-top:16px;display:grid}.dailyArchiveCard{--archive-status:color-mix(in srgb, var(--ink) 48%, transparent);appearance:none;border:1px solid color-mix(in srgb, var(--archive-status) 34%, var(--ink) 10%);background:color-mix(in srgb, var(--paper) 97%, var(--archive-status) 3%);width:100%;min-width:0;box-shadow:0 5px 14px color-mix(in srgb, var(--ink) 8%, transparent);contain:layout paint style;color:inherit;cursor:pointer;font:inherit;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:1px 1px 12px 12px;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative;overflow:hidden}.dailyArchiveCard--completed{--archive-status:#16704d}.dailyArchiveCard--failed{--archive-status:#9a4f37}:root[data-theme=colored-dark] .dailyArchiveCard--completed{--archive-status:#63c59a}:root[data-theme=colored-dark] .dailyArchiveCard--failed{--archive-status:#e58c72}.dailyArchiveCard:focus-visible{outline:3px solid var(--focus-ring-outer);outline-offset:2px;box-shadow:0 0 0 1px var(--focus-ring-inner), 0 8px 20px color-mix(in srgb, var(--ink) 12%, transparent)}@media (hover:hover){.dailyArchiveCard:not(:disabled):hover{border-color:color-mix(in srgb, var(--archive-status) 62%, var(--ink) 10%);box-shadow:0 9px 22px color-mix(in srgb, var(--ink) 13%, transparent);transform:translateY(-2px)}}.dailyArchiveCard:not(:disabled):active{transform:scale(.985)}.dailyArchiveCard:disabled{cursor:wait}.dailyArchiveCard:disabled:not(.dailyArchiveCard--opening){opacity:.62}.dailyArchiveCard--opening{z-index:1;box-shadow:0 12px 28px color-mix(in srgb, var(--ink) 18%, transparent);transform:scale(1.025)}.dailyArchiveBoard{aspect-ratio:5/7;border-bottom:1px solid color-mix(in srgb, var(--ink) 17%, transparent);background:var(--cell-neutral);direction:ltr;grid-template-rows:repeat(7,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.dailyArchiveCell{border-right:1px solid var(--cell-grid);border-bottom:1px solid var(--cell-grid);background:var(--cell-neutral);place-items:center;min-width:0;min-height:0;display:grid;position:relative}.dailyArchiveCell:nth-of-type(5n){border-right:0}.dailyArchiveCell:nth-of-type(n+31){border-bottom:0}.dailyArchiveCell .piece{place-items:center;width:86%;height:86%;display:grid}.dailyArchiveCell .pieceGlyph{filter:drop-shadow(0 1.2px .8px #0b181347)drop-shadow(0 .4px .3px #ffffff24)}.dailyArchiveObjectiveCross{z-index:2;fill:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dailyArchiveObjectiveCross path{vector-effect:non-scaling-stroke;stroke:var(--objective-target);stroke-linejoin:round;stroke-width:1.4px}.dailyArchiveCardCopy{gap:7px;padding:9px 10px 10px;display:grid}.dailyArchiveDateRow{min-width:0;color:var(--ink);font-size:14px;font-weight:650;line-height:1.2}.dailyArchiveStatusRow{min-width:0;color:var(--archive-status);grid-template-columns:minmax(0,1fr);align-items:center;gap:3px;font-size:13px;font-weight:600;line-height:1.22;display:grid}.dailyArchiveCardSpinner{z-index:4;aspect-ratio:5/7;background:color-mix(in srgb, var(--paper) 45%, transparent);-webkit-backdrop-filter:blur(1px);place-items:center;width:100%;display:grid;position:absolute;top:0;left:0}.dailyArchiveZoomGhost{z-index:130;pointer-events:none;transform-origin:0 0;will-change:transform, opacity;margin:0;position:fixed!important}.gameShell--dailyOpening>.boardFrame{opacity:0}.dailyArchiveAttempts{text-align:left;color:color-mix(in srgb, var(--ink) 57%, transparent);font-size:12px;font-weight:450}.dailyArchiveLoading,.dailyArchiveError,.dailyArchiveEmpty{min-height:50dvh;color:color-mix(in srgb, var(--ink) 65%, transparent);text-align:center;place-content:center;place-items:center;font-size:14px;line-height:1.4}.dailyArchiveLoading,.dailyArchiveError{gap:12px;display:grid}.dailyArchiveError p,.dailyArchiveEmpty{margin:0}.dailyArchiveError button{background:var(--hud-color);min-height:40px;color:var(--rules-toggle-ink);cursor:pointer;border:0;border-radius:8px;padding:8px 18px;font-size:15px}@media (width>=640px){.dailyArchiveGrid{gap:16px}}@media (width<=350px){.dailyArchiveShell{padding-inline:max(9px, env(safe-area-inset-left))}.dailyArchiveHeader{gap:4px}.dailyArchiveGrid{gap:8px}.dailyArchiveCardCopy{padding-inline:8px}}.ratingLevelIcon,.ratingLevelPulse,.ratingLevelTurn{transform-origin:50%;flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.ratingLevelLayer{grid-area:1/1;display:inline-flex}.ratingLevelPulse--up{--level-duration:.88s;--level-turn:360deg;animation:ratingLevelGrow var(--level-duration) ease-out both}.ratingLevelPulse--down{--level-duration:.62s;--level-turn:-90deg;animation:ratingLevelShrink var(--level-duration) ease-in-out both}.ratingLevelPulse--up .ratingLevelTurn,.ratingLevelPulse--down .ratingLevelTurn{animation:ratingLevelRotate var(--level-duration) cubic-bezier(.22, .7, .22, 1) both}.ratingLevelPulse--up .ratingLevelLayer--outgoing,.ratingLevelPulse--down .ratingLevelLayer--outgoing{animation:ratingLevelFadeOut var(--level-duration) linear both}.ratingLevelPulse--up .ratingLevelLayer--incoming,.ratingLevelPulse--down .ratingLevelLayer--incoming{transform:rotate(calc(-1 * var(--level-turn)));animation:ratingLevelFadeIn var(--level-duration) linear both}@keyframes ratingLevelRotate{0%{transform:rotate(0)}to{transform:rotate(var(--level-turn))}}@keyframes ratingLevelGrow{0%,to{transform:scale(1)}38%{transform:scale(1.5)}68%{transform:scale(1.04)}82%{transform:scale(1.16)}}@keyframes ratingLevelShrink{0%,to{transform:scale(1)}42%{transform:scale(.86)}}@keyframes ratingLevelFadeOut{0%,24%{opacity:1}52%,to{opacity:0}}@keyframes ratingLevelFadeIn{0%,24%{opacity:0}52%,to{opacity:1}}.ratingUnlockIcon{perspective:90px;flex:none;place-items:center;width:22px;height:26px;display:inline-grid;overflow:hidden}.ratingUnlockCap,.ratingUnlockLevel{backface-visibility:hidden;transform-origin:50%;grid-area:1/1;place-items:center;display:inline-grid}.ratingUnlockLevel .ratingStarIcon{width:22px;height:22px}.ratingUnlockNumbers{direction:ltr;unicode-bidi:isolate;align-items:center;display:inline-grid}.ratingUnlockIntro,.ratingUnlockValue{grid-area:1/1;justify-self:start}.ratingUnlockIntro{font-size:20px;animation:.24s cubic-bezier(.4,0,.2,1) .3s both ratingUnlockCountOut}.ratingUnlockCap{animation:.42s cubic-bezier(.4,0,.2,1) .5s both ratingUnlockCapOut}.ratingUnlockLevel{animation:.42s cubic-bezier(.4,0,.2,1) .5s both ratingUnlockLevelIn}.ratingUnlockValue{animation:.28s cubic-bezier(.4,0,.2,1) .87s both ratingUnlockValueIn}.ratingBadge--unlocking>.scoreChevron{animation:.18s ease-out 1.03s both ratingUnlockChevronIn}@keyframes ratingUnlockCountOut{0%{clip-path:inset(0)}to{clip-path:inset(0 100% 0 0)}}@keyframes ratingUnlockCapOut{0%{opacity:1;transform:translateY(0)rotateX(0)}to{opacity:0;transform:translateY(-100%)rotateX(65deg)}}@keyframes ratingUnlockLevelIn{0%{opacity:0;transform:translateY(100%)rotateX(-65deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}@keyframes ratingUnlockValueIn{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes ratingUnlockChevronIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.ratingUnlockIntro,.ratingUnlockCap{display:none}.ratingUnlockLevel,.ratingUnlockValue,.ratingBadge--unlocking>.scoreChevron{animation:none}.ratingLevelPulse,.ratingLevelTurn,.ratingLevelLayer{animation:none!important;transform:none!important}.ratingLevelLayer--outgoing{display:none}.ratingLevelLayer--incoming{opacity:1}}.boardFrame{width:var(--board-width);border:var(--board-border-width) solid var(--board-edge);background:var(--black-frame-outline);border-radius:8px;padding:1px;transition:border-color .18s,outline-color .18s,background-color .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 3px #0816128c,0 17px 38px #11231e33}.boardFrame--turn-white{border-color:var(--white-piece);background:var(--white-frame-outline);box-shadow:0 0 0 1px var(--white-frame-outline), 0 3px 0 #0816126b, 0 17px 38px #11231e33}.boardFrame--turn-black{border-color:var(--black-piece);background:var(--black-frame-outline);box-shadow:0 0 0 1px var(--black-frame-outline), 0 3px 0 #0816126b, 0 17px 38px #11231e33}:root[data-theme^=colored-] .boardFrame--turn-white{outline:2px solid var(--black-piece);outline-offset:0}:root[data-theme^=colored-] .boardFrame--turn-black{outline:2px solid var(--white-piece);outline-offset:0}.board{aspect-ratio:5/7;touch-action:none;border:0;grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(5,1fr);width:100%;display:grid;position:relative;overflow:hidden}.rulesScreen{z-index:100;min-width:320px;max-height:var(--rules-viewport-height,100%);overscroll-behavior:contain;background:var(--paper);touch-action:pan-y;place-items:safe center center;display:grid;position:fixed;inset:0;overflow:hidden auto}.rulesScreenDismiss{z-index:3;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.rulesScreenClose{z-index:5;top:calc(env(safe-area-inset-top,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + 8px);width:44px;height:44px;color:var(--rules-text-color);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.rulesScreenClose svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:24px;height:24px}.rulesScreenClose:hover{opacity:.72}.rulesScreenClose:focus-visible{outline:2px solid var(--focus-ring-inner);outline-offset:2px}.rulesBoard{--rules-diagram-scale:1;z-index:4;contain:layout;background:var(--paper);width:min(100%,720px);min-height:min(96dvh,1400px);color:var(--rules-text-color);pointer-events:none;-webkit-user-select:none;user-select:none;grid-template-rows:auto repeat(4,minmax(min-content,1fr)) auto;display:grid;position:relative;overflow:visible}.rulesAboutLink{width:min(100%,320px);min-height:44px;color:color-mix(in srgb, var(--rules-text-color) 62%, transparent);pointer-events:auto;text-underline-offset:2px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;place-self:center;place-items:center;margin-top:clamp(12px,2vh,24px);padding:7px 14px 9px;text-decoration:underline;display:grid;transform:translateY(-8px)}.rulesBoard[data-layout-ready=false]{visibility:hidden}:root[data-ios-standalone=true] .rulesAboutLink{transform:translateY(-14px)}.rulesAboutLink:hover{opacity:.72}.rulesAboutLink:focus-visible{outline:2px solid var(--focus-ring-inner);outline-offset:2px;border-radius:3px}.rulesLogo{font-synthesis:none;letter-spacing:.025em;justify-items:center;row-gap:1px;margin:0 0 clamp(12px,2vh,24px);padding:clamp(7px,1.6vh,14px) 0 clamp(10px,1.5vh,18px);font-family:Poppins,ui-sans-serif,sans-serif;font-size:clamp(31px,8.8vw,46px);font-style:normal;font-weight:800;line-height:.78;display:grid}:root[data-theme=colored-light] .rulesLogo{filter:drop-shadow(0 2.5px 1.5px #0b181357)drop-shadow(0 .7px .5px #ffffff2e)}.rulesLogoLine{justify-content:center;align-items:center;display:flex}.rulesLogoLine--morph{color:var(--rules-logo-blue);text-shadow:-1px -1px 0 var(--rules-logo-blue-outline), 1px -1px 0 var(--rules-logo-blue-outline), -1px 1px 0 var(--rules-logo-blue-outline), 1px 1px 0 var(--rules-logo-blue-outline)}.rulesLogoLine--move{color:var(--rules-logo-yellow);text-shadow:-1px -1px 0 var(--rules-logo-yellow-outline), 1px -1px 0 var(--rules-logo-yellow-outline), -1px 1px 0 var(--rules-logo-yellow-outline), 1px 1px 0 var(--rules-logo-yellow-outline)}.rulesLogoGlyph{flex:none;place-items:center;width:.82em;height:.82em;display:grid}.rulesLogoGlyph .pieceGlyph{filter:none;stroke-width:3.4px;width:100%;height:100%}.rulesLogoGlyph--star .pieceGlyph{stroke:var(--rules-logo-blue-outline);transform-origin:50%;transform:scale(1.08)}.rulesLogoGlyph--star{margin-inline:-.04em}.rulesLogoGlyph--triangle{width:.76em;height:.82em;margin-left:-.075em;margin-right:-.025em}.rulesLogoGlyph--triangle .pieceGlyph{stroke:var(--rules-logo-yellow-outline);transform-origin:50%;transform:scale(1.1)}.rulesLogoMoveCluster{letter-spacing:0;align-items:center;display:inline-flex}.rulesPanel{grid-template-rows:auto auto;align-content:center;place-items:center;gap:clamp(6px,1.6vw,10px);min-width:0;min-height:0;margin:0;padding:clamp(5px,1.2vw,10px) clamp(12px,3vw,24px);display:grid;position:relative;overflow:visible}.rulesPanel>:is(.rulesDiagram,.rulesMovementDiagram){zoom:var(--rules-diagram-scale)}.rulesCopy{width:min(100%,580px);min-width:0;color:var(--rules-text-color);text-align:center;justify-items:center;gap:1px;display:grid}.rulesAboutLink,.rulesCopy p{font-size:clamp(13px,4vw,18px);line-height:1.22}.rulesCopy p{color:var(--rules-text-color);overflow-wrap:break-word;text-wrap:balance;white-space:normal;max-width:100%;margin:0}.rulesPanel:first-of-type{z-index:1;overflow:visible}.rulesDiagram{flex:none;max-width:100%;height:auto;display:block;overflow:visible}.rulesMovementDiagram{width:min(88%,380px);max-width:100%;display:block;position:relative}.rulesDiagram--movement{width:100%}.rulesDiagram--cycle{width:clamp(92px,26vw,116px)}.rulesDiagram--swap{width:clamp(88px,24vw,108px)}.rulesDiagram--goal{width:clamp(144px,40vw,180px)}.rulesDiagram--result{direction:ltr;width:clamp(144px,42vw,174px)}.rulesDiagramPiece{stroke:color-mix(in srgb, currentColor 55%, var(--paper));stroke-width:1.5px;filter:drop-shadow(0 4px 2.5px #191e2838)}.rulesDiagramPiece--gold{color:var(--colored-theme-yellow);fill:currentColor}.rulesDiagramPiece--blue{color:var(--colored-theme-blue);fill:currentColor}.rulesResultPiece--white{color:var(--white-piece);fill:currentColor}.rulesResultPiece--black{color:var(--black-piece);fill:currentColor}.rulesResultPiece--white>path{stroke:var(--white-piece-outline)}.rulesResultPiece--black>path{stroke:var(--black-piece-outline)}.rulesResultPiece--white>path,.rulesResultPiece--black>path{stroke-width:.65px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.rulesDiagramMoveArrow{color:color-mix(in srgb, var(--colored-theme-yellow) 72%, #432c0c);fill:currentColor}.rulesDiagramCycleArrow{color:var(--board-edge);fill:currentColor}.rulesDiagramShaft{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.rulesDiagramTile{fill:var(--cell-neutral);stroke:var(--cell-grid);stroke-width:1.2px}.rulesDiagramTile--winner{stroke-width:2px;paint-order:fill stroke}.rulesDiagramTile--winner-white{stroke:var(--white-piece-contrast-border)}.rulesDiagramTile--winner-black{stroke:var(--black-piece-contrast-border)}.rulesForwardLabel{color:var(--rules-text-color);font-size:calc(12px / var(--rules-diagram-scale,1));line-height:1;font-family:var(--font-system-sans);white-space:nowrap;position:absolute;top:67%;transform:translate(-50%)}:root:not([data-theme=colored-dark]) .rulesDiagramPiece.rulesDiagramPiece--gold>path{stroke:#997526;stroke-width:.65px;stroke-linejoin:round;vector-effect:non-scaling-stroke}:root[data-theme=colored-dark] .rulesDiagramPiece--gold{color:var(--dark-piece-color)}:root[data-theme=colored-dark] .rulesDiagramPiece--blue{color:var(--colored-theme-yellow)}:root[data-theme=colored-dark] .rulesDiagramPiece{filter:drop-shadow(0 4px 3px #00000080)}:root[data-theme=colored-dark] .rulesDiagramMoveArrow{color:var(--dark-piece-color)}:root[data-theme=colored-dark] .rulesDiagramCycleArrow{color:var(--rules-muted-ink)}.onboardingOverlay{z-index:150;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));overscroll-behavior:contain;pointer-events:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0;overflow-y:auto}.onboardingInstruction{--rules-diagram-scale:1;border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--paper);width:min(100%,358px);color:var(--rules-text-color);pointer-events:auto;touch-action:none;visibility:hidden;transform-origin:50%;border-radius:14px;outline:none;padding:22px 12px;position:absolute;box-shadow:0 12px 36px #00000036}.onboardingOverlay--visible .onboardingInstruction{visibility:visible}.onboardingInstruction .rulesPanel{gap:18px;padding:0;position:static}.onboardingInstruction .rulesPanel+.rulesPanel{border-top:1px solid color-mix(in srgb, var(--ink) 13%, transparent);margin-top:28px;padding-top:22px}.onboardingInstruction .rulesCopy p{font-size:16px;line-height:1.42}.onboardingInstruction .rulesPiece{width:34px}.onboardingInstruction .rulesCyclePiece .rulesPiece{width:42px}.onboardingInstruction .rulesMoves{direction:ltr;gap:14px;width:100%}.onboardingInstruction .rulesMoveMap{width:84px;max-width:100%;height:84px}.onboardingInstruction .rulesDirection{--rules-direction-radius:29px;width:18px;height:12px}.onboardingInstruction .rulesMoveMap--diamond .rulesDirection{--rules-direction-radius:32px}.onboardingInstruction .rulesCycle{width:154px;height:91px}.onboardingInstruction .rulesMiniBoard{grid-template-rows:repeat(3,25px);grid-template-columns:repeat(3,25px)}.onboardingInstruction .rulesObjectiveScene,.onboardingInstruction .rulesSwap{direction:ltr}.onboardingInstruction .rulesSwapPair{grid-template-columns:repeat(2,48px);gap:3px}.onboardingInstruction .rulesSwapArrows{width:31px;height:29px}@media (width<=350px),(height<=600px){.onboardingInstruction{padding:18px 11px}.onboardingInstruction .rulesCopy p{font-size:15px;line-height:1.38}.onboardingInstruction .rulesSwapPair{grid-template-columns:repeat(2,41px)}.onboardingInstruction .rulesPanel+.rulesPanel{margin-top:21px;padding-top:17px}.onboardingInstruction .rulesMoves{gap:8px}.onboardingInstruction .rulesMoveMap{height:74px}.onboardingInstruction .rulesDirection{--rules-direction-radius:25px;width:16px}.onboardingInstruction .rulesMoveMap--diamond .rulesDirection{--rules-direction-radius:28px}.onboardingInstruction .rulesPiece{width:30px}}.cell{border:0;border-right:1px solid var(--cell-grid);border-bottom:1px solid var(--cell-grid);background:var(--cell-neutral);cursor:default;isolation:isolate;touch-action:none;-webkit-tap-highlight-color:transparent;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.cell:nth-of-type(5n){border-right:0}.cell:nth-of-type(n+31){border-bottom:0}.cell:before{z-index:2;content:"";outline-offset:0;pointer-events:none;outline:0 solid #0000;position:absolute;inset:0}.objectiveCell{z-index:1;border-bottom-color:#0000;border-right-color:#0000}.objectiveCell--whiteOccupied{background:var(--white-objective-occupied)}.objectiveCell--blackOccupied{background:var(--black-objective-occupied)}.objectiveCell--whiteThreat{animation:.46s ease-in-out 2 objectiveWhiteThreatFlash}.objectiveCell--blackThreat{animation:.46s ease-in-out 2 objectiveBlackThreatFlash}.objectiveThreatMarker{z-index:3;pointer-events:none;border:clamp(2px,.5vw,4px) solid;position:absolute;inset:8%}.objectiveThreatMarker--white{border-color:var(--black-piece)}.objectiveThreatMarker--black{border-color:var(--white-piece)}.piece,.movingPiece{z-index:4;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;place-items:center;width:86%;height:86%;display:grid;position:relative}.selectablePieceCell{cursor:pointer}.selectedCell.selectablePieceCell{cursor:grab}.board--dragging,.board--dragging .cell{cursor:grabbing}.piece--dragSource{opacity:.16;transform:scale(.92)}.draggedPiece{z-index:12;pointer-events:none;will-change:transform;width:17.2%;height:12.2857%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(1.06)}.piece--swapBlocked{animation:.4s ease-in-out blockedSwapShake}.piece--white{color:var(--white-piece);text-shadow:0 2px 3px #14231e4d}.piece--black{color:var(--black-piece);text-shadow:0 2px 3px #14231e42}.pieceGlyph{filter:drop-shadow(0 2.5px 1.5px #0b181357)drop-shadow(0 .7px .5px #ffffff2e);stroke-linejoin:round;stroke-width:1.35px;width:88%;height:88%;overflow:visible}@keyframes themeModeIconRotate{to{transform:rotate(var(--theme-mode-icon-rotation))}}:root[data-theme=colored-dark] .rulesLogoGlyph .pieceGlyph{filter:none;stroke-width:3.4px}.pieceGradientStop--highlight{stop-color:color-mix(in srgb, currentColor 88%, #fff)}.pieceGradientStop--middle{stop-color:currentColor}.pieceGradientStop--edge{stop-color:color-mix(in srgb, currentColor 93%, #000)}.piece--white .pieceGlyph{stroke:var(--white-piece-outline)}.piece--black .pieceGlyph{stroke:var(--black-piece-outline)}.pieceGlyph--triangle{width:84%;height:84%}.pieceGlyph--contourNormalized.pieceGlyph--triangle{width:88%;height:88%}.selectedCell:before{border:clamp(3px,.5vw,5px) solid;border-radius:4px;outline:none;inset:5%}.selectedCell:not(.objectiveCell):before{border-color:var(--cell-dark)}.selectedCell.objectiveCell--whiteOccupied:before{border-color:var(--white-piece-contrast-border)}.selectedCell.objectiveCell--blackOccupied:before{border-color:var(--black-piece-contrast-border)}.legalMove,.legalSwap{cursor:pointer}.legalMove:before,.legalSwap:before{border-style:solid;border-radius:4px;outline:none;inset:5%}.legalMove:before{border-width:clamp(2px,.36vw,4px);border-color:#176f62c7}.destinationShape{z-index:6;opacity:1;pointer-events:none;width:43%;height:43%;position:absolute}.destinationShape .pieceGlyph{stroke-width:2px}.destinationShape.piece--white .pieceGlyph{stroke:var(--black-piece)}.destinationShape.piece--black .pieceGlyph{stroke:var(--white-piece)}:root[data-theme=colored-dark] .destinationShape.piece--white .pieceGlyph{stroke:var(--white-piece-outline)}:root[data-theme=colored-dark] .destinationShape.piece--black .pieceGlyph{stroke:var(--black-piece-outline)}.legalSwap:before{border-width:clamp(3px,.45vw,5px);border-color:var(--swap)}.cell[data-drag-target]:before{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 24%, transparent);inset:2.5%}.cell[data-drag-target].legalMove:before{border-width:clamp(3px,.48vw,5px);border-color:var(--accent);color:var(--accent)}.cell[data-drag-target].legalSwap:before{border-width:clamp(4px,.58vw,6px);border-color:var(--swap);color:var(--swap)}.cell[data-drag-target] .destinationShape{transform:scale(1.14)}.swapLock{z-index:8;border:1px solid var(--cell-grid);background:var(--cell-neutral);width:clamp(30px,5.4vw,38px);height:clamp(25px,4.5vw,32px);color:var(--swap-lock);pointer-events:none;transform:translate(-50%, -50%) rotate(var(--swap-lock-angle,0deg));border-radius:6px;place-items:center;display:grid;position:absolute;box-shadow:0 2px 3px #171f1c3d}.swapLockIcon{fill:currentColor;width:64%;height:64%;display:block;overflow:visible}.swapLockShackle{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2.5px}.swapLockKeyhole{fill:var(--swap-lock-detail)}.moveArrowLayer{z-index:7;pointer-events:none;position:absolute;inset:0;container-type:inline-size}.moveArrow{--move-arrow-head-half-height:min(12px, 2.7cqw);--move-arrow-head-width:min(12px, 2.7cqw);--move-arrow-source-distance:10cqw;--move-arrow-origin-offset:calc(50% - var(--move-arrow-source-distance) + 8cqw);--move-arrow-target-extension:0px;--move-arrow-thickness:min(7px, 1.5cqw);--move-arrow-overlap:min(1px, .28cqw);--move-arrow-shaft-inset:min(2px, .56cqw);--move-arrow-end-offset:min(6px, 1.7cqw);width:min(58px,17cqw);height:calc(var(--move-arrow-head-half-height) * 2);pointer-events:none;transform:translate(-50%, -50%) rotate(var(--move-arrow-angle));transform-origin:50%;position:absolute}.moveArrowShaft{top:50%;right:calc(var(--move-arrow-head-width) - var(--move-arrow-overlap) - var(--move-arrow-target-extension));left:calc(var(--move-arrow-shaft-inset) + var(--move-arrow-origin-offset));height:var(--move-arrow-thickness);background:currentColor;border-radius:999px;position:absolute;transform:translateY(-50%)}.moveArrow:after,.moveArrow--swap:before{border-top:var(--move-arrow-head-half-height) solid transparent;border-bottom:var(--move-arrow-head-half-height) solid transparent;content:"";width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.moveArrow:after{right:calc(-1 * var(--move-arrow-target-extension));border-left:var(--move-arrow-head-width) solid currentColor}.moveArrow--swap:before{left:var(--move-arrow-origin-offset);border-right:var(--move-arrow-head-width) solid currentColor}.moveArrow--swap .moveArrowShaft{left:calc(var(--move-arrow-head-width) - var(--move-arrow-overlap) + var(--move-arrow-origin-offset))}.moveArrow--move.moveArrow--diagonal{--move-arrow-target-extension:var(--move-arrow-end-offset)}.moveArrow--diagonal{--move-arrow-origin-offset:50%;--move-arrow-shaft-inset:0px}.moveArrow--move{color:var(--accent)}.moveArrow--swap{--move-arrow-target-extension:var(--move-arrow-end-offset);color:var(--swap)}.recentCell:after{z-index:1;content:"";pointer-events:none;border:2px solid #0000;border-color:var(--soft-dark-border);border-radius:4px;position:absolute;inset:5%}.recentCell.objectiveCell--whiteOccupied:after{border-color:var(--white-piece-contrast-border)}.recentCell.objectiveCell--blackOccupied:after{border-color:var(--black-piece-contrast-border)}.movingPieceLayer{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:hidden}.movingPiece{pointer-events:none;width:17.2%;height:12.2857%;animation:moveIn var(--move-duration,.36s) cubic-bezier(.2, .78, .28, 1) both;will-change:transform;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.movingPiece--active{z-index:2}.movingPiece--passive{z-index:1}.movingPiece--dragRelease{animation-name:moveInFromDrag}.movingPiece--rewind{animation-timing-function:linear}.boardFrame--white-won{border-color:var(--white-piece);background:var(--white-frame-outline);box-shadow:0 0 0 1px var(--white-frame-outline), 0 3px 0 #0816126b, 0 17px 38px #11231e33}.boardFrame--black-won{border-color:var(--black-piece);background:var(--black-frame-outline);box-shadow:0 0 0 1px var(--black-frame-outline), 0 3px 0 #0816126b, 0 17px 38px #11231e33}.boardFrame--draw{border-color:#69736e}.boardFrame--white-won .cell{animation:finishWhite .26s ease-out var(--finish-delay,0s) forwards}.boardFrame--black-won .cell{animation:finishBlack .26s ease-out var(--finish-delay,0s) forwards}.boardFrame--white-won .objectiveCell{animation-name:finishWhiteObjective}.boardFrame--black-won .objectiveCell{animation-name:finishBlackObjective}.boardFrame--finishStatic.boardFrame--white-won .cell{background:var(--white-win-cell);animation:none}.boardFrame--finishStatic.boardFrame--black-won .cell{background:var(--black-win-cell);animation:none}.boardFrame--finishStatic.boardFrame--white-won .objectiveCell{background:var(--white-win-objective)}.boardFrame--finishStatic.boardFrame--black-won .objectiveCell{background:var(--black-win-objective)}.boardFrame--white-won .cell,.boardFrame--black-won .cell{outline:none}.boardFrame--white-won .cell:before,.boardFrame--black-won .cell:before,.boardFrame--white-won .cell:after,.boardFrame--black-won .cell:after{background:0 0;border-width:0;border-color:#0000;outline-width:0;outline-color:#0000}.objectiveCrossBoundary{--objective-cross-outline-width:clamp(2px, .5vw, 4px);z-index:3;fill:none;pointer-events:none;shape-rendering:geometricprecision;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.objectiveCrossBoundary path{vector-effect:non-scaling-stroke;stroke:var(--objective-target);stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-width:var(--objective-cross-outline-width)}.boardFrame--goalCue .objectiveCrossBoundary path{animation:.66s ease-in-out 2 objectiveCrossGoalFlash}.boardFrame--white-won .objectiveCrossBoundary path{stroke:var(--white-piece)}.boardFrame--black-won .objectiveCrossBoundary path{stroke:var(--black-piece)}.boardFrame--white-won .mateOriginCell:after,.boardFrame--black-won .mateOriginCell:after{z-index:1;content:"";pointer-events:none;border-style:solid;border-width:2px;border-radius:4px;position:absolute;inset:5%}.boardFrame--white-won .mateOriginCell:after{border-color:color-mix(in srgb, var(--white-piece-contrast-border) 50%, var(--white-win-cell))}.boardFrame--black-won .mateOriginCell:after{border-color:color-mix(in srgb, var(--black-piece-contrast-border) 50%, var(--black-win-cell))}.boardFrame--white-won .winnerObjectiveCell:after,.boardFrame--black-won .winnerObjectiveCell:after{z-index:1;content:"";pointer-events:none;border-style:solid;border-width:2px;border-radius:4px;position:absolute;inset:5%}.boardFrame--white-won .winnerObjectiveCell:after{border-color:var(--black-piece)}.boardFrame--black-won .winnerObjectiveCell:after{border-color:var(--white-piece)}.piece .pieceGlyph.pieceGlyph--winnerShadow,.pieceWinnerFace{grid-area:1/1}.pieceWinnerFace,.pieceWinnerRotation{place-items:center;width:100%;height:100%;display:grid}.pieceWinnerFace{z-index:1}.piece .pieceGlyph.pieceGlyph--winnerShadow{--winner-shadow-offset:2.5px;fill:#0b1813;stroke:#0b1813;opacity:.34;filter:blur(1.5px);transform:translateY(var(--winner-shadow-offset))}:root[data-theme=colored-dark] .piece .pieceGlyph.pieceGlyph--winnerShadow{fill:#000;stroke:#000}.piece .pieceGlyph.pieceGlyph--winnerShadowLight,:root[data-theme=colored-dark] .piece .pieceGlyph.pieceGlyph--winnerShadowLight{--winner-shadow-offset:.7px;fill:#fff;stroke:#fff;opacity:.18;filter:blur(.5px);transform:translateY(var(--winner-shadow-offset))}.piece .pieceGlyph.pieceGlyph--jumping{filter:none}.piece--winnerPulse{transform-origin:50%;animation:.62s cubic-bezier(.18,.75,.2,1) both winnerPiecePulse}.piece--winnerLevelUp{animation-name:winnerPieceLevelUp}.piece--winnerCelebration{animation-name:var(--celebration-animation);animation-duration:var(--celebration-duration);animation-delay:var(--celebration-delay);animation-timing-function:ease-in-out}.pieceWinnerEcho{opacity:0;pointer-events:none;transform-origin:50%;grid-area:1/1;place-items:center;width:100%;height:100%;display:grid}.piece .pieceGlyph.pieceGlyph--winnerEcho{fill:none;stroke:currentColor;stroke-width:1.5px;filter:none}.pieceWinnerRotation{transform-origin:50%;animation-name:winnerPieceRotation;animation-fill-mode:both}.pieceGlyph--winnerShadowSpin{transform-box:view-box;transform-origin:50%;animation-name:winnerShadowLevelUp;animation-fill-mode:both}.piece--winnerLevelUp,.pieceWinnerRotation,.pieceGlyph--winnerShadowSpin{animation-duration:.9s;animation-timing-function:cubic-bezier(.3,0,.2,1)}.resultOverlay{z-index:30;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;position:absolute;inset:0}:is(.board--celebrating,.celebrationBoard) .cell{overflow:visible}:is(.board--celebrating,.celebrationBoard) .cell:has([data-friendly=true]){z-index:2}:is(.board--celebrating,.celebrationBoard) .cell:has([data-cross-winner=true]){z-index:3}:is(.board--celebrating,.celebrationBoard) .piece{transform-origin:50% 70%}:is(.board--celebrating,.celebrationBoard) .celebrationFloatingPiece{z-index:8;pointer-events:none;position:absolute}:is(.board--celebrating,.celebrationBoard) .celebrationCellOverlay{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board>.celebrationOverlay,.celebrationBoard .celebrationOverlay{z-index:7;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}:is(.board--celebrating,.celebrationBoard) .celebrationSpecialCurtains{z-index:12;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.physicalEditionBackdrop{z-index:50;background:color-mix(in srgb, var(--body-background) 42%, transparent);cursor:default;-webkit-tap-highlight-color:transparent;border:0;padding:0;position:fixed;inset:0}.physicalEditionCard{z-index:60;top:var(--physical-edition-center-y,50%);border:2px solid var(--hud-color);background:var(--paper);width:min(380px,100vw - 24px);max-height:calc(100dvh - 24px);box-shadow:0 2px 0 color-mix(in srgb, var(--hud-color) 34%, transparent), 0 20px 50px #07140f57;color:var(--ink);cursor:default;-webkit-tap-highlight-color:transparent;border-radius:18px;padding:18px;animation:.28s cubic-bezier(.2,.8,.2,1) both physicalEditionEnter;position:fixed;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.physicalEditionTitle{color:var(--hud-color);letter-spacing:-.025em;margin:0;font-family:Poppins,ui-sans-serif,sans-serif;font-size:21px;font-weight:800;line-height:1.18}.physicalEditionCopy{margin:8px 0 14px;font-size:15px;line-height:1.45}.physicalEditionInlineTerms{color:var(--hud-color);text-underline-offset:2px;font-weight:400}.physicalEditionRender{margin:0 0 12px}.physicalEditionRender img{border-radius:8px;width:100%;height:auto;margin:0 auto;display:block}.physicalEditionRender figcaption{color:color-mix(in srgb, var(--ink) 62%, transparent);text-align:center;margin-top:4px;font-size:12px;line-height:1.35}.physicalEditionForm{grid-template-columns:minmax(0,1fr);gap:8px;display:grid;position:relative}.physicalEditionPrimary{cursor:pointer;border:2px solid var(--hud-color);background:var(--hud-color);min-height:44px;color:var(--rules-toggle-ink);border-radius:11px;padding:10px 15px;font-size:14px;font-weight:750}.physicalEditionPrimary:disabled{cursor:wait;opacity:.68}.physicalEditionPrimary--wide,.physicalEditionForm .physicalEditionPrimary{width:100%}.physicalEditionInput{border:2px solid color-mix(in srgb, var(--hud-color) 70%, transparent);background:var(--paper);width:100%;min-width:0;min-height:44px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--hud-color) 10%, transparent);color:var(--ink);font:inherit;-webkit-user-select:text;user-select:text;border-radius:11px;outline:0;padding:9px 12px}.physicalEditionInput::placeholder{color:color-mix(in srgb, var(--ink) 56%, transparent)}.physicalEditionInput:focus-visible{border-color:var(--hud-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--hud-color) 28%, transparent)}.physicalEditionInput[aria-invalid=true]{border-color:var(--swap)}.physicalEditionHoneypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-10000px}.physicalEditionConsent,.physicalEditionFooter{color:color-mix(in srgb, var(--ink) 62%, transparent);font-size:12px;line-height:1.35}.physicalEditionConsent{text-align:right;margin:8px 0 0}.physicalEditionConsent a{color:var(--hud-color);text-underline-offset:2px;font-weight:400}.physicalEditionFooter{justify-content:center;align-items:center;gap:12px;margin-top:4px;display:flex}.physicalEditionDismiss{color:var(--hud-color);cursor:pointer;background:0 0;border:0;padding:3px;font-size:14px;font-weight:700}.physicalEditionError{color:var(--swap);grid-column:1/-1;margin:-2px 0 0;font-size:12px;font-weight:700}@keyframes physicalEditionEnter{0%{opacity:0;transform:translate(-50%,calc(14px - 50%))scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.adminPage,.legalPage{width:100%;height:100dvh;padding:max(24px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));background:var(--body-background);color:var(--ink);-webkit-user-select:text;user-select:text;overflow:auto}.adminPage *,.legalPage *{-webkit-user-select:text;user-select:text}.adminPanel,.legalCard{border:1px solid color-mix(in srgb, var(--hud-color) 32%, transparent);background:var(--paper);border-radius:18px;width:min(980px,100%);margin:0 auto;padding:clamp(20px,4vw,38px);box-shadow:0 18px 48px #07140f24}.adminPanel--narrow,.legalCard{max-width:720px}.adminHeader{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.adminEyebrow,.legalEyebrow{color:var(--hud-color);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.11em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.adminPage h1,.legalPage h1{color:var(--hud-color);margin:0;font-family:Poppins,ui-sans-serif,sans-serif;font-size:clamp(28px,5vw,42px);line-height:1.05}.adminSummary,.legalUpdated{color:color-mix(in srgb, var(--ink) 60%, transparent);margin:9px 0 0}.adminHeaderActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.adminButton{background:var(--hud-color);min-height:40px;color:var(--rules-toggle-ink);border-radius:10px;justify-content:center;align-items:center;padding:8px 14px;font-weight:750;text-decoration:none;display:inline-flex}.adminTextLink,.legalPage a{color:var(--hud-color);text-underline-offset:3px;font-weight:700}.adminTableWrap{margin-top:28px;overflow-x:auto}.adminTable{border-collapse:collapse;width:100%;font-size:14px}.adminTable th,.adminTable td{border-bottom:1px solid color-mix(in srgb, var(--ink) 14%, transparent);text-align:left;vertical-align:middle;white-space:nowrap;padding:13px 10px}.adminTable th{color:color-mix(in srgb, var(--ink) 62%, transparent);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.adminTable a{color:var(--hud-color);font-weight:700}.adminRemove{color:var(--swap);cursor:pointer;background:0 0;border:0;padding:6px 0;font-weight:700}.adminEmpty{color:color-mix(in srgb, var(--ink) 62%, transparent);margin:38px 0 4px}.adminPanel--analytics{width:min(1180px,100%)}.adminPanel--daily{width:min(1080px,100%)}.dailyAdminIntro{color:color-mix(in srgb, var(--ink) 64%, transparent);margin:24px 0 0;line-height:1.55}.dailyAdminQueue{gap:10px;margin-top:22px;display:grid}.dailyAdminCard{border:1px solid color-mix(in srgb, var(--hud-color) 20%, transparent);background:color-mix(in srgb, var(--hud-color) 4%, var(--paper));border-radius:13px}.dailyAdminCard--today{border-color:#22855d70}.dailyAdminCard--played{opacity:.78}.dailyAdminCard summary{color:var(--ink);cursor:pointer;grid-template-columns:120px 120px 92px 1fr;align-items:center;gap:12px;padding:14px 16px;font-size:13px;display:grid}.dailyAdminNumber{color:var(--hud-color);font-weight:800}.dailyAdminStatus{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;width:fit-content;padding:4px 8px;font-size:10px;font-weight:800}.dailyAdminStatus--scheduled{background:color-mix(in srgb, var(--hud-color) 11%, transparent);color:var(--hud-color)}.dailyAdminStatus--today{color:#16704d;background:#22855d29}.dailyAdminStatus--played{background:color-mix(in srgb, var(--ink) 8%, transparent);color:color-mix(in srgb, var(--ink) 62%, transparent)}.dailyAdminDifficulty{color:color-mix(in srgb, var(--ink) 58%, transparent);justify-self:end}.dailyAdminReview{border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent);grid-template-columns:minmax(210px,310px) 1fr;gap:24px;padding:18px;display:grid}.dailyAdminBoard{aspect-ratio:5/7;border:2px solid var(--hud-color);background:var(--paper);border-radius:9px;grid-template-rows:repeat(7,minmax(0,1fr));grid-template-columns:repeat(5,1fr);display:grid;overflow:hidden}.dailyAdminCell{border-right:1px solid color-mix(in srgb, var(--ink) 14%, transparent);border-bottom:1px solid color-mix(in srgb, var(--ink) 14%, transparent);place-items:center;min-width:0;display:grid;position:relative}.dailyAdminCell--objective{background:color-mix(in srgb, var(--hud-color) 8%, var(--paper))}.dailyAdminCell .piece{place-items:center;width:82%;height:82%;display:grid}.dailyAdminDetails p{margin:0 0 9px;line-height:1.45}.dailyAdminDetails code{color:var(--hud-color);font-family:var(--font-geist-mono), ui-monospace, monospace;white-space:normal;font-size:12px}.dailyAdminActions{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.dailyAdminActions button{cursor:pointer;min-height:38px;font:inherit;border-radius:9px;padding:7px 12px;font-weight:750}.dailyAdminActions button:disabled{cursor:default;opacity:.45}.dailyAdminInvalid{color:var(--swap)}.dailyAdminGenerationQueue,.dailyAdminGenerationNote{color:color-mix(in srgb, var(--ink) 60%, transparent);font-size:12px;line-height:1.45}.dailyAdminGenerationQueue{margin:12px 0 0}.dailyAdminGenerationNote{margin-top:10px!important}.analyticsRange{border:1px solid color-mix(in srgb, var(--hud-color) 24%, transparent);background:color-mix(in srgb, var(--hud-color) 5%, var(--paper));border-radius:12px;flex-wrap:wrap;gap:4px;margin-top:28px;padding:4px;display:inline-flex}.analyticsArrivalFilters{flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0;display:flex}.analyticsArrivalFilters label{gap:6px;max-width:100%;font-size:12px;font-weight:650;display:grid}.analyticsArrivalFilters input:not([type=hidden]),.analyticsArrivalFilters select{border:1px solid color-mix(in srgb, var(--ink) 25%, transparent);background:var(--paper);min-width:0;max-width:100%;color:var(--ink);font:inherit;border-radius:8px;padding:9px 10px}.analyticsRangeLink{color:color-mix(in srgb, var(--ink) 68%, transparent);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:750;text-decoration:none}.analyticsRangeLink--active{background:var(--hud-color);color:var(--rules-toggle-ink)}.analyticsCohortIntro{color:color-mix(in srgb, var(--ink) 62%, transparent);margin:12px 2px 0;font-size:12px;line-height:1.5}.analyticsExclusion{border-radius:13px;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:16px;display:flex}.analyticsExclusion h2{color:var(--hud-color);margin:0;font-family:Poppins,ui-sans-serif,sans-serif;font-size:16px}.analyticsExclusion p{max-width:720px;color:color-mix(in srgb, var(--ink) 62%, transparent);margin:6px 0 0;font-size:12px;line-height:1.5}.analyticsExclusionAction{text-align:right;flex:none}.analyticsExcludeButton{cursor:pointer;font:inherit;border:0}.analyticsExcludeButton:disabled{cursor:default;opacity:.58}.analyticsExclusionStatus{min-height:18px}.analyticsExclusionStatus--error{color:var(--swap)!important}.analyticsKpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.analyticsKpi,.analyticsCard,.analyticsSection{border:1px solid color-mix(in srgb, var(--hud-color) 20%, transparent);background:color-mix(in srgb, var(--hud-color) 4%, var(--paper))}.analyticsKpi{border-radius:13px;min-width:0;padding:15px}.analyticsKpi span{min-height:32px;color:color-mix(in srgb, var(--ink) 62%, transparent);font-size:12px;line-height:1.3;display:block}.analyticsKpi strong{color:var(--hud-color);margin-top:7px;font-family:Poppins,ui-sans-serif,sans-serif;font-size:clamp(23px,3vw,31px);line-height:1;display:block}.analyticsKpi small{min-height:31px;color:color-mix(in srgb, var(--ink) 56%, transparent);margin-top:8px;font-size:11px;line-height:1.4;display:block}.analyticsSection--journey{margin-top:18px}.analyticsKpis--journey{margin-top:14px}.analyticsSplit{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.analyticsCard,.analyticsSection{border-radius:14px;padding:18px}.analyticsCard h2,.analyticsSection h2{color:var(--hud-color);margin:0;font-size:17px}.analyticsCard h3{color:var(--hud-color);margin:0;font-size:14px}.analyticsCardNote{color:color-mix(in srgb, var(--ink) 56%, transparent);margin:12px 0 0;font-size:11px;line-height:1.5}.analyticsAudienceGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.analyticsCard--audience{padding:14px}.analyticsCard--audience .analyticsStatsList{grid-template-columns:1fr}.analyticsStatsList{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:12px 0 0;display:grid}.analyticsStatsList div{border-bottom:1px solid color-mix(in srgb, var(--ink) 11%, transparent);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;display:flex}.analyticsStatsList dt{color:color-mix(in srgb, var(--ink) 66%, transparent);font-size:13px}.analyticsStatsList dd{color:var(--hud-color);margin:0;font-weight:800}.analyticsSection{margin-top:14px}.analyticsSectionHeader{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.analyticsSectionHeader p{color:color-mix(in srgb, var(--ink) 60%, transparent);margin:4px 0 0;font-size:13px}.analyticsSectionHeader--raw{margin-top:24px}.analyticsTableWrap{margin-top:12px}.adminTable--recent{min-width:780px}.adminTable--recent code{color:var(--hud-color);font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:12px}.adminTable .analyticsDetails{max-width:520px;color:color-mix(in srgb, var(--ink) 68%, transparent);white-space:normal}.adminEmpty--compact{margin:15px 0 0}.analyticsPrivacyNote{color:color-mix(in srgb, var(--ink) 58%, transparent);margin:18px 2px 0;font-size:12px;line-height:1.55}.legalCard{line-height:1.65}.legalCard h2{color:var(--hud-color);margin:30px 0 8px;font-size:18px}.legalCard p{margin:0}.legalUpdated{margin-bottom:28px!important}.legalBack{margin-top:30px;display:inline-block}.aboutPage,.aiDifficultyPage,.physicalEditionTermsPage{touch-action:pan-y}.aiDifficultyCard{z-index:1;pointer-events:none;max-width:640px;line-height:1.5;position:relative}.aiDifficultyPage{position:relative}.aiDifficultyPageDismiss{z-index:0;-webkit-tap-highlight-color:transparent;background:0 0;display:block;position:fixed;inset:0}.aiDifficultyPageDismiss:active{background:0 0}.aiDifficultyCard h1{margin-bottom:12px}.aiDifficultyCard h2{margin-top:22px}.aiDifficultyLevelCopy{margin-top:8px!important}.aiDifficultyCard p+p{margin-top:12px}.aiDifficultyCard a{font-weight:400}.aiDifficultyCard .aiDifficultyRulesLink{pointer-events:auto}.aboutCard{z-index:1;pointer-events:none;max-width:640px;position:relative}.aboutPage{position:relative}.aboutPageDismiss{z-index:0;-webkit-tap-highlight-color:transparent;background:0 0;display:block;position:fixed;inset:0}.aboutPageDismiss:active{background:0 0}.aboutCard a,.aboutCard button{pointer-events:auto}.aboutCard h1{margin-bottom:28px}.aboutCopy{font-size:clamp(16px,3.8vw,18px);line-height:1.7}.aboutCopy p+p{margin-top:18px}.aboutSupportList{margin:8px 0 22px;padding-inline-start:1.35em}.aboutSupportList li+li{margin-top:8px}.aboutShareLink{color:var(--hud-color);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:400;text-decoration:underline}.aboutPage a{font-weight:400}.aboutShareLink:focus-visible{outline:2px solid var(--focus-ring-outer);outline-offset:2px;box-shadow:none;border-radius:3px}.aboutShareStatus{color:color-mix(in srgb, var(--ink) 62%, transparent);margin-inline-start:.45em;font-size:.82em}.aboutSignature{margin-top:24px!important}.aboutAppStoreBadge a{vertical-align:top;border-radius:7px;display:inline-block}.aboutAppStoreBadge a:focus-visible{outline:2px solid var(--focus-ring-outer);outline-offset:4px}.aboutAppStoreBadge img{width:auto;height:48px;display:block}.aboutCopyright{color:color-mix(in srgb, var(--ink) 55%, transparent);font-size:.78em;margin-top:30px!important}@media (width<=680px){.adminHeader{display:block}.adminHeaderActions{justify-content:flex-start;margin-top:18px}.analyticsKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analyticsSplit,.analyticsStatsList,.analyticsAudienceGrid{grid-template-columns:1fr}.analyticsRange{display:flex}.analyticsExclusion{display:block}.analyticsExclusionAction{text-align:left;margin-top:14px}.dailyAdminCard summary{grid-template-columns:1fr auto}.dailyAdminDifficulty{justify-self:start}.dailyAdminReview{grid-template-columns:1fr}.dailyAdminBoard{width:min(300px,100%);margin:0 auto}}@media (width>=681px) and (width<=980px){.analyticsKpis{grid-template-columns:repeat(3,minmax(0,1fr))}.analyticsAudienceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=350px){.physicalEditionCard{padding:16px}.physicalEditionPrimary{width:100%}}@media (height<=540px) and (orientation:landscape){.physicalEditionCard{width:min(340px,100vw - 24px)}}.boardFrame .cell:focus-visible,.resultOverlay:focus-visible{outline:3px solid var(--focus-ring-inner);outline-offset:-4px;box-shadow:inset 0 0 0 7px var(--focus-ring-outer)}.srOnly{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes startingCoinFlip{0%,16%{background:var(--light-piece-color);border-color:var(--starting-coin-border)}17%,32%{background:var(--dark-piece-color);border-color:var(--starting-coin-border)}33%,48%{background:var(--light-piece-color);border-color:var(--starting-coin-border)}49%,64%{background:var(--dark-piece-color);border-color:var(--starting-coin-border)}65%,80%{background:var(--light-piece-color);border-color:var(--starting-coin-border)}81%,to{background:var(--starting-color);border-color:var(--starting-border-color)}0%{transform:rotateY(0)scale(.88)}to{transform:rotateY(4turn)scale(1)}}:root[data-motion-effects=light] .board .pieceGlyph{filter:none}:root[data-motion-effects=light] .board .pieceGlyph--winnerShadow{display:none}@keyframes objectiveCrossGoalFlash{0%,to{stroke:var(--objective-target)}50%{stroke:color-mix(in srgb, var(--objective-target) 30%, black)}}@keyframes objectiveWhiteThreatFlash{0%,to{background:var(--white-objective-occupied);box-shadow:none}50%{background:var(--white-objective-occupied);box-shadow:inset 0 0 0 clamp(3px, .5vw, 5px) var(--black-objective-occupied)}}@keyframes objectiveBlackThreatFlash{0%,to{background:var(--black-objective-occupied);box-shadow:none}50%{background:var(--black-objective-occupied);box-shadow:inset 0 0 0 clamp(3px, .5vw, 5px) var(--white-objective-occupied)}}@keyframes moveIn{0%{transform:translate(-50%, -50%) translate(var(--shift-x), var(--shift-y))}to{transform:translate(-50%,-50%)translate(0)}}@keyframes moveInFromDrag{0%{transform:translate(-50%, -50%) translate(var(--shift-x), var(--shift-y)) scale(1.06)}to{transform:translate(-50%,-50%)translate(0)scale(1)}}@keyframes blockedSwapShake{0%,to{transform:translate(0)rotate(0)}18%{transform:translate(-8%)rotate(-3deg)}36%{transform:translate(8%)rotate(3deg)}54%{transform:translate(-6%)rotate(-2deg)}72%{transform:translate(6%)rotate(2deg)}88%{transform:translate(-2%)rotate(-.5deg)}}@keyframes finishWhite{to{background:var(--white-win-cell)}}@keyframes finishBlack{to{background:var(--black-win-cell)}}@keyframes finishWhiteObjective{to{background:var(--white-win-objective)}}@keyframes finishBlackObjective{to{background:var(--black-win-objective)}}@keyframes winnerPiecePulse{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-2px)scale(1.045)}}@keyframes winnerCelebrationSway{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}57%{transform:rotate(6deg)}80%{transform:rotate(-2deg)}}@keyframes winnerCelebrationBreath{0%,to{transform:scale(1)}38%,58%{transform:scale(1.09)}}@keyframes winnerCelebrationEcho{0%{opacity:0;transform:scale(1)}20%{opacity:.65}to{opacity:0;transform:scale(1.24)}}@keyframes winnerCelebrationHop{0%,to{transform:translateY(0)scale(1)}14%{transform:translateY(1px)scale(1.03,.96)}38%{transform:translateY(-11px)scale(1)}67%{transform:translateY(0)scale(1.04,.94)}84%{transform:translateY(-2px)scale(1)}}@keyframes winnerCelebrationBow{0%,to{transform:translateY(0)rotate(0)scale(1)}30%,55%{transform:translateY(2px)rotate(-11deg)scale(.99,.96)}80%{transform:translateY(-2px)rotate(3deg)scale(1)}}@keyframes winnerCelebrationTwoStep{0%,33%,to{transform:translateY(0)rotate(0)scale(1)}15%{transform:translateY(-6px)rotate(-3deg)scale(1)}56%{transform:translateY(-11px)rotate(3deg)scale(1)}80%{transform:translateY(0)rotate(0)scale(1.04,.95)}}@keyframes winnerCelebrationSpring{0%,to{transform:translateY(0)scale(1)}20%{transform:translateY(2px)scale(1.1,.82)}42%{transform:translateY(-14px)scale(.96,1.05)}66%{transform:translateY(0)scale(1.08,.88)}82%{transform:translateY(-3px)scale(1)}}@keyframes winnerCelebrationLate{0%,59%,to{transform:translateY(0)scale(1)}10%{transform:translateY(1px)scale(1.03,.96)}29%{transform:translateY(-10px)scale(1)}48%{transform:translateY(0)scale(1.04,.94)}}@keyframes winnerCelebrationLateTriangle{0%,59%,to{transform:translateY(0)scale(1)}10%{transform:translateY(1px)scale(1.03,.96)}29%{transform:translateY(-10px)scale(1)}48%{transform:translateY(0)scale(1.04,.94)}76%{transform:translateY(-5px)scale(1)}91%{transform:translateY(0)scale(1.02,.97)}}@keyframes winnerPieceLevelUp{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-4px)scale(1.06)}}@keyframes winnerPieceRotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes winnerShadowLevelUp{0%{transform:translateY(var(--winner-shadow-offset)) rotate(0deg)}to{transform:translateY(var(--winner-shadow-offset)) rotate(360deg)}}@keyframes ratingValueGrow{0%,to{transform:scale(1)}35%{transform:scale(1.2)}}@keyframes ratingValueShrink{0%,to{transform:scale(1)}40%{transform:scale(.86)}}@keyframes ratingDelta{0%{opacity:0;transform:translateY(8px)}16%{opacity:1}68%{opacity:1}to{opacity:0;transform:translateY(-18px)}}@keyframes rulesTogglePulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--hud-color) 0%, transparent);transform:scale(1)}12%{box-shadow:0 0 0 0 color-mix(in srgb, var(--hud-color) 68%, transparent)}48%{box-shadow:0 0 0 14px color-mix(in srgb, var(--hud-color) 0%, transparent);transform:scale(1.28)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--hud-color) 0%, transparent);transform:scale(1)}}@media (height<=720px) and (orientation:portrait){.rulesBoard{--rules-diagram-scale:.9;grid-template-rows:auto repeat(4,minmax(min-content,1fr)) auto}.rulesLogo{padding-block:4px 7px;font-size:clamp(27px,7.8vw,34px)}.rulesPanel{gap:1px;padding-block:2px}.rulesPanel:nth-of-type(2),.rulesPanel:nth-of-type(3){top:0}.rulesAboutLink,.rulesCopy p{font-size:clamp(12px,3.7vw,16px)}}@media (height<=680px) and (orientation:landscape){.rulesBoard{grid-template-rows:auto repeat(4,minmax(min-content,1fr)) auto}.rulesLogo{padding-block:2px 5px;font-size:24px;line-height:.74}.rulesPanel{gap:2px;padding:1px 18px}.rulesPanel:nth-of-type(2),.rulesPanel:nth-of-type(3){top:0}.rulesMoves[data-four-shapes=true] .rulesMoveMap{container-type:inline-size}.rulesMoves[data-four-shapes=true] .rulesPiece{width:45cqw}.rulesMoves[data-four-shapes=true] .rulesDirection{--rules-direction-radius:35cqw;width:26cqw;height:16cqw}.rulesMoves[data-four-shapes=true] .rulesDirection:before{height:3cqw;right:8cqw}.rulesMoves[data-four-shapes=true] .rulesDirection:after{border-top-width:5cqw;border-bottom-width:5cqw;border-left-width:8cqw}.rulesAboutLink,.rulesCopy p{font-size:clamp(12px,1.5vw,15px)}}@media (display-mode:standalone),(display-mode:fullscreen){.rulesScreen{padding-bottom:env(safe-area-inset-bottom)}.rulesPanel{padding-block:clamp(4px,1vw,8px)}}@media (orientation:portrait){.themeModeToggle{left:var(--board-inline-start)}.restartToggle{left:calc(var(--board-inline-start) + 42px)}.rulesToggle{left:calc(var(--board-inline-end) - 38px)}}@media (orientation:portrait) and (width<=599px){:root[data-ios-standalone=true]{--game-group-offset-y:-32px}:root[data-ios-standalone=true] .gameShell>.boardFrame{top:-32px}}@media (orientation:portrait) and (width<=379px){.gameShell{--game-review-control-width:32px;--game-review-control-gap:2px}}@media (height<=600px){.gameShell{--game-review-control-width:32px;--game-review-control-gap:2px}}@media (height<=520px){.gameShell{--game-review-control-width:28px;--game-review-control-gap:0px}}@media (height<=470px){.gameShell{--game-review-control-width:24px}.gameReviewNewGame{width:32px;height:32px}.gameReviewPlayFromHere svg,.gameReviewReturn svg{width:17px;height:17px}}@media (height<=540px) and (orientation:landscape){:root{--game-score-stack-reserve:0px;--board-width:min(calc(100vw - var(--game-inline-start) - var(--game-inline-end) - 304px), calc((var(--game-viewport-height) - var(--game-block-start) - var(--game-block-end) - var(--game-score-stack-reserve)) * 5 / 7));--top-corner-top:calc(var(--game-content-center-y) - var(--board-height) / 2);--bottom-corner-top:calc(var(--game-content-center-y) + var(--board-height) / 2 - 44px)}.gameShell{grid-template-rows:1fr;grid-template-columns:1fr auto 1fr;gap:0}.gameShell>.boardFrame{grid-area:1/2}.ratingBadge,.dailyBadge,.opponentModeBadge,.onboardingBadge,.humanMatchScore,.practiceBadge{left:calc(var(--board-inline-start) - 148px);max-width:140px;height:auto;min-height:44px}.humanMatchScore{font-size:20px}.restartToggle,.soundToggle,.themeModeToggle,.rulesToggle,.dailyArchiveToggle,.physicalEditionToggle,.gameReviewControl{width:44px;height:44px}.soundToggle,.rulesToggle{left:calc(var(--board-inline-end) + 104px)}.physicalEditionToggle,.dailyArchiveToggle{left:calc(var(--board-inline-end) + 56px)}.dailyArchiveToggle--withPhysicalEdition{left:calc(var(--board-inline-end) + 8px)}.themeModeToggle{left:calc(var(--board-inline-start) - 148px)}.restartToggle,.gameReviewBack,.gameReviewReturn{left:calc(var(--board-inline-start) - 100px)}.gameReviewPlayFromHere{left:calc(var(--board-inline-start) - 52px)}.gameReviewForward{left:calc(var(--board-inline-end) + 56px)}.gameReviewNewGame{left:calc(var(--board-inline-end) + 8px)}.gameReviewControls{display:contents}.gameReviewControl{top:var(--bottom-corner-top);position:fixed;transform:none}.ratingTierPanel,.roomToast--scoreDiscovery{left:calc(var(--board-inline-start) - 148px)}.ratingTierPanel{width:min(316px, calc(100vw - var(--game-inline-start) - var(--game-inline-end)))}.roomToast--scoreDiscovery{max-width:min(360px, calc(100vw - var(--board-inline-start) + 148px - var(--game-inline-end)))}.roomToast--physicalDiscovery{right:calc(100vw - var(--board-inline-end) - 148px);max-width:min(360px, calc(var(--board-inline-end) + 148px - var(--game-inline-start)))}.roomToast--physicalDiscovery:before{right:61px}.roomToast--physicalDiscovery:after{right:63px}}@media (prefers-reduced-motion:reduce){.ratingValue--up,.ratingValue--down,.rulesToggle--goalCue{animation:none}.humanRoomShare--pulse{box-shadow:0 0 0 4px color-mix(in srgb, var(--hud-color) 32%, transparent);animation:none}.piece--swapBlocked{filter:drop-shadow(0 0 .32rem);animation:none;transform:scale(1.06)}.piece--winnerPulse,.piece--winnerCelebration,.pieceWinnerRotation,.pieceGlyph--winnerShadowSpin{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}:root[data-theme=colored-dark] .boardFrame{box-shadow:0 8px 24px #0000002e}:root[data-theme=colored-dark] .boardFrame--turn-white,:root[data-theme=colored-dark] .boardFrame--turn-black{outline-width:1px}:root[data-theme=colored-dark] .pieceGlyph{filter:drop-shadow(0 2.5px 1.5px #00000057)drop-shadow(0 .7px .5px #ffffff2e);stroke-width:1.35px}:root[data-theme=colored-dark] .pieceGradientStop--highlight{stop-color:color-mix(in srgb, currentColor 82%, #fff)}:root[data-theme=colored-dark] :is(.piece--white,.rulesPiece--dark,.rulesDiagramPiece--gold,.rulesResultPiece--white) .pieceGradientStop--highlight{stop-color:color-mix(in srgb, currentColor 92%, #fff)}:root[data-theme=colored-dark] .pieceGradientStop--edge{stop-color:color-mix(in srgb, currentColor 88%, #000)}:root[data-theme=colored-dark] .selectedCell:not(.objectiveCell):before{border-color:var(--selection-ring)}:root[data-theme=colored-dark] .legalMove:before{border-color:var(--accent)}:root[data-theme=colored-dark] .ratingStarIcon{color:var(--colored-theme-yellow)}:root[data-theme=colored-dark] .rulesToggle{background:radial-gradient(circle, var(--surface-subtle) 0 16px, transparent 16.5px);color:var(--ink)}:root[data-theme=colored-dark] .humanMatchScoreIconBadge{color:var(--button-ink)}:root[data-theme=colored-dark] :is(.ratingTierPanel,.onboardingInstruction,.revisitMomentPanel){border:1px solid var(--surface-border);background:var(--surface-raised);box-shadow:0 12px 32px #0000004d}:root[data-theme=colored-dark] :is(.ratingTierPanelTitle,.ratingTierHelpLink,.humanRoomLabel,.dailyPuzzleProgress){color:var(--rules-muted-ink)}:root[data-theme=colored-dark] .ratingTierRow--current{background:var(--surface-subtle)}:root[data-theme=colored-dark] .opponentModeToggle{background:color-mix(in srgb, var(--tone-dark) 55%, var(--surface-raised))}:root[data-theme=colored-dark] .opponentModeChoice{color:var(--rules-muted-ink)}:root[data-theme=colored-dark] .opponentModeChoice--active{background:color-mix(in srgb, var(--colored-theme-yellow) 15%, var(--surface-raised));box-shadow:inset 0 -2px 0 var(--colored-theme-yellow);color:var(--colored-theme-yellow)}:root[data-theme=colored-dark] :is(.ratingShare,.dailyPuzzleRetry,.dailyPuzzleShare,.humanRoomShare,.humanRoomJoinSubmit,.joinNotificationEnable,.leaderboardActions button[type=submit]){background:var(--colored-theme-yellow);color:var(--button-ink)}:root[data-theme=colored-dark] :is(.humanRoomLocal,.humanRoomOnline,.humanRoomJoinCancel,.joinNotificationDismiss,.dailyReminderEnable,.humanRoomJoinInput,.localeSelector select){border-color:var(--surface-border)}:root[data-theme=colored-dark] :is(.humanRoomJoinInput,.localeSelector select,.joinNotificationPrompt){background:var(--tone-dark)}:root[data-theme=colored-dark] .humanRoomJoinAnother{color:var(--colored-theme-blue)}:root[data-theme=colored-dark] .leaderboardViews{background:var(--tone-dark)}:root[data-theme=colored-dark] .leaderboardViews button[aria-pressed=true]{background:var(--surface-subtle);color:var(--ink);box-shadow:inset 0 -2px 0 var(--colored-theme-yellow)}:root[data-theme=colored-dark] .roomToast{border-color:var(--surface-border);background:var(--surface-raised);color:var(--ink);box-shadow:0 8px 24px #00000047}:root[data-theme=colored-dark] .roomToast--celebration{border-color:var(--colored-theme-yellow)}:root[data-theme=colored-dark] .roomToast--scoreDiscovery:before,:root[data-theme=colored-dark] .roomToast--physicalDiscovery:before{background:var(--surface-border)}:root[data-theme=colored-dark] .roomToast--scoreDiscovery:after,:root[data-theme=colored-dark] .roomToast--physicalDiscovery:after{background:var(--surface-raised)}:root[data-theme=colored-dark] .rulesLogo{filter:drop-shadow(0 1.5px 1px #0003)}:root[data-theme=colored-dark] .rulesLogoGlyph .pieceGlyph{filter:none;stroke:none}:root[data-theme=colored-dark] .rulesPiece--light .pieceGlyph{stroke:var(--black-piece-outline)}:root[data-theme=colored-dark] .rulesPiece--dark .pieceGlyph{stroke:var(--white-piece-outline)}:root[data-theme=colored-dark] :is(.rulesDirection,.rulesSwapArrows){color:var(--rules-muted-ink)}:root[data-theme=colored-dark] :is(.adminPanel,.legalCard){border-color:var(--surface-border);background:var(--surface-raised)}:root[data-theme=colored-dark] .dailyArchiveCard{background:var(--surface-raised)}:root[data-theme=colored-dark] :is(.aboutCard,.legalCard) a{color:var(--colored-theme-blue)}:root[data-native-ios=true] .rulesScreen,:root[data-native-app=true] .rulesScreen{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.nativeGameLayer--covered{visibility:hidden}.nativeRouteLayer{z-index:200;position:fixed;inset:0}.iosAnalyticsSetting,.nativeAnalyticsSetting{border:1px solid var(--hud-color);border-radius:10px;margin:24px 0;padding:16px}.iosAnalyticsSetting code,.nativeAnalyticsSetting code{overflow-wrap:anywhere}.iosAnalyticsToggle,.nativeAnalyticsToggle{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:inline-flex}.iosAnalyticsToggle input,.nativeAnalyticsToggle input{width:20px;height:20px;accent-color:var(--hud-color);margin:0}.roomToast.roomToast--diagnostic{border-radius:16px;font-size:14px;line-height:1.4}.adminPanel--adSetup{max-width:1080px}.adSetupPurpose,.adSetupNextSteps{border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);border-radius:12px;margin-top:28px;padding:20px}.adSetupPurpose h2,.adSetupNextSteps h2{margin:0 0 12px;font-size:20px}.adSetupPurpose p,.adSetupNextSteps li{line-height:1.6}.adSetupPurpose p:last-child{margin-bottom:0}.adSetupStatuses{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.adSetupStatusCard{background:color-mix(in srgb, var(--ink) 5%, var(--paper));border-radius:12px;flex-direction:column;gap:7px;padding:16px;display:flex}.adSetupStatusCard span,.adSetupNote,.adSetupFormIntro,.adSetupGroupIntro,.adSetupFieldHint{color:color-mix(in srgb, var(--ink) 72%, transparent);line-height:1.5}.adSetupReady{color:var(--hud-color)}.adSetupStorageNotice{border:1px solid color-mix(in srgb, var(--ink) 30%, transparent);border-radius:10px;margin-top:18px;padding:14px;line-height:1.5}.adSetupGroup{border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);border-radius:12px;min-width:0;margin:26px 0 0;padding:18px}.adSetupGroup legend{color:var(--hud-color);padding-inline:8px;font-size:20px;font-weight:700}.adSetupGroupIntro{margin:0 0 18px}.adSetupFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.adSetupField{min-width:0}.adSetupField label{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;font-weight:600;display:flex}.adSetupFieldStatus{color:color-mix(in srgb, var(--ink) 65%, transparent);flex:none;font-size:12px;font-weight:400}.adSetupFieldStatus--saved{color:var(--hud-color)}.adSetupField input{border:1px solid color-mix(in srgb, var(--ink) 35%, transparent);background:var(--paper);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:8px;padding:10px 12px}.adSetupField input::placeholder{color:color-mix(in srgb, var(--ink) 55%, transparent)}.adSetupField input[aria-invalid=true]{border-color:var(--swap)}.adSetupField input:focus-visible,.adSetupSaveButton:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.adSetupFieldHint,.adSetupFieldError{margin:7px 0 0;font-size:13px}.adSetupFieldError,.adSetupFeedback--error{color:var(--swap)}.adSetupSaveArea{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.adSetupSaveButton{font:inherit;cursor:pointer;border:0;font-weight:700}.adSetupField input:disabled,.adSetupSaveButton:disabled{opacity:.6;cursor:default}.adSetupFeedback{flex:1;min-width:min(100%,240px);margin:0;line-height:1.5}.adSetupConnection{margin-top:22px}.adSetupConnection .adSetupNote{margin:10px 0}.adSetupNextSteps ol{padding-inline-start:22px}.adSetupNextSteps li+li{margin-top:12px}.adSetupNextSteps code{overflow-wrap:anywhere;font-size:.9em}.adPurchaseDiagnostics{border-top:1px solid color-mix(in srgb, var(--ink) 18%, transparent);margin-top:28px;padding-top:24px;line-height:1.5}.adPurchaseDiagnosticsHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.adPurchaseDiagnostics h2{margin:0;font-size:20px}.adPurchaseTestState,.adPurchaseReceipt{background:color-mix(in srgb, var(--ink) 5%, var(--paper));border-radius:10px;margin:18px 0;padding:14px 16px}.adPurchaseTestState:empty{display:none}.adPurchaseTestState p,.adPurchaseReceipt p{margin:0 0 8px}.adPurchaseTestState p:last-child,.adPurchaseReceipt p:last-child{margin-bottom:0}.adPurchaseCancelForm{margin:14px 0}.adPurchaseDiagnostics h3{margin:28px 0 8px;font-size:17px}.adPurchaseEventId,.adPurchaseReceipt pre{overflow-wrap:anywhere;word-break:break-word}.adPurchaseReceipt pre{white-space:pre-wrap;margin:12px 0 0;font-size:12px}.adPurchaseReceipt summary{cursor:pointer;padding:6px 0}.adPurchaseReceipt summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (width<=650px){.adSetupStatuses,.adSetupFields{grid-template-columns:1fr}.adSetupGroup{padding:14px}.adSetupPurpose,.adSetupNextSteps{padding:16px}}.aiLabPage{padding:max(16px, env(safe-area-inset-top)) 12px max(24px, env(safe-area-inset-bottom))}.aiLabPanel{max-width:580px;padding:18px}.aiLabPanel>.adminHeader{gap:16px;margin-bottom:22px}.aiLabPanel>.adminHeader h1{font-size:26px}.aiLabPanel>.adminHeader .adminEyebrow{font-size:9px}.aiLabPanel .adminHeaderActions{gap:10px;font-size:11px}.aiLab{--lab-paper:#fbf7e8;--lab-surface:#fffdf5;--lab-ink:#22344b;--lab-muted:#5b6878;--lab-line:#d6d5cd;--lab-tile:#deddd6;--lab-grid:#c0c0b9;--lab-cross:#deddd6;--lab-cross-outline:#7a7d7b;--lab-accent:#177565;--white-piece:#d3a52e;--black-piece:#0b254f;--white-piece-outline:#8e722b;--black-piece-outline:#34445b;--lab-yellow-cross:color-mix(in srgb, var(--white-piece) 42%, var(--lab-tile));--lab-blue-cross:color-mix(in srgb, var(--black-piece) 42%, var(--lab-tile));--lab-frame:#8a9299;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--lab-ink);background:var(--lab-paper);border:1px solid var(--lab-line);width:100%;max-width:520px;font-family:var(--font-system-sans);border-radius:18px;margin:0 auto;padding:24px;line-height:1.45}.aiLab[data-lab-theme=dark]{--lab-paper:#111822;--lab-surface:#1c2733;--lab-ink:#e8e5dd;--lab-muted:#adb9c7;--lab-line:#46576b;--lab-tile:#344355;--lab-grid:#4a596a;--lab-cross:#344355;--lab-cross-outline:#a1b1c2;--lab-accent:#75cbbb;--white-piece:#d8b652;--black-piece:#6491bd;--white-piece-outline:#f1d186;--black-piece-outline:#7da5cc;--lab-yellow-cross:#56503b;--lab-blue-cross:#405570;--lab-frame:#536579;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.aiLab *{box-sizing:border-box}.aiLab p{margin:0 0 12px}.aiLab h2{letter-spacing:-.7px;margin:0;font-size:clamp(21px,5vw,28px);font-weight:650;line-height:1.12}.aiLab h3{margin:20px 0 8px;font-size:14px}.aiLabHeading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.aiLab .aiLabEyebrow{text-transform:uppercase;letter-spacing:1.4px;color:var(--lab-muted);margin-bottom:8px;font-size:10px;font-weight:700}.aiLab button,.aiLab select{appearance:none;font:inherit;color:var(--lab-ink);background:var(--lab-surface);border:1px solid var(--lab-line);border-radius:9px;min-height:44px;padding:10px 13px}.aiLab button{cursor:pointer;touch-action:manipulation;font-size:13px;font-weight:600}.aiLab select{background-image:linear-gradient(45deg, transparent 50%, var(--lab-muted) 50%), linear-gradient(135deg, var(--lab-muted) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;width:100%;margin-top:5px;padding-right:30px;font-size:14px;display:block}.aiLab button:focus-visible,.aiLab select:focus-visible,.aiLab summary:focus-visible{outline:3px solid var(--lab-accent);outline-offset:3px}.aiLab .aiLabPrimary{background:var(--lab-ink);color:var(--lab-paper);border-color:var(--lab-ink)}.aiLab .aiLabIconButton{flex-shrink:0;place-items:center;width:44px;padding:10px;display:grid}.aiLabIconButton svg{width:22px;height:22px}.aiLabControls{gap:15px;display:grid}.aiLab label,.aiLab legend{font-size:12px;font-weight:600}.aiLabDifficulties{border:0;min-width:0;margin:0;padding:0}.aiLabDifficulties legend{margin-bottom:6px}.aiLabDifficulties>div{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.aiLabDifficulties button{font-variant-numeric:tabular-nums;padding:8px 2px}.aiLabDifficulties button[aria-pressed=true]{color:var(--lab-paper);background:var(--lab-ink);border-color:var(--lab-ink)}.aiLab .aiLabMuted{color:var(--lab-muted);margin:8px 0 0;font-size:11px;font-weight:400}.aiLabTwoColumns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.aiLabWelcome{font-size:14px}.aiLabWelcome .aiLabPrimary{width:100%;margin:10px 0}.aiLabGameActions{justify-content:space-between;align-items:center;gap:10px;margin:20px 0;display:flex}.aiLabGameActions .aiLabMuted{text-align:right;max-width:130px;margin:0}.aiLab .aiLabNotice,.aiLabConfirm{background:var(--lab-surface);border:1px solid var(--lab-line);border-radius:10px;margin:14px 0;padding:12px;font-size:12px}.aiLabNotice p{margin-bottom:10px}.aiLabConfirm>div{flex-wrap:wrap;gap:8px;display:flex}.aiLabMatchMeta,.aiLabBoardFoot{color:var(--lab-muted);justify-content:space-between;gap:8px;font-size:11px;display:flex}.aiLabTurn{justify-content:center;align-items:center;gap:8px;min-height:43px;font-size:14px;font-weight:600;display:flex}.aiLabColourDot{border-radius:50%;width:9px;height:9px;display:inline-block}.aiLabColourDot--white{background:var(--white-piece)}.aiLabColourDot--black{background:var(--black-piece)}.aiLabPlayArea{scroll-margin-top:14px}.aiLabBoard{aspect-ratio:5/7;border:5px solid var(--lab-frame);background:var(--lab-grid);touch-action:none;border-radius:5px;grid-template-rows:repeat(7,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;width:100%;padding:2px;display:grid;position:relative}.aiLabCrossBoundary{fill:none;pointer-events:none;z-index:3;width:calc(100% - 4px);height:calc(100% - 4px);position:absolute;inset:2px}.aiLabCrossBoundary path{stroke:var(--lab-cross-outline);stroke-width:2px;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.aiLab .aiLabCell{isolation:isolate;background:var(--lab-tile);touch-action:none;-webkit-tap-highlight-color:transparent;border:0;border-radius:0;place-items:center;min-height:0;padding:0;display:grid;position:relative}.aiLab .aiLabCell--cross{background:var(--lab-cross)}.aiLab .aiLabCell--white{background:var(--lab-yellow-cross)}.aiLab .aiLabCell--black{background:var(--lab-blue-cross)}.aiLabCell:after{content:"";pointer-events:none;border:2px solid #0000;border-radius:3px;position:absolute;inset:5%}.aiLabCell--last:after{border-color:color-mix(in srgb, var(--lab-ink) 27%, transparent)}.aiLabCell--selected:after{border:3px solid var(--lab-ink)}.aiLabCell--destination:after{border:2px solid var(--lab-accent)}.aiLabCell--threat:before{content:"";border:2px solid var(--lab-ink);pointer-events:none;position:absolute;inset:8%}.aiLabCell--white.aiLabCell--threat:before{border-color:var(--black-piece)}.aiLabCell--black.aiLabCell--threat:before{border-color:var(--white-piece)}.aiLabPiece{pointer-events:none;z-index:2;place-items:center;width:86%;height:86%;animation:.17s ease-out aiLabMorph;display:grid;position:relative}.aiLab .piece--white{color:var(--white-piece)}.aiLab .piece--black{color:var(--black-piece)}.aiLab .pieceGlyph{filter:drop-shadow(0 2px 1.5px #0000004d);stroke-width:1.35px;width:88%;height:88%;overflow:visible}.aiLab .piece--white .pieceGlyph{stroke:var(--white-piece-outline)}.aiLab .piece--black .pieceGlyph{stroke:var(--black-piece-outline)}.aiLab .pieceGradientStop--highlight{stop-color:color-mix(in srgb, currentColor 88%, #fff)}.aiLab .pieceGradientStop--middle{stop-color:currentColor}.aiLab .pieceGradientStop--edge{stop-color:color-mix(in srgb, currentColor 93%, #000)}.aiLabDestinationDot{aspect-ratio:1;background:var(--lab-accent);opacity:.8;pointer-events:none;border-radius:50%;width:14%}.aiLabCoord{color:var(--lab-ink);opacity:.55;pointer-events:none;font-size:clamp(7px,1.8vw,9px);font-weight:400;position:absolute;bottom:1px;left:3px}.aiLabLock{z-index:4;width:15px;height:15px;color:var(--lab-ink);pointer-events:none;position:absolute;top:2px;right:2px}.aiLabLock svg{fill:currentColor;width:100%;height:100%}.aiLabLock .swapLockShackle{fill:none;stroke:currentColor;stroke-width:2.5px}.aiLabLock .swapLockKeyhole{fill:var(--lab-paper)}.aiLabBoardFoot{margin:8px 0 12px}.aiLab .aiLabResultReason{text-align:center;font-size:12px}.aiLabDetails{border-top:1px solid var(--lab-line);margin-top:20px;padding-top:16px}.aiLabDetails summary{cursor:pointer;min-height:30px;font-size:13px;font-weight:650}.aiLabDetails summary>span{float:right;color:var(--lab-muted);font-size:11px;font-weight:400}.aiLabDetails>p{margin-top:8px;font-size:12px}.aiLabShapeCycle{align-items:flex-start;gap:6px;margin:15px 0;display:flex}.aiLabShapeCycle>div{text-align:center;flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.aiLabRulePiece{place-items:center;width:50px;height:50px;display:grid}.aiLabShapeCycle strong{font-size:10px}.aiLabShapeCycle span:not(.aiLabRulePiece){min-height:28px;font-size:10px}.aiLabShapeCycle small{color:var(--lab-muted);font-size:10px}.aiLabStatsHeading{justify-content:space-between;align-items:center;gap:10px;margin:5px 0 12px;font-size:12px;display:flex}.aiLabStatsHeading p{margin:0}.aiLabInlineLabel{white-space:nowrap;align-items:center;gap:7px;display:flex}.aiLabInlineLabel select{width:auto;min-height:38px;margin:0;padding-top:7px;padding-bottom:7px;font-size:12px}.aiLabTableWrap{overflow-x:auto}.aiLab table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.aiLab td,.aiLab th{text-align:center;border-bottom:1px solid var(--lab-line);padding:9px 5px}.aiLab th{font-weight:600}.aiLab th:first-child{text-align:left}.aiLab thead{color:var(--lab-muted);font-size:10px}.aiLabRecent{margin:0 0 18px;padding:0;list-style:none}.aiLabRecent li{border-bottom:1px solid var(--lab-line);justify-content:space-between;align-items:center;gap:8px;padding:9px 0;font-size:11px;display:flex}.aiLabRecent small{color:var(--lab-muted);margin-top:3px;font-size:10px;display:block}.aiLabRecent li>span:last-child{white-space:nowrap;color:var(--lab-muted)}.aiLabFooter{border-top:1px solid var(--lab-line);margin-top:22px;padding-top:18px}.aiLabFooter small{color:var(--lab-muted);overflow-wrap:anywhere;margin-top:12px;font-size:9px;display:block}@keyframes aiLabMorph{0%{opacity:.75;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (width<=430px){.aiLabPage{padding-left:7px;padding-right:7px}.aiLabPanel{box-shadow:none;border:0;padding:11px 6px}.aiLabPanel>.adminHeader{padding:0 6px}.aiLab{border-radius:12px;padding:16px 12px}.aiLabStatsHeading{align-items:flex-start}.aiLabStatsHeading>p{max-width:110px}}@media (prefers-reduced-motion:reduce){.aiLabPiece{animation:none}}.celebrationPanel{width:min(1160px,100%)}.celebrationPage{font-family:var(--font-system-sans)}.celebrationPage button,.celebrationPage select{font:inherit;cursor:pointer}.celebrationNotice{color:var(--hud-color);background:color-mix(in srgb, var(--colored-theme-yellow) 14%, transparent);border-radius:8px;margin:22px 0 28px;padding:7px 12px;font-size:13px;display:inline-block}.celebrationWorkspace{grid-template-columns:minmax(270px,360px) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,52px);display:grid}.celebrationPreview{min-width:0;position:sticky;top:0}.celebrationPreviewHeading{font:10px var(--font-geist-mono), monospace;letter-spacing:.04em;color:var(--rules-muted-ink);justify-content:space-between;align-items:center;margin:0 0 15px;display:flex}.celebrationQuick{color:var(--rules-muted-ink);align-items:center;gap:10px;margin-bottom:16px;font-size:12px;display:flex}.celebrationQuick select{border:1px solid color-mix(in srgb, var(--hud-color) 28%, transparent);background:var(--paper);min-width:0;min-height:40px;color:var(--ink);border-radius:7px;flex:1;padding:6px}.celebrationScenario{border:1px solid color-mix(in srgb, var(--hud-color) 18%, transparent);background:color-mix(in srgb, var(--colored-theme-yellow) 9%, var(--paper));text-align:center;border-radius:10px;width:min(100%,310px);margin:0 auto 16px;padding:10px 12px}.celebrationScenario span{font:8px var(--font-geist-mono), monospace;color:var(--rules-muted-ink);line-height:1.5;display:block}.celebrationScenario p{color:var(--hud-color);margin:5px 0 0;font-size:13px}.celebrationCollectionNote{color:var(--rules-muted-ink);margin:0 0 18px;font-size:12px;line-height:1.6}.celebrationBoardFrame{border-width:5px;width:min(100%,310px);margin-inline:auto}.celebrationBoard{touch-action:pan-y}.celebrationBoard .cell{touch-action:pan-y;overflow:visible}.celebrationBoard .cell:has([data-friendly=true]){z-index:2}.celebrationBoard .cell:has([data-cross-winner=true]){z-index:3}.celebrationPiece{transform-origin:50% 70%}.celebrationBoard .celebrationFloatingPiece{z-index:8;pointer-events:none;position:absolute}.celebrationCellOverlay{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.celebrationOverlay{z-index:7;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.celebrationNow{text-align:center;margin:22px 0 14px}.celebrationNow h2{letter-spacing:-.02em;margin:0 0 6px;font-size:20px}.celebrationNow p{min-height:40px;color:var(--rules-muted-ink);margin:0;font-size:13px;line-height:1.5}.celebrationPlayback{justify-content:center;align-items:center;gap:8px;display:flex}.celebrationReplay{border:0;flex:1;min-height:44px}.celebrationIconButton{border:1px solid color-mix(in srgb, var(--hud-color) 28%, transparent);min-width:44px;min-height:44px;color:var(--hud-color);background:0 0;border-radius:10px;font-size:19px!important}.celebrationIconButton:disabled{opacity:.35;cursor:default}.celebrationSurprise{background:color-mix(in srgb, var(--hud-color) 9%, transparent);width:100%;min-height:40px;color:var(--hud-color);border:0;border-radius:9px;margin:8px 0 18px;display:block;font-weight:650!important}.celebrationOptions{border-top:1px solid color-mix(in srgb, var(--hud-color) 18%, transparent);grid-template-columns:1fr 1fr;gap:12px;padding-top:16px;display:grid}.celebrationOptions label{min-width:0;color:var(--rules-muted-ink);gap:5px;font-size:11px;display:grid}.celebrationOptions select{border:1px solid color-mix(in srgb, var(--hud-color) 28%, transparent);background:var(--paper);width:100%;min-width:0;min-height:40px;color:var(--ink);border-radius:7px;padding:6px;font-size:12px}.celebrationCheck{min-height:44px;color:var(--rules-muted-ink);cursor:pointer;align-items:center;gap:7px;font-size:12px;display:inline-flex}.celebrationCheck input{width:16px;height:16px;accent-color:var(--hud-color);margin:0}.celebrationChecks{flex-wrap:wrap;gap:4px 20px;display:flex}.celebrationFilters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.celebrationFilters button{border:1px solid color-mix(in srgb, var(--hud-color) 24%, transparent);min-height:40px;color:var(--hud-color);background:0 0;border-radius:20px;padding:6px 16px;font-size:12px}.celebrationFilters button[aria-pressed=true]{color:var(--rules-toggle-ink);background:var(--hud-color);border-color:var(--hud-color)}.celebrationFootnote{color:var(--rules-muted-ink);margin:0;font-size:11px;line-height:1.5}.celebrationCollectionHeader{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.celebrationCollectionHeader h2{letter-spacing:-.02em;margin:0;font-size:17px}.celebrationCollectionHeader h2 span{color:var(--rules-muted-ink);font:11px var(--font-geist-mono), monospace;margin-left:5px}.celebrationCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.celebrationCard{border:1px solid color-mix(in srgb, var(--hud-color) 20%, transparent);background:color-mix(in srgb, var(--hud-color) 2%, var(--paper));border-radius:12px;position:relative;overflow:hidden}.celebrationCard--selected{border-color:var(--hud-color);box-shadow:inset 0 0 0 1px var(--hud-color);background:color-mix(in srgb, var(--colored-theme-yellow) 9%, var(--paper))}.celebrationCardPlay{text-align:left;width:100%;height:100%;min-height:190px;color:var(--ink);background:0 0;border:0;flex-direction:column;align-items:start;padding:16px;display:flex}.celebrationCardPlay:hover{background:color-mix(in srgb, var(--hud-color) 4%, transparent)}.celebrationCardMeta{width:100%;color:var(--rules-muted-ink);font:9px var(--font-geist-mono), monospace;justify-content:space-between;gap:8px;margin-bottom:18px;display:flex}.celebrationCardPlay strong{margin-bottom:8px;font-size:15px;line-height:1.2}.celebrationCardDescription{color:var(--rules-muted-ink);margin-bottom:18px;font-size:12px;line-height:1.5}.celebrationTry{color:var(--hud-color);margin-top:auto;padding-right:25px;font-size:11px;font-weight:700}.celebrationFavourite{width:44px;height:44px;color:var(--hud-color);background:0 0;border:0;position:absolute;bottom:3px;right:3px;font-size:22px!important}.celebrationFavourite[aria-pressed=true]{color:var(--swap)}.celebrationEmpty{color:var(--rules-muted-ink);padding:30px 15px;font-size:14px;line-height:1.6}.celebrationPage :is(button,select,input):focus-visible{outline:2px solid var(--hud-color);outline-offset:3px}@media (width<=820px){.celebrationWorkspace{grid-template-columns:minmax(235px,300px) minmax(0,1fr);gap:24px}.celebrationCards{grid-template-columns:1fr}.celebrationCardPlay{min-height:170px}.celebrationCollectionHeader{flex-wrap:wrap}}@media (width<=620px){.celebrationPage{padding:max(14px, env(safe-area-inset-top)) 10px max(20px, env(safe-area-inset-bottom))}.celebrationPanel{padding:18px 14px}.celebrationPage .adminHeader{flex-direction:column;gap:14px}.celebrationPage .adminHeaderActions{justify-content:flex-start;font-size:12px}.celebrationPage h1{font-size:32px}.celebrationPage .adminSummary{font-size:13px;line-height:1.5}.celebrationNotice{margin:16px 0 20px;font-size:11px}.celebrationWorkspace{flex-direction:column;gap:30px;display:flex}.celebrationPreview{width:100%;position:static}.celebrationBoardFrame{width:min(260px,100%)}.celebrationCollection{width:100%}.celebrationCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.celebrationCardPlay{min-height:200px;padding:12px}.celebrationCardMeta{flex-wrap:wrap;font-size:8px}.celebrationCardPlay strong{font-size:14px}}
