.native-layout{height:100dvh;overflow:clip}.native-layout>.lettered-app:not(.playing){flex-direction:column;height:100%;min-height:0;display:flex}.native-layout .scene-region{overscroll-behavior:none;min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);flex:1;align-content:start;display:block;overflow-y:auto}.native-layout .home-header{border-bottom:0;flex:none}.native-layout .home-hero{min-height:0}.native-layout .home-page{padding-bottom:0}.native-layout .native-navigation-title{text-align:center;margin:0;font-size:18px;font-weight:700}.native-layout .home-navigation-start{min-width:0}.native-layout .scene-content{min-height:0}.native-layout nav[aria-label=Breadcrumb]{display:none}.native-layout .scene-region[data-scene=home]{flex-direction:column;display:flex}.native-layout .scene-region[data-scene=home]>.scene-content{flex:none;width:100%;margin-block:auto}.native-layout .home-navigation{grid-template-columns:var(--control-height) minmax(0, 1fr) var(--control-height);gap:8px;display:grid}.native-layout .home-navigation-start{grid-column:1}.native-layout .native-navigation-title{white-space:nowrap;text-overflow:ellipsis;grid-column:2;width:100%;min-width:0;max-width:none;overflow:hidden}.native-layout .home-navigation>.ui-button{grid-column:3}.home-navigation .mobile-navigation-back{display:none}.home-navigation .native-navigation-back,.home-navigation .mobile-navigation-back{animation:navigation-back-enter var(--motion-fast) var(--motion-ease) both}@keyframes navigation-back-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.home-navigation .native-navigation-back,.home-navigation .mobile-navigation-back{animation:none}}.native-layout .scene-region:not([data-scene=home]):not([data-scene=game]) h1,.native-layout .scene-region[data-scene=information] .home-information:first-child>h2{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.native-layout .login-page{padding-top:32px}@media (max-width:639px){.web-layout .mobile-navigation-back{display:inline-flex}.web-layout .breadcrumbs{display:none}}.native-layout .groups-heading{justify-content:flex-end}.native-layout :is(.home-navigation,.game-topbar-inner){max-width:1024px;height:64px;padding:8px max(20px, env(safe-area-inset-right,0px)) 8px max(20px, env(safe-area-inset-left,0px))}.native-layout :is(.native-navigation-back,.game-topbar .navigation-back){width:var(--control-height);height:var(--control-height);padding:0}@media (max-width:639px){.web-layout :is(.home-navigation,.game-topbar-inner){height:64px;padding:8px max(20px, env(safe-area-inset-right,0px)) 8px max(20px, env(safe-area-inset-left,0px))}.web-layout :is(.mobile-navigation-back,.game-topbar .navigation-back){width:var(--control-height);height:var(--control-height);padding:0}}
.offline-notice{inset-inline:max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));z-index:50;pointer-events:none;justify-content:center;display:flex;position:fixed}.offline-notice p{border:var(--border-width) solid var(--border);border-radius:var(--radius);max-width:28rem;box-shadow:var(--shadow-card);background:var(--popover);color:var(--popover-foreground);text-align:center;margin:0;padding:8px 12px;font-size:12px;line-height:1.5}
.post-game-sharing{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.post-game-sharing>.ui-button{width:100%}.replay-preview-toggle{justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.replay-preview{border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:384px}.replay-loading{aspect-ratio:1;background:var(--muted);border-radius:var(--radius);justify-content:center;align-items:center;gap:8px;width:100%;max-width:384px;display:flex}.replay-share-actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}.replay-share-actions .ui-button{flex:1}.replay-unavailable{color:var(--muted-foreground);font-size:12px}.post-game-sharing textarea{width:100%;min-height:160px;color:var(--foreground);background:var(--background);border:1px solid var(--border);padding:12px}.replay-preview-toggle svg{transition:transform .15s}.replay-preview-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}@media (max-width:639px){.replay-share-actions{flex-direction:column}}@media (prefers-reduced-motion:reduce){.replay-preview-toggle svg{transition:none}}
.post-game{background:var(--background);color:var(--foreground);width:100%;max-width:576px;height:100dvh;max-height:90dvh;box-shadow:none;border:0;border-radius:0;margin:auto;padding:0;overflow:hidden}.post-game[open]{flex-direction:column;display:flex}.post-game::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000c}@keyframes post-game-enter{0%{opacity:0}to{opacity:1}}.post-game[open]{animation:post-game-enter var(--post-game-open-duration) ease-out both}@keyframes post-game-backdrop-enter{0%{background:#0009}to{background:#000c}}.post-game[open]::backdrop{animation:ease-out both post-game-backdrop-enter;animation-duration:inherit}@keyframes post-game-exit{to{opacity:0}}.post-game[open][data-closing],.post-game[open][data-closing]::backdrop{animation:post-game-exit var(--post-game-close-duration) ease-out both}.post-game[open][data-closing]::backdrop{animation-duration:inherit}@media (prefers-reduced-motion:reduce){.post-game[open],.post-game[open]::backdrop{animation:none}}.post-game .post-game-close{top:max(8px, env(safe-area-inset-top));width:32px;height:32px;position:absolute;right:8px}.post-game-heading{text-align:center;flex-shrink:0;padding:32px 24px 8px}.post-game-heading>p{letter-spacing:.05em;margin:12px 0 0;font-size:18px;font-weight:700}.post-game-logo{justify-content:center;gap:4px;display:flex}.post-game-logo>span{background:var(--brand);width:48px;height:48px;color:var(--brand-foreground);border-radius:2px;place-items:center;font-size:24px;font-weight:900;display:grid}.post-game-content{overscroll-behavior:contain;min-height:0;padding:24px 24px max(24px, env(safe-area-inset-bottom));text-align:center;overflow-y:auto}.post-game-date{font-size:20px;font-weight:700}.post-game-phrase{margin-block:16px;padding:12px}.post-game-phrase>p,.post-game-next>p,.post-game-local-stats dt{letter-spacing:.05em;color:var(--muted-foreground);font-size:12px;font-weight:700}.post-game-phrase>div{letter-spacing:-.025em;font-size:24px;font-weight:900}.post-game-phrase>div:first-letter{text-transform:uppercase}.post-game-local-stats{grid-template-columns:repeat(2,1fr);margin-block:24px;display:grid}.post-game-local-stats dd{margin:0;font-size:24px;font-weight:900}.post-game-save-status{color:var(--muted-foreground);font-size:14px}.post-game-next{margin-block:24px}.post-game .result-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}@media (max-width:639px){.post-game{max-width:100%;max-height:100dvh}.post-game-heading{padding-top:calc(32px + env(safe-area-inset-top))}.post-game-logo>span{width:36px;height:36px;font-size:20px}}.collections-invitation{margin-block:24px}.collections-invitation>header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.collections-invitation :where(header>button){flex-shrink:0}.collections-invitation>header>p{color:var(--muted-foreground);font-size:14px}.collections-invitation>div{background-color:#3b82f6;background-repeat:repeat;flex-direction:column;gap:8px;padding:12px;animation:60s linear infinite invitation-pattern-scroll;display:flex}.collections-invitation :where(div>button){color:#fff;background:#000;border:0;flex:1}.postgame-community h3{color:var(--muted-foreground);letter-spacing:.05em;text-transform:uppercase;margin:16px 0 12px;font-size:12px;font-weight:700}.postgame-performance{margin:16px 0 24px;font-size:14px;font-weight:600}.postgame-community-notice{color:var(--muted-foreground);margin:16px 0;font-size:13px}.postgame-community-notice .ui-button{margin-top:8px}.postgame-comparison>div{padding:12px}.postgame-comparison small,.postgame-group-stats small{justify-content:center;align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.postgame-comparison .postgame-better,.postgame-group-stats .postgame-better{color:#16a34a}.postgame-comparison .postgame-worse,.postgame-group-stats .postgame-worse{color:#dc2626}.postgame-comparison .postgame-average,.postgame-group-stats .postgame-average{color:var(--muted-foreground)}.postgame-chart-tabs{gap:4px;display:flex}.postgame-chart-tabs>button{text-transform:uppercase;color:var(--muted-foreground);border-bottom:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-size:10px;font-weight:700;display:flex}.postgame-chart-tabs button[aria-selected=true]{color:var(--foreground);border-color:#f7c846}.postgame-chart{width:100%;height:180px;overflow:visible}.postgame-chart text{fill:var(--muted-foreground);font-size:10px}.chart-grid{stroke:var(--border);stroke-dasharray:3 3;opacity:.5}.chart-point,.chart-bar{fill:var(--muted-foreground)}.chart-current{fill:#f7c846;stroke:#000;stroke-width:2px}.postgame-chart-legend,.postgame-tier-legend{color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:8px;font-size:12px;display:flex}.postgame-chart-legend span,.postgame-tier-legend span{align-items:center;gap:6px;display:flex}.postgame-chart-legend i,.postgame-tier-legend i{background:var(--muted-foreground);border-radius:50%;width:8px;height:8px;display:inline-block}.postgame-chart-legend i.chart-you{background:#f7c846;border:1px solid #000;width:12px;height:12px}.postgame-tier-legend .tier-current{color:var(--foreground);font-weight:700}.postgame-chart-empty{height:210px;color:var(--muted-foreground);place-items:center;padding:0 24px;font-size:14px;display:grid}.postgame-chart-caption{color:var(--muted-foreground);margin-top:8px;font-size:12px}.postgame-chart-caption strong{color:var(--foreground)}.postgame-chart-viewport{touch-action:pan-y}.postgame-chart-navigation{justify-content:center;align-items:center;gap:6px;margin-top:12px;display:flex}.postgame-chart-navigation button:first-child,.postgame-chart-navigation button:last-child{width:24px;height:24px;color:var(--muted-foreground);place-items:center;display:grid}.postgame-chart-navigation button:disabled{opacity:.3}.postgame-chart-navigation .chart-nav-current{background:#f7c846;border-radius:4px;width:16px;height:6px}.postgame-chart-navigation .chart-nav-dot{background:var(--muted-foreground);opacity:.4;border-radius:4px;width:6px;height:6px}.postgame-difficulty{max-width:320px;margin:0 auto 24px}.postgame-vote-body{min-height:40px}.postgame-vote-options,.postgame-vote-results{gap:8px;display:flex}.postgame-vote-options .ui-button,.postgame-vote-results>div{text-transform:uppercase;border-radius:0;flex:1;gap:6px;font-size:10px;font-weight:700}.postgame-vote-results>div{border:1px solid var(--border);justify-content:center;align-items:center;padding:6px 8px;display:flex}.postgame-vote-results strong{font-size:14px}.postgame-vote-results span{color:var(--muted-foreground)}.postgame-vote-results .vote-selected{background:#f7c8461a;border-color:#f7c846}.postgame-vote-results :where(.vote-selected strong){color:#f7c846}.postgame-vote-thanks{text-transform:uppercase;color:#000;background:#f7c846;padding:8px;font-size:18px;font-weight:900}.postgame-difficulty>small{color:var(--muted-foreground);height:16px;margin-top:8px;font-size:10px;display:block}.postgame-difficulty p[role=alert]{color:var(--destructive);font-size:12px}.postgame-leaderboard{margin:32px 0}.postgame-leaderboard-list{gap:6px;margin-top:12px;list-style:none;display:grid}.postgame-leaderboard-list li{background:var(--muted);text-align:left;align-items:center;gap:12px;padding:8px 12px;font-size:14px;display:flex}.postgame-leaderboard-list>li>strong{text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.postgame-leaderboard-list li>span:last-child{text-align:right}.postgame-leaderboard-list small{color:var(--muted-foreground);font-size:10px;display:block}.postgame-leaderboard-list strong small{display:inline}.postgame-leaderboard-list .leaderboard-current{color:#000;background:#f7c846}.postgame-leaderboard-list .leaderboard-current small{color:#0009}.postgame-leaderboard-list .leaderboard-pinned{border-top:1px dashed var(--muted-foreground);margin-top:4px}.postgame-rank{border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:grid}.postgame-rank.rank-1{color:#713f12;background:#facc15}.postgame-rank.rank-2{color:#374151;background:#d1d5db}.postgame-rank.rank-3{color:#ffedd5;background:#d97706}.postgame-pagination{color:var(--muted-foreground);justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.postgame-leaderboard select{width:100%;min-width:0;max-width:100%;min-height:var(--control-height);color:inherit;background:0 0;margin-bottom:12px;font-size:12px}.postgame-group-stats{grid-template-columns:repeat(4,1fr);margin:16px 0;display:grid}.postgame-group-stats dt{color:var(--muted-foreground);font-size:10px;font-weight:700}.postgame-group-stats dd{margin:4px 0;font-size:20px;font-weight:900}@media (min-width:768px){.postgame-comparison{grid-template-columns:repeat(4,1fr)}}.postgame-share-section{color:#000;background:#f7c846;margin:48px -24px;padding:32px 16px}.postgame-share-section .postgame-performance{margin:0 0 16px}.postgame-mode-badge{border:1px solid var(--border);text-transform:uppercase;border-radius:4px;margin-top:8px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}@keyframes invitation-pattern-scroll{0%{background-position:0 0,0 0}to{background-position:600px 360px,0 0}}@media (min-width:640px){.collections-invitation>div{flex-direction:row}}@media (prefers-reduced-motion:reduce){.collections-invitation>div{animation:none}}.postgame-performance-slot{display:grid}.postgame-performance-slot>.postgame-performance{grid-area:1/1}.postgame-performance-measure{visibility:hidden;pointer-events:none}.postgame-vote-body,.postgame-vote-results>div,.postgame-vote-thanks{min-height:var(--control-height)}.postgame-vote-thanks{margin:0}.postgame-chart-viewport{min-height:18rem}.postgame-chart-empty{height:auto;min-height:18rem}.postgame-skeleton-surface,.postgame-skeleton-line{background:var(--muted);border-radius:var(--radius)}.postgame-skeleton-line{width:6em;max-width:100%;height:1em;display:block}.postgame-chart-skeleton{width:100%;height:180px;display:block}.postgame-leaderboard-list li{min-height:3.25rem}.postgame-leaderboard-list{align-content:start;min-height:calc(19.5rem + 35px)}.postgame-community .postgame-leaderboard{min-height:calc(23.5rem + 30px)}.postgame-community .postgame-leaderboard:last-of-type{min-height:calc(30.5rem + 30px)}.postgame-group-placeholder>.postgame-skeleton-line{height:1.5rem;margin-bottom:12px}.postgame-group-placeholder .postgame-group-stats small{height:1.5em}
.social-sign-in{margin-bottom:24px}.social-sign-in-options{gap:12px;display:grid}.social-sign-in-options .ui-button{gap:12px;width:100%}.sign-in-provider-logo{flex:none}.social-sign-in-divider{color:var(--muted-foreground);align-items:center;gap:12px;margin-top:24px;font-size:14px;display:flex}.social-sign-in-divider:before,.social-sign-in-divider:after{content:"";background:var(--border);flex:1;height:1px}
.login-page p{overflow-wrap:anywhere}.login-page{width:min(100%,448px);margin:0 auto;padding:96px 24px 64px}.login-page h1{text-align:center;letter-spacing:.05em;margin:0 0 32px;font-size:20px;font-weight:700}.login-page form{flex-direction:column;gap:24px;display:flex}.login-page label{gap:8px;font-size:14px;display:grid}.login-page form>p{color:var(--muted-foreground);margin:0;font-size:14px}.login-page form>button{width:100%}.login-page [role=alert]{color:var(--destructive);font-size:14px}.auth-password-label{justify-content:space-between;align-items:center;gap:8px;display:flex}.auth-password-label .ui-button{font-size:14px}.auth-description,.auth-switch{text-align:center;font-size:14px}.auth-description{color:var(--muted-foreground);margin-bottom:24px}.auth-switch .ui-button{font-size:inherit;text-decoration:underline}.auth-password-field{gap:8px;display:grid}.account-heading{justify-content:center;align-items:center;gap:12px;margin-bottom:32px;display:flex}.account-heading h1{margin:0}.auth-password-label{flex-wrap:wrap}.auth-switch .ui-button{height:auto;min-height:var(--control-height);white-space:normal}
.breadcrumbs{min-height:32px;color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 24px;font-size:14px;font-weight:500;line-height:1.5;display:flex}.breadcrumbs a{min-height:32px;color:var(--link-foreground);text-underline-offset:3px;align-items:center;padding:4px 0;text-decoration:none;display:inline-flex}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs+h1,.breadcrumbs+header h1,.breadcrumbs+.groups-heading h1{margin-top:0}.breadcrumbs>[aria-current=page]{color:var(--foreground);overflow-wrap:anywhere}
.archive-mobile-heading>svg{flex-shrink:0}.archive-page{width:100%;max-width:896px;margin:auto;padding:32px 24px}.archive-page h1{margin:0 0 8px;font-size:30px;font-weight:700}.archive-description{color:var(--muted-foreground);margin:0 0 24px}.archive-filters{border:0;margin-bottom:32px;padding:0;display:flex}.archive-table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.archive-table{border-collapse:collapse;width:100%;font-size:14px}.archive-table th{background:var(--muted);color:var(--muted-foreground);height:48px;font-weight:500}.archive-table td,.archive-table th{text-align:left;padding:12px 16px}.archive-table td:nth-child(n+3),.archive-table th:nth-child(n+3){text-align:center}.archive-table td:nth-child(n+5),.archive-table th:nth-child(n+5){text-align:right}.archive-table td svg{width:20px;height:20px;color:var(--muted-foreground);margin:auto}.archive-complete,.archive-table td .archive-complete{color:var(--brand)}.archive-table td button{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:500}.archive-table tbody tr:hover{background:var(--muted)}.archive-category{text-transform:uppercase;letter-spacing:.025em;color:var(--muted-foreground);font-size:14px}.archive-pagination{justify-content:center;align-items:center;gap:4px;margin-top:24px;display:flex}.archive-pagination .ui-button{min-width:36px;height:36px;padding:8px}.archive-mobile{display:none}.archive-skeleton{background:var(--muted);border-radius:var(--radius);width:100%;min-width:80px;height:16px;display:block}@media (max-width:767px){.archive-table-wrap{display:none}.archive-mobile{gap:8px;display:grid}.archive-mobile-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--foreground);text-align:left;cursor:pointer;font:inherit;gap:4px;padding:16px;display:grid}.archive-mobile-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.archive-mobile-heading svg{width:20px;height:20px}.archive-mobile-stats{color:var(--muted-foreground);gap:16px;margin-top:8px;font-size:14px;display:flex}.archive-mobile-stats>span{align-items:center;gap:4px;display:flex}}.archive-signin{border:1px solid var(--border);margin-block:24px;padding:24px}.archive-signin form{gap:12px;display:grid}.archive-category{overflow-wrap:anywhere}.archive-mobile .archive-category{min-height:3em;line-height:1.5}.archive-mobile .archive-mobile-stats{flex-wrap:wrap;align-content:start;min-height:3em}.archive-mobile-heading>span{overflow-wrap:anywhere;min-width:0}
.blog-page{width:100%;max-width:800px;margin:0 auto;padding:32px 24px}.blog-page h1{margin:24px 0 12px;font-size:2.5rem;font-weight:900}.blog-page h2{margin:24px 0 12px;font-size:1.5rem;font-weight:800}.blog-page h3{margin-top:24px;font-size:1.2rem;font-weight:700}.blog-page p{margin:16px 0;line-height:1.7}.blog-page a:not(.breadcrumb-link){text-underline-offset:3px;text-decoration:underline}.blog-filters,.blog-post-details{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.blog-filters{margin:24px 0}.blog-filters button{border:1px solid var(--border);border-radius:var(--radius);padding:8px 16px}.blog-filters button[aria-pressed=true]{background:var(--brand);color:var(--brand-foreground)}.blog-post-card{border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;padding:16px 24px}.blog-post-details{font-size:.85rem}.blog-content{margin-top:32px}.blog-content ul{padding-left:24px;list-style:outside}.blog-content li{margin:8px 0}.blog-content pre{background:var(--muted);border-radius:var(--radius);padding:16px;overflow-x:auto}.blog-content img{border-radius:var(--radius);width:100%;max-width:600px;height:auto}.blog-page h1,.blog-page h2,.blog-page h3,.blog-content p,.blog-content li{overflow-wrap:anywhere}.blog-filters button{min-height:var(--control-height)}
.collections-page{width:min(100%,672px);margin-inline:auto;padding:24px 16px 32px}.collections-page h1{margin:0 0 8px;font-size:24px;font-weight:900}.collections-description{color:var(--muted-foreground);margin-bottom:24px}.collection-cards{align-content:start;gap:16px;display:grid}.collection-card{text-align:left;color:var(--foreground);background:var(--card);border:1px solid var(--foreground);cursor:pointer;padding:20px}.collection-card h2{margin:0 0 4px;font-size:20px;font-weight:900}.collection-card p{color:var(--muted-foreground);margin:0;font-size:14px}.collection-progress{align-items:center;gap:12px;margin-top:16px;font-size:14px;display:flex}.collections-empty{text-align:center;padding:64px 0}.collections-empty svg{color:var(--muted-foreground);margin-inline:auto}.collection-puzzles{margin-top:24px;padding:0;list-style:none}.collection-puzzles button{border:1px solid var(--border);background:var(--card);width:100%;color:var(--foreground);text-align:left;cursor:pointer;justify-content:space-between;gap:16px;padding:16px;display:flex}.collection-hero{border:2px solid var(--foreground);box-shadow:4px 4px 0 var(--foreground);background-image:linear-gradient(to bottom, transparent, var(--card)), var(--collection-pattern);background-color:color-mix(in srgb, var(--collection-color) 40%, var(--card));margin:16px 0;padding:24px}.collection-hero h1{margin:0 0 8px;font-size:30px;line-height:1.2}.collection-hero .collections-description{color:var(--foreground);margin:0;font-size:14px}.collection-detail-progress{margin:0 0 16px}.collection-up-next{color:#000;background:var(--collection-color);border:2px solid var(--foreground);width:100%;box-shadow:4px 4px 0 var(--foreground);cursor:pointer;align-items:center;gap:16px;margin-bottom:24px;padding:16px;display:flex}.collection-number{border:2px solid var(--foreground);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:900;display:flex}.collection-up-next .collection-number{background:var(--background);width:48px;height:48px;color:var(--foreground);font-size:20px}.collection-up-next-copy{text-align:left;flex-direction:column;flex:1;min-width:0;display:flex}.collection-up-next-copy small{text-transform:uppercase;opacity:.7;font-size:12px;font-weight:700}.collection-up-next-copy strong{font-size:18px;font-weight:900}.collection-puzzles{gap:12px;margin:0 0 32px;display:grid}.collection-puzzles button{border:2px solid var(--foreground);box-shadow:3px 3px 0 var(--foreground);justify-content:flex-start;align-items:center;gap:12px;padding:12px;font-size:14px;font-weight:700}.collection-puzzles .is-complete{background:color-mix(in srgb, var(--collection-color) 13%, var(--card))}.collection-puzzles .is-complete .collection-number{background:var(--collection-color);color:#000}.collection-card{border:2px solid var(--foreground);box-shadow:4px 4px 0 var(--foreground);background-image:linear-gradient(to right, var(--card), color-mix(in srgb, var(--card) 80%, transparent), transparent), var(--collection-pattern);background-color:color-mix(in srgb, var(--collection-accent) 30%, var(--card))}@media (hover:hover) and (pointer:fine){.collection-card:hover,.collection-up-next:hover{box-shadow:6px 6px 0 var(--foreground);transform:translate(-2px,-2px)}.collection-puzzles button:hover{box-shadow:5px 5px 0 var(--foreground);transform:translate(-1px,-1px)}}.collection-puzzle-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.collection-row-stats{flex-shrink:0;align-items:center;gap:12px;font-size:12px;font-weight:600;display:flex}.collection-row-stats>span{align-items:center;gap:4px;display:flex}.collection-progress-track{border:1px solid var(--foreground);background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(var(--collection-segment) - 1px), color-mix(in srgb, var(--foreground) 20%, transparent) calc(var(--collection-segment) - 1px), color-mix(in srgb, var(--foreground) 20%, transparent) var(--collection-segment)), linear-gradient(to right, var(--collection-color) var(--collection-filled), transparent var(--collection-filled));flex:1;min-width:0;height:14px}.collection-detail-progress .collection-progress{margin-top:0}.collection-title-row{align-items:flex-start;gap:8px;display:flex}.collection-title-row h1,.collection-title-row h2{flex:1;min-width:0}.collection-complete-badge{border:1px solid var(--foreground);background:var(--collection-color);color:#000;flex-shrink:0;padding:2px 8px;font-size:12px;font-weight:700}.collection-detail-progress{align-items:center;gap:12px;display:flex}.collection-detail-progress .collection-progress{flex:1;min-width:0}.ui-button.collection-shuffle{text-align:left;white-space:normal;border-radius:var(--radius);border:var(--border-width) solid var(--border);width:100%;height:auto;box-shadow:var(--shadow-card);cursor:pointer;align-items:center;gap:16px;margin-bottom:8px;padding:20px;display:flex}.collection-shuffle:disabled{cursor:default}.collection-shuffle-icon{border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--background);width:48px;height:48px;color:var(--foreground);flex-shrink:0;place-items:center;display:grid}.collection-shuffle-copy{flex:1;gap:4px;min-width:0;font-size:12px;font-weight:600;display:grid}.collection-shuffle-title{flex-wrap:wrap;align-items:center;gap:8px;font-size:24px;font-weight:900;line-height:1.2;display:flex}.collection-shuffle-title small{text-transform:uppercase;color:var(--foreground);background:var(--background);border:var(--border-width) solid var(--border);border-radius:var(--radius);padding:2px 8px;font-size:12px}@media (hover:hover) and (pointer:fine){.collection-shuffle:not(:disabled):hover{box-shadow:var(--shadow-sm);transform:translate(-2px,-2px)}}.collection-cards,.collection-detail-skeleton{min-height:calc(100svh - 16rem)}.collection-card{min-height:176px}.collection-card h2{min-height:2.4em;line-height:1.2}.collection-card p,.collection-skeleton-description{min-height:3em;line-height:1.5}.collection-hero h1{min-height:2.4em}.collection-hero .collections-description{min-height:3em;line-height:1.5}.collections-status-region{min-height:2.625rem;color:var(--muted-foreground);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-block:8px;display:grid}.collections-status-region p{align-items:center;margin:0;font-size:14px;line-height:1.5;display:grid}.collections-status-region .ui-button{min-width:6.5rem}.collection-catalog-skeleton{align-content:start;gap:16px;display:grid}.collection-card-placeholder{background:var(--card);cursor:default;background-image:none}.collection-skeleton-line{border-radius:var(--radius);background:var(--muted);width:75%;height:1em;display:block}.collection-skeleton-heading{width:60%;height:2.4em;margin-bottom:4px;font-size:20px}.collection-skeleton-description{align-content:start;gap:6px;font-size:14px;display:grid}.collection-skeleton-track{flex:1;height:14px}.collection-skeleton-count{width:3em}.collection-up-next-placeholder{background:var(--card);cursor:default}.collection-up-next-placeholder .collection-up-next-copy{gap:6px}.collection-up-next-placeholder .collection-skeleton-heading{height:1.2em;margin:0}.collection-puzzle-placeholder{border:2px solid var(--foreground);box-shadow:3px 3px 0 var(--foreground);background:var(--card);align-items:center;gap:12px;padding:12px;display:flex}.collection-detail-skeleton>.collection-detail-progress,.collection-card-placeholder .collection-progress{min-height:21px}
.custom-page{width:100%;max-width:672px;margin:0 auto;padding:32px 16px}.custom-introduction{margin-bottom:32px}.custom-page h1{margin:0 0 8px;font-size:30px;font-weight:700;line-height:36px}.custom-introduction p{color:var(--muted-foreground);line-height:24px}.custom-page form{flex-direction:column;gap:24px;display:flex}.custom-how-it-works h2{margin:0 0 12px;font-size:16px;font-weight:600}.custom-how-it-works ol{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.custom-how-it-works li{align-items:flex-start;gap:12px;display:flex}.custom-step-number{border-radius:var(--radius-tile);background:var(--brand);width:24px;height:24px;color:var(--brand-foreground);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:900;display:flex}.custom-field p{color:var(--muted-foreground);font-size:12px;line-height:16px}.custom-how-it-works li p{color:var(--muted-foreground);padding-top:2px;font-size:14px;line-height:20px}.custom-field{flex-direction:column;gap:8px;display:flex}.custom-field label{font-size:16px;font-weight:600}.custom-field label span,.custom-page .custom-validation{color:var(--destructive)}.custom-field textarea{border:1px solid var(--input);border-radius:var(--radius);background:var(--background);width:100%;color:var(--foreground);resize:vertical;font:inherit;padding:8px 12px}.custom-field textarea::placeholder{color:var(--muted-foreground)}.custom-field textarea:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.custom-field textarea:disabled{opacity:.5}.custom-actions{gap:12px;padding-top:16px;display:flex}.custom-actions button{flex:1}.custom-spinner{animation:1s linear infinite custom-spin}@keyframes custom-spin{to{transform:rotate(360deg)}}@media (max-width:639px){.custom-page h1{font-size:24px;line-height:32px}}@media (prefers-reduced-motion:reduce){.custom-spinner{animation:none}}
.development-page{gap:24px;width:min(100%,640px);margin-inline:auto;padding:32px 24px;display:grid}.development-page h1{margin:0}.development-page p{color:var(--muted-foreground);line-height:1.5}.development-previews,.development-page form{gap:12px;display:grid}.development-page .home-information{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:24px}.development-page summary{cursor:pointer;margin-bottom:16px}
.feedback-page{width:min(100% - 32px,672px);margin:32px auto;padding-bottom:32px}.feedback-page h1{margin:0 0 8px;font-size:30px;font-weight:700}.feedback-page>p{color:var(--muted-foreground);margin:0 0 32px;line-height:1.5}.feedback-page form{flex-direction:column;gap:8px;display:flex}.feedback-page fieldset{border:0;margin:0 0 16px;padding:0}.feedback-page legend,.feedback-page label{margin-bottom:4px;font-weight:600}.feedback-types{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.feedback-types button{border:1px solid var(--border);border-radius:var(--radius);text-align:left;color:inherit;background:0 0;padding:16px}.feedback-types button[aria-pressed=true]{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 10%, var(--background))}.feedback-types button[aria-pressed=true] svg{color:var(--brand)}.feedback-types strong,.feedback-types small{margin-top:6px;display:block}.feedback-page small{color:var(--muted-foreground);font-size:12px;font-weight:400}.feedback-page input,.feedback-page textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);width:100%;color:inherit;font:inherit;padding:10px 12px}.feedback-page textarea{resize:vertical}.feedback-page label{margin-top:16px}.feedback-page label span{color:var(--destructive)}.feedback-count{text-align:right}.feedback-actions{gap:12px;margin-top:24px;display:flex}.feedback-actions button{flex:1}.feedback-success{text-align:center;max-width:480px;padding-top:80px}.feedback-sent{background:var(--brand);width:64px;height:64px;color:var(--brand-foreground);border-radius:50%;place-items:center;margin:0 auto 24px;display:grid}@media (max-width:639px){.feedback-types{grid-template-columns:1fr}.feedback-page h1{font-size:24px}}
.groups-page{width:min(100%,56rem);margin:0 auto;padding:1.25rem 1rem 3rem}.groups-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.groups-heading h1{font-size:1.5rem;font-weight:700}.groups-muted{color:var(--muted-foreground);font-size:.875rem}.groups-muted svg{vertical-align:middle;margin-right:.3rem;display:inline-block}.groups-list{gap:.75rem;margin-top:1.5rem;display:grid}.group-card{border:1px solid var(--border);border-radius:var(--radius);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1rem;display:flex}button.group-card:hover{background:var(--muted)}.group-card p{margin-top:.35rem}.group-crown{color:var(--brand);margin-left:.5rem;display:inline-block}.groups-empty{text-align:center;color:var(--muted-foreground);padding:4rem 0}.groups-empty svg{margin:0 auto 1rem}.groups-empty h2{color:var(--foreground);margin-bottom:.5rem;font-size:1.125rem}.group-create{border:1px solid var(--border);border-radius:var(--radius);margin-top:1.5rem;padding:1.5rem}.group-create h2,.groups-page h2{margin-top:1rem;font-size:1.125rem;font-weight:600}.group-field{gap:.5rem;margin-top:1rem;display:grid}.groups-actions{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.group-management-actions{align-items:center;gap:4px;display:flex}.group-management{flex-shrink:0}.group-menu{position:relative}.group-menu summary{cursor:pointer;border-radius:var(--radius);place-items:center;padding:8px;list-style:none;display:grid}.group-menu summary::-webkit-details-marker{display:none}.group-menu summary:hover{background:var(--muted)}.group-menu-items{border:1px solid var(--border);background:var(--background);border-radius:var(--radius);z-index:10;min-width:210px;box-shadow:var(--shadow-card);padding:4px;position:absolute;top:100%;right:0}.group-menu-items .ui-button{justify-content:flex-start;gap:8px;width:100%;font-weight:400}.group-danger{color:var(--destructive)}.group-dialog{border:1px solid var(--border);border-radius:var(--radius);width:min(512px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--foreground);background:var(--background);margin:auto;padding:24px;position:fixed;inset:0;overflow-y:auto}.group-dialog::backdrop{background:#0008}.group-dialog header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.group-dialog header h2{margin:0;font-size:18px;font-weight:600}.group-dialog p{color:var(--muted-foreground);font-size:14px;line-height:1.5}.group-dialog footer{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.group-dialog .group-field{margin-top:24px;font-size:14px;font-weight:500}.group-dialog small{color:var(--muted-foreground);font-size:12px;font-weight:400}.group-invite-list{gap:12px;margin-top:16px;display:grid}.group-invite{border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:4px;padding:12px;display:flex}.group-invite>div{flex:1;min-width:0}.group-invite strong{letter-spacing:2px;font-family:monospace;font-size:18px}.group-invite small{margin:4px 0 8px;display:block}.group-tabs{border-bottom:1px solid var(--border);gap:16px;margin:24px 0;display:flex}.group-tabs .ui-button{background:0 0;border-bottom:2px solid #0000;border-radius:0}.group-tabs .ui-button[aria-selected=true]{border-bottom-color:var(--brand)}.group-table-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-top:16px;overflow-x:auto}.group-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:14px}.group-table td{overflow-wrap:anywhere}.group-table th,.group-table td{text-align:left;border-bottom:1px solid var(--border);padding:12px 16px}.group-table th{background:var(--muted);color:var(--muted-foreground);font-weight:500}.group-table th:nth-last-child(-n+2),.group-table td:nth-last-child(-n+2){text-align:right}.group-table tr:last-child td{border-bottom:0}.group-table .group-self{background:color-mix(in srgb, var(--brand) 10%, var(--background))}.group-table small,.group-card small{color:var(--muted-foreground);font-size:12px}.group-not-played{font-style:italic;font-weight:700;display:block}.group-game-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-block:24px;display:flex}.group-game-date{align-items:center;gap:16px;display:flex}.groups-heading h1,.group-card>div,.group-dialog header h2{overflow-wrap:anywhere;min-width:0}.group-card>svg{flex-shrink:0}.group-menu-items{max-width:calc(100vw - 32px)}.group-menu-items .ui-button{height:auto;min-height:var(--control-height);white-space:normal;overflow-wrap:anywhere;text-align:left}.group-dialog header .ui-button{flex-shrink:0}.group-game-date{flex-wrap:wrap}.group-table th:first-child{width:12%}.group-table th:nth-child(2){width:42%}.group-table th:nth-child(3){width:26%}.group-table th:nth-child(4){width:20%}
.home-main-actions>.home-play-primary{height:64px;min-height:64px;font-size:24px}.home-page-native .home-hero{min-height:100%;padding-block:32px}.daily-menu{text-align:center;flex-direction:column;gap:24px;width:min(100%,480px);margin-inline:auto;padding:40px 24px;display:flex}.daily-menu-header h1{margin:0}.daily-menu-header p,.daily-menu-availability p{color:var(--muted-foreground)}.daily-menu-games{gap:16px;display:grid}.daily-menu-game{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:24px}.daily-menu-game h2{margin:0;font-size:20px}.daily-menu-puzzle-title{align-items:center;height:3em;margin-block:12px 8px;line-height:1.5;display:grid;overflow:hidden}.daily-menu-progress{min-height:1.5em;color:var(--muted-foreground);margin-block:0 12px;font-size:14px;line-height:1.5}.daily-menu-game>.ui-button{width:100%}.daily-menu-availability{font-size:14px}.daily-menu-availability p{min-height:4.5em;margin-block:0 12px;line-height:1.5}.daily-retry-reserved{visibility:hidden}.daily-menu-back{align-self:flex-start}
.scene-transition{isolation:isolate;position:relative;overflow-x:clip}.scene-transition-panel{min-width:0}.scene-transition-viewport{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;position:fixed;overflow:clip}.scene-transition-outgoing{pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;position:absolute}.scene-transition-game{isolation:auto;position:static;overflow:visible}
.legal-page{width:min(100%,896px);color:var(--foreground);margin-inline:auto;padding:32px 16px;font-size:18px;line-height:1.78}.legal-page h1{margin-bottom:8px;font-size:36px;font-weight:700;line-height:1.15}.legal-page h2{margin:48px 0 24px;font-size:30px;font-weight:700}.legal-page h3{margin:32px 0 16px;font-size:24px;font-weight:600}.legal-page p{max-width:none;margin-block:24px}.legal-page .legal-updated{color:var(--muted-foreground);margin:0 0 32px;font-size:18px}.legal-page ul{margin-block:24px;padding-left:28px;list-style:outside}.legal-page li{margin-block:8px;padding-left:6px}.legal-page a{text-decoration:underline}.legal-notice{border:1px solid var(--border);background:var(--muted);margin-top:48px;padding:24px}.legal-notice p{text-align:center;color:var(--muted-foreground);margin:0;font-size:14px;font-weight:500}@media (min-width:640px){.legal-page{font-size:20px}.legal-page h1{margin-bottom:48px;font-size:56px}.legal-page h2{margin-top:48px;font-size:36px}.legal-page h3{margin-top:48px;font-size:30px}}.legal-page h1,.legal-page h2,.legal-page h3,.legal-page p,.legal-page li{overflow-wrap:anywhere}
