@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;border-radius:var(--r-sm);object-fit:cover;width:100%;height:auto;margin-bottom:10px;display:block}.game-card-image-placeholder{aspect-ratio:224/142;border-radius:var(--r-sm);background:linear-gradient(110deg, #eee7dcb8 8%, #fffdfae0 18%, #eee7dcb8 33%), var(--paper-soft);background-size:220% 100%;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);border-radius:var(--r-sm);background:var(--paper);gap:2px;min-height:56px;padding:9px;display:grid}.game-stats-list dt{color:var(--muted);font-size:.72rem}.game-stats-list dd{color:var(--ink);margin:0;font-size:.98rem;font-weight:700}.board-area{border:1px solid var(--line);border-radius:var(--r-md);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)}@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-pieces{z-index:6;isolation:isolate;pointer-events:none;position:absolute;inset:0}.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;overflow:visible}.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-selection-halo,.engine-piece-selection-ring{fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.engine-piece-selection-halo{stroke:var(--paper);stroke-width:9px}.engine-piece-selection-ring{stroke:#006863;stroke-width:4.5px}.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-edge-highlight{filter:drop-shadow(0 0 3px #ffc440f2)drop-shadow(0 9px 8px #30231645)}.engine-piece.is-edge-highlight .engine-piece-edge{stroke:var(--amber-soft);stroke-width:4px}.engine-piece.is-placed{cursor:default;filter:none}.engine-piece.is-placed.is-selected{filter:none}.engine-piece.is-placed .engine-piece-hit-area{cursor:default}.scatter-board.is-room-table .engine-piece.is-placed,.scatter-board.is-room-table .engine-piece.is-placed .engine-piece-hit-area{cursor:grab}.scatter-board.is-room-table .engine-piece.is-placed.is-dragging,.scatter-board.is-room-table .engine-piece.is-placed.is-dragging .engine-piece-hit-area{cursor:grabbing}.scatter-board.is-room-table .engine-piece.is-placed .engine-piece-edge{stroke:#1c181257;stroke-width:1.1px}.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;min-height:32px;color:var(--ink);box-shadow:var(--shadow-2);background:#fffdfadb;border:1px solid #fff9;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex;position:absolute;top:18px;right:18px}.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);border-radius:var(--r-sm);width:168px;box-shadow:var(--shadow-2);background:#fffdfaf7;display:none;position:absolute;bottom:46px;right:50%;overflow:hidden;transform:translate(50%)}.arrange-menu.is-open{display:block}.board-toolbar .arrange-menu button{border:0;border-bottom:1px solid var(--line);width:100%;height:auto;min-height:48px;color:var(--ink);text-align:left;background:0 0;border-radius:0;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:var(--teal-soft)}.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-frame-button,.board-fullscreen-button,.board-chat-button,.board-tools-toggle{min-height:44px;color:var(--teal-dark);box-shadow:var(--shadow-2);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:700;display:inline-flex;position:static}.board-photo-button{padding:0 18px}.board-frame-button{padding:0 16px}.board-frame-button.is-active{border-color:var(--teal);background:var(--teal);color:#fff}.board-fullscreen-button{color:#111b18;background:#fffdfaf0;padding:0 16px}.board-chat-button{color:#111b18;background:#fffdfaf0;padding:0 16px;position:relative}.board-chat-button .room-chat-unread-badge{min-width:20px;height:20px;color:var(--bg);background:#d63d18;border-radius:999px;place-items:center;padding:0 6px;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;font-style:normal;font-weight:700;line-height:1;display:grid;box-shadow:0 0 0 2px #fffdfaf0,0 6px 14px #78230847}.board-tools-toggle{color:#111b18;background:#fffdfaf0;padding:0 16px}.board-tool-note{max-width:220px;min-height:32px;color:var(--muted);pointer-events:auto;background:#fffdfaf0;border-radius:999px;align-items:center;padding:0 10px;font-size:.72rem;font-weight:600;line-height:1.2;display:inline-flex}.board-photo-button:hover,.board-fullscreen-button:hover,.board-chat-button:hover,.board-tools-toggle:hover{background:var(--teal-soft);color:var(--teal-dark)}.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:700;background:var(--teal-soft)!important;width:auto!important;color:var(--teal-dark)!important}.board-toolbar button:hover,.board-toolbar button.is-active,.board-toolbar a:hover{background:var(--teal-soft);color:var(--teal-dark)}.board-toolbar__close{color:var(--ink)!important;background:#eff4f1db!important}.board-toolbar span{color:var(--ink);font-size:.78rem}.photo-preview-modal{z-index:30;border-radius:var(--r-md);background:#121514c2;border:1px solid #ffffffa3;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{min-height:34px;color:var(--ink);background:#fffdfaf0;border:1px solid #ffffff8f;border-radius:999px;padding:0 14px;font-size:.78rem;font-weight:700;position:absolute;top:14px;right:14px}.completion-modal{--finish-pad-y:18px;--finish-pad-x:18px;z-index:120;border:1px solid var(--line);border-radius:var(--r-sm);width:min(390px,100% - 32px);max-height:calc(100svh - 32px);box-shadow:var(--shadow-3);text-align:center;background:#fffdfaf5;gap:12px;padding:18px;display:grid;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.completion-modal--guest{width:min(430px,100% - 32px)}.app-shell:has(.completion-modal) .play-session-menu{visibility:hidden}.completion-modal__close{position:absolute;top:10px;right:10px;border:1px solid var(--line)!important;width:34px!important;min-height:34px!important;color:var(--ink)!important;background:#fffdfaeb!important;border-radius:999px!important;padding:0!important}.completion-modal h2{color:#111c19;margin:0;font-size:1.28rem;font-weight:700;line-height:1.1}.completion-modal p{color:#4d5a56;margin:0;font-size:.9rem;line-height:1.48}.completion-status{justify-self:center;gap:2px;min-width:142px;padding:6px 0;display:grid}.completion-status strong{color:var(--teal-dark);font-size:.9rem;line-height:1}.completion-status small{color:var(--muted);font-size:.76rem}.completion-account-card{border:1px solid var(--teal-line);background:var(--teal-soft);text-align:left;border-radius:12px;margin:0;padding:12px 12px 10px}.completion-account-cta{text-align:left;gap:9px;display:grid}.completion-account-cta__heading{align-items:flex-start;gap:10px;display:flex}.completion-account-cta__heading>svg{color:var(--teal-dark);flex:none;margin-top:2px}.completion-account-cta__heading>span{gap:3px;display:grid}.completion-account-cta__ways{gap:10px;display:grid}.completion-modal .completion-account-cta__signin{color:var(--muted);text-align:center;margin:2px 0 0;font-size:.82rem;line-height:1.4}.completion-modal .completion-account-cta__note a,.completion-modal .completion-account-cta__signin a{min-height:0;color:var(--teal-dark);text-underline-offset:2px;background:0 0;border:0;border-radius:0;padding:0;font-weight:700;text-decoration:underline;display:inline}.completion-account-cta strong{color:#111c19;font-size:.93rem;line-height:1.2}.completion-account-cta small{color:var(--muted);font-size:.78rem;line-height:1.4}.completion-email-signup{text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:40px;padding:0 10px;font-size:.84rem;font-weight:700;line-height:1.15;text-decoration:none;display:inline-flex;border:1px solid var(--teal-dark)!important;background:var(--paper)!important;color:var(--teal-dark)!important}.completion-email-signup svg{flex:none}.completion-modal .completion-email-signup{border-radius:10px;min-height:40px}.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:#c4ddd6;height:1px}.completion-account-cta__divider b{font-weight:600}.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{contain:inline-size;justify-items:stretch;min-width:0;max-width:100%;overflow:hidden}.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-auth-slot,.completion-modal .completion-google-auth .google-native-button,.completion-modal .completion-google-auth .google-native-redirect-cover{height:40px;min-height:40px}.completion-modal .completion-google-auth .google-button,.completion-modal .completion-google-auth .google-button-placeholder{border:1px solid var(--line-strong);background:var(--paper);color:#111c19;border-radius:10px;min-height:40px;font-size:.9rem;font-weight:700}.completion-modal .completion-google-auth .google-button-placeholder span{background:#e6e2d9}.completion-modal .completion-google-auth .google-button span{background:conic-gradient(#4285f4 0 25%, #34a853 25% 50%, #fbbc05 50% 75%, #ea4335 75%);color:#0000;border-radius:50%;width:20px;height:20px}.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-modal nav{gap:8px;width:100%;display:grid}.completion-modal button,.completion-modal a{border-radius:var(--r-sm);background:var(--teal);min-height:44px;color:var(--paper);border:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.completion-modal a{border:1px solid var(--line-strong);background:var(--paper);color:var(--teal-dark)}.completion-modal,.completion-modal--guest{--finish-pad-y:18px;--finish-pad-x:24px;border:1px solid var(--teal-soft);border-radius:var(--r-xl);background:var(--paper);width:min(460px,100% - 28px);box-shadow:var(--shadow-3);text-align:left;overscroll-behavior:contain;gap:14px;padding:18px 24px 20px}.completion-modal--room{width:min(560px,100% - 28px)}.finish-head{align-items:center;gap:14px;padding-right:32px;display:flex}.finish-medallion{flex:none}.finish-heading{gap:3px;min-width:0;display:grid}.finish-heading h2{letter-spacing:-.02em;font-size:1.5rem;font-weight:600;line-height:1.15}.finish-heading p{color:var(--muted);font-size:.88rem}.finish-figures{border-top:1px solid #efebe3;border-bottom:1px solid #efebe3;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 26px;padding:10px 0 12px;display:flex}.finish-figures>span{align-items:baseline;gap:6px;display:inline-flex}.finish-figures strong{color:#111c19;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.12rem;font-weight:600}.finish-figures small{color:var(--muted);font-size:.82rem}.completion-modal .finish-figures__board{min-height:0;color:var(--teal-dark);white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:center;gap:3px;padding:0;font-size:.82rem;font-weight:600;display:inline-flex}.completion-modal .finish-figures__board:hover{text-underline-offset:2px;text-decoration:underline}.completion-modal .finish-save{color:#4f6a62;text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;min-height:0;margin:0;padding:0;font-size:.84rem;font-weight:400;line-height:1.4;display:flex}.completion-modal .finish-save>svg{color:var(--teal-dark);flex:none}.completion-modal .finish-save>span{flex:1;min-width:0}.completion-modal .finish-save strong{color:#111c19;font-weight:600}.completion-modal .finish-save b{color:var(--teal-dark);font-weight:600}.completion-modal a.finish-save:hover b{text-underline-offset:2px;text-decoration:underline}.completion-modal .finish-save button{border:1px solid var(--line-strong);background:var(--paper);min-height:36px;color:var(--teal-dark);border-radius:999px;flex:none;padding:0 12px;font-size:.78rem}.completion-modal .finish-save button:hover{background:var(--teal-soft);border-color:#87ad9b}.completion-modal nav .completion-next-puzzle{border:1px solid var(--line-strong);background:var(--paper);color:#111c19;text-align:left;border-radius:12px;justify-content:flex-start;align-items:center;gap:12px;min-height:0;padding:8px 12px 8px 8px;font-weight:400;display:flex}.completion-modal nav .completion-next-puzzle:hover{background:var(--teal-soft);border-color:#87ad9b}.completion-next-puzzle__thumb{background:var(--bg);border-radius:8px;flex:none;width:64px;height:48px;overflow:hidden}.completion-next-puzzle__thumb img{object-fit:cover;width:100%;height:100%;display:block}.completion-next-puzzle>span:not(.completion-next-puzzle__thumb){flex:1;gap:2px;min-width:0;display:grid}.completion-next-puzzle small{color:var(--teal-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:700;line-height:1.2}.completion-next-puzzle strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;line-height:1.3;overflow:hidden}.completion-next-puzzle>svg{color:var(--teal-dark);flex:none}.completion-modal nav .completion-next-puzzle--room{min-height:48px;color:var(--teal-dark);justify-content:center;gap:8px;font-weight:700}.completion-modal .finish-room-profile{background:var(--teal-soft);border:0;padding:10px;font-size:.75rem}.completion-modal a:focus-visible,.completion-modal button:focus-visible,.completion-modal summary:focus-visible{outline-offset:3px;outline:3px solid #377e69}.finish-rows{gap:10px;padding-top:2px;display:grid}.completion-more{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.completion-modal .completion-more button,.completion-modal .completion-more a{border:1px solid var(--line-strong);background:var(--paper);color:#111c19;white-space:nowrap;border-radius:999px;flex:0 auto;min-height:40px;padding:0 14px;font-size:.8rem;font-weight:600}.completion-modal .completion-more button:hover,.completion-modal .completion-more a:hover{background:var(--teal-soft);border-color:#87ad9b}.completion-share{gap:6px;display:grid}.completion-share p{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0;display:flex}.completion-share p>span{color:var(--muted);margin-right:2px;font-size:.76rem;font-weight:600}.completion-modal .completion-share button,.completion-modal .completion-share a{color:#46594f;background:0 0;border:1px solid #e0e4dc;border-radius:999px;width:38px;min-width:38px;min-height:38px;padding:0}.completion-modal .completion-share button span,.completion-modal .completion-share a span{display:none}.completion-modal .completion-share button:hover,.completion-modal .completion-share a:hover{background:var(--bg);border-color:#b9c9be}.completion-share p[role=status]{color:#4f6a62;font-size:.78rem}.completion-share input{border-radius:var(--r-sm);border:1px solid #b9c9be;width:100%;margin-top:6px;padding:10px}@media (max-width:480px){.completion-modal{--finish-pad-y:14px;--finish-pad-x:16px;gap:12px;max-height:calc(100svh - 24px);padding:14px 16px 16px}.finish-head{gap:12px}.finish-medallion{width:52px;height:52px}.finish-heading h2{font-size:1.35rem}.finish-heading p{font-size:.82rem}.finish-figures{justify-content:space-between;gap:6px 10px;padding:9px 0 10px}.finish-figures strong{font-size:1rem}.finish-figures small,.completion-modal .finish-figures__board{font-size:.78rem}.completion-next-puzzle__thumb{width:56px;height:42px}.completion-next-puzzle strong{font-size:.88rem}.completion-modal .completion-more button,.completion-modal .completion-more a{padding:0 12px;font-size:.78rem}}.completion-modal nav .completion-daily-puzzle{border-color:var(--teal-line);background:var(--teal-soft)}.completion-modal nav button{border:1px solid var(--line-strong);background:var(--paper);color:var(--teal-dark)}.completion-replay-panel{z-index:25;border:1px solid var(--line);max-width:calc(100% - 36px);box-shadow:var(--shadow-2);background:#fffdfaf5;border-radius:999px;align-items:center;gap:9px;padding:8px;display:flex;position:absolute;bottom:78px;right:18px}.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);background:var(--paper);min-height:34px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.76rem;font-weight:700;display:inline-flex}.completion-replay-panel .primary-button{background:var(--teal);color:var(--paper);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);border-radius:var(--r-md);box-shadow:var(--soft-shadow);background:#fffdfae6;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);border-radius:var(--r-sm);background:var(--paper);gap:4px;min-height:58px;padding:10px;display:grid}.play-session-panels dt{color:var(--muted);font-size:.74rem}.play-session-panels dd{color:var(--ink);margin:0;font-size:.95rem;font-weight:700}.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);border-radius:var(--r-md);box-shadow:var(--soft-shadow);background:#fffdfad6;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);border-radius:var(--r-sm);background:var(--paper);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:var(--paper);border-color:#0b7b773d}.play-suggestion-grid img{border-radius:var(--r-sm);object-fit:cover;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);border-radius:var(--r-sm);background:var(--paper);min-height:58px;color:var(--ink);cursor:pointer;font:inherit;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);background:var(--teal-soft);color:var(--teal-dark)}.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-frame-button,.board-fullscreen-button,.board-tools-toggle{border-radius:var(--r-md);width:42px;height:42px;min-height:42px;padding:0;font-size:0}.board-photo-button span,.board-frame-button span,.board-fullscreen-button span,.board-tools-toggle span{display:none}.board-photo-button svg,.board-frame-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);border-radius:var(--r-md);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);position:relative;overflow:hidden}.play-table-preview__piece{border-radius:var(--r-sm);background:var(--paper);box-shadow:var(--shadow-2);border:1px solid #2c221740;position:absolute;overflow:hidden}.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{border-radius:var(--r-sm);background:var(--teal-dark);width:52px;height:52px;color:var(--paper);box-shadow:var(--shadow-2);border:1px solid #ffffff2e;place-items:center;padding:0;display:grid}.play-session-menu__button:hover,.play-session-menu__button[aria-expanded=true]{background:#06463f}.play-session-menu__popover{border-radius:var(--r-sm);width:min(286px,100vw - 20px);box-shadow:var(--shadow-3);background:#fffdfafa;border:1px solid #dbd3c7eb;gap:2px;margin-top:8px;padding:6px;display:grid}.play-session-menu__popover a,.play-session-menu__popover button{border-radius:var(--r-sm);min-height:46px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:11px;padding:0 11px;font-size:.96rem;font-weight:600;text-decoration:none;display:grid}.play-session-menu__popover a:hover,.play-session-menu__popover button:hover{background:var(--teal-soft);color:var(--teal-dark)}.play-session-menu__popover button:disabled{cursor:not-allowed;opacity:.58}.play-session-menu__popover svg{color:var(--teal-dark)}.room-menu-status{color:var(--teal-dark);padding:7px 11px 4px;font-size:.78rem;font-weight:700;line-height:1.35;display:block}.room-menu-invite-link{grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:7px;padding:6px;display:grid}.room-menu-invite-link input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);min-width:0;height:38px;color:var(--ink);font:inherit;text-overflow:ellipsis;white-space:nowrap;padding:0 10px;font-size:.78rem;overflow:hidden}.play-session-menu__popover .room-menu-invite-link button{border:1px solid var(--teal);background:var(--teal);min-height:38px;color:var(--paper);text-align:center;grid-template-columns:none;justify-content:center;align-items:center;padding:0 10px;font-size:.82rem;font-weight:700;display:inline-flex}.play-session-menu__popover .room-menu-invite-link button:hover{background:var(--teal-dark);color:var(--paper)}.room-invite-signup{z-index:58;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11151475;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.room-invite-signup>div{border-radius:var(--r-md);width:min(430px,100vw - 32px);box-shadow:var(--shadow-3);background:#fffdfafa;border:1px solid #d6e6e2e0;gap:13px;padding:22px;display:grid;position:relative}.room-invite-signup>div>button:first-child{border:1px solid var(--line);background:var(--paper);width:36px;height:36px;color:var(--ink);border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:12px}.room-invite-signup>div>span{border-radius:var(--r-md);background:var(--teal-soft);width:46px;height:46px;color:var(--teal-dark);place-items:center;display:grid}.room-invite-signup h2,.room-invite-signup p{margin:0}.room-invite-signup h2{color:#111c19;padding-right:42px;font-size:1.28rem;line-height:1.12}.room-invite-signup p{color:var(--muted);font-size:.92rem;line-height:1.48}.room-invite-signup div div{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.room-invite-signup a,.room-invite-signup__guest{border:1px solid var(--teal);border-radius:var(--r-sm);background:var(--teal);min-height:42px;color:var(--paper);font:inherit;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.room-invite-signup a:last-child{border-color:var(--line);background:var(--paper);color:var(--teal-dark)}.room-invite-signup__guest{color:var(--muted);box-shadow:none;background:0 0;border-color:#0000}.room-invite-signup__guest:hover{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{border-radius:var(--r-sm);object-fit:contain;width:min(96%,1020px);max-height:88%;box-shadow:var(--shadow-3)}.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(3,minmax(0,1fr));gap:8px;display:grid}.game-settings-colors button{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);min-height:68px;color:var(--ink);text-align:left;gap:6px;padding:8px;font-size:.72rem;font-weight:600;display:grid}.game-settings-colors button.is-selected{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.game-settings-colors span{border-radius:var(--r-sm);border:1px solid #0000001f;width:100%;height:24px}.game-settings-options{gap:10px;display:grid}.game-settings-options label{color:#20302c;gap:6px;font-size:.84rem;font-weight:600;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%}.game-settings-modal__status{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:#20302c;justify-content:center;align-items:center;gap:7px;min-height:40px;font-size:.84rem;font-weight:600;display:inline-flex}@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:var(--r-md);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:var(--r-md);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:var(--r-md);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:var(--r-md);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}}.app-shell--play .play-stage .board-quick-actions:has(.board-contributors-button){max-width:calc(100% - 310px)}.app-shell--play:has(.scatter-board[data-workspace=enhanced]):has(.play-stage.is-playing)>.connection-notice{z-index:60;width:min(380px,100vw - 16px);box-shadow:var(--shadow-1);margin:0;padding:8px 10px;font-size:12px;line-height:1.4;position:fixed;top:108px;left:8px}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation{border-radius:var(--r-sm);max-width:100%;box-shadow:var(--shadow-1);background:#fffffff5;border:1px solid #d0d9d3;grid-area:navigation;justify-self:start;gap:4px;padding:2px;display:flex;position:static;transform:none}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation button{color:#17413a;background:0 0;border:0;border-radius:5px;flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;display:grid}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation button:hover,.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation button[aria-pressed=true],.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation button[aria-expanded=true]{background:var(--teal-soft);color:var(--teal-dark)}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation button:disabled{opacity:.35;cursor:default}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation button:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-toolbar{top:var(--board-controls-bottom,66px);border-radius:var(--r-sm);z-index:55;flex-wrap:wrap;max-width:calc(100% - 90px);bottom:auto;left:74px;overflow:visible;transform:none}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .arrange-menu{inset:calc(100% + 8px) auto auto 0;transform:none}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-toolbar>button,.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .tool-with-menu>button{width:44px;min-width:44px;height:44px;min-height:44px}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions{grid-area:shortcuts;gap:6px;min-width:0;max-width:none;position:static}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions>button{border-radius:var(--r-sm);height:44px;min-height:44px}.app-shell--play .board-area .scatter-board[data-workspace=enhanced]{--board-safe-left:env(safe-area-inset-left,0px);--board-safe-right:env(safe-area-inset-right,0px);--board-safe-bottom:env(safe-area-inset-bottom,0px)}.app-shell--play .board-control-dock{z-index:53;top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));pointer-events:none;grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"shortcuts navigation status";align-items:center;gap:4px 12px;min-height:52px;padding-left:66px;display:grid;position:absolute}.app-shell--play .board-control-dock>*{pointer-events:auto}.app-shell--play:has(.scatter-board[data-workspace=enhanced]) .play-session-menu{z-index:58}.app-shell--play .scatter-board[data-workspace=enhanced] .game-settings-modal{z-index:65}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-control-status{pointer-events:none;flex-direction:column;grid-area:status;justify-self:end;align-items:flex-end;gap:2px;max-width:none;display:flex;position:static}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-control-status .board-progress-pill,.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-control-status .room-sync-pill{white-space:nowrap;pointer-events:auto;min-height:24px;font-size:12px;position:static;transform:none}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-control-status .board-progress-pill{min-width:44px;min-height:44px;padding:0 12px}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-top-actions{grid-column:1/-1;max-width:none;position:static}@media (max-width:1360px){.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions{gap:4px}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions>button{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions>button>span{display:none}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions>button svg{width:20px;height:20px}}@media (max-width:900px){.app-shell--play .board-control-dock{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"shortcuts status""navigation navigation";gap:4px;padding-left:0}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions{min-height:52px;padding-left:58px}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation{justify-self:start}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-toolbar{max-width:calc(100% - 16px);left:8px}}@media (max-width:540px){.app-shell--play .is-room-table .board-control-dock{grid-template-areas:"shortcuts shortcuts""navigation navigation""status status"}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .room-board-status{flex-direction:row;justify-content:space-between;width:100%}}@media (max-width:360px){.app-shell--play .board-control-dock{left:max(4px, env(safe-area-inset-left));right:max(4px, env(safe-area-inset-right));grid-template-areas:"shortcuts shortcuts""navigation navigation""status status"}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation{flex-wrap:nowrap;gap:0;padding:0}}.room-board-status{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));z-index:10;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;max-width:220px;display:flex;position:absolute}.app-shell--play .room-board-status .board-progress-pill,.app-shell--play .room-board-status .room-sync-pill{white-space:nowrap;position:static;transform:none}.board-contributors-button[aria-expanded=true]{background:var(--teal-soft);color:var(--teal-dark)}.room-contributors-drawer{z-index:55;top:var(--board-controls-bottom,66px);width:min(370px,100% - 90px);max-height:min(460px, calc(100% - var(--board-controls-bottom,66px) - 8px));overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-2);touch-action:pan-y;padding:12px 16px;position:absolute;left:74px;overflow:auto}.room-contributors-drawer>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.room-contributors-drawer h2{margin:0;font-size:18px}.room-contributors-drawer header button{border-radius:var(--r-sm);width:44px;height:44px;color:inherit;background:0 0;border:0;place-items:center;display:grid}.room-contributors-drawer header button:hover{background:var(--teal-soft)}.room-contributors__summary{color:var(--muted);justify-content:space-between;gap:10px;padding:8px 0 12px;font-size:12px;display:flex}.room-contributors__list{margin:0;padding:0;list-style:none}.room-contributors__list li{border-top:1px solid var(--line);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:66px;padding:10px 0;display:grid}.room-contributors__avatar{background:var(--teal-soft);width:32px;height:32px;color:var(--teal-dark);border-radius:50%;place-items:center;font-weight:700;display:grid}.room-contributors__player{overflow-wrap:anywhere;min-width:0}.room-contributors__player a,.room-contributors__player strong{color:var(--ink);font-size:14px;font-weight:600}.room-contributors__player a{text-underline-offset:3px;text-decoration:underline}.room-contributors__list small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.room-contributors__count{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.room-contributors__list .is-self .room-contributors__avatar{background:var(--teal-soft)}@media (max-width:1200px){.room-board-status{top:calc(max(8px, env(safe-area-inset-top)) + 54px);flex-flow:wrap;justify-content:space-between;align-items:center;max-width:none;left:8px;right:8px}.app-shell--play .play-stage .board-quick-actions:has(.board-contributors-button){gap:4px;max-width:calc(100% - 76px)}.app-shell--play .play-stage .board-quick-actions:has(.board-contributors-button)>button{border-radius:var(--r-sm);flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;font-size:0}.app-shell--play .play-stage .board-quick-actions:has(.board-contributors-button)>button>span{display:none}.room-contributors-drawer{width:calc(100% - 16px);max-width:370px;left:8px}}.board-save-recovery{z-index:90;border-radius:var(--r-md);background:var(--bg);color:#3e321e;border:1px solid #b98a3a;max-width:min(420px,100% - 24px);padding:12px;font-size:14px;position:absolute;top:58px;left:12px;box-shadow:0 4px 18px #0002}.board-save-recovery p{margin:0 0 8px}.board-save-recovery button,.board-save-recovery a{border-radius:var(--r-sm);background:#fff;border:1px solid;margin:3px 6px 3px 0;padding:8px 10px;display:inline-block}.private-device-notice{border-radius:var(--r-md);background:var(--bg);color:#3e321e;max-width:min(340px,85vw);padding:8px 12px;font-size:13px;line-height:1.4;position:relative}.private-device-notice summary{cursor:pointer}.private-device-notice p{margin:8px 0 0}.app-shell--play .board-edge-tip{z-index:52;top:calc(var(--board-controls-bottom,66px) + 8px);border-radius:var(--r-md);width:min(360px,100% - 24px);box-shadow:var(--shadow-2);color:#20302c;pointer-events:none;background:#fffdfaf7;border:1px solid #d0d9d3;gap:8px;padding:10px 12px;font-size:.86rem;line-height:1.4;display:grid;position:absolute;left:50%;transform:translate(-50%)}.app-shell--play .board-edge-tip button{pointer-events:auto}.app-shell--play .board-edge-tip p{margin:0}.app-shell--play .board-edge-tip div{flex-wrap:wrap;gap:8px;display:flex}.app-shell--play .board-edge-tip button{border-radius:var(--r-sm);background:var(--paper);color:#17413a;min-height:40px;font:inherit;border:1px solid #d0d9d3;padding:0 12px;font-weight:600}.app-shell--play .board-edge-tip button:first-child{background:var(--teal);color:var(--paper);border-color:#0000}.app-shell--play .board-edge-filter{white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;width:auto;max-width:calc(100% - 24px);padding:6px 6px 6px 14px;display:flex}.app-shell--play .board-edge-filter button{min-height:36px}.app-shell--play .board-hint-target{z-index:30;box-shadow:0 0 0 3px var(--paper), 0 0 0 6px var(--teal), 0 0 24px 6px #007a7073;pointer-events:none;border-radius:4px;animation:.8s ease-in-out 3 board-hint-pulse;position:absolute}.scatter-board.no-animations .board-hint-target{animation:none}@keyframes board-hint-pulse{0%,to{opacity:1}50%{opacity:.35}}.app-shell--play .board-loading{z-index:40;pointer-events:none;color:var(--bg);text-shadow:0 1px 2px #00000059;place-content:center;justify-items:center;gap:12px;font-size:.95rem;font-weight:600;display:grid;position:absolute;inset:0}.app-shell--play .board-loading p{align-items:center;gap:10px;margin:0;display:flex}.app-shell--play .board-loading button{pointer-events:auto;border-radius:var(--r-md);background:var(--teal);min-height:44px;color:var(--paper);font:inherit;text-shadow:none;border:0;padding:0 18px}.board-loading__spinner{border:2px solid #ffffff59;border-top-color:var(--paper);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite board-loading-spin}@keyframes board-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.board-loading__spinner{animation-duration:2.4s}}@media (max-width:900px){.app-shell--play .board-control-dock,.app-shell--play .is-room-table .board-control-dock{grid-template-areas:"shortcuts status"}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation{z-index:54;top:auto;left:50%;bottom:max(10px, env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:var(--r-lg);width:max-content;max-width:calc(100vw - 16px);box-shadow:var(--shadow-2);background:#fffffff7;flex-wrap:nowrap;justify-self:auto;gap:2px;padding:4px;position:fixed;transform:translate(-50%)}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation button{border-radius:var(--r-md)}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .tool-with-menu{position:static}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .arrange-menu{left:8px}.app-shell--play .scatter-board[data-workspace=enhanced]{--board-bottom-bar:72px}}@media (max-width:540px){.app-shell--play .is-room-table .board-control-dock{grid-template-areas:"shortcuts shortcuts""status status"}}@media (max-width:360px){.app-shell--play .board-control-dock{grid-template-areas:"shortcuts shortcuts""status status"}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation{justify-content:space-between;gap:0;width:auto;max-width:none;padding:1px;left:2px;right:2px;transform:none}}.board-table-color{position:relative}.board-table-color__button{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);width:44px;height:44px;box-shadow:var(--shadow-1);cursor:pointer;place-items:center;padding:0;display:grid}.board-table-color__button span{border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 1px #0000002e}.board-table-color__menu{z-index:60;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);box-shadow:var(--shadow-2);grid-template-columns:repeat(3,36px);gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);left:0}.board-table-color__menu button{cursor:pointer;border:0;border-radius:50%;width:36px;height:36px;padding:0;box-shadow:inset 0 0 0 1px #00000029}.board-table-color__menu button[aria-checked=true]{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--teal)}.board-zen-button{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);width:44px;height:44px;box-shadow:var(--shadow-1);color:var(--ink-2);cursor:pointer;place-items:center;padding:0;display:grid}.scatter-board.is-zen .board-control-dock,.scatter-board.is-zen .board-navigation,.scatter-board.is-zen .board-toolbar,.scatter-board.is-zen .board-edge-tip,.scatter-board.is-zen .room-chat-ticker{opacity:0;visibility:hidden!important;pointer-events:none!important}.app-shell--play:has(.scatter-board.is-zen) .play-session-menu{opacity:0;visibility:hidden!important;pointer-events:none!important}.board-zen-exit{z-index:56;top:max(8px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:36px;color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;box-shadow:var(--shadow-1);background:#ffffffd1;border:1px solid #fff6;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.room-players-peek__toggle{pointer-events:auto;min-height:24px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.room-players-peek__toggle[aria-expanded=true]{text-underline-offset:3px;text-decoration:underline}.room-players-peek{z-index:2;pointer-events:auto;border-radius:var(--r-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:168px;max-width:220px;box-shadow:var(--shadow-1);background:#ffffffeb;border:1px solid #ffffff80;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.room-players-peek ol{gap:2px;margin:0;padding:8px 10px;list-style:none;display:grid}.room-players-peek li{font-size:var(--fs-xs);color:var(--ink-2);justify-content:space-between;align-items:center;gap:10px;display:flex}.room-players-peek li span{text-overflow:ellipsis;white-space:nowrap;padding-left:12px;position:relative;overflow:hidden}.room-players-peek li span:before{background:var(--line-strong);content:"";border-radius:50%;width:6px;height:6px;margin-top:-3px;position:absolute;top:50%;left:0}.room-players-peek li span.is-online:before{background:#2f9e6a}.room-players-peek li.is-self span{color:var(--ink);font-weight:600}.room-players-peek li b{color:var(--teal-dark);font-variant-numeric:tabular-nums;font-weight:600}.room-players-peek__more{color:var(--teal-dark);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;padding:2px 0 0 12px;font-weight:600}.room-chat-ticker{z-index:33;left:max(12px, env(safe-area-inset-left));bottom:calc(max(12px, env(safe-area-inset-bottom)) + var(--board-bottom-bar,0px));text-align:left;cursor:pointer;background:0 0;border:0;justify-items:start;gap:4px;max-width:min(360px,100% - 24px);padding:0;display:grid;position:absolute}.room-chat-ticker span{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--fs-sm);animation:room-chat-ticker-fade 8s var(--ease) forwards;text-overflow:ellipsis;white-space:nowrap;background:#141c199e;border-radius:999px;max-width:100%;padding:6px 12px;line-height:1.35;overflow:hidden}.room-chat-ticker b{color:#f6c873;font-weight:600}@keyframes room-chat-ticker-fade{0%{opacity:0;transform:translateY(6px)}6%{opacity:1;transform:none}80%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.room-chat-ticker span{animation:none}}.room-chat-drawer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-2);background:#ffffffe6;border-color:#ffffff8c}@media (max-width:900px){.room-players-peek{min-width:150px}}@media (max-width:540px){.app-shell--play .scatter-board .board-contributors-button,.app-shell--play .scatter-board .board-table-color,.app-shell--play .scatter-board .board-zen-button{display:none}}.board-navigation__label,.board-toolbar .board-toolbar__phone{display:none}@media (max-width:900px){.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation button{grid-template-rows:auto auto;align-content:center;gap:1px;width:50px;height:54px}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation .board-navigation__label{letter-spacing:.01em;font-size:10px;font-weight:600;line-height:1;display:block}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation .board-navigation__wide{display:none}.board-toolbar .board-toolbar__phone{display:inline-flex}.board-toolbar .board-toolbar__wide{display:none}.app-shell--play .scatter-board[data-workspace=enhanced]{--board-bottom-bar:82px}}@media (max-width:430px){.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation button{width:44px}}@media (min-width:901px){.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .room-board-status{flex-flow:row;justify-content:flex-end;align-items:center;gap:6px}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .room-board-status .board-progress-pill>:nth-child(-n+2),.app-shell--play .board-area .scatter-board[data-workspace=enhanced].is-room-table .board-navigation button[aria-label="Show what is left"]{display:none}}@media (min-width:901px) and (max-width:1040px){.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation button[aria-label="Show what is left"],.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions>button>span{display:none}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions>button{justify-content:center;width:44px;min-width:44px;padding:0}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions>.board-table-color,.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-quick-actions>.board-zen-button{display:none}}@media (max-width:360px){.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation{border-radius:var(--r-md);gap:0;max-width:100vw;padding:0}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation .board-navigation__narrow-hide{display:none}.app-shell--play .board-area .scatter-board[data-workspace=enhanced] .board-navigation .board-navigation__label{font-size:9px}}.board-shortcuts{z-index:55;top:var(--board-controls-bottom,66px);width:min(340px,100% - 16px);max-height:calc(100% - var(--board-controls-bottom,66px) - var(--board-bottom-bar,0px) - 8px);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-2);border:1px solid #cad4cf;position:absolute;right:8px;overflow:auto}.board-shortcuts header{border-bottom:1px solid var(--teal-soft);justify-content:space-between;align-items:center;min-height:44px;padding:0 6px 0 14px;display:flex}.board-shortcuts header strong{font-size:15px}.board-shortcuts header button{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.board-shortcuts header button:hover{background:var(--teal-soft)}.board-shortcuts dl{margin:0;padding:8px 14px 12px}.board-shortcuts dl>div{border-bottom:1px solid #0000000d;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px;padding:5px 0;font-size:13px;display:grid}.board-shortcuts dl>div:last-child{border-bottom:0}.board-shortcuts dt,.board-shortcuts dd{margin:0}.board-shortcuts kbd{border:1px solid var(--line-strong);background:var(--paper-soft,#f6f1e8);font:600 12px/1.4 var(--font-sans);white-space:nowrap;border-bottom-width:2px;border-radius:5px;padding:2px 7px;display:inline-block}.board-pause-overlay{z-index:60;background:var(--board-bg,#4f6b5f);cursor:pointer;place-items:center;display:grid;position:fixed;inset:0}.board-pause-overlay__card{background:var(--paper,#fbf8f2);color:var(--ink,#1c2b27);text-align:center;cursor:default;border-radius:18px;justify-items:center;gap:10px;padding:28px 32px;display:grid;box-shadow:0 18px 50px #00000040}.board-pause-overlay__card strong{font-size:1.4rem}.board-pause-overlay__card p{color:var(--muted,#5c6f6a);max-width:28ch;margin:0}.board-pause-overlay__card button{background:var(--brand,#116c62);color:#fff;cursor:pointer;border:0;border-radius:999px;min-height:44px;padding:0 22px;font-weight:600}.scatter-board.is-loose-light .engine-piece.is-placed,.scatter-board.is-loose-light .engine-group-underlay.is-placed{opacity:.34;transition:opacity .18s ease-out}.scatter-board.is-loose-light .engine-piece.is-placed.is-selected,.scatter-board.is-loose-light .engine-piece.is-placed.is-dragging{opacity:.6}.scatter-board.is-loose-light .assembled-puzzle.is-preview{opacity:.4}.board-progress-pill{cursor:pointer;min-width:44px;min-height:44px;font:inherit;letter-spacing:.01em;font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600;transition:background .16s ease-out,border-color .16s ease-out}.board-progress-pill:hover{border-color:var(--teal-line,#bfe0d9);background:#fffffff5}.board-progress-pill:focus-visible{outline:2px solid var(--teal-dark);outline-offset:2px}.board-progress-pill:disabled{cursor:default}.board-progress-pill.is-loose-light{border-color:var(--teal-dark);background:var(--teal-soft,#e3f3ef);color:var(--teal-dark)}.board-progress-pill.is-loose-light svg{color:var(--teal-dark)}.completion-modal .finish-streak-nudge{margin:calc(-1 * var(--finish-pad-y,18px)) calc(-1 * var(--finish-pad-x,18px)) 0;padding:10px calc(var(--finish-pad-x,18px) + 30px) 10px var(--finish-pad-x,18px);border-bottom:1px solid var(--line);border-radius:var(--r-sm) var(--r-sm) 0 0;color:#4f6a62;background:#f7fbf9;justify-content:center;align-items:center;gap:6px;font-size:.8rem;display:flex}.finish-streak-nudge svg{color:#e0501f}.finish-daily{border:1px solid var(--teal-line,#bfe0d9);border-radius:var(--r-md);background:var(--teal-soft,#e3f3ef);text-align:left;gap:10px;padding:12px 14px;display:grid}.finish-daily__head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.finish-daily__head strong{color:#1c4437;font-size:.86rem}.finish-daily__head span{letter-spacing:.08em;text-transform:uppercase;color:#4f6a62;font-size:.7rem;font-weight:700}.finish-pace{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:5px;height:46px;padding:0 2px;display:grid}.finish-pace span{background:linear-gradient(#35b19f,#157a6f);border-radius:4px 4px 2px 2px;min-height:5px;display:block}.finish-daily__line{border-radius:var(--r-sm);color:#1c4437;overflow-wrap:anywhere;background:#fff;border:1px solid #cfe3dd;align-items:center;gap:6px;margin:0;padding:8px 10px;font-size:.76rem;line-height:1.4;display:flex}.finish-daily__line svg{color:#e0501f;flex:none}.finish-daily__line output{font-variant-numeric:tabular-nums;display:block}.finish-daily__actions{flex-wrap:wrap;gap:6px;display:flex}.completion-modal .finish-daily__actions button,.completion-modal .finish-daily__actions a{border-radius:var(--r-md);min-height:40px;color:var(--teal-dark);font:inherit;cursor:pointer;background:#fff;border:1px solid #cfe3dd;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.completion-modal .finish-daily__actions button:first-child{border-color:var(--teal-dark);background:var(--teal-dark);color:#fff}.finish-daily__status{color:#4f6a62;margin:0;font-size:.76rem}.finish-share-picture__status{color:#4f6a62;flex-basis:100%;font-size:.76rem}@media (min-width:601px){.board-toolbar button.board-tools-frame{display:none}}@media (max-width:600px){.board-quick-actions .board-frame-button{display:none}}
