.post-game{background:var(--background);color:var(--foreground);border-radius:var(--radius);width:100%;max-width:680px;height:min(900px,90dvh);max-height:90dvh;box-shadow:none;border:0;margin:auto;padding:0;overflow:hidden}.post-game[open]{animation:post-game-enter var(--post-game-open-duration) var(--motion-ease) both;flex-direction:column;display:flex}.post-game::backdrop{background:#000c}.post-game[open]::backdrop{animation:post-game-backdrop-enter var(--post-game-open-duration) var(--motion-ease) both}.post-game[open][data-closing],.post-game[open][data-closing]::backdrop{animation:post-game-exit var(--post-game-close-duration) var(--motion-ease) both}@keyframes post-game-enter{0%{opacity:0}to{opacity:1}}@keyframes post-game-backdrop-enter{0%{background:#0009}to{background:#000c}}@keyframes post-game-exit{to{opacity:0}}.post-game-heading{background:var(--background);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:8px 20px;display:flex}.post-game-heading h2{margin:0;font-size:20px}.post-game .post-game-close{width:var(--control-height);height:var(--control-height);flex-shrink:0}.post-game-content{overscroll-behavior:contain;text-align:center;flex:1;min-height:0;overflow-y:auto;container-type:size}.postgame-summary{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:12px;max-width:38rem;margin-inline:auto;padding:24px;display:flex}.postgame-summary-heading{gap:8px;display:grid}.postgame-summary-logo{justify-content:center;display:flex}.post-game-meta{color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:24px;font-size:12px;display:flex}.postgame-mode-badge{border:var(--border-width) solid var(--border);border-radius:var(--radius);text-transform:uppercase;color:var(--foreground);padding:2px 8px;font-size:11px;font-weight:700}.post-game-local-stats{font-variant-numeric:tabular-nums;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:12px 0;display:grid}.post-game-local-stats>div{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:4px;display:flex}.post-game-local-stats dt{letter-spacing:.03em;color:var(--muted-foreground);font-size:10px;font-weight:700}.post-game-local-stats dd{margin:4px 0 0;font-size:clamp(22px,5vw,28px);font-weight:800;line-height:1.2}.postgame-comparison small{justify-content:center;align-items:center;gap:2px;min-height:2.6em;margin-top:4px;font-size:10px;line-height:1.3;display:flex}.postgame-comparison small svg{flex-shrink:0}.postgame-better{color:var(--foreground)}.postgame-worse,.postgame-average{color:var(--muted-foreground)}.postgame-highlight{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:180px;display:flex}.postgame-highlight-art{width:min(100%,320px);height:clamp(140px,30cqh,260px);overflow:visible}.postgame-highlight-orbit{fill:var(--card);stroke:var(--border);stroke-width:1px;stroke-dasharray:3 6}.postgame-highlight-tile{transform-box:fill-box;transform-origin:50%;animation:postgame-tile-enter var(--motion-normal) var(--motion-ease) both}.tile-tone-0{fill:var(--brand)}.tile-tone-1{fill:var(--daily-card)}.tile-tone-2{fill:var(--daily-hard-card)}.postgame-highlight-value{fill:var(--foreground);font-size:44px;font-weight:800;font-family:var(--font-heading)}.postgame-highlight-label{fill:var(--muted-foreground);font-size:14px}.postgame-highlight h3{color:var(--foreground);font-size:clamp(20px,5vw,28px);line-height:1.2;font-weight:var(--heading-weight);margin:4px 0 12px}.postgame-summary-rating{flex-shrink:0}.postgame-difficulty{border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);padding:12px}.postgame-difficulty h3{font-size:14px;font-family:var(--font-sans);margin:0 0 10px}.postgame-vote-body{min-height:var(--control-height)}.postgame-vote-options,.postgame-vote-results{gap:8px;display:flex}.postgame-vote-options .ui-button,.postgame-vote-results>.ui-button{min-height:var(--control-height);border-radius:var(--radius);flex:1;gap:6px;font-size:14px;font-weight:700}.postgame-play-menu .ui-button svg{flex-shrink:0}.postgame-vote-options .ui-button svg{transition:transform var(--motion-fast) var(--motion-ease)}.postgame-vote-options .ui-button:active svg{transform:rotate(-12deg)scale(1.15)}.postgame-vote-results{position:relative}.postgame-vote-results>.ui-button{border:var(--border-width) solid var(--border);justify-content:center;align-items:center;display:flex}.postgame-vote-results .vote-selected{background:var(--brand);color:var(--brand-foreground);border-color:var(--brand)}.postgame-vote-results span{text-transform:capitalize}.postgame-vote-thanks{min-height:var(--control-height);border-radius:var(--radius);background:var(--brand);color:var(--brand-foreground);animation:postgame-section-enter var(--motion-normal) var(--motion-ease) both;place-items:center;margin:0;display:grid}.postgame-vote-thanks[data-leaving=true]{animation:post-game-exit var(--motion-fast) var(--motion-ease) both}.postgame-vote-results{animation:postgame-section-enter var(--motion-fast) var(--motion-ease) both}.postgame-vote-error{color:var(--destructive);animation:postgame-section-enter var(--motion-normal) var(--motion-ease) both}.postgame-details{gap:40px;padding:0 24px 24px;display:grid}.postgame-share-section{padding-block:24px}.postgame-leaderboard{text-align:left;min-width:0}.postgame-leaderboard h3{margin:0 0 12px;font-size:20px}.postgame-leaderboard-table{border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.postgame-leaderboard-table th,.postgame-leaderboard-table td{height:var(--control-height);border-bottom:1px solid var(--border);padding:8px}.postgame-leaderboard-table th:first-child,.postgame-leaderboard-table td:first-child{width:16%}.postgame-leaderboard-table th:nth-child(2){text-align:left;width:40%}.postgame-leaderboard-table th:nth-child(n+3),.postgame-leaderboard-table td:nth-child(n+3){text-align:right}.postgame-leaderboard-table thead{color:var(--muted-foreground);font-size:11px}.postgame-leaderboard-table tbody th span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.postgame-leaderboard-table small{font-weight:400}.leaderboard-current{background:color-mix(in srgb, var(--brand) 18%, var(--background))}.leaderboard-pinned{border-top:var(--border-width) solid var(--foreground)}.postgame-table-empty{text-align:center;color:var(--muted-foreground)}.postgame-leaderboard-footer{color:var(--muted-foreground);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.postgame-skeleton-line{background:var(--muted);border-radius:var(--radius);width:100%;height:1em;display:block}.postgame-community-notice{color:var(--muted-foreground);margin:0;font-size:13px}.postgame-community-notice .ui-button{margin-top:8px}.post-game-footer{padding:12px 20px max(12px, var(--app-safe-area-bottom,env(safe-area-inset-bottom,0px)));background:var(--background);flex-shrink:0;gap:8px;display:flex;position:relative}.post-game-footer>.ui-button{min-width:0;min-height:max(44px, var(--control-height));white-space:normal;flex:1;padding-inline:8px;font-size:14px}.postgame-action-notice{border:var(--border-width) solid var(--border);border-radius:var(--radius);color:var(--foreground);background:var(--popover);box-shadow:var(--shadow);margin:0;padding:12px;font-size:13px;position:absolute;inset:auto 12px 100%}.postgame-action-notice,.postgame-community-notice,.postgame-summary>*,.postgame-details>[data-revealed=true],.postgame-leaderboard-table tbody{animation:postgame-section-enter var(--motion-normal) var(--motion-ease) both}.postgame-summary>:nth-child(2){animation-delay:calc(var(--motion-fast) / 4)}.postgame-summary>:nth-child(3){animation-delay:calc(var(--motion-fast) / 2)}.postgame-summary>:nth-child(4){animation-delay:var(--motion-fast)}@keyframes postgame-section-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes postgame-tile-enter{0%{opacity:0;transform:scale(.4)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (max-width:639px){.post-game{border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh}.post-game-heading{padding-top:max(8px, env(safe-area-inset-top));padding-inline:16px}.postgame-summary{gap:10px;padding:16px}.postgame-details,.post-game-footer{padding-inline:16px}}@media (max-width:639px) and (max-height:700px){.postgame-summary{gap:4px;padding:8px}.post-game-local-stats{padding-block:4px}.postgame-highlight{min-height:100px}.postgame-highlight-art{height:85px}.postgame-highlight h3{margin-block:0 6px;font-size:18px}.postgame-difficulty{padding:8px}}@media (prefers-reduced-motion:reduce){.post-game[open],.post-game[open]::backdrop,.post-game[open][data-closing],.post-game[open][data-closing]::backdrop,.postgame-action-notice,.postgame-community-notice,.postgame-summary>*,.postgame-details>[data-revealed=true],.postgame-highlight-tile,.postgame-vote-thanks,.postgame-vote-thanks[data-leaving],.postgame-vote-results,.postgame-vote-error,.postgame-leaderboard-table tbody{animation:none}.postgame-vote-options .ui-button svg{transition:none;transform:none}}.postgame-details>[data-revealed=false]{opacity:0}@media (prefers-reduced-motion:reduce){.postgame-details>[data-revealed=false]{opacity:1}}@media (min-height:750px){.postgame-summary{gap:20px;padding-top:32px}.postgame-summary-logo{padding-top:12px}.post-game-local-stats{padding-block:16px}}@media (min-width:640px) and (min-height:750px){.postgame-summary{gap:16px;padding-top:24px}.postgame-summary-logo{padding-top:0}}@media (min-width:768px){.post-game-heading{padding-block:var(--spacing)}.postgame-summary{padding-top:var(--space-control);gap:var(--space-control)}.postgame-summary-logo .home-lettered-logo>span{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);font-size:var(--text-2xl)}.post-game-local-stats{padding-block:calc(var(--spacing) * 2)}.post-game-local-stats dd{font-size:var(--text-2xl)}}.postgame-rating-collapse{opacity:1;transition:grid-template-rows var(--motion-normal) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease);grid-template-rows:1fr;display:grid}.postgame-rating-collapse>div{min-height:0;overflow:hidden}.postgame-rating-collapse[data-hidden=true]{opacity:0;grid-template-rows:0fr}.postgame-dismissible-rating{position:relative}.postgame-dismissible-rating h3{justify-content:center;align-items:center;min-height:32px;padding-inline:32px;display:flex}.postgame-dismiss-rating{border-radius:var(--radius);width:44px;height:44px;color:var(--muted-foreground);cursor:pointer;transition:color var(--motion-fast) var(--motion-ease), background var(--motion-fast) var(--motion-ease);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.postgame-dismiss-rating:hover{background:var(--button-outline-hover);color:var(--button-outline-hover-foreground)}.postgame-dismiss-rating:focus-visible{outline:2px solid var(--ring);outline-offset:-4px}@media (prefers-reduced-motion:reduce){.postgame-rating-collapse{transition:none}}.postgame-share-popover{width:min(360px,100vw - 32px);max-height:min(620px, 75dvh, var(--radix-popover-content-available-height));overscroll-behavior:contain;background:var(--popover);color:var(--popover-foreground);border:var(--border-width) solid var(--border);border-radius:var(--radius);box-shadow:none;z-index:2;padding:16px;overflow-y:auto}.postgame-share-popover>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.postgame-share-popover h3{margin:0;font-size:16px}.postgame-share-popover .replay-preview-frame{max-width:none}.postgame-share-popover[data-state=open]{animation:postgame-section-enter var(--motion-normal) var(--motion-ease) both}.postgame-share-popover[data-state=closed]{animation:post-game-exit var(--motion-fast) var(--motion-ease) both}@media (prefers-reduced-motion:reduce){.postgame-share-popover[data-state]{animation:none}}.postgame-share-backdrop{z-index:1;opacity:0;pointer-events:none;transition:opacity var(--post-game-close-duration) var(--motion-ease);background:#00000080;position:fixed;inset:0}.postgame-share-backdrop[data-open=true]{opacity:1;pointer-events:auto;transition-duration:var(--post-game-open-duration)}@media (prefers-reduced-motion:reduce){.postgame-share-backdrop{transition:none}}.postgame-share-popover{padding:12px;overflow:hidden}.postgame-share-popover>header{margin-bottom:4px}.postgame-share-popover .replay-preview-frame{max-height:min(340px, calc(75dvh - 240px), calc(var(--radix-popover-content-available-height) - 240px))}.postgame-result-details .post-game-local-stats{padding-bottom:0}@media (max-width:639px){.postgame-difficulty{padding:6px 8px}.postgame-dismissible-rating h3{min-height:28px;font-size:13px}.postgame-vote-body,.postgame-vote-thanks{min-height:36px}.postgame-vote-options .ui-button,.postgame-vote-results>.ui-button{height:36px;min-height:36px;padding-block:4px;font-size:13px}}.postgame-play-split{flex:1;min-width:0;display:flex}.postgame-play-split>.ui-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0;flex:1;min-width:0;padding-inline:8px;font-size:14px}.postgame-play-split>.ui-button:nth-child(2){border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;flex:0 0 36px;width:36px}.postgame-play-menu{gap:calc(var(--space-control) / 2);padding:var(--space-control);width:min(300px,100vw - 32px);max-height:var(--radix-popover-content-available-height);overscroll-behavior:contain;background:var(--popover);color:var(--popover-foreground);border:var(--border-width) solid var(--border);border-radius:var(--radius);box-shadow:none;z-index:2;display:grid;overflow-y:auto}.postgame-play-menu[data-state=open]{animation:postgame-section-enter var(--post-game-open-duration) var(--motion-ease) both}.postgame-play-menu[data-state=closed]{animation:post-game-exit var(--post-game-close-duration) var(--motion-ease) both}@media (prefers-reduced-motion:reduce){.postgame-play-menu[data-state]{animation:none}}.postgame-community[data-first-data=true] :is(.postgame-comparison>div:nth-child(n+3) dd,.postgame-comparison small:not([aria-hidden]),.postgame-difficulty,.postgame-chart-panels,.postgame-leaderboard-table tbody){animation:postgame-data-arrive var(--motion-normal) var(--motion-ease) both}@keyframes postgame-data-arrive{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.postgame-community[data-first-data=true] :is(.postgame-comparison>div:nth-child(n+3) dd,.postgame-comparison small:not([aria-hidden]),.postgame-difficulty,.postgame-chart-panels,.postgame-leaderboard-table tbody){animation:none}}.postgame-puzzle-label{text-align:center;align-items:center;min-width:0;max-width:min(440px,100%);min-height:2lh;display:grid}.postgame-puzzle-label-text{-webkit-line-clamp:2;overflow-wrap:anywhere;animation:postgame-data-arrive var(--motion-normal) var(--motion-ease) both;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (prefers-reduced-motion:reduce){.postgame-puzzle-label-text{animation:none}}
.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}
.groups-page{width:min(100%,56rem);margin:0 auto;padding:1.25rem 1rem 3rem}.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:var(--cursor-action);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}.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%}.groups-page>.groups-muted{margin-top:.5rem}.group-card{background:var(--card);color:var(--card-foreground);transition:background-color var(--motion-fast) var(--motion-ease)}button.group-card:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.group-game-date select{min-height:var(--control-height);border:1px solid var(--input);border-radius:var(--radius);background:var(--background);color:var(--foreground);padding:.5rem .75rem}.groups-loading{gap:.75rem;margin-top:1.5rem;display:grid}.groups-loading>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);min-height:7rem}@media (max-width:40rem){.group-game-options>.ui-button,.groups-page .group-primary-action,.group-game-options,.group-game-date{width:100%}.group-game-date{justify-content:space-between}.groups-actions,.group-dialog footer{flex-direction:column-reverse}.groups-actions .ui-button,.group-dialog footer .ui-button{width:100%}.group-table th,.group-table td{padding:.75rem .5rem}.group-create{padding:1rem}}
.login-page p{overflow-wrap:anywhere}.auth-callback-content{min-block-size:24rem}.auth-confirm-email{block-size:4.5em;line-height:1.5;display:block;overflow:auto}.auth-email-confirmation{gap:var(--space-control);animation:auth-confirm-arrive var(--motion-normal) var(--motion-ease) both;display:grid}.auth-email-confirmation .ui-button{height:auto;min-height:var(--control-height);white-space:normal;overflow-wrap:anywhere}@keyframes auth-confirm-arrive{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.auth-email-confirmation{animation:none}}.login-page{width:min(100%,448px);margin:0 auto;padding:32px 24px 64px}.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}.auth-password-label{flex-wrap:wrap}.auth-switch .ui-button{height:auto;min-height:var(--control-height);white-space:normal}
.account-page{width:min(100%,56rem);margin-inline:auto;padding:1.25rem 1rem 3rem}.account-page .account-heading{justify-content:flex-start;align-items:center;gap:1rem;margin-block:1.5rem 2rem;display:flex}.account-page p{overflow-wrap:anywhere;line-height:1.6}.account-heading>div{min-width:0}.account-heading p,.account-description,.account-caption,.account-setting p{color:var(--muted-foreground);font-size:.875rem}.account-section{margin-block:2.5rem}.account-section h2{font-size:1.125rem;font-weight:600}.account-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem;display:flex}.account-stats{font-variant-numeric:tabular-nums;grid-template-columns:repeat(6,minmax(0,1fr));margin:2rem 0 0;padding:12px 0;display:grid}.account-stats>div{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:4px;display:flex}.account-stats dt{letter-spacing:.03em;text-transform:uppercase;min-height:2.6em;color:var(--muted-foreground);justify-content:center;align-items:flex-end;font-size:10px;font-weight:700;line-height:1.3;display:flex}.account-stats dd{white-space:nowrap;margin:4px 0 0;font-size:clamp(22px,4.5vw,28px);font-weight:800;line-height:1.2}.account-stats small{min-height:1.3em;color:var(--muted-foreground);justify-content:center;align-items:center;margin-top:4px;font-size:10px;line-height:1.3;display:flex}.account-completion-legend>div{text-align:center;align-content:center;justify-items:center;gap:.4rem;min-width:0;display:grid}.account-completion-legend dt{color:var(--muted-foreground);grid-row:2;font-size:.75rem}.account-completion-legend dd{font-variant-numeric:tabular-nums;white-space:nowrap;grid-row:1;justify-content:center;align-items:center;gap:.5rem;min-height:2.5rem;margin:0;font-size:1.5rem;font-weight:650;display:flex}.account-stat-placeholder{background:var(--border);opacity:.15;border-radius:var(--radius);width:2.4em;height:1.2em;display:block}.account-streak-value{animation:account-streak-arrive var(--motion-normal) var(--motion-ease) both}@keyframes account-streak-arrive{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.account-streak-value{animation:none}}.account-setting{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 12rem;align-items:center;gap:2rem;padding-block:1.5rem;display:grid}.account-setting:last-of-type{border-bottom:0;padding-bottom:0}.account-setting-actions{gap:.5rem;display:grid}.account-setting h3{margin-bottom:.25rem;font-size:.9375rem;font-weight:600}.account-setting .ui-button{white-space:normal;width:100%;height:auto;min-height:var(--control-height)}.account-notice{gap:.75rem;display:grid}.account-notice .ui-button{justify-self:start}@media (max-width:40rem){.account-stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.25rem}.account-stats dd{font-size:clamp(22px,6vw,28px)}.account-completion-legend dd{font-size:clamp(1rem,4vw,1.25rem)}.account-setting{grid-template-columns:minmax(0,1fr);gap:1rem}}.account-progress-graphic{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:3rem;margin-top:2rem;display:grid}.account-completion-ring{width:12rem;height:12rem;margin-inline:auto;position:relative}.account-completion-ring svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.account-ring-track{stroke:var(--muted)}.account-ring-value{stroke:var(--brand);stroke-linecap:round;transition:stroke-dasharray var(--motion-normal) var(--motion-ease)}.account-completion-ring>div{flex-direction:column;justify-content:center;align-items:center;gap:.25rem;display:flex;position:absolute;inset:0}.account-completion-ring strong{font-variant-numeric:tabular-nums;font-size:3.5rem;font-weight:750;line-height:1}.account-completion-ring span{color:var(--muted-foreground);font-size:.875rem}.account-completion-legend{justify-content:center;gap:2rem;margin-top:1.25rem;display:flex}.account-completion-legend dd{font-size:2rem}.account-puzzle-mix h3{margin-bottom:.25rem;font-size:1.125rem;font-weight:650}.account-mix-bars{gap:.75rem;margin-top:1rem;display:grid}.account-mix-label dt{align-items:center;gap:.5rem;display:flex}.account-mix-swatch{border-radius:var(--radius);background:var(--brand);flex-shrink:0;width:.625rem;height:.625rem}.account-mix-label{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.account-mix-label dd{font-variant-numeric:tabular-nums;margin:0;font-weight:650}.account-mix-track{border-radius:var(--radius);background:var(--muted);height:.625rem;margin-top:1.5rem;display:flex;overflow:hidden}.account-mix-track span{background:var(--brand);height:100%;transition:width var(--motion-normal) var(--motion-ease);display:block}.account-mix-track span:nth-child(2),.account-mix-bars>div:nth-child(2) .account-mix-swatch{background:var(--muted-foreground)}@media (max-width:40rem){.account-progress-graphic{grid-template-columns:minmax(0,1fr);gap:2rem}.account-completion{width:100%;max-width:20rem;margin-inline:auto}}.account-storage-notice{min-height:3rem;margin-top:1rem}@media (max-width:40rem){.account-storage-notice{min-height:4.5rem}}
.not-found-page{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:20px;max-width:36rem;margin-inline:auto;padding:32px 24px;display:flex}.not-found-tiles{gap:8px;display:flex}.not-found-tiles span{border-radius:var(--home-logo-radius,var(--radius));background:var(--brand);width:64px;height:64px;color:var(--brand-foreground);font-family:var(--home-logo-font,var(--font-sans));font-weight:var(--home-logo-weight,700);place-items:center;font-size:36px;display:grid}.not-found-tiles span:nth-child(2){transform:translateY(-8px)rotate(-8deg)}.not-found-page p{color:var(--muted-foreground);margin:0}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}@media (max-width:480px){.not-found-actions{flex-direction:column;width:100%}}
.admin-page{min-width:0}.admin-page h2{margin:0;font-size:1.25rem}.admin-page h3{margin:0;font-size:1rem}.admin-mode,.admin-row,.admin-heading,.admin-inline,.admin-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-mode{border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--muted);padding:1rem}.admin-mode strong{align-items:center;gap:.5rem;display:flex}.admin-mode svg{width:1.25rem;height:1.25rem}.admin-mode p,.admin-muted,.admin-row p,.admin-row small{color:var(--muted-foreground);margin:.35rem 0 0;font-size:.875rem}.admin-tabs{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.admin-notice{min-height:1.5em;margin:.75rem 0}.admin-section,.admin-form{gap:1rem;min-width:0;display:grid}.admin-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));align-items:end}.admin-form .ui-button{justify-self:start}.admin-page label{gap:.5rem;min-width:0;display:grid}.admin-page .admin-inline{display:flex}.admin-page input,.admin-page textarea{width:100%;min-width:0}.admin-row{border-bottom:1px solid var(--border);padding-block:1rem}.admin-row>div{overflow-wrap:anywhere;min-width:0}.admin-row .ui-switch,.admin-mode .ui-switch{flex-shrink:0}.admin-loading{align-content:center;justify-items:center;gap:1rem;min-height:12rem;display:grid}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;padding-block:1rem;display:grid}.admin-metrics dd{margin:0;font-size:1.75rem;font-weight:700}.admin-metrics dt{color:var(--muted-foreground);font-size:.875rem}.admin-table-region{max-width:100%;overflow-x:auto}.admin-page table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.admin-page th,.admin-page td{border-bottom:1px solid var(--border);vertical-align:top;padding:.75rem}.admin-page th:first-child,.admin-page td:first-child{padding-left:0}.admin-collection-list{gap:.75rem;display:grid}.admin-collection-entry{text-align:left;white-space:normal;justify-content:space-between;width:100%;height:auto;padding:1rem}.admin-collection-entry small{margin-top:.25rem;font-weight:400;display:block}.admin-separated{border-top:1px solid var(--border);margin-top:.5rem;padding-top:1rem}.admin-page summary{cursor:pointer;margin-bottom:1rem;font-weight:700}.admin-json{resize:vertical;min-height:12rem;font-family:monospace}.admin-id{overflow-wrap:anywhere;color:var(--muted-foreground)}.admin-puzzles{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.admin-puzzles li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;display:flex}.admin-puzzles li>div{min-width:0}.admin-puzzles p{margin-block:.25rem}.admin-actions{flex-shrink:0;justify-content:flex-end;gap:.5rem}@media (max-width:639px){.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-tabs .ui-button{white-space:normal;height:auto;min-height:2.75rem}.admin-form{grid-template-columns:minmax(0,1fr)}.admin-form .ui-button{justify-self:stretch;width:100%}.admin-puzzles li{flex-direction:column;align-items:stretch}.admin-actions{justify-content:flex-start}.admin-metrics{gap:.5rem}.admin-metrics dd{font-size:1.4rem}}.admin-section,.admin-collection-entry,.admin-puzzles li,.admin-section [role=status]{animation:admin-reveal var(--motion-fast) var(--motion-ease) both}@keyframes admin-reveal{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}.admin-page details::details-content{interpolate-size:allow-keywords;opacity:0;height:0;transition:height var(--motion-normal) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease), content-visibility var(--motion-normal) allow-discrete;overflow:clip}.admin-page details[open]::details-content{opacity:1;height:auto}@media (prefers-reduced-motion:reduce){.admin-page *{transition:none;animation:none}.admin-page details::details-content{transition:none;animation:none}}.admin-registration-chart{border:var(--border-width) solid var(--border);border-radius:var(--radius);min-width:0;padding:1rem;position:relative}.admin-registration-chart .admin-heading{flex-wrap:wrap;font-size:.875rem}.admin-registration-chart svg{width:calc(100% - 2.5rem);height:12rem;margin:1rem 0 0 2.5rem;display:block}.admin-chart-column{fill:var(--brand)}.admin-chart-selected{fill:var(--foreground)}.admin-chart-baseline{stroke:var(--border)}.admin-chart-scale{height:12rem;color:var(--muted-foreground);flex-direction:column;justify-content:space-between;margin-top:1rem;font-size:.75rem;display:flex;position:absolute}.admin-chart-dates,.admin-chart-value{flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.875rem;display:flex}.admin-chart-dates{color:var(--muted-foreground);margin-left:2.5rem}.admin-chart-control{margin-top:1rem;font-size:.875rem}.admin-chart-control input{min-height:2.75rem;accent-color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0}.admin-chart-value{font-variant-numeric:tabular-nums;margin-bottom:0}@media (max-width:639px){.admin-upcoming thead{display:none}.admin-upcoming table,.admin-upcoming tbody,.admin-upcoming tr{display:block}.admin-upcoming tr{border-bottom:1px solid var(--border);padding-block:.75rem}.admin-upcoming td,.admin-upcoming td:first-child{overflow-wrap:anywhere;border:0;grid-template-columns:4rem minmax(0,1fr);gap:.5rem;padding:.25rem 0;display:grid}.admin-upcoming td:before{content:attr(data-label);color:var(--muted-foreground)}.admin-metrics{grid-template-columns:1fr}.admin-metrics>div{border-bottom:1px solid var(--border);padding-block:.5rem}}
.home-main-actions>.home-play-primary{height:72px;min-height:72px}.home-page-native .home-hero{min-height:100%;padding-block:32px}.daily-menu-availability{font-size:14px}.daily-menu-availability p{min-height:4.5em;margin-block:0 12px;line-height:1.5}.daily-menu-back{align-self:flex-start}.home-page{position:relative}.home-announcement{top:0;z-index:2;justify-content:center;align-items:center;gap:var(--space-control);padding:4px var(--space-control);background:var(--primary);color:var(--primary-foreground);opacity:0;visibility:hidden;transition:opacity var(--motion-normal) var(--motion-ease), transform var(--motion-normal) var(--motion-ease), visibility var(--motion-normal);font-size:14px;font-weight:600;display:flex;position:absolute;inset-inline:0;transform:translateY(-8px)}.home-announcement[data-visible=true]{opacity:1;visibility:visible;transform:translateY(0)}.home-announcement-copy{justify-content:center;align-items:baseline;gap:calc(var(--space-control) / 3) var(--space-control);text-align:center;flex-wrap:wrap;min-width:0;display:flex}.home-announcement a{color:inherit;text-underline-offset:3px;white-space:nowrap;text-decoration:underline}.home-announcement .ui-button{color:inherit;flex-shrink:0}@media (max-width:639px){.home-announcement{justify-content:space-between}.home-announcement-copy{text-align:left;flex:1;justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.home-announcement{transition:none;transform:none}}
.daily-menu{flex-direction:column;gap:24px;width:min(100%,640px);margin-inline:auto;padding:32px 24px;display:flex}.daily-week-controls{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.daily-week-controls>.ui-button{padding-inline:0}.daily-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.daily-week button{border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);font:inherit;cursor:var(--cursor-action);transition:background-color var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease);background:0 0;justify-items:center;gap:8px;padding:12px 0 8px;display:grid}.daily-week button>span{color:var(--muted-foreground);font-size:12px}.daily-week button strong{font-size:20px}.daily-week button[aria-current]{background:var(--primary);color:var(--primary-foreground)}.daily-week button[aria-current]>span{color:inherit}.daily-week button:disabled{opacity:.35;cursor:default}.daily-week button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.daily-week button:not(:disabled):not([aria-current]):hover{background:var(--accent);color:var(--accent-foreground)}.daily-week button:not(:disabled):not([aria-current]):hover>span{color:inherit}@media (max-width:559px){.daily-menu{gap:16px;padding:24px 16px}}.daily-games-group{min-width:0;margin-block:var(--space-control);padding:var(--space-control);border:var(--border-width) solid var(--border);border-radius:var(--radius);margin-inline:0}.daily-games-group>legend{color:var(--foreground);font-family:var(--font-heading,var(--font-sans));padding-inline:8px;font-size:20px;font-weight:800}.daily-today-cards{text-align:left;margin:0}.daily-menu-availability p{min-height:3em}.daily-today-cards .daily-menu-availability{margin-top:12px}.daily-today-cards .daily-menu-availability p{min-height:1.5em;margin:0}.daily-selected-date{width:100%;color:var(--muted-foreground);text-align:center;align-items:center;gap:12px;margin:0;font-size:13px;display:flex}.daily-selected-date:before,.daily-selected-date:after{content:"";background:var(--border);flex:1;height:1px}.daily-selected-date time{flex:none}.daily-menu-games{grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:16px;display:grid}.daily-today-cards .daily-menu-games{gap:var(--space-control)}.ui-button.daily-menu-game{isolation:isolate;width:100%;height:auto;padding:var(--space-control);border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--daily-card);color:var(--daily-card-foreground);box-shadow:var(--shadow-card);text-align:left;white-space:normal;transition:transform var(--button-release-duration), box-shadow var(--button-release-duration), opacity var(--button-release-duration);align-items:stretch;display:flex;position:relative;overflow:hidden}.ui-button.daily-menu-game-hard{background:var(--daily-hard-card)}.ui-button.daily-menu-game[data-completed]{background:var(--muted);color:var(--muted-foreground);box-shadow:none}.ui-button.daily-menu-game>.daily-card-artwork{z-index:-1;fill:currentColor;opacity:.055;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.daily-card-copy{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.daily-card-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;min-height:28px;font-size:11px;line-height:1.5;display:grid}.daily-menu-progress{white-space:nowrap;justify-self:end}.daily-card-label{letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800}.daily-menu-progress{border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--background);min-width:7.5em;color:var(--foreground);align-items:center;gap:4px;padding:3px 8px;font-weight:600;display:inline-flex}.daily-menu-puzzle-title{white-space:normal;overflow-wrap:anywhere;font-family:var(--font-heading,var(--font-sans));letter-spacing:-.025em;flex:1;align-items:center;font-size:22px;font-weight:900;line-height:1.2;display:flex}.daily-player-count,.daily-card-streak{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.daily-card-action{min-height:24px;color:inherit;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;font-size:14px;font-weight:800;display:flex}.daily-card-footer{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.daily-card-metadata{align-items:center;gap:12px;font-size:11px;display:flex}.daily-card-action svg{flex-shrink:0}@media (min-width:800px){.daily-today-cards .daily-menu-games{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (hover:hover) and (pointer:fine){.ui-button.daily-menu-game:not(:disabled):not([aria-disabled=true]):hover{background:var(--daily-card);color:var(--daily-card-foreground);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.ui-button.daily-menu-game-hard:not(:disabled):not([aria-disabled=true]):hover{background:var(--daily-hard-card)}.ui-button.daily-menu-game[data-completed]:not(:disabled):not([aria-disabled=true]):hover{background:var(--muted);color:var(--foreground)}}@media (prefers-reduced-motion:reduce){.ui-button.daily-menu-game{transition:none}.ui-button.daily-menu-game:not(:disabled):not([aria-disabled=true]):hover{transform:none}.daily-week button{transition:none}}.daily-week-viewport{isolation:isolate;overflow-clip-margin:4px;min-width:0;position:relative;overflow:clip}.daily-week-outgoing{pointer-events:none;position:absolute;inset:0}.ui-button.daily-menu-game:active:not(:disabled):not([aria-disabled=true]){background:var(--daily-card);color:var(--daily-card-foreground)}.ui-button.daily-menu-game-hard:active:not(:disabled):not([aria-disabled=true]){background:var(--daily-hard-card)}.native-layout .daily-menu>.page-header{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-button.daily-menu-game[aria-disabled=true]{opacity:.5;cursor:default}.daily-puzzle-with-chart{gap:var(--space-control);flex-direction:column;min-width:0;display:flex}.daily-puzzle-with-chart>.daily-menu-game{flex:none}.daily-distribution{padding-bottom:calc(var(--space-control) * 3);animation:distribution-enter var(--motion-normal) var(--motion-ease) both;position:relative}.daily-distribution-retry{inset-inline:0;justify-content:space-between;align-items:center;gap:var(--space-control);font-size:var(--text-sm);color:var(--muted-foreground);display:flex;position:absolute;bottom:0}@media (prefers-reduced-motion:reduce){.daily-distribution{animation:none}}.daily-distribution .postgame-chart-viewport{height:calc(var(--spacing) * 72)}.daily-distribution .postgame-chart-empty{box-sizing:border-box;height:100%;min-height:0}.daily-distribution .postgame-chart-skeleton{aspect-ratio:auto;height:100%}.daily-menu .daily-puzzle-with-chart{border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);gap:0;overflow:hidden}.daily-menu .daily-puzzle-with-chart>.ui-button.daily-menu-game{border:0;border-bottom:var(--border-width) solid var(--border);outline-offset:-4px;border-radius:0}.daily-menu .daily-puzzle-with-chart>.ui-button.daily-menu-game:is(:hover,:active){box-shadow:none;transform:none}.daily-menu .daily-distribution .postgame-distribution{border:0;border-radius:0}.daily-menu .daily-distribution-retry{inset-inline:var(--space-control)}.daily-menu .daily-menu-games{grid-auto-rows:auto;align-items:start}.daily-distribution-toggle{width:100%;min-height:var(--control-height);padding:var(--space-control);background:var(--card);color:var(--card-foreground);font:inherit;font-size:var(--text-sm);text-align:left;transition:background-color var(--motion-fast) var(--motion-ease);border:0;justify-content:space-between;align-items:center;font-weight:700;display:flex}.daily-distribution-toggle:hover{background:var(--muted)}.daily-distribution-toggle:focus-visible{outline:var(--border-width) solid var(--ring);outline-offset:-4px}.daily-distribution-toggle svg{transition:transform var(--motion-normal) var(--motion-ease);flex:none;display:block}.daily-distribution-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.daily-distribution-collapse{opacity:0;transition:grid-template-rows var(--motion-normal) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease);grid-template-rows:0fr;display:grid}.daily-distribution-collapse[data-open=true]{opacity:1;grid-template-rows:1fr}.daily-distribution-collapse>div{min-height:0;overflow:hidden}@media (min-width:1024px){.daily-menu .daily-menu-games{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.daily-distribution-collapse,.daily-distribution-toggle,.daily-distribution-toggle svg{transition:none}}
.blog-welcome-card{padding:calc(var(--space-control) * 2);border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground)}.blog-welcome-card p{margin:0;line-height:1.7}.blog-welcome-card :where(p)+p{margin-top:var(--space-control)}.blog-welcome-card a{color:var(--link-foreground);font-weight:600}.scene-content .scene-page.blog-page{max-width:720px;font-size:15px}.blog-page>.page-header{margin-bottom:calc(var(--space-control) * 2)}.blog-page>.page-header .breadcrumbs{margin-bottom:calc(var(--space-control) * 2);font-size:13px}.blog-page>.page-header .page-header-title{font-size:28px;line-height:1.25;font-weight:var(--heading-weight,700);letter-spacing:-.025em}.blog-page>.page-header .page-header-description{max-width:60ch;margin:var(--space-control) 0 0;font-size:15px;line-height:1.65}.blog-page h2,.blog-page h3{font-family:var(--font-heading,var(--font-sans));font-weight:var(--heading-weight,700);overflow-wrap:anywhere;line-height:1.35}.blog-page a:not(.breadcrumb-link){text-underline-offset:3px;text-decoration:underline}.blog-filters,.blog-post-details{gap:var(--space-control);flex-wrap:wrap;align-items:center;display:flex}.blog-filters{padding:0 0 var(--space-control);border:0;border-bottom:1px solid var(--border);gap:4px;margin:0}.blog-filters .ui-button{min-height:44px;font-size:13px}.blog-post-card{border-bottom:1px solid var(--border);padding:calc(var(--space-control) * 2) 0;animation:blog-enter var(--motion-normal) var(--motion-ease) both}.blog-post-card h2{letter-spacing:-.015em;margin:6px 0;font-size:20px}.blog-page .blog-post-card h2 a{color:var(--foreground);text-decoration:none}.blog-page .blog-post-card h2 a:hover{text-decoration:underline}.blog-post-card>p,.blog-post-details,.blog-byline{color:var(--muted-foreground)}.blog-post-details,.blog-card-author,.blog-byline{font-size:13px}.blog-page .blog-post-details{margin:0;line-height:1.6}.blog-post-details>span:first-child{color:var(--link-foreground);font-weight:600}.blog-post-details time{margin-left:auto}.blog-byline{align-items:center;gap:4px var(--space-control);padding-bottom:calc(var(--space-control) * 2);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.blog-page .blog-byline .blog-post-details{gap:var(--space-control)}.blog-byline .blog-post-details time{margin-left:0}.blog-content.prose{--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--link-foreground);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--muted-foreground);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--foreground);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--muted-foreground);--tw-prose-kbd:var(--foreground);--tw-prose-code:var(--foreground);--tw-prose-pre-code:var(--foreground);--tw-prose-pre-bg:var(--muted);--tw-prose-th-borders:var(--border);--tw-prose-td-borders:var(--border);max-width:none;margin:calc(var(--space-control) * 2) 0 0;overflow-wrap:anywhere;font-size:15px;line-height:1.75}.blog-content.prose :where(h2){font-size:20px}.blog-content.prose :where(h3){font-size:17px}.blog-content.prose :where(code):before,.blog-content.prose :where(code):after{content:none}.blog-content.prose :where(pre){border:1px solid var(--border);border-radius:var(--radius);max-width:100%;overflow-x:auto}.blog-author{align-items:center;gap:var(--space-control);display:inline-flex}.blog-author img{border-radius:50%;width:28px;height:28px;display:block}.blog-content img{border-radius:var(--radius);width:100%;max-width:600px;height:auto;margin-inline:auto;display:block}@keyframes blog-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:639px){.blog-page>.page-header .page-header-title{font-size:24px}.blog-post-details{gap:6px var(--space-control)}.blog-post-details time{flex-basis:100%;margin-left:0}.blog-byline{justify-content:space-between;align-items:flex-end}.blog-page .blog-byline .blog-post-details{flex:1}}@media (prefers-reduced-motion:reduce){.blog-post-card{animation:none}}.blog-page .blog-post-card>p{margin:6px 0}.blog-empty{padding-block:calc(var(--space-control) * 2);color:var(--muted-foreground);animation:blog-enter var(--motion-normal) var(--motion-ease) both;margin:0;line-height:1.65}@media (prefers-reduced-motion:reduce){.blog-empty{animation:none}}.blog-theme-demo{padding:calc(var(--space-control) * 2);border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground)}.blog-page .blog-theme-demo>p{margin:0 0 var(--space-control);font-size:14px;line-height:1.6}.blog-theme-demo .theme-selector{gap:var(--space-control);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.blog-theme-demo .theme-selector label{min-width:0;font-size:13px}@media (max-width:399px){.blog-theme-demo .theme-selector{grid-template-columns:1fr}}
.collection-number,.collection-complete-badge,.collection-progress-track,.collection-puzzles button,.collection-puzzle-placeholder{border-radius:var(--radius)}.collections-page{width:min(100%,672px);margin-inline:auto;padding:24px 16px 32px}.collection-cards{align-content:start;gap:var(--space-control);display:grid}.collection-card{text-align:left;color:var(--card-foreground);background:var(--card);border:var(--border-width) solid var(--border);padding:var(--space-control);cursor:var(--cursor-action);text-decoration:none}.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:var(--space-control);margin-top:var(--space-control);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-card,.collection-up-next,.collection-puzzles button{touch-action:manipulation}.collection-puzzles button{justify-content:space-between;gap:var(--space-control);width:100%;padding:var(--space-control);border:var(--border-width) solid var(--border);background:var(--card);color:var(--foreground);text-align:left;cursor:var(--cursor-action);display:flex}.collection-hero{gap:var(--space-control);padding:var(--space-control);border:var(--border-width) solid var(--border);box-shadow:var(--shadow-card);background-image:linear-gradient(to bottom, transparent, var(--card)), var(--collection-pattern);background-color:color-mix(in srgb, var(--collection-color) 40%, var(--card));color:var(--card-foreground);margin:16px 0;display:grid}.collection-up-next{align-items:center;gap:var(--space-control);width:100%;padding:var(--space-control);color:var(--button-primary-foreground);background:var(--button-primary);border:var(--border-width) solid var(--border);box-shadow:var(--shadow-card);cursor:var(--cursor-action);margin-bottom:24px;text-decoration:none;display:flex}.collection-number{border:var(--border-width) solid var(--border);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:var(--space-control);margin:0 0 32px;display:grid}.collection-puzzles button{justify-content:flex-start;align-items:center;gap:var(--space-control);padding:var(--space-control);border:var(--border-width) solid var(--border);box-shadow:var(--shadow-card);font-size:14px;font-weight:700}.collection-puzzles .is-complete{background:var(--muted);color:var(--muted-foreground)}.collection-puzzles .is-complete .collection-number{background:var(--primary);color:var(--primary-foreground)}.collection-card{border:var(--border-width) solid var(--border);box-shadow:var(--shadow-card);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));color:var(--card-foreground)}@media (hover:hover) and (pointer:fine){.collection-card:hover{border-color:var(--link-foreground)}.collection-puzzles button:hover{background:var(--accent);color:var(--accent-foreground)}.collection-up-next:hover{background:var(--button-primary-hover)}}.collection-card,.collection-up-next,.collection-puzzles button{transition:background-color var(--button-release-duration), color var(--button-release-duration), opacity var(--button-release-duration)}.collection-card:active,.collection-up-next:active,.collection-puzzles button:active{opacity:var(--button-pressed-opacity);transition-duration:0s}.collection-card:focus-visible,.collection-up-next:focus-visible,.collection-puzzles button:focus-visible{outline:4px solid var(--ring);outline-offset:2px}.collection-progress-track{background-color:var(--muted);overflow:hidden}@media (prefers-reduced-motion:reduce){.collection-card,.collection-up-next,.collection-puzzles button{transition:none}}.collection-puzzle-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.collection-row-stats{align-items:center;gap:var(--space-control);flex-shrink:0;font-size:12px;font-weight:600;display:flex}.collection-row-stats>span{align-items:center;gap:4px;display:flex}.collection-progress-track{border:var(--border-width) solid var(--border);background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(var(--collection-segment) - 1px), var(--border) calc(var(--collection-segment) - 1px), var(--border) var(--collection-segment)), linear-gradient(to right, var(--primary) var(--collection-filled), transparent var(--collection-filled));flex:1;min-width:0;height:14px}.collection-detail-progress .collection-progress{margin-top:0}.collection-complete-badge{border:var(--border-width) solid var(--border);background:var(--primary);color:var(--primary-foreground);flex-shrink:0;padding:2px 8px;font-size:12px;font-weight:700}.collection-detail-progress{align-items:center;gap:var(--space-control);display:flex}.collection-detail-progress .collection-progress{flex:1;min-width:0}.ui-button.collection-shuffle{align-items:center;gap:var(--space-control);padding:var(--space-control);margin-bottom:var(--space-control);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:var(--cursor-action);display:flex}.collection-shuffle:disabled{cursor:default}.ui-button.play-collections-entry{background:var(--card);color:var(--foreground)}.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}.play-collections-entry .collection-shuffle-icon{background:var(--muted);color:var(--muted-foreground)}.collection-shuffle-copy{flex:1;gap:4px;min-width:0;font-size:12px;font-weight:600;display:grid}.collection-shuffle-title{align-items:center;gap:var(--space-control);flex-wrap:wrap;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){.ui-button.play-collections-entry:hover:not(:disabled):not([aria-disabled=true]){background:var(--secondary);color:var(--secondary-foreground)}}.collection-cards,.collection-detail-skeleton{min-height:calc(100svh - 16rem)}.collection-card h2{line-height:1.2}.collection-card p,.collection-skeleton-description{line-height:1.5}.collections-status-region{align-items:center;gap:var(--space-control);min-height:2.625rem;color:var(--muted-foreground);grid-template-columns:minmax(0,1fr) auto;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:var(--space-control);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:1.2em;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{align-items:center;gap:var(--space-control);padding:var(--space-control);border:var(--border-width) solid var(--border);box-shadow:var(--shadow-card);background:var(--card);display:flex}.collection-hero>.collection-detail-progress,.collection-card-placeholder .collection-progress{min-height:21px}.ui-button.play-collections-entry:active:not(:disabled):not([aria-disabled=true]){background:var(--secondary);color:var(--secondary-foreground)}.collection-table-wrap{margin-bottom:calc(var(--space-control) * 2);border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);overflow:hidden}.collection-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.collection-table th,.collection-table td{padding:calc(var(--space-control) / 2) var(--space-control);border-bottom:var(--border-width) solid var(--border);text-align:right;white-space:nowrap}.collection-table th{background:var(--muted);color:var(--muted-foreground);font-weight:600}.collection-table th:first-child,.collection-table td:first-child{text-align:left;white-space:normal;width:100%}.collection-table tr.is-complete{background:color-mix(in srgb, var(--primary) 15%, var(--card));color:var(--card-foreground)}.collection-table-link svg{color:var(--link-foreground);flex-shrink:0}.collection-table th svg{margin-left:auto;display:block}.collection-table tr:last-child td{border-bottom:0}.collection-table-link{align-items:center;gap:calc(var(--space-control) / 2);min-height:var(--control-height);width:100%;color:inherit;text-align:left;cursor:var(--cursor-action);border-radius:var(--radius);touch-action:manipulation;background:0 0;border:0;padding:0;text-decoration:none;display:flex}.collection-table-number{min-width:2ch;color:var(--muted-foreground)}.collection-table-title{overflow-wrap:anywhere}.collection-table-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.collection-table tr:has(.collection-table-link:hover){background:var(--accent);color:var(--accent-foreground)}}@media (max-width:383px){.collection-table th,.collection-table td{padding-inline:calc(var(--space-control) / 2)}}.collection-hero .collection-detail-progress,.collection-hero .collection-up-next{margin:0}.collection-hero .collection-detail-progress{margin:0 0 16px}
.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 (prefers-reduced-motion:reduce){.custom-spinner{animation:none}}
.development-awards{gap:var(--space-control);display:grid}.development-awards h2,.development-awards p{margin:0}.award-preview-grid{gap:var(--space-control);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));display:grid}.award-preview-card{padding:calc(var(--space-control) * 2) calc(var(--space-control) * 4 / 3) calc(var(--space-control) * 4 / 3);border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);text-align:center;flex-direction:column;align-items:center;display:flex}.award-preview-category{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--muted-foreground)}.award-preview-art{aspect-ratio:4/3;width:100%;max-width:360px}.award-preview-art svg{width:100%;height:100%;display:block;overflow:visible}.award-preview-copy{padding-bottom:var(--space-control);flex:1}.award-preview-copy h3{margin:0 0 calc(var(--space-control) * 2 / 3);font-size:var(--text-2xl);line-height:var(--leading-tight)}.award-preview-copy p{font-size:var(--text-sm)}.award-art-surface,.award-wandering-piece,.award-opening-rare{fill:var(--primary);stroke:var(--border);stroke-width:var(--border-width)}.award-art-number{font-size:var(--text-7xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tighter);fill:var(--primary-foreground)}.award-art-caption{font-size:calc(var(--text-xs) * 11 / 12);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-widest);fill:var(--foreground)}.award-medallion .award-art-caption{fill:var(--primary-foreground)}.award-sparks{fill:none;stroke:var(--foreground);stroke-width:calc(var(--border-width) * 3);stroke-linecap:round}.award-ghost-piece{fill:var(--muted);stroke:var(--border);stroke-width:var(--border-width)}.award-ghost-piece text{fill:var(--muted-foreground);stroke:none;font-size:calc(var(--text-xs) * 5 / 6)}.award-piece-target{fill:var(--muted);stroke:var(--primary);stroke-width:calc(var(--border-width) * 2)}.award-wandering-piece{transform:translate(136px,112px)}.award-opening-other{fill:var(--muted);stroke:var(--border);stroke-width:var(--border-width)}.award-art-percent{fill:var(--foreground);font-size:var(--text-3xl);font-weight:var(--font-weight-bold)}.award-preview-card .award-preview-art{animation:award-appear var(--motion-normal) var(--motion-ease) both}.award-medallion{transform-origin:160px 120px;animation:award-float calc(var(--motion-normal) * 16) var(--motion-ease) infinite}.award-wandering-piece{animation:award-six-tries calc(var(--motion-normal) * 16) var(--motion-ease) infinite}.award-piece-gold{animation:award-gold calc(var(--motion-normal) * 16) var(--motion-ease) infinite}.award-opening-arrow{fill:none;stroke:var(--foreground);stroke-width:calc(var(--border-width) * 2);stroke-linecap:round;stroke-linejoin:round;animation:award-arrow-bob calc(var(--motion-normal) * 8) var(--motion-ease) infinite}.award-preview-card[data-visible=false] .award-preview-art,.award-preview-card[data-visible=false] .award-preview-art *{animation-play-state:paused}@keyframes award-appear{0%{opacity:0}to{opacity:1}}@keyframes award-float{0%,to{transform:translateY(2px)rotate(-1deg)}50%{transform:translateY(-5px)rotate(1deg)}}@keyframes award-six-tries{0%,8%{transform:translate(40px,48px)}15%,23%{transform:translate(136px,24px)}30%,38%{transform:translate(232px,48px)}45%,53%{transform:translate(208px,128px)}60%,68%{transform:translate(64px,144px)}75%,92%{transform:translate(136px,112px)}to{transform:translate(40px,48px)}}@keyframes award-gold{0%,73%,98%,to{opacity:0}79%,92%{opacity:1}}@keyframes award-arrow-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.award-neutral-surface,.award-calendar-day{fill:var(--muted);stroke:var(--border);stroke-width:var(--border-width)}.award-calendar-day{fill:var(--primary)}.award-ink-line{fill:none;stroke:var(--foreground);stroke-width:calc(var(--border-width) * 2);stroke-linecap:round;stroke-linejoin:round}.award-small-number{fill:var(--primary-foreground);font-size:var(--text-base);font-weight:var(--font-weight-semibold)}.award-calendar-number{fill:var(--primary-foreground);font-size:calc(var(--text-6xl) * .9);font-weight:var(--font-weight-bold)}.award-calendar-seven{transform-origin:215px 135px;animation:award-day-wiggle calc(var(--motion-normal) * 16) var(--motion-ease) infinite}.award-finish-pieces{stroke:var(--border);stroke-width:var(--border-width);stroke-linejoin:round}.award-finish-one{animation:award-fit-one calc(var(--motion-normal) * 16) var(--motion-ease) infinite}.award-finish-two{animation:award-fit-two calc(var(--motion-normal) * 16) var(--motion-ease) infinite}.award-finish-three{animation:award-fit-three calc(var(--motion-normal) * 16) var(--motion-ease) infinite}.award-finish-four{animation:award-fit-four calc(var(--motion-normal) * 16) var(--motion-ease) infinite}.award-ticket-caption{fill:var(--primary-foreground);font-size:calc(var(--text-xs) * 11 / 12);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wider)}.award-match-right .award-art-caption{font-size:calc(var(--text-xs) * 2 / 3);letter-spacing:var(--tracking-wide)}.award-ticket-value{fill:var(--primary-foreground);font-size:calc(var(--text-base) * 2);font-weight:var(--font-weight-bold)}.award-ticket-other{fill:var(--foreground)}.award-match-left{transform-origin:84px 127px;animation:award-match-left calc(var(--motion-normal) * 18) var(--motion-ease) infinite}.award-match-right{transform-origin:236px 127px;animation:award-match-right calc(var(--motion-normal) * 18) var(--motion-ease) infinite}.award-match-equals{animation:award-match-equals calc(var(--motion-normal) * 18) var(--motion-ease) infinite}@keyframes award-day-wiggle{0%,45%,to{transform:rotate(0)translateY(0)}55%{transform:rotate(-5deg)translateY(-3px)}65%{transform:rotate(4deg)translateY(-3px)}75%{transform:rotate(-2deg)translateY(-1px)}85%{transform:rotate(0)translateY(0)}}@keyframes award-fit-one{0%,6%,to{transform:translate(-35px,-18px)}20%,84%{transform:translate(0)}}@keyframes award-fit-two{0%,18%,to{transform:translate(35px,-18px)}32%,84%{transform:translate(0)}}@keyframes award-fit-three{0%,30%,to{transform:translate(35px,18px)}44%,84%{transform:translate(0)}}@keyframes award-fit-four{0%,42%,to{transform:translate(-35px,18px)}56%,84%{transform:translate(0)}}@keyframes award-match-left{0%,to{transform:translate(-7px)rotate(-4deg)}35%,75%{transform:translate(0)rotate(0)}}@keyframes award-match-right{0%,to{transform:translate(7px)rotate(4deg)}35%,75%{transform:translate(0)rotate(0)}}@keyframes award-match-equals{0%,15%,to{opacity:0}35%,75%{opacity:1}}.award-object-line{fill:none;stroke:var(--primary-foreground);stroke-width:calc(var(--border-width) * 2);stroke-linecap:round;stroke-linejoin:round}.award-puzzle-outline{stroke:var(--border);stroke-width:var(--border-width);stroke-linejoin:round}.award-route-muted,.award-route-line{fill:none;stroke:var(--border);stroke-width:calc(var(--border-width) * 2);stroke-linejoin:round;stroke-linecap:round}.award-route-line{stroke:var(--primary)}.award-moon-float{animation:award-float calc(var(--motion-normal) * 18) var(--motion-ease) infinite;transform-origin:160px 120px}.award-route-traveller{animation:award-own-route calc(var(--motion-normal) * 24) var(--motion-ease) infinite;transform:translate(266px,185px)}.award-piece-stack{transform-origin:160px 200px;animation:award-stack-balance calc(var(--motion-normal) * 20) var(--motion-ease) infinite}@keyframes award-stack-balance{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes award-own-route{0%,8%,to{opacity:1;transform:translate(54px,185px)}25%{transform:translate(54px,45px)}50%{transform:translate(238px,45px)}70%{transform:translate(238px,185px)}80%,90%{opacity:1;transform:translate(266px,185px)}94%{opacity:0;transform:translate(266px,185px)}96%{opacity:0;transform:translate(54px,185px)}}.award-counter-previous,.award-counter-current{transform-origin:160px 137px;animation:award-counter-current calc(var(--motion-normal) * 20) var(--motion-ease) infinite}.award-counter-previous{opacity:0;animation-name:award-counter-previous}@keyframes award-counter-previous{0%,20%,to{opacity:1;transform:scaleY(1)}30%,92%{opacity:0;transform:scaleY(0)}}@keyframes award-counter-current{0%,30%,to{opacity:0;transform:scaleY(0)}40%,85%{opacity:1;transform:scaleY(1)}92%{opacity:0;transform:scaleY(0)}}.award-bulb{fill:var(--primary);color:var(--primary-foreground);animation:award-bulb-light calc(var(--motion-normal) * 16) var(--motion-ease) infinite}.award-bulb-glass{fill:inherit;stroke:var(--border);stroke-width:var(--border-width)}.award-bulb .award-object-line{stroke:currentColor}.award-bulb-rays{animation:award-bulb-rays calc(var(--motion-normal) * 16) var(--motion-ease) infinite}@keyframes award-bulb-light{0%,15%,to{fill:var(--muted);color:var(--muted-foreground)}40%,70%{fill:var(--primary);color:var(--primary-foreground)}}@keyframes award-bulb-rays{0%,15%,to{opacity:0}40%,70%{opacity:1}}.award-postage{transform-box:fill-box;transform-origin:50%;animation:award-stamp-one calc(var(--motion-normal) * 24) var(--motion-ease) infinite}.award-postage-two{animation-name:award-stamp-two}.award-postage-three{animation-name:award-stamp-three}.award-postage-four{animation-name:award-stamp-four}@keyframes award-stamp-one{0%,5%,to{opacity:0;transform:scale(1.25)rotate(-8deg)}15%,85%{opacity:1;transform:scale(1)rotate(-8deg)}95%{opacity:0;transform:scale(1)rotate(-8deg)}}@keyframes award-stamp-two{0%,20%,to{opacity:0;transform:scale(1.25)rotate(8deg)}30%,85%{opacity:1;transform:scale(1)rotate(8deg)}95%{opacity:0;transform:scale(1)rotate(8deg)}}@keyframes award-stamp-three{0%,35%,to{opacity:0;transform:scale(1.25)rotate(5deg)}45%,85%{opacity:1;transform:scale(1)rotate(5deg)}95%{opacity:0;transform:scale(1)rotate(5deg)}}@keyframes award-stamp-four{0%,50%,to{opacity:0;transform:scale(1.25)rotate(-12deg)}60%,85%{opacity:1;transform:scale(1)rotate(-12deg)}95%{opacity:0;transform:scale(1)rotate(-12deg)}}.award-stamp-secondary{fill:var(--secondary);stroke:var(--border);stroke-width:var(--border-width)}.award-stamp-secondary-ink{fill:none;stroke:var(--secondary-foreground);stroke-width:var(--border-width);stroke-linecap:round;stroke-linejoin:round}.award-book-page{fill:var(--card);stroke:var(--border);stroke-width:var(--border-width)}.award-book-cover{transform-origin:160px 120px;animation:award-open-book calc(var(--motion-normal) * 24) var(--motion-ease) infinite;transform:scaleX(-1)}@keyframes award-open-book{0%,12%,to{transform:scaleX(1)}45%,80%{transform:scaleX(-1)}}.award-watch-button,.award-watch-hand,.award-watch-result{animation:award-watch-click calc(var(--motion-normal) * 20) var(--motion-ease) infinite}.award-watch-hand{transform-origin:160px 124px;animation-name:award-watch-run;transform:rotate(48deg)}.award-watch-result{animation-name:award-watch-result}@keyframes award-watch-click{0%,5%,15%,48%,58%,to{transform:translate(0)}10%,53%{transform:translate(-4px,4px)}}@keyframes award-watch-run{0%,10%,to{transform:rotate(-48deg)}53%,92%{transform:rotate(48deg)}}@keyframes award-watch-result{0%,15%,53%,to{opacity:0}63%,88%{opacity:1}}.award-game-show-surface{fill:var(--accent);stroke:var(--border);stroke-width:var(--border-width)}.award-game-show-title{fill:var(--accent-foreground);font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:var(--font-weight-black);letter-spacing:var(--tracking-tighter);font-style:italic}.award-daily-card{transform-origin:160px 122px;animation:award-game-show-reveal calc(var(--motion-normal) * 20) var(--motion-ease) infinite}@keyframes award-game-show-reveal{0%,to{opacity:0;transform:scale(.94)rotate(-2deg)}25%,75%{opacity:1;transform:scale(1)rotate(0)}}.award-midnight-clock{animation:award-midnight-fade calc(var(--motion-normal) * 20) var(--motion-ease) infinite}.award-midnight-hand,.award-midnight-hour{transform-origin:160px 110px;animation:award-midnight-tick calc(var(--motion-normal) * 20) steps(3, end) infinite}.award-midnight-hour{animation-name:award-midnight-hour;animation-timing-function:var(--motion-ease)}@keyframes award-midnight-tick{0%,10%,94%,to{transform:rotate(-18deg)}70%,93%{transform:rotate(0)}}@keyframes award-midnight-hour{0%,10%,94%,to{transform:rotate(-1.5deg)}70%,93%{transform:rotate(0)}}@keyframes award-midnight-fade{0%,10%,80%,to{opacity:1}92%,95%{opacity:0}}.award-target-hole{fill:var(--primary-foreground);stroke:var(--border);stroke-width:var(--border-width);transform-box:fill-box;transform-origin:50%;animation:award-hit-one calc(var(--motion-normal) * 24) var(--motion-ease) infinite}.award-target-hole-one{animation-name:award-hit-one}@keyframes award-hit-one{0%,5%,to{opacity:0;transform:scale(.6)}10%,83%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}}.award-target-hole-two{animation-name:award-hit-two}@keyframes award-hit-two{0%,17%,to{opacity:0;transform:scale(.6)}22%,83%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}}.award-target-hole-three{animation-name:award-hit-three}@keyframes award-hit-three{0%,29%,to{opacity:0;transform:scale(.6)}34%,83%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}}.award-target-hole-four{animation-name:award-hit-four}@keyframes award-hit-four{0%,41%,to{opacity:0;transform:scale(.6)}46%,83%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}}.award-target-hole-five{animation-name:award-hit-five}@keyframes award-hit-five{0%,53%,to{opacity:0;transform:scale(.6)}58%,83%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}}.award-done-stamp{transform-origin:160px 150px;animation:award-stamp-done calc(var(--motion-normal) * 20) var(--motion-ease) infinite;transform:rotate(-10deg)}.award-set-caption{fill:var(--secondary-foreground);font-size:var(--text-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-wider)}@keyframes award-stamp-done{0%,10%,to{opacity:0;transform:translateY(-16px)scale(1.2)rotate(-10deg)}27%{opacity:1;transform:translateY(1px)scale(.97)rotate(-10deg)}34%,80%{opacity:1;transform:translateY(0)scale(1)rotate(-10deg)}95%{opacity:0;transform:translateY(0)scale(1)rotate(-10deg)}}@media (prefers-reduced-motion:reduce){.award-preview-card .award-preview-art,.award-preview-card .award-preview-art *{animation:none}}.award-preview-art .award-finish-clock{width:36px;height:36px;color:var(--foreground);stroke-width:var(--border-width)}
.development-page{gap:24px;display:grid}.development-page p:not(.page-header-description){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:var(--cursor-action);margin-bottom:16px}.development-page>.page-header{margin:0}.development-charts{gap:var(--space-control);min-width:0;display:grid}.development-charts h2,.development-charts p{margin:0}.development-chart-controls{gap:var(--space-control);flex-wrap:wrap;display:flex}.development-chart-preview{width:100%;min-width:0}.development-chart-preview[data-mobile=true]{max-width:375px}
.feedback-page{width:min(100% - 32px,672px);margin:32px auto;padding-bottom:32px}.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}}
.interactive-tutorial,.tutorial-toolkit{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.tutorial-board-frame{border:var(--border-width) solid var(--border);border-radius:var(--radius);flex:auto;height:calc(100dvh - 12rem);min-height:32rem;position:relative;overflow:hidden}.tutorial-board-frame .game-board-page{height:100%;min-height:0;position:absolute;inset:0}.tutorial-board-frame .game-board-page .board-overlay-top{padding-top:0}.tutorial-board-frame .tutorial-step-banner{box-sizing:border-box;height:calc(var(--text-xl) * var(--leading-normal) * 3 + var(--spacing) * 6);align-items:center;display:flex;overflow:hidden}.tutorial-board-frame .tutorial-step-banner .completion-banner-inner{width:100%;max-width:none;margin:0}.tutorial-board-frame .board-view-controls{flex-wrap:wrap;justify-content:center}.tutorial-board-frame>.tutorial-toolkit{z-index:2;padding:calc(var(--space-control) * 2);justify-content:center;align-items:center;gap:calc(var(--space-control) * 2);background:var(--background);text-align:center;animation:tutorial-reveal var(--motion-fast) var(--motion-ease) both;margin:0;position:absolute;inset:0;overflow:hidden}.tutorial-tips{gap:calc(var(--space-control) * 2);grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,28rem);margin:0;padding:0;list-style:none;display:grid}.tutorial-tips>li{align-items:center;gap:var(--spacing);text-align:center;flex-direction:column;min-width:0;display:flex}.tutorial-tips>li>svg{color:var(--muted-foreground)}.tutorial-tip-name{justify-content:center;align-items:center;gap:var(--spacing);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:400;line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);text-align:center;color:var(--foreground);display:flex}.tutorial-tip-help{color:inherit;font:inherit;text-align:inherit;-webkit-text-decoration:underline dashed var(--muted-foreground);text-decoration:underline dashed var(--muted-foreground);text-underline-offset:var(--spacing);cursor:var(--cursor-action);background:0 0;border:0;margin:0;padding:0}.tutorial-toolkit-actions{justify-content:center;gap:var(--space-control);flex-wrap:wrap;width:min(100%,28rem);display:flex}@keyframes tutorial-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tutorial-board-frame .game-board-page,.tutorial-board-frame .game-board-canvas{overscroll-behavior:auto}.tutorial-toolkit-heading{flex-direction:column;align-items:center;width:min(100%,28rem);display:flex}.tutorial-toolkit-heading>h3,.tutorial-toolkit-heading>p{text-align:center;width:100%;margin:0}.tutorial-toolkit-heading>h3{font-family:var(--font-heading,var(--font-sans));font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-normal);text-align:center;color:var(--foreground)}.tutorial-toolkit-heading>p{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:400;line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);text-align:center;color:var(--muted-foreground)}.tutorial-toolkit-heading>h3+p{margin-top:calc(var(--spacing) * 2)}.theme-root[data-heading-style=editorial] .tutorial-toolkit-heading>h3{font-weight:var(--heading-weight)}.tutorial-toolkit-actions>.ui-button{flex:1}.tutorial-board-frame .tutorial-step-banner p{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--heading-weight);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);text-align:center;color:var(--foreground);animation:tutorial-reveal var(--motion-fast) var(--motion-ease) both}@media (prefers-reduced-motion:reduce){.tutorial-board-frame .tutorial-step-banner p,.tutorial-board-frame>.tutorial-toolkit{animation:none}}.home-page>#how-to-play:not(.scene-page) .interactive-tutorial,.home-page>#how-to-play:not(.scene-page) .home-board-demo{margin-top:calc(var(--spacing) * 5)}@media (min-width:768px){.home-page>#how-to-play:not(.scene-page)>h2,.home-page>#how-to-play:not(.scene-page) .interactive-tutorial{width:min(100%,40rem)}}@media (max-width:767px){.home-page>#how-to-play:not(.scene-page){height:calc(100dvh - 64px - env(safe-area-inset-top,0px));padding:calc(var(--space-control) * 4) max(calc(var(--spacing) * 5), env(safe-area-inset-right,0px)) calc(var(--spacing) * 16) max(calc(var(--spacing) * 5), env(safe-area-inset-left,0px));scroll-margin-top:calc(var(--spacing) * 16 + env(safe-area-inset-top,0px));flex-direction:column;display:flex;overflow:hidden}.lettered-app:has(#how-to-play.scene-page){height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}.lettered-app:has(#how-to-play.scene-page) .scene-region{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.native-layout .scene-region[data-scene=information]:has(#how-to-play){flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.scene-content .scene-page.home-information#how-to-play{flex-direction:column;flex:1;height:auto;min-height:0;display:flex;overflow:hidden}.lettered-app:has(#how-to-play.scene-page) .scene-content{flex-direction:column;flex:1;height:auto;min-height:0;display:flex;overflow:hidden}.lettered-app:has(#how-to-play.scene-page) .scene-transition{flex-direction:column;flex:1;height:auto;min-height:0;display:flex;overflow:hidden}.lettered-app:has(#how-to-play.scene-page) .scene-transition-panel:not(.scene-transition-outgoing){flex-direction:column;flex:1;height:auto;min-height:0;display:flex;overflow:hidden}.lettered-app:has(#how-to-play.scene-page) .home-page{flex-direction:column;flex:1;height:auto;min-height:0;display:flex;overflow:hidden}.scene-content .scene-page.home-information#how-to-play{padding:8px 12px 12px}.scene-content .scene-page.home-information#how-to-play>.page-header{margin-bottom:var(--space-control);flex:none}.home-page>#how-to-play>h2{flex:none}#how-to-play .interactive-tutorial,#how-to-play .tutorial-toolkit{flex-direction:column;flex:1;max-width:none;min-height:0;display:flex}.game-dialog .tutorial-board-frame,#how-to-play .tutorial-board-frame{flex:16rem;height:auto;min-height:16rem}#how-to-play .tutorial-toolkit{margin-top:0;overflow:hidden}.tutorial-tips{grid-template-columns:repeat(2,minmax(0,1fr))}}
.install-step-copy p{color:var(--muted-foreground);line-height:1.65}.install-platform{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px;font-size:.85rem;display:flex}.install-platform label{font-weight:600}.install-platform .ui-select-wrap{width:min(100%,220px)}.install-walkthrough{background:var(--card);color:var(--card-foreground);border:var(--border-width) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding:24px;display:grid}.install-guide{align-self:start;min-width:0}.install-progress{gap:6px;margin-bottom:4px;display:flex}.install-progress button{height:var(--control-height);cursor:var(--cursor-action);background:0 0;border:0;flex:1;padding:18px 0}.install-progress :where(button) span{background:var(--muted);border-radius:var(--radius);height:5px;transition:background var(--motion-fast) var(--motion-ease);display:block}.install-progress :where(button[aria-current]) span{background:var(--primary)}.install-step-copy{min-height:220px;animation:install-enter var(--motion-normal) var(--motion-ease) both}.install-step-number{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);font-size:.75rem;font-weight:700}.install-step-copy h2{letter-spacing:-.03em;margin:8px 0 12px;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.install-step-copy .install-hint{margin:18px 0 0;font-size:.8rem}.install-step-actions{gap:var(--space-control);justify-content:space-between;margin:0 0 20px;display:flex}.install-step-actions .ui-button{gap:8px}.install-illustration{min-height:460px;animation:install-enter var(--motion-normal) var(--motion-ease) both;flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex}.install-device{color:var(--foreground);background:var(--background);border:3px solid var(--foreground);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.install-phone{border-radius:32px;width:250px;max-width:100%;height:460px}.install-computer{border-radius:12px;width:100%;max-width:340px;height:300px}.install-status{justify-content:space-between;align-items:center;padding:14px 20px 9px;font-size:10px;font-weight:700;display:flex}.install-status-icons{align-items:center;gap:5px;display:flex}.install-browser-address{background:var(--muted);border-radius:10px;justify-content:space-between;align-items:center;margin:6px 12px;padding:9px 12px;font-size:11px;display:flex}.install-mock-page{flex-direction:column;align-items:center;gap:9px;padding:26px 10px;display:flex}.install-app-icon{background:url(/favicon/apple-touch-icon.png) 50%/cover no-repeat;border-radius:13px;width:56px;height:56px;display:block}.install-mock-page>strong{letter-spacing:-.04em;font-size:24px}.install-browser-toolbar{border-top:1px solid var(--border);background:var(--background);justify-content:space-between;align-items:center;padding:10px 18px;display:flex;position:absolute;bottom:23px;left:0;right:0}.install-browser-toolbar>span{border-radius:10px;padding:9px}.install-highlight{outline:2px solid var(--primary);outline-offset:2px;background:color-mix(in srgb, var(--primary) 9%, var(--background))}.install-sheet{background:var(--popover);color:var(--popover-foreground);border-top:1px solid var(--border);border-radius:19px 19px 0 0;padding:10px 14px 28px;position:absolute;inset:auto 0 0}.install-sheet-handle{background:var(--muted-foreground);border-radius:4px;width:28px;height:4px;margin:0 auto 12px}.install-share-identity{align-items:center;gap:10px;font-size:12px;display:flex}.install-share-identity .install-app-icon{border-radius:8px;width:32px;height:32px}.install-share-circles{justify-content:space-between;margin:18px 0;display:flex}.install-share-circles span{background:var(--muted);border-radius:50%;width:32px;height:32px}.install-action-row{border-bottom:1px solid color-mix(in srgb, var(--border) 20%, transparent);justify-content:space-between;align-items:center;min-height:39px;padding:9px 8px;font-size:11px;display:flex}.install-sheet .install-highlight{border-radius:5px;margin:6px 0;font-weight:700}.install-confirm{text-align:center;border:0;border-radius:0;padding-top:48px;inset:0}.install-phone[data-screen=confirm] .install-status{z-index:1;position:relative}.install-sheet-bar{justify-content:space-between;align-items:center;margin-bottom:24px;font-size:9px;display:flex}.install-sheet-bar>b{color:var(--link-foreground)}.install-confirm>.install-app-icon{margin:0 auto 8px}.install-confirm>strong{font-size:14px}.install-confirm>.install-action-row{margin-top:20px}.install-confirm>small{text-align:left;color:var(--muted-foreground);margin-top:10px;font-size:9px;line-height:1.5;display:block}.install-switch{background:var(--primary);border-radius:10px;width:28px;height:16px;padding:2px}.install-switch:after{content:"";background:var(--primary-foreground);border-radius:50%;width:12px;height:12px;margin-left:auto;display:block}.install-home-indicator{background:var(--foreground);border-radius:5px;width:80px;height:4px;position:absolute;bottom:7px;left:calc(50% - 40px)}.install-homescreen{grid-template-columns:repeat(4,1fr);gap:20px 10px;padding:18px 16px;display:grid}.install-generic-app,.install-new-app{flex-direction:column;align-items:center;gap:6px;display:flex}.install-generic-app>span{background:var(--muted);border-radius:10px;width:40px;height:40px}.install-generic-app>i{background:var(--muted);border-radius:3px;width:26px;height:4px}.install-new-app .install-app-icon{outline:2px solid var(--primary);outline-offset:4px;border-radius:10px;width:40px;height:40px}.install-new-app>span{font-size:9px;font-weight:600}.install-existing{border:var(--border-width) solid var(--border);border-radius:var(--radius);animation:install-enter var(--motion-normal) var(--motion-ease) both;padding:14px;font-size:.85rem}.install-page svg{flex-shrink:0;display:block}.install-progress button:focus-visible{outline:4px solid var(--ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.install-progress :where(button:not([aria-current]):hover) span{background:var(--accent)}}.install-progress :where(button:active) span{opacity:var(--button-pressed-opacity)}@keyframes install-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:767px){.install-walkthrough{grid-template-columns:1fr;gap:16px;padding:16px}.install-progress{margin-bottom:4px}.install-step-copy{min-height:0}.install-step-actions{gap:8px}.install-step-actions .ui-button{min-width:0;min-height:var(--control-height);height:auto;padding-inline:var(--space-control);white-space:normal;flex:1}.install-illustration{grid-row:2}}@media (prefers-reduced-motion:reduce){.install-page *,.install-page :after{transition:none;animation:none}}.install-browser-menu{background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:10px;padding:10px;position:absolute;top:84px;left:28px;right:12px}.install-browser-menu .install-highlight{border-radius:5px;font-weight:700}.install-phone[data-screen=menu] .install-browser-toolbar{border-top:0;padding:4px 12px;top:35px;bottom:auto}.install-desktop-toolbar{background:var(--muted);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px;display:flex}.install-desktop-address{background:var(--background);text-align:center;border-radius:6px;flex:1;min-width:0;padding:7px;font-size:10px}.install-desktop-toolbar>span{border-radius:5px;padding:4px;display:flex}.install-computer .install-browser-menu{top:60px}
.scene-transition{isolation:isolate;position:relative;overflow-x:clip}.scene-transition-panel{min-width:0}.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}.scene-transition-game>.scene-transition-panel:not(.scene-transition-outgoing){position:absolute;inset:0}
.legal-page{width:min(100%,896px);color:var(--foreground);margin-inline:auto;padding:32px 16px;font-size:16px;line-height:1.65}.legal-page h2{margin:32px 0 12px;font-size:22px;font-weight:700;line-height:1.3}.legal-page h3{margin:24px 0 12px;font-size:18px;font-weight:600;line-height:1.4}.legal-page p{max-width:none;margin-block:16px}.legal-page ul{margin-block:16px;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}.legal-page h1,.legal-page h2,.legal-page h3,.legal-page p,.legal-page li{overflow-wrap:anywhere}
.public-entry{min-height:100svh;color:var(--foreground);background:var(--background);font-family:var(--font-sans);animation:public-entry-appear var(--motion-normal) var(--motion-ease) both}.public-entry-header,.public-entry-footer{padding:20px max(20px, env(safe-area-inset-right)) 20px max(20px, env(safe-area-inset-left))}.public-entry-header{border-bottom:var(--border-width) solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:76px;display:flex}.public-entry-brand{color:var(--foreground);font-size:1.5rem;font-weight:800;text-decoration:none}.public-entry nav{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.public-entry a{color:var(--link-foreground);text-underline-offset:.2em}.public-entry-puzzles a{padding-block:8px;display:inline-block}.public-entry nav a{align-items:center;min-height:44px;display:inline-flex}.public-entry a:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.public-entry-main{max-width:760px;padding:40px max(20px, env(safe-area-inset-right)) 64px max(20px, env(safe-area-inset-left));overflow-wrap:anywhere;margin:0 auto;line-height:1.7}.public-entry-main h1{font-family:var(--font-heading,var(--font-sans));font-size:clamp(2rem,6vw,3rem);font-weight:var(--heading-weight,700);letter-spacing:-.025em;margin:0 0 20px;line-height:1.15}.public-entry-main h2,.public-entry-main h3{font-family:var(--font-heading,var(--font-sans));font-weight:var(--heading-weight,700);margin-top:32px;line-height:1.3}.public-entry-about h2{margin:28px 0 12px;font-size:1.25rem}.public-entry-about p{margin:0}.public-entry-about p+p{margin-top:16px}.public-entry-description,.public-entry-footer{color:var(--muted-foreground)}.public-entry-card{border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);margin:24px 0;padding:20px}.public-entry-card h2{margin-top:8px}.public-entry-prose img{max-width:100%;height:auto;display:block}.public-entry-prose pre{background:var(--muted);padding:16px;overflow-x:auto}.public-entry-puzzles li{margin-block:12px}.public-entry-footer{border-top:var(--border-width) solid var(--border);padding-bottom:max(20px, env(safe-area-inset-bottom))}@keyframes public-entry-appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.public-entry{animation:none}}.public-puzzle-entry{background-color:var(--board-background,var(--background));background-image:radial-gradient(circle, color-mix(in srgb, var(--board-dot,var(--muted-foreground)) 35%, transparent) 1.5px, transparent 1.5px);color:var(--foreground);background-position:50%;background-size:46px 46px;position:fixed;inset:0}.web-startup-fallback{background:var(--background);min-height:100svh}html[data-app-javascript=true] .web-startup-fallback>.public-entry{display:none}.web-application-content{visibility:hidden}.web-application-content[data-ready]{visibility:visible}
