@media (max-width:720px){.play-session-panels{grid-template-columns:1fr;gap:10px;margin-top:10px}.play-session-panels article{padding:12px}.play-session-panels dl{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-modal{width:min(312px,100% - 28px);padding:15px}}.piece-badge{background:#1c2421c7;justify-content:center;min-width:36px;top:9px;right:9px}.daily-pick .piece-badge{top:auto;bottom:8px;right:8px}.game-shell{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:16px;display:grid}.play-breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin:10px 0 0;font-size:.84rem;line-height:1.3;display:flex}.play-breadcrumb a{color:var(--teal-dark)}.play-breadcrumb a:hover{text-underline-offset:3px;text-decoration:underline}.game-side{align-self:start;gap:12px;display:grid}.game-card{padding:14px;overflow:hidden}.game-card .card-title{justify-content:flex-start}.game-card .card-title>:last-child{margin-left:auto}.game-card>img{aspect-ratio:224/142;object-fit:cover;border-radius:7px;width:100%;height:auto;margin-bottom:10px;display:block}.game-card-image-placeholder{aspect-ratio:224/142;background-color:#f3ede4;background-image:linear-gradient(110deg,#eee7dcb8 8%,#fffdfae0 18%,#eee7dcb8 33%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:220% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:7px;width:100%;margin-bottom:10px;animation:1.4s ease-in-out infinite soft-sheen;display:block}.game-card .primary-button{width:100%;margin-top:11px}.game-stats-list{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.game-stats-list div{border:1px solid var(--line);background:#fffdfa;border-radius:8px;gap:2px;min-height:56px;padding:9px;display:grid}.game-stats-list dt{color:var(--muted);font-size:.72rem}.game-stats-list dd{color:#14201d;margin:0;font-size:.98rem;font-weight:740}.board-area{border:1px solid var(--line);background:radial-gradient(circle at 42% 18%, #ffffff42, transparent 360px), linear-gradient(180deg, #ffffff1a, #785e3a0a), var(--board-bg);min-width:0;box-shadow:var(--shadow);border-radius:10px}@media (min-width:721px){.app-shell--play .game-shell{margin-top:10px}.app-shell--play .board-area{width:100%;max-width:100%;height:var(--board-viewport-height,calc(100svh - 158px));min-height:560px;margin-inline:0;overflow:hidden}}.engine-canvas{z-index:6;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.engine-canvas:active{cursor:grabbing}.engine-piece{cursor:grab;filter:drop-shadow(0 9px 8px #30231645);pointer-events:none;touch-action:none;transform-origin:50%;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0;position:absolute;overflow:visible}.engine-piece-svg{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.engine-group-underlay{z-index:4;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;display:block;position:absolute;overflow:visible}.engine-piece-hit-area{cursor:grab;fill:#0000;pointer-events:all;stroke:#0000;stroke-width:0}.engine-piece-edge{fill:none;stroke:#1c18126b;stroke-linejoin:round;stroke-width:1.8px;vector-effect:non-scaling-stroke}.engine-piece-gloss{fill:#ffffff14;stroke:#ffffff42;stroke-linejoin:round;stroke-width:1px;vector-effect:non-scaling-stroke}.engine-piece-selection-fill{display:none}.engine-piece:focus-visible{outline-offset:3px;outline:3px solid #0b7b776b}.engine-piece.is-dragging{cursor:grabbing;filter:drop-shadow(0 17px 15px #2a1f1457);will-change:transform}.engine-piece.is-dragging .engine-piece-hit-area{cursor:grabbing}.engine-piece.is-selected{filter:drop-shadow(0 9px 8px #30231645)}.engine-piece.is-grouped{filter:none}.engine-piece.is-grouped .engine-piece-edge{stroke:#16120d14;stroke-width:.5px}.engine-piece.is-grouped .engine-piece-gloss{fill:#0000;stroke:#0000}.engine-piece.is-placed{cursor:grab;filter:none}.engine-piece.is-placed.is-selected{filter:none}.engine-piece.is-placed .engine-piece-hit-area{cursor:grab}.engine-piece.is-locked .engine-piece-hit-area{cursor:default}@media (prefers-reduced-motion:no-preference){.engine-piece.is-placed .engine-piece-svg{animation:.24s ease-out piece-settle}}.scatter-board.no-animations .engine-piece.is-placed .engine-piece-svg{animation:none}.engine-piece.is-placed .engine-piece-edge{stroke:#16120d1a;stroke-width:.45px}.scatter-board.is-complete .engine-piece.is-placed .engine-piece-edge{stroke:#0000;stroke-width:0}.engine-piece.is-locked{cursor:not-allowed;opacity:.72}.scatter-board.is-large-puzzle .engine-piece{filter:none}.scatter-board.is-large-puzzle .engine-piece.is-dragging{filter:drop-shadow(0 8px 8px #2a1f1438)}.scatter-board.is-large-puzzle .engine-piece.is-selected{filter:none}.scatter-board.is-large-puzzle .engine-piece-edge{stroke:#1c18124d;stroke-width:1.2px}.scatter-board.is-large-puzzle .engine-piece.is-placed .engine-piece-edge{stroke:#16120d29;stroke-width:.75px}.piece-selection-box{z-index:16;pointer-events:none;background:#c769126b;border:1px dashed #c04618d1;position:absolute;box-shadow:inset 0 0 0 1px #fff3}.board-progress-pill{z-index:10;color:#18221f;background:#fffdfadb;border:1px solid #fff9;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:.78rem;font-weight:720;display:inline-flex;position:absolute;top:18px;right:18px;box-shadow:0 8px 20px #3a2b1b24}.board-progress-pill svg{color:var(--teal-dark);fill:none}.board-top-actions{z-index:26;pointer-events:none;justify-content:flex-end;align-items:center;gap:8px;max-width:min(720px,100% - 24px);display:flex;position:absolute;top:10px;right:10px}.board-top-actions>*{pointer-events:auto}.arrange-menu{z-index:8;border:1px solid var(--line);background:#fffdfaf7;border-radius:7px;width:168px;display:none;position:absolute;bottom:46px;right:50%;overflow:hidden;transform:translate(50%);box-shadow:0 14px 28px #3226182e}.tool-with-menu:hover .arrange-menu,.tool-with-menu:focus-within .arrange-menu,.arrange-menu.is-open{display:block}.board-toolbar .arrange-menu button{border:0;border-bottom:1px solid var(--line);color:#202926;text-align:left;background:0 0;border-radius:0;width:100%;height:auto;min-height:48px;padding:0 18px;font-size:1.02rem;display:block}.board-toolbar .arrange-menu button:last-child{border-bottom:0}.board-toolbar .arrange-menu button:hover{background:#eef5f3}.board-toolbar{z-index:7;overscroll-behavior-x:contain;border:1px solid var(--line);width:auto;max-width:calc(100% - 36px);box-shadow:var(--soft-shadow);pointer-events:none;scrollbar-width:none;background:#fffdfaf2;border-radius:999px;align-items:center;gap:7px;padding:7px;display:flex;position:absolute;bottom:26px;left:50%;right:auto;overflow-x:auto;transform:translate(-50%)}.board-photo-button,.board-fullscreen-button,.board-tools-toggle{min-height:44px;color:var(--teal-dark);pointer-events:auto;background:#eff9f7f0;border:1px solid #ffffffa3;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:.82rem;font-weight:760;display:inline-flex;position:static;box-shadow:0 10px 24px #2d22162e}.board-photo-button{padding:0 18px}.board-fullscreen-button,.board-tools-toggle{color:#111b18;background:#fffdfaf0;padding:0 16px}.board-tool-note{color:#4c5b57;pointer-events:auto;background:#fffdfaf0;border-radius:999px;align-items:center;max-width:220px;min-height:32px;padding:0 10px;font-size:.72rem;font-weight:650;line-height:1.2;display:inline-flex}.board-photo-button:hover,.board-fullscreen-button:hover,.board-tools-toggle:hover{color:var(--teal-dark);background:#edf8f6}.board-toolbar::-webkit-scrollbar{display:none}.board-toolbar:has(.arrange-menu.is-open){overflow:visible}.board-quick-actions{z-index:24;pointer-events:none;align-items:center;gap:10px;max-width:calc(100% - 36px);display:inline-flex;position:absolute;bottom:18px;left:18px}.board-quick-actions>button{pointer-events:auto}.board-toolbar button,.board-toolbar a{color:#0f1614;pointer-events:auto;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;width:34px;height:34px;display:inline-flex}.board-toolbar__photo{min-width:116px;padding:0 13px;font-size:.78rem;font-weight:720;width:auto!important;color:var(--teal-dark)!important;background:#eef7f5!important}.board-toolbar button:hover,.board-toolbar button.is-active,.board-toolbar a:hover{color:var(--teal-dark);background:#edf4f1}.board-toolbar__close{color:#25302c!important;background:#eff4f1db!important}.board-toolbar span{color:#17211f;font-size:.78rem}.photo-preview-modal{z-index:30;background:#121514c2;border:1px solid #ffffffa3;border-radius:12px;place-items:center;padding:46px 20px 22px;display:grid;position:absolute;inset:28px;box-shadow:inset 0 0 0 1px #00000029}.photo-preview-modal button{color:#151d1b;background:#fffdfaf0;border:1px solid #ffffff8f;border-radius:999px;min-height:34px;padding:0 14px;font-size:.78rem;font-weight:720;position:absolute;top:14px;right:14px}.completion-modal{z-index:120;border:1px solid var(--line);text-align:center;background:#fffdfaf5;border-radius:10px;gap:12px;width:min(330px,100% - 48px);max-height:calc(100svh - 32px);padding:18px;display:grid;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 20px 42px #2d221638}.completion-modal--guest{width:min(430px,100% - 32px)}.completion-modal__close{position:absolute;top:10px;right:10px;border:1px solid var(--line)!important;color:#17211f!important;background:#fffdfaeb!important;border-radius:999px!important;width:34px!important;min-height:34px!important;padding:0!important}.completion-modal>span{width:46px;height:46px;color:var(--teal-dark);background:#edf7f5;border-radius:999px;justify-self:center;place-items:center;display:grid}.completion-modal h2{color:#111c19;margin:0;font-size:1.28rem;font-weight:720;line-height:1.1}.completion-modal p{color:#4d5a56;margin:0;font-size:.9rem;line-height:1.48}.completion-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.completion-stats div{border:1px solid var(--line);background:#fffaf2;border-radius:8px;gap:2px;padding:8px;display:grid}.completion-stats dt{color:var(--muted);font-size:.68rem;font-weight:640}.completion-stats dd{color:#111c19;margin:0;font-size:.88rem;font-weight:720}.completion-status{background:#f1ebe1;border-radius:8px;justify-self:center;gap:2px;min-width:142px;padding:10px 12px;display:grid}.completion-status strong{color:var(--teal-dark);font-size:1.2rem;line-height:1}.completion-status small{color:var(--muted);font-size:.76rem}.completion-account-cta{text-align:left;background:#f4faf8;border:1px solid #cfe1dc;border-radius:8px;gap:10px;padding:11px;display:grid}.completion-account-cta__heading{gap:3px;display:grid}.completion-account-cta strong{color:#111c19;font-size:.93rem;line-height:1.2}.completion-account-cta small{color:#53625e;font-size:.78rem;line-height:1.4}.completion-email-signup{text-align:center;border-radius:7px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:44px;padding:0 10px;font-size:.84rem;font-weight:700;line-height:1.15;text-decoration:none;display:inline-flex;color:var(--teal-dark)!important;background:#fffdfa!important;border:1px solid #b9d8d1!important}.completion-email-signup svg{flex:none}.completion-account-cta__divider{color:#70807b;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:.72rem;display:grid}.completion-account-cta__divider span{background:#d8e4e0;height:1px}.completion-account-cta__divider b{font-weight:650}.completion-account-cta:not(:has(.completion-google-auth)) .completion-account-cta__divider{display:none}.completion-google-auth{width:100%;display:grid}.completion-google-auth .google-auth-slot{justify-items:stretch}.completion-google-auth .google-native-button,.completion-google-auth .google-button-placeholder,.completion-google-auth .google-button{width:100%}.completion-modal .completion-google-auth .google-button{color:#fff;background:#1a73e8;border:1px solid #1a73e8;border-radius:7px;min-height:46px}.completion-modal .completion-google-auth .google-button span{color:#1b73e8;background:#fff}.completion-account-cta__note,.completion-account-cta__error{margin-top:-2px;font-size:.72rem;line-height:1.35;display:block}.completion-account-cta__error{color:#9f2b1d!important}.completion-share{gap:8px;display:grid}.completion-share>small{color:var(--muted);justify-content:center;align-items:center;gap:6px;font-size:.76rem;font-weight:650;display:inline-flex}.completion-share p{flex-wrap:wrap;justify-content:center;gap:7px;margin:0;display:flex}.completion-modal nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.completion-modal nav>:only-child{grid-column:1/-1}.completion-modal nav a,.completion-modal nav button{text-align:center;min-width:0;padding-inline:8px;font-size:.78rem;line-height:1.15}.completion-modal button,.completion-modal a{background:var(--teal);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 16px;font-weight:680;text-decoration:none;display:inline-flex}.completion-share a{min-width:46px}.completion-share a span{line-height:1}.completion-modal a{color:var(--teal-dark);background:#fffdfa;border:1px solid #cfc4b7}.completion-modal nav .completion-next-puzzle{background:var(--teal);color:#fff;border-color:#0000}.completion-modal nav .completion-next-puzzle:hover{background:var(--teal-dark)}.completion-modal nav .completion-daily-puzzle{background:#eef8f5;border-color:#b9d8d1}.completion-modal nav button{color:var(--teal-dark);background:#fffdfa;border:1px solid #cfc4b7}.completion-replay-panel{z-index:25;border:1px solid var(--line);background:#fffdfaf5;border-radius:999px;align-items:center;gap:9px;max-width:calc(100% - 36px);padding:8px;display:flex;position:absolute;bottom:78px;right:18px;box-shadow:0 14px 30px #2d22162e}.completion-replay-panel div{gap:1px;padding:0 8px;display:grid}.completion-replay-panel strong{color:#111c19;font-size:.78rem;line-height:1.1}.completion-replay-panel span{color:var(--muted);white-space:nowrap;font-size:.68rem;line-height:1.1}.completion-replay-panel button{border:1px solid var(--line);color:#17211f;background:#fffdfa;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:.76rem;font-weight:720;display:inline-flex}.completion-replay-panel .primary-button{background:var(--teal);color:#fff;border-color:#0000}.play-session-panels{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;margin-top:14px;display:grid}.play-session-panels:has(.room-chat-card){grid-template-columns:minmax(0,1fr)}.play-session-panels article{border:1px solid var(--line);box-shadow:var(--soft-shadow);background:#fffdfae6;border-radius:10px;padding:14px}.play-session-panels h2{margin:0 0 10px;font-size:1.02rem;font-weight:700;line-height:1.18}.play-session-panels dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0;display:grid}.play-session-panels dl div{border:1px solid var(--line);background:#fffdfa;border-radius:8px;gap:4px;min-height:58px;padding:10px;display:grid}.play-session-panels dt{color:var(--muted);font-size:.74rem}.play-session-panels dd{color:#14201d;margin:0;font-size:.95rem;font-weight:720}.play-session-panels p{max-width:420px;color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.play-session-panels .leaderboard-empty p{max-width:none}.play-suggestions{border:1px solid var(--line);box-shadow:var(--soft-shadow);background:#fffdfad6;border-radius:10px;gap:10px;margin-top:14px;padding:14px;display:grid}.play-suggestions .section-heading-row{margin:0}.play-suggestions h2{margin:0;font-size:1.02rem}.play-suggestion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.play-suggestion-grid a{border:1px solid var(--line);background:#fffdfa;border-radius:8px;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:8px;display:grid}.play-suggestion-grid a:hover{background:#f1faf8;border-color:#0b7b773d}.play-suggestion-grid img{object-fit:cover;border-radius:6px;width:112px;height:72px}.play-suggestion-grid span{gap:4px;min-width:0;display:grid}.play-suggestion-grid strong,.play-suggestion-grid small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.play-suggestion-grid strong{color:var(--ink);font-size:.92rem;line-height:1.16}.play-suggestion-grid small{color:var(--muted);font-size:.78rem}@media (max-width:720px){.play-breadcrumb{margin-top:8px;padding:0 2px;font-size:.78rem}.play-suggestion-grid{grid-template-columns:1fr}.play-suggestions{padding:12px}}@media (max-width:900px){.play-session-panels{grid-template-columns:1fr;gap:10px}.play-stage .play-session-panels{margin-left:0}.play-session-panels dl{grid-template-columns:repeat(2,minmax(0,1fr))}}.piece-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.piece-choice-grid a,.piece-choice-grid button{border:1px solid var(--line);background:var(--paper);min-height:58px;color:var(--ink);cursor:pointer;font:inherit;border-radius:7px;justify-items:center;gap:2px;padding:8px 6px;display:grid}.piece-choice-grid a:hover,.piece-choice-grid button:hover,.piece-choice-grid a.is-featured,.piece-choice-grid button.is-featured{border-color:var(--teal);color:var(--teal-dark);background:#edf7f5}.piece-choice-grid strong{font-size:1rem;line-height:1}.piece-choice-grid span{color:var(--muted);font-size:.72rem}@media (max-width:720px){.piece-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-shell{gap:10px}.game-side{display:none}.board-toolbar{gap:4px;width:auto;max-width:calc(100% - 20px);padding:5px;display:flex;bottom:84px;left:50%;transform:translate(-50%)}.board-toolbar button,.board-toolbar a{width:30px;height:30px}html:not([data-cookie-choice]) .app-shell--play:has(.cookie-banner) .board-toolbar{bottom:calc(198px + env(safe-area-inset-bottom))}.board-quick-actions{gap:8px;bottom:14px;left:12px}.board-photo-button,.board-fullscreen-button,.board-tools-toggle{border-radius:14px;width:42px;height:42px;min-height:42px;padding:0;font-size:0}.board-photo-button span,.board-fullscreen-button span,.board-tools-toggle span{display:none}.board-photo-button svg,.board-fullscreen-button svg,.board-tools-toggle svg{width:21px;height:21px}.app-shell--play .board-quick-actions{bottom:calc(14px + env(safe-area-inset-bottom))}.app-shell--play .board-toolbar{bottom:calc(70px + env(safe-area-inset-bottom))}.engine-piece,.engine-piece.is-dragging,.engine-piece.is-selected{filter:none;will-change:transform}.arrange-menu{width:144px;inset:auto auto 46px 50%;transform:translate(-50%)}.arrange-menu button{min-height:42px;font-size:.92rem}.photo-preview-modal{padding:44px 10px 16px;inset:10px}}.private-puzzle-page .board-area{height:auto;min-height:0;overflow:hidden}.create-private-game .game-shell{margin-top:0}.play-stage{min-width:0;position:relative}.play-stage .game-shell{margin-top:16px}.play-table-preview{gap:12px;margin-top:16px;display:grid}.play-engine-loading{flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:calc(100dvh - 16px);display:flex}.play-engine-loading svg{color:var(--teal-700)}.play-engine-loading span{color:var(--ink-muted);font-weight:700}.play-table-preview__board{border:1px solid var(--line);background:radial-gradient(circle at 52% 34%, #ffffff2e, transparent 420px), linear-gradient(180deg, #ffffff14, #785e3a08), var(--board-bg);min-height:704px;box-shadow:var(--shadow);border-radius:10px;position:relative;overflow:hidden}.play-table-preview__piece{background:#fffdfa;border:1px solid #2c221740;border-radius:7px;position:absolute;overflow:hidden;box-shadow:0 18px 28px #352a1b2e}.play-table-preview__piece img{object-fit:cover;width:100%;height:100%;display:block}.play-table-preview__piece--large{aspect-ratio:4/3;width:min(420px,34vw);top:154px;left:max(28px,9%);transform:rotate(-2deg)}.play-table-preview__piece--top{aspect-ratio:4/3;width:min(300px,24vw);top:118px;right:max(24px,8%);transform:rotate(2deg)}.play-table-preview__piece--bottom{aspect-ratio:4/3;width:min(360px,30vw);bottom:142px;right:max(82px,14%);transform:rotate(-1deg)}@media (max-width:1050px){.play-table-preview__piece--large{width:min(360px,46vw)}.play-table-preview__piece--top,.play-table-preview__piece--bottom{width:min(280px,38vw)}}@media (max-width:720px){.play-stage .game-shell,.play-table-preview{margin-top:8px}.play-table-preview__board{border-left:0;border-right:0;border-radius:0;min-height:calc(100dvh - 168px)}.play-table-preview__piece--large{width:56vw;top:86px;left:14px}.play-table-preview__piece--top{width:44vw;top:124px;right:10px}.play-table-preview__piece--bottom{width:52vw;bottom:118px;right:34px}}.game-card-note{color:var(--muted);margin:10px 0 0;font-size:.82rem;line-height:1.35}.board-area:fullscreen{background:var(--board-bg);border:0;border-radius:0;width:100vw;height:100vh}body.game-focus-mode-active{overflow:hidden}body.game-focus-mode-active .board-area.is-fullscreen-fallback{z-index:200;background:var(--board-bg);overscroll-behavior:none;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;position:fixed;inset:0}.board-area:fullscreen .scatter-board,.board-area.is-fullscreen .scatter-board{border-radius:0;min-height:100vh}body.game-focus-mode-active .board-area.is-fullscreen-fallback .scatter-board{aspect-ratio:auto;width:100%;height:100%;min-height:100dvh}.board-progress-pill{top:6px;left:50%;right:auto;transform:translate(-50%)}.board-toolbar{z-index:24;bottom:12px}.board-quick-actions{bottom:12px}:is(.app-shell--play:has(.play-stage.is-playing) .game-shell,.app-shell--play:has(.private-puzzle-page) .game-shell){grid-template-columns:minmax(0,1fr);gap:0;margin:0}:is(.app-shell--play:has(.play-stage.is-playing) .game-side,.app-shell--play:has(.private-puzzle-page) .game-side){display:none}:is(.app-shell--play:has(.play-stage.is-playing) .board-area,.app-shell--play:has(.private-puzzle-page) .board-area){width:100vw;max-width:100vw;height:100dvh;box-shadow:none;border:0;border-radius:0;margin:0;overflow:hidden}:is(.app-shell--play:has(.play-stage.is-playing) .board-toolbar,.app-shell--play:has(.private-puzzle-page) .board-toolbar){bottom:max(12px, env(safe-area-inset-bottom))}:is(html:not([data-cookie-choice]) .app-shell--play:has(.play-stage.is-playing):has(.cookie-banner) .board-toolbar,html:not([data-cookie-choice]) .app-shell--play:has(.private-puzzle-page):has(.cookie-banner) .board-toolbar){bottom:calc(198px + env(safe-area-inset-bottom))}.play-session-menu{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));z-index:52;position:fixed}.play-session-menu__button{color:#fff;background:#525340f0;border:1px solid #ffffff2e;border-radius:8px;place-items:center;width:52px;height:52px;padding:0;display:grid;box-shadow:0 12px 28px #231d1433}.play-session-menu__button:hover,.play-session-menu__button[aria-expanded=true]{background:#434434f5}.play-session-menu__popover{background:#fffdfafa;border:1px solid #dbd3c7eb;border-radius:8px;gap:2px;width:min(286px,100vw - 20px);margin-top:8px;padding:6px;display:grid;box-shadow:0 18px 42px #241c1238}.play-session-menu__popover a,.play-session-menu__popover button{color:#151d1b;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:11px;min-height:46px;padding:0 11px;font-size:.96rem;font-weight:620;text-decoration:none;display:grid}.play-session-menu__popover a:hover,.play-session-menu__popover button:hover{color:var(--teal-dark);background:#eef4f1}.play-session-menu__popover button:disabled{cursor:not-allowed;opacity:.58}.play-session-menu__popover svg{color:var(--teal-dark)}.photo-preview-modal{z-index:40;border-radius:inherit;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#111514c7;border:0;place-items:center;padding:56px 28px 28px;display:grid;position:absolute;inset:0}.photo-preview-modal img{object-fit:contain;border-radius:8px;width:min(96%,1020px);max-height:88%;box-shadow:0 24px 58px #00000061}.photo-preview-modal button,.game-settings-modal__close{color:#111c19;background:#fffdfaf5;border:1px solid #ffffff94;border-radius:999px;place-items:center;width:38px;height:38px;padding:0;display:grid}.game-settings-modal{bottom:74px;right:18px}.game-settings-modal__close{border-color:var(--line);position:absolute;top:12px;right:12px}.game-settings-colors{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.game-settings-colors button{border:1px solid var(--line);color:#1e2926;text-align:left;background:#fffdfa;border-radius:8px;gap:6px;min-height:68px;padding:8px;font-size:.72rem;font-weight:650;display:grid}.game-settings-colors button.is-selected{border-color:var(--teal);color:var(--teal-dark);background:#edf7f5}.game-settings-colors span{border:1px solid #0000001f;border-radius:6px;width:100%;height:24px}.game-settings-options{gap:10px;display:grid}.game-settings-options label{color:#20302c;gap:6px;font-size:.84rem;font-weight:650;display:grid}.game-settings-options label:has(input[type=checkbox]){grid-template-columns:18px minmax(0,1fr);align-items:center}.game-settings-options input[type=range]{width:100%}@media (max-width:720px){.board-progress-pill{top:6px}.board-toolbar{bottom:calc(72px + env(safe-area-inset-bottom));max-width:calc(100% - 20px)}.completion-replay-panel{right:10px;bottom:calc(132px + env(safe-area-inset-bottom));border-radius:14px;justify-content:center;max-width:none;left:10px}.game-settings-modal{right:10px;bottom:calc(134px + env(safe-area-inset-bottom));width:calc(100% - 20px)}.game-settings-colors{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:721px) and (max-width:1050px) and (orientation:landscape){.app-shell--play .board-quick-actions{bottom:calc(74px + env(safe-area-inset-bottom));gap:8px;left:12px}.app-shell--play .board-photo-button,.app-shell--play .board-fullscreen-button,.app-shell--play .board-tools-toggle{border-radius:14px;width:42px;height:42px;min-height:42px;padding:0;font-size:0}.app-shell--play .board-photo-button span,.app-shell--play .board-fullscreen-button span,.app-shell--play .board-tools-toggle span{display:none}.app-shell--play .board-photo-button svg,.app-shell--play .board-fullscreen-button svg,.app-shell--play .board-tools-toggle svg{width:21px;height:21px}.app-shell--play .board-toolbar{bottom:calc(122px + env(safe-area-inset-bottom))}}@media (max-width:1050px){.app-shell--play .game-shell{gap:0;margin-top:0}.app-shell--play .play-stage .game-shell{margin-top:0}.app-shell--play .board-area,.app-shell--play .private-puzzle-page .board-area{width:100vw;max-width:100vw;height:var(--board-viewport-height,calc(100dvh - 50px));min-height:0;box-shadow:none;border-left:0;border-right:0;border-radius:0;margin:0;overflow:hidden}.app-shell--play .board-progress-pill{min-height:30px;padding:0 9px;top:6px;left:50%;right:auto;transform:translate(-50%)}.app-shell--play .board-top-actions{max-width:calc(100% - 16px);top:8px;right:8px}.app-shell--play .board-quick-actions{bottom:calc(8px + env(safe-area-inset-bottom));gap:7px;max-width:calc(100% - 16px);left:8px}.app-shell--play .board-toolbar{bottom:calc(58px + env(safe-area-inset-bottom));max-width:calc(100% - 16px)}}@media (max-width:1050px) and (orientation:landscape){.app-shell--play .board-area,.app-shell--play .private-puzzle-page .board-area{height:var(--board-viewport-height,calc(100dvh - 42px))}.app-shell--play .board-photo-button,.app-shell--play .board-fullscreen-button,.app-shell--play .board-tools-toggle{width:38px;height:38px;min-height:38px}.app-shell--play .board-toolbar{bottom:calc(52px + env(safe-area-inset-bottom))}}:is(.app-shell--play:has(.play-stage.is-playing) .board-quick-actions,.app-shell--play:has(.private-puzzle-page) .board-quick-actions){top:max(10px, env(safe-area-inset-top));bottom:auto;left:calc(max(10px, env(safe-area-inset-left)) + 64px);z-index:51;gap:8px;max-width:min(440px,50vw - 104px)}:is(.app-shell--play:has(.play-stage.is-playing) .board-photo-button,.app-shell--play:has(.play-stage.is-playing) .board-fullscreen-button,.app-shell--play:has(.play-stage.is-playing) .board-tools-toggle,.app-shell--play:has(.private-puzzle-page) .board-photo-button,.app-shell--play:has(.private-puzzle-page) .board-fullscreen-button,.app-shell--play:has(.private-puzzle-page) .board-tools-toggle){min-height:42px;padding:0 14px}@media (max-width:1050px){:is(.app-shell--play:has(.play-stage.is-playing) .board-quick-actions,.app-shell--play:has(.private-puzzle-page) .board-quick-actions){gap:6px;max-width:150px}:is(.app-shell--play:has(.play-stage.is-playing) .board-photo-button,.app-shell--play:has(.play-stage.is-playing) .board-fullscreen-button,.app-shell--play:has(.play-stage.is-playing) .board-tools-toggle,.app-shell--play:has(.private-puzzle-page) .board-photo-button,.app-shell--play:has(.private-puzzle-page) .board-fullscreen-button,.app-shell--play:has(.private-puzzle-page) .board-tools-toggle){border-radius:14px;width:40px;height:40px;min-height:40px;padding:0;font-size:0}:is(.app-shell--play:has(.play-stage.is-playing) .board-photo-button span,.app-shell--play:has(.play-stage.is-playing) .board-fullscreen-button span,.app-shell--play:has(.play-stage.is-playing) .board-tools-toggle span,.app-shell--play:has(.private-puzzle-page) .board-photo-button span,.app-shell--play:has(.private-puzzle-page) .board-fullscreen-button span,.app-shell--play:has(.private-puzzle-page) .board-tools-toggle span){display:none}:is(.app-shell--play:has(.play-stage.is-playing) .board-photo-button svg,.app-shell--play:has(.play-stage.is-playing) .board-fullscreen-button svg,.app-shell--play:has(.play-stage.is-playing) .board-tools-toggle svg,.app-shell--play:has(.private-puzzle-page) .board-photo-button svg,.app-shell--play:has(.private-puzzle-page) .board-fullscreen-button svg,.app-shell--play:has(.private-puzzle-page) .board-tools-toggle svg){width:19px;height:19px}}@media (max-width:720px){:is(.app-shell--play:has(.play-stage.is-playing) .board-quick-actions,.app-shell--play:has(.private-puzzle-page) .board-quick-actions){top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));gap:5px;max-width:126px;left:auto}:is(.app-shell--play:has(.play-stage.is-playing) .board-photo-button,.app-shell--play:has(.play-stage.is-playing) .board-fullscreen-button,.app-shell--play:has(.play-stage.is-playing) .board-tools-toggle,.app-shell--play:has(.private-puzzle-page) .board-photo-button,.app-shell--play:has(.private-puzzle-page) .board-fullscreen-button,.app-shell--play:has(.private-puzzle-page) .board-tools-toggle){border-radius:12px;width:34px;height:34px;min-height:34px}:is(.app-shell--play:has(.play-stage.is-playing) .board-photo-button svg,.app-shell--play:has(.play-stage.is-playing) .board-fullscreen-button svg,.app-shell--play:has(.play-stage.is-playing) .board-tools-toggle svg,.app-shell--play:has(.private-puzzle-page) .board-photo-button svg,.app-shell--play:has(.private-puzzle-page) .board-fullscreen-button svg,.app-shell--play:has(.private-puzzle-page) .board-tools-toggle svg){width:17px;height:17px}.app-shell--play:has(.private-puzzle-page) .board-top-actions{display:none}}
