.skeleton{background:color-mix(in srgb, var(--ink) 10%, #fff);border-radius:6px;flex-shrink:0;width:100%;max-width:100%;height:.875rem;animation:1.8s ease-in-out infinite skeleton-pulse;display:block}.skeleton-title{height:1.75rem}.skeleton-control{border-radius:10px;height:2.75rem}.skeleton-avatar{border-radius:50%;width:2.75rem;height:2.75rem}.skeleton-stack{flex-direction:column;gap:.875rem;min-width:0;display:flex}.skeleton-row{align-items:center;gap:1rem;min-width:0;display:flex}.skeleton-grow{flex:1;min-width:0}.loading-region{min-width:0}.loading-region>.loading-status{margin-bottom:1rem}.loading-panel{padding:clamp(1rem,3vw,1.5rem)}.loading-status{color:var(--ink-soft);font-size:var(--text-sm);align-items:center;gap:.65rem;margin:0;font-weight:600;line-height:1.5;display:flex}.loading-tiles{flex:none;gap:3px;display:flex}.loading-tiles span{background:var(--blue);border-radius:2px;width:7px;height:7px;animation:1.8s ease-in-out infinite skeleton-pulse}.loading-tiles span:nth-child(2){animation-delay:.15s}.loading-tiles span:nth-child(3){animation-delay:.3s}.app-loading{box-sizing:border-box;background:var(--blue-soft);place-items:center;min-height:100svh;padding:1.5rem;display:grid}.app-loading-card{box-sizing:border-box;text-align:center;flex-direction:column;align-items:center;gap:1.5rem;max-width:100%;padding:clamp(2rem,6vw,3rem);display:flex}.app-loading-brand{color:var(--ink);font:400 clamp(1.75rem, 5vw, 2.5rem) / 1.1 var(--display);margin:0}.app-loading-mark{width:4.5rem;height:4.5rem}@keyframes skeleton-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton,.loading-tiles span{animation:none}}.rankings-page{flex-direction:column;display:flex}.rankings-hero{color:#fff;background-color:var(--blue);background-image:var(--hero-pattern);background-position:var(--pattern-offset) calc(var(--pattern-offset) - var(--header-height));border-bottom:2px solid var(--ink)}.rankings-hero-inner{box-sizing:border-box;max-width:var(--content-width);padding:3rem var(--gutter) 3.5rem;flex-wrap:wrap;align-items:center;gap:2.5rem 3rem;margin:0 auto;display:flex}.rankings-hero-copy{flex-direction:column;flex:999 30rem;align-items:flex-start;min-width:0;display:flex}.rankings-hero h1{font:400 clamp(2.75rem, 6vw, var(--text-5xl)) / 1 var(--display);order:-1;margin:1rem 0 .75rem}.rankings-day{box-sizing:border-box;background:#ffffff24;border:1.5px solid #ffffff59;border-radius:999px;order:-2;align-items:center;gap:.25rem;max-width:100%;padding:4px;display:inline-flex}.rankings-day p{font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;margin:0;padding:0 .5rem;font-weight:600}.rankings-day button{color:#fff;background:#ffffff2e;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;padding:0;display:grid}.rankings-day button:disabled{color:#fff6;background:0 0}.rankings-day button:not(:disabled):hover{background:#ffffff47}.rankings-today{color:#fff;background:0 0;border:0;order:-2;min-height:44px;margin-top:.25rem;padding:0 .5rem;text-decoration:underline}.rankings-day button:focus-visible,.rankings-hero .rankings-scopes button:focus-visible{outline-color:#fff}.rankings-day svg,.rankings-play svg,.rankings-pages svg{fill:none;stroke:currentColor;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.rankings-lead{color:#eef2ff;max-width:30em;font-size:var(--text-lg);margin:0;line-height:1.5}.rankings-scopes{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:16px;gap:4px;margin-top:1.75rem;padding:4px;display:inline-flex}.rankings-scopes button{min-height:42px;color:var(--ink);font-size:var(--text-sm);background:0 0;border:0;border-radius:11px;padding:0 1.25rem;font-weight:600}.rankings-scopes button:hover{background:#eef2ff}.rankings-scopes button[aria-pressed=true]{background:var(--ink);color:#fff}.panel.rankings-card{box-sizing:border-box;border:2px solid var(--ink);max-width:26rem;box-shadow:var(--shadow-float);color:var(--ink);border-radius:20px;flex:21rem;padding:1.5rem}.rankings-card-title{font:400 1.75rem / 1.1 var(--display);margin:0}.rankings-card>p{color:var(--ink-soft)}.rankings-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;display:flex}.rankings-card-head h2{color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:700}.rankings-card-head p{color:var(--ink-soft);font-size:var(--text-sm);margin:0;font-weight:700}.rankings-card .rankings-place{color:var(--ink-soft);font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;margin:.6rem 0 1rem;font-weight:700;display:flex}.rankings-place strong{color:var(--ink);font:400 3.25rem / 1 var(--display)}.rankings-place.rankings-unranked{flex-direction:column;align-items:flex-start}.rankings-unranked strong{font-size:var(--text-3xl)}.rankings-progress{gap:4px;margin:0;padding:0;list-style:none;display:flex}.rankings-progress li{box-sizing:border-box;background:#edf0f8;border:1.5px solid #c9d1ea;border-radius:5px;flex:1;height:12px}.rankings-progress li[data-solved]{border-color:var(--ink);background:var(--blue)}.rankings-stats{border-top:1.5px dashed var(--line-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.125rem 0 0;padding-top:1rem;display:grid}.rankings-stats div{flex-direction:column-reverse;display:flex}.rankings-stats dt{color:var(--ink-soft);font-size:var(--text-sm);font-weight:600}.rankings-stats dd{font:400 1.5rem / 1.2 var(--display);margin:0}.rankings-stats dd span{color:var(--ink-3)}.rankings-card .rankings-play{box-sizing:border-box;border-color:var(--ink);background:var(--ink);color:#fff;width:100%;box-shadow:none;margin-top:1rem}.rankings-card .rankings-play:hover{box-shadow:none;background:#2c3769;transform:none}.rankings-body{box-sizing:border-box;width:100%;max-width:65rem;padding:3rem var(--gutter) 4.5rem;flex-direction:column;gap:1.5rem;margin:0 auto;display:flex}.rankings-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.875rem;display:flex}.rankings-toolbar h2{font:400 2.25rem / 1.05 var(--display);margin:0}.rankings-toolbar h2 span{color:var(--ink-soft);vertical-align:middle;margin-left:.6rem;font:700 1rem Figtree Variable,system-ui,sans-serif}.rankings-tools{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.rankings-tools button,.rankings-game select{box-sizing:border-box;border:1.5px solid var(--line);min-height:44px;color:var(--ink);font-size:var(--text-sm);background-color:#fff;border-radius:999px;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.rankings-tools button{padding:0 1rem}.rankings-tools button:hover{background:#eef2ff}.rankings-tools svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.rankings-tools .rankings-icon-dot{fill:currentColor;stroke:none}.rankings-tools .rankings-friends-button{border:2px solid var(--ink);box-shadow:var(--shadow-sm);background:#fbcbe0}.rankings-tools .rankings-friends-button:hover{background:#f7b5d2}.rankings-badge{box-sizing:border-box;background:var(--ink);color:#fff;min-width:22px;height:22px;font-size:var(--text-xs);border-radius:999px;place-items:center;padding:0 6px;font-weight:700;display:inline-grid}.rankings-game{margin:0;display:block}.rankings-game select{padding:0 2.4rem 0 1rem}.rankings-empty{border:2px dashed var(--ink-3);color:var(--ink-soft);text-align:center;background:#ffffffd9;border-radius:18px;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;font-weight:700;display:flex}.rankings-empty p{margin:0}.rankings-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:0 1.25rem;margin:0;padding:0 6px 6px 0;list-style:none;display:grid}.rankings-podium li{grid-template-rows:subgrid;margin-top:calc(7.5rem - var(--step));border:2px solid var(--ink);min-width:0;box-shadow:4px 4px 0 var(--ink);text-align:center;background:#fff;border-radius:20px;grid-row:span 4;place-items:center;display:grid;overflow:hidden}.rankings-podium li[data-you]{border-color:var(--blue);box-shadow:4px 4px 0 var(--blue)}.rankings-podium-top{width:100%;height:var(--step);border-bottom:2px solid var(--ink);background:var(--medal-soft);align-self:stretch;place-items:center;display:grid}.rankings-podium .rankings-avatar{width:64px;height:64px;box-shadow:3px 3px 0 var(--ink);font-size:var(--text-lg)}.rankings-medal{box-sizing:border-box;border:2px solid var(--ink);background:var(--medal);width:40px;height:40px;font:400 1.25rem / 1 var(--display);border-radius:50%;place-items:center;margin-top:-20px;display:grid}.rankings-podium strong{box-sizing:border-box;max-width:100%;font:400 1.3rem / 1.1 var(--display);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;margin-top:.6rem;padding:0 .75rem;display:flex}.rankings-podium-score{color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin:.25rem 0 1.1rem;font-weight:700}.panel.rankings-table-wrap{border-radius:20px;overflow:hidden}.rankings-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.rankings-table thead tr{border-bottom:2px solid var(--ink);background:#f6f8fd}.rankings-table th,.rankings-table td{text-align:left;padding:.75rem 1rem}.rankings-table thead th{color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.rankings-table :is(th,td):first-child{width:4.75rem;padding-left:1.5rem}.rankings-table :is(th,td):nth-child(n+3){text-align:right;width:6.5rem}.rankings-table :is(th,td):last-child{padding-right:1.5rem}.rankings-table tbody tr+tr{border-top:1.5px solid var(--line-soft)}.rankings-table tbody tr:hover{background:#f6f8fd}.rankings-table tbody .rankings-own,.rankings-table tbody .rankings-own:hover{background:#eef3ff}.rankings-rank,.rankings-solved{font:400 1.25rem / 1 var(--display)}.rankings-own .rankings-rank{color:var(--blue)}.rankings-solved span{color:var(--ink-3)}.rankings-time{color:var(--ink-soft);font-weight:700}.rankings-player{align-items:center;gap:.875rem;display:flex}.rankings-avatar{box-sizing:border-box;border:2px solid var(--ink);background:var(--avatar);width:38px;height:38px;font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.rankings-name{overflow-wrap:anywhere;flex-direction:column;min-width:0;font-weight:700;display:flex}.rankings-name small{color:var(--ink-soft);font-size:var(--text-sm);font-weight:600}.rankings-name .rankings-mobile-time{display:none}.rankings-you{background:var(--blue);color:#fff;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;border-radius:999px;align-items:center;height:22px;margin-left:.5rem;padding:0 .5rem;font:900 .6875rem Figtree Variable,system-ui,sans-serif;display:inline-flex}.rankings-gap td{color:var(--ink-3);text-align:center;padding-block:.25rem}.rankings-pages{border-top:2px solid var(--ink);color:var(--ink-soft);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1.5rem;font-weight:600;display:flex}.rankings-pages p{margin:0}.rankings-pages strong{color:var(--ink)}.rankings-pages nav{gap:.5rem;display:flex}.rankings-pages .button{background:var(--blue-soft);width:44px;padding:0}.rankings-pages .button:disabled{background:#fff}.app-dialog.rankings-dialog{border-radius:var(--radius-xl);width:min(34rem,100% - 2rem);box-shadow:var(--shadow-float);padding:1.5rem}.app-dialog.rankings-dialog>h2{font:400 var(--text-2xl) / 1.1 var(--display);margin:0 3rem .25rem 0}.rankings-dialog-lead{color:var(--ink-soft);margin:0 0 1.25rem}.rankings-rules{font-size:var(--text-md);margin-top:.75rem}.rankings-intro{max-width:var(--content-width);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;display:grid}.rankings-intro>:first-child{grid-row:span 2}.rankings-intro .panel{padding:1.5rem}.rankings-intro h2:not(.eyebrow){font:400 var(--text-xl) / 1.15 var(--display);margin:0}.rankings-intro p{color:var(--ink-soft);margin:.5rem 0 0}.rankings-intro .eyebrow{color:var(--blue-ink);margin-bottom:.75rem}.rankings-intro .panel.rankings-intro-friends{background:#fdeef5;border-color:#f6d3e3}.rankings-intro .panel.rankings-intro-everyone{background:#ebf8f1;border-color:#cdeedb}@media (width<=760px){.rankings-intro{grid-template-columns:minmax(0,1fr)}.rankings-intro>:first-child{grid-row:auto}}@media (width>=761px) and (width<=1100px){.rankings-hero-inner{gap:1.5rem;padding-block:2rem}.rankings-hero-copy{flex-basis:21rem}.panel.rankings-card{flex-basis:18rem;padding:1.25rem}}@media (width<=760px){.rankings-hero-inner{padding:.875rem var(--gutter) 1.25rem;gap:1rem}.rankings-hero h1{font-size:var(--text-3xl);margin:.75rem 0 .4rem}.rankings-lead{font-size:var(--text-md)}.rankings-day{justify-content:space-between;align-self:stretch}.rankings-day p{font-size:var(--text-xs);letter-spacing:.08em;padding-inline:.125rem}.rankings-scopes{grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;margin-top:.875rem;display:grid}.panel.rankings-card{max-width:none;box-shadow:5px 5px 0 var(--ink);flex-basis:100%;padding:1.125rem 1.25rem}.rankings-place strong{font-size:var(--text-3xl)}.panel.rankings-position{padding:.875rem 1rem}.rankings-position .rankings-place{margin-block:.5rem}.rankings-position .rankings-progress li{height:8px}.rankings-position .rankings-stats{margin-top:.625rem;padding-top:.625rem}.rankings-position .rankings-stats div{flex-flow:wrap;align-items:baseline;gap:.25rem .5rem}.rankings-position .rankings-stats dd{font-size:var(--text-lg)}.rankings-position .rankings-play{margin-top:.625rem}.rankings-body{gap:1rem;padding-block:1.25rem 3rem}.rankings-toolbar h2{font-size:var(--text-2xl)}.rankings-info span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.rankings-tools .rankings-info{justify-content:center;width:44px;padding:0}.rankings-podium{column-gap:.6rem}.rankings-podium li{margin-top:calc((7.5rem - var(--step)) * .65)}.rankings-podium-top{height:calc(var(--step) * .65)}.rankings-podium .rankings-avatar{width:44px;height:44px;box-shadow:none;font-size:var(--text-sm)}.rankings-medal{width:30px;height:30px;font-size:var(--text-sm);margin-top:-15px}.rankings-podium strong{font:800 .85rem/1.2 Figtree Variable,system-ui,sans-serif}.rankings-podium strong .rankings-you{margin-left:0}.rankings-podium-score{font-size:var(--text-xs)}.rankings-table :is(th,td):first-child{width:3rem;padding-left:.875rem}.rankings-table th,.rankings-table td{padding-inline:.5rem}.rankings-table :is(th,td):last-child{display:none}.rankings-table :is(th,td):nth-child(3){width:3.5rem;padding-right:.875rem}.rankings-name .rankings-mobile-time{display:block}.rankings-pages{padding-inline:.875rem}}.skeleton-ranking-day{background:#ffffff59;border-radius:999px;order:-2;height:3.25rem}.skeleton-rankings-copy{width:min(100%,28rem)}.skeleton-rankings-copy .skeleton{background:#ffffff59}.skeleton-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:1rem;margin-bottom:1.5rem;display:grid}.panel.skeleton-podium-card{box-shadow:4px 4px 0 var(--ink);background:#edf5ff;align-items:center;padding:1.5rem .75rem}.panel.skeleton-podium-card:nth-child(2){background:#fff7d6;padding-block:2rem}.panel.skeleton-podium-card:nth-child(3){background:#fff0e5}.skeleton-ranking-table{overflow:hidden}.skeleton-ranking-head{background:var(--blue-soft);justify-content:space-between;padding:1.25rem;display:flex}.skeleton-ranking-row{border-top:1px solid var(--line);grid-template-columns:2.75rem minmax(0,1fr) minmax(2rem,12%) minmax(3rem,16%);align-items:center;gap:1rem;padding:1rem 1.25rem;display:grid}@media (width<=760px){.skeleton-podium{gap:.625rem}.panel.skeleton-podium-card{padding:1.125rem .5rem}.panel.skeleton-podium-card:nth-child(2){padding-block:1.5rem}.skeleton-ranking-row{gap:.625rem;padding:.875rem .75rem}}.skeleton.skeleton-board{width:min(100%, var(--board-max-height));aspect-ratio:1;border:2px solid var(--line);box-sizing:border-box;background-color:#f4f5fb;background-image:linear-gradient(to right, var(--line) 1px, transparent 1px), linear-gradient(to bottom, var(--line) 1px, transparent 1px);background-position:-1px -1px;background-size:20% 20%;border-radius:12px;height:auto}.skeleton-example{height:8rem;margin-top:.5rem}.app-dialog{box-sizing:border-box;border:2px solid var(--ink);border-radius:var(--radius-xl);width:min(31rem,100% - 2rem);max-height:calc(100% - 2rem);color:var(--ink);background:var(--paper);box-shadow:var(--shadow-float);opacity:1;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);padding:2rem;overflow:auto;transform:scale(1)}.app-dialog:focus{outline:none}.app-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:1;background:#111a40a8;transition:opacity .2s}.app-dialog[open]{animation:dialog-in .18s var(--ease-out)}.app-dialog[open]::backdrop{animation:.2s dialog-backdrop-in}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}}@keyframes dialog-backdrop-in{0%{opacity:0}}.app-dialog[data-closing]{opacity:0;transition-duration:.12s;transform:scale(.97)}.app-dialog[data-closing]::backdrop{opacity:0;transition-duration:.12s}.app-dialog h2{font-family:var(--display);font-weight:400;font-size:var(--text-3xl);margin:.5rem 1.5rem .75rem 0}.dialog-close{width:38px;height:38px;color:var(--ink);font-size:var(--text-2xl);background:#eef1fb;border:0;border-radius:50%;position:absolute;top:.7rem;right:.8rem}.dialog-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;display:flex}.app-dialog.victory-dialog{width:min(27rem,100% - 2rem);padding:0 1.5rem 1.5rem}.victory-dialog[open]{flex-direction:column;display:flex}.victory-dialog>.dialog-close{z-index:2;background:#fffc}.victory-band{border-bottom:2px solid var(--ink);background:var(--game-soft,#bbefd4);order:-1;align-items:center;gap:.875rem;margin:0 -1.5rem 1.25rem;padding:1rem 3.5rem 1rem 1.25rem;display:flex}.game-card-preview.victory-board{aspect-ratio:auto;border:2px solid var(--ink);background:#fff;border-radius:12px;flex:none;width:52px;height:52px;padding:5px}.victory-band-text{flex:1;min-width:0}.victory-dialog .victory-game{color:var(--ink);font:400 var(--text-xl) / 1.1 var(--display);margin:0}.victory-dialog .victory-edition{color:var(--ink);font-size:var(--text-sm);margin:.125rem 0 0;font-weight:500}.victory-dialog h2{color:var(--ink-soft);font:700 var(--text-xs) / 1.2 "Figtree Variable", system-ui, sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0}.victory-dialog p{color:var(--ink-soft);margin:.5rem 0 0}.victory-dialog .victory-time{color:var(--ink);font-variant-numeric:tabular-nums;margin:.25rem 0 0}.victory-time strong{font:400 var(--text-5xl) / 1 var(--display)}.victory-stats{border-block:1px solid var(--line-soft);grid-template-columns:repeat(2,minmax(0,1fr));margin:1.25rem 0 0;display:grid}.victory-stats div{flex-direction:column-reverse;gap:.125rem;padding:.75rem 0;display:flex}.victory-stats div+div{border-left:1px solid var(--line-soft);padding-left:1rem}.victory-stats dt{color:var(--ink-soft);font-size:var(--text-xs)}.victory-stats dd{font:400 var(--text-xl) / 1.15 var(--display);font-variant-numeric:tabular-nums;margin:0}.victory-dialog .victory-next{box-sizing:border-box;width:100%;min-height:52px;font-size:var(--text-md);margin-top:1.25rem}.victory-next svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.victory-dialog .dialog-actions{align-items:center;gap:1rem;margin-top:1.25rem}.victory-today{color:var(--ink-soft);font-size:var(--text-sm);text-underline-offset:3px;font-weight:500}.victory-sharing{width:100%;margin-top:1.25rem}.victory-share-heading{font-size:var(--text-sm);margin:0 0 .85rem;font-weight:600}.victory-share-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.victory-share-choice{color:var(--ink);font:inherit;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;text-decoration:none;display:flex}.victory-share-choice:disabled{opacity:.45}.victory-share-options .button{min-height:48px}.victory-share-options svg{flex-shrink:0;width:22px;height:22px}.victory-share-options .victory-share-icon{flex-shrink:0;width:48px;padding:0}.victory-whatsapp .victory-share-icon{color:var(--ink);background:#25d366}.victory-whatsapp svg{width:28px;height:28px}.victory-share-choice:focus-visible{outline:3px solid var(--ink);outline-offset:4px;border-radius:10px}.victory-dialog .victory-share-feedback{font-size:var(--text-sm);font-weight:500}.victory-dialog .victory-share-feedback:empty{margin:0}.victory-share-text{box-sizing:border-box;border:2px solid var(--ink);width:100%;color:var(--ink);background:var(--paper);font:inherit;font-size:var(--text-sm);resize:vertical;border-radius:10px;margin-top:.75rem;padding:.75rem}.victory-mark{flex:none;place-items:center;width:40px;height:40px;display:grid}.victory-mark svg{fill:none;width:34px;height:34px;stroke:var(--ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.victory-check{stroke-dasharray:24;stroke-dashoffset:0;animation:victory-check .36s var(--ease-out) .2s backwards}@keyframes victory-check{0%{stroke-dashoffset:24px}}.victory-dialog-celebrate[open],.victory-dialog-celebrate[open]::backdrop{animation-delay:.42s;animation-fill-mode:backwards}.victory-dialog-celebrate .victory-check{animation-delay:.62s}@media (prefers-reduced-motion:reduce){.app-dialog,.app-dialog[data-closing]{transform:none}.victory-check{animation:none}.app-dialog[open]{animation-name:dialog-backdrop-in}.victory-dialog-celebrate[open],.victory-dialog-celebrate[open]::backdrop{animation-delay:0s}}@media (width<=760px){.app-dialog.victory-dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:none;max-height:92svh;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));border-width:2px 0 0;margin:auto 0 0;box-shadow:0 -12px 32px #111a4033}.victory-dialog[open]{animation-name:victory-sheet-in;animation-duration:.34s;animation-timing-function:cubic-bezier(.32,.72,0,1)}.victory-band{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.victory-dialog[data-closing]{transform:translateY(24px)}}@keyframes victory-sheet-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.victory-dialog[open]{animation-name:dialog-backdrop-in}}.board-grid{box-sizing:border-box;grid-template-columns:repeat(var(--columns), minmax(0, 1fr));border:3px solid var(--ink,#16204a);background:var(--line,#c9d1ea);border-radius:10px;gap:1px;width:min(100%,34rem);display:grid;position:relative;overflow:hidden;container-type:inline-size}.board-interactive{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.board-cell{box-sizing:border-box;aspect-ratio:1;min-width:0;min-height:0;color:var(--ink,#16204a);font-family:var(--display,system-ui);font-size:calc(100cqw / var(--columns) * .45);background:#fff;border:0;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;transition:background-color 80ms;display:flex;position:relative}button.board-cell{cursor:pointer}.board-cell:focus-visible{outline:3px solid var(--blue,#2b57f6);outline-offset:-4px;z-index:3}.cell-notes{width:76%;height:76%;color:var(--muted,#596379);grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;place-items:center;font-family:Figtree Variable,system-ui,sans-serif;font-size:max(9px,.4em);font-weight:600;line-height:1;display:grid}.board-overlay{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board-lines{stroke:var(--game-color,#2b57f6);stroke-width:.2px;stroke-linecap:round;stroke-linejoin:round;fill:none}.board-stage>.board-grid{width:min(var(--board-max-width,100%), var(--board-max-height,70svh) * var(--columns) / var(--rows));max-width:100%}@media (width<=860px){.board-stage>.board-grid{width:min(100cqw, 70svh * var(--columns) / var(--rows))}}.goal-chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.goal-chip{box-sizing:border-box;border:2.5px solid var(--ink,#16204a);min-width:40px;height:44px;color:var(--ink-3);font-family:var(--display,system-ui);font-size:var(--text-xl);background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:0 .45rem;transition:background-color .16s,color .16s;display:flex}.goal-chip-done{background:var(--game-color,#2b57f6);color:var(--ink,#16204a)}.session-game[data-celebrate] .board-stage>.board-grid:after{content:"";z-index:5;pointer-events:none;background:linear-gradient(115deg, transparent 30%, color-mix(in srgb, var(--game-soft,#bbd1fe) 85%, #fff) 45%, #ffffffb3 50%, color-mix(in srgb, var(--game-soft,#bbd1fe) 85%, #fff) 55%, transparent 70%);mix-blend-mode:multiply;animation:board-celebrate .76s var(--ease-out,ease-out) forwards;position:absolute;inset:0;transform:translate(-110%)}@keyframes board-celebrate{to{transform:translate(110%)}}@media (prefers-reduced-motion:reduce){.session-game[data-celebrate] .board-stage>.board-grid:after{display:none}}.sudomino-cell>span{z-index:2;position:relative}.sudomino-board .board-cell:focus-visible{z-index:auto}.sudomino-given{text-underline-offset:.13em;font-weight:600;text-decoration:underline}.sudomino-single{border:1px solid var(--ink);background:#e2e6ef;border-radius:50%;justify-content:center;align-items:center;width:76%;height:76%;text-decoration:none;display:flex}.sudomino-box-lines{fill:none;stroke:var(--ink);stroke-width:.045px}.sudomino-piece{fill:var(--game-color,#05ad76);fill-opacity:.16;stroke:var(--game-color,#05ad76);stroke-width:.035px}.sudomino-piece-fixed{stroke:var(--ink);stroke-width:.05px}.sudomino-related{background:#f2f5fc}.sudomino-selected{background:var(--game-soft,#b8e8cf);box-shadow:inset 0 0 0 3px var(--game-color,#05ad76)}.sudomino-conflict{color:#aa2635;background:#ffe8e9}.sudomino-piece-error{stroke:#aa2635}.sudomino-keypad{--keypad-columns:6}.sudomino-keypad .button[aria-pressed=true]{background:var(--game-soft,#b8e8cf);border-color:var(--game-color,#05ad76)}.sudomino-inventory{grid-template-columns:repeat(auto-fill,minmax(3.5rem,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.sudomino-tile{border:2px solid var(--ink);min-height:2.25rem;font-family:var(--display);background:#fff;border-radius:8px;display:flex;position:relative}.sudomino-tile>span{flex:1;justify-content:center;align-items:center;font-weight:700;display:flex}.sudomino-tile>span+span{border-left:1.5px solid var(--line)}.sudomino-tile small{background:#fff;border-radius:50%;line-height:1;position:absolute;top:-.5rem;right:-.25rem}.sudomino-tile-used{background:var(--game-soft,#b8e8cf)}.sudomino-tile-error{background:#ffe8e9;border-color:#aa2635}@media (width<=760px){.sudomino-inventory{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem .375rem;padding-top:.25rem}.sudomino-tile{min-height:1.75rem}}.one-up-board{--game-color:#ed9235;--game-soft:#f9d3b3}.one-up-cell.one-up-diagonal{background:var(--game-soft)}.one-up-cell.one-up-related{background:#fff3e7}.one-up-cell.one-up-diagonal.one-up-related{background:var(--game-soft)}.one-up-cell.one-up-selected{box-shadow:inset 0 0 0 3px var(--game-color)}.one-up-given{text-underline-offset:.15em;font-weight:600;text-decoration:underline;text-decoration-thickness:2px}.one-up-conflict{color:#b1202b}.one-up-conflict:after{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:12%;right:12%}.one-up-walls{stroke:var(--ink,#16204a);stroke-width:.075px;stroke-linecap:square}.one-up-keypad .button:not(:disabled){background:#f9d3b3}.one-up-keypad .button[aria-pressed=true]{background:#ed9235}.snakes-board{background:var(--game-color,#e5cb45)}.snakes-board .snake-cell:not(.snake-border){box-shadow:0 0 0 1px var(--line,#c9d1ea)}.snake-border{background:var(--game-color,#e5cb45)}.snake-clue{z-index:2}.snake-number{box-sizing:border-box;aspect-ratio:1;border:2px solid var(--ink,#16204a);background:#e2e6eb;border-radius:50%;place-items:center;width:78%;transition:background-color .12s,color .12s,box-shadow .12s;display:grid}.snake-done .snake-number{background:var(--game-color,#e5cb45)}.snake-clue[aria-pressed=true] .snake-number{box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--ink,#16204a)}.snakes-board .board-lines{stroke:#929baa;stroke-width:.19px}.snakes-board .snake-path-complete{stroke:var(--game-color,#e5cb45)}.snakes-board .snake-square{background:#fde3e5}.snakes-board .snake-path-invalid{stroke:#b1202b}.snakes-board .board-cell:focus-visible{outline:2px dashed var(--ink,#16204a);outline-offset:-4px}.snakes-board .snake-clue:focus-visible{outline:none}.snakes-board .snake-clue:focus-visible .snake-number{outline:2px dashed var(--ink,#16204a);outline-offset:2px}.board-cell.tetromino-cell{transition:background-color 80ms,box-shadow 80ms}.tetromino-cell.selected{--shade:var(--game-color,#344b65);background:var(--shade);box-shadow:0 0 0 1px var(--shade)}.tetromino-cell.preview{background:var(--game-soft,#d5dce6)}.tetromino-cell.selected.preview{--shade:color-mix(in srgb, var(--game-color,#344b65) 85%, var(--ink,#16204a));background:var(--shade)}.tetromino-cell.excluded{background:0 0}.tetromino-excluded-fill{fill:#eef0f2}.tetromino-excluded-fill.preview{fill:#dce0e5}.tetromino-hatch-line{fill:#aeb5bf}.tetromino-boundaries{fill:none;stroke:var(--ink,#16204a);stroke-width:3px;stroke-linecap:square;vector-effect:non-scaling-stroke}.tetromino-targets{flex-wrap:nowrap;gap:.5rem}.tetromino-targets .goal-chip{flex:0 3.75rem;min-width:0;height:auto;padding:.45rem .15rem}.tetromino-targets .goal-chip>[aria-hidden]{flex:1 1 0;justify-content:center;min-width:0;display:flex}.tetromino-targets svg{width:100%;max-width:44px;height:auto;display:block}.tetromino-targets rect{fill:#fff;stroke:var(--ink,#16204a);stroke-width:2.5px}.ray-covered{background:var(--game-soft,#ade8e5)}.ray-launcher{z-index:2;background:var(--game-color,#0aa7a4);border:3px solid var(--ink,#16204a)}.ray-launcher.ray-incomplete{background:#e2e6eb}.ray-covered.ray-incomplete{background:#f0f2f5}.ray-board .board-lines .ray-incomplete{stroke:#929baa}.ray-selected{box-shadow:inset 0 0 0 3px var(--blue,#2b57f6)}.ray-number{position:relative}.ray-unknown-total{white-space:nowrap;font-family:Figtree Variable,system-ui,sans-serif;font-size:.55em;font-weight:700}.spell-visited{background:var(--game-soft,#dfd3fe)}.spell-letter{z-index:2;font-size:1.15em;position:relative}@media (width<=480px){.spell-word{gap:.35rem}.spell-word .goal-chip{min-width:34px;height:40px;font-size:var(--text-lg);padding-inline:.3rem}}.ipp19-board{aspect-ratio:8/6;flex-shrink:0;width:100%}.ipp19-board svg{width:100%;height:100%;display:block;overflow:visible}.board-stage>.ipp19-board{width:min(var(--board-max-width,100%), var(--board-max-height,70svh) * 8 / 6);max-width:100%}.ipp19-cell{fill:none;stroke:var(--line,#c9d1ea);stroke-width:.018px}.ipp19-board .ipp19-piece,.ipp19-board .ipp19-piece:focus-visible{outline:none}.board-interactive .ipp19-piece{cursor:grab}.board-interactive .ipp19-piece.is-dragging{cursor:grabbing}.ipp19-selection{fill:none;stroke:#fff;stroke-width:.055px;stroke-linejoin:round;opacity:0;pointer-events:none}.ipp19-piece.is-selected .ipp19-selection,.ipp19-piece:focus-visible .ipp19-selection{opacity:1}.ipp19-piece:focus-visible .ipp19-selection{stroke-dasharray:.12 .08}.ipp19-stats{justify-content:space-around;gap:.5rem;width:100%;padding-bottom:.35rem;display:flex}.ipp19-stats div{text-align:center;gap:.05rem;display:grid}.ipp19-stats strong{font-family:var(--display);font-weight:400;font-size:var(--text-2xl)}.ipp19-stats span{color:var(--ink-soft);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.ipp19-history,.ipp19-directions{gap:.4rem;display:flex}.ipp19-directions .button{width:42px;font-size:var(--text-xl);padding:0}.ipp19-status{font-size:var(--text-sm);color:var(--ink-soft);text-align:center;flex-basis:100%;margin:.2rem 0 0}.ipp19-objective{margin:0;font-weight:600}.ipp19-caption{color:var(--ink-soft);font-size:var(--text-sm);margin:0;line-height:1.5}.ipp19-game .board-goal-body{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;display:flex}.ipp19-game .board-goal .ipp19-board{width:9rem;margin:0}.ipp19-help{margin-top:.4rem}@media (width<=760px){.ipp19-game .board-goal-body{grid-template-columns:minmax(0,1fr) 6rem;gap:.75rem;display:grid}.ipp19-game .board-goal .ipp19-board{width:6rem}}.community-section{min-width:0;padding:1.5rem}.friends-manager{flex-direction:column;gap:1.25rem;display:flex}.friends-section h3{color:#2341c0;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .6rem;font-weight:700}.friend-requests{border:2px solid var(--ink);background:#fff1e3;border-radius:16px;padding:.9rem 1rem .4rem}.friend-requests h3{color:#8a420a}.friend-search-input{max-width:none}.friend-search-card .account-note{margin:.5rem 0 0}.friend-list{margin:0;padding:0;list-style:none}.friend-list li{border-bottom:1.5px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.friend-list li:last-child{border-bottom:0}.friend-avatar{box-sizing:border-box;border:2px solid var(--ink);background:var(--avatar,var(--blue-soft));width:38px;height:38px;font-size:var(--text-xs);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.friend-list strong{overflow-wrap:anywhere;flex:1;min-width:7rem}.friend-list .actions{gap:.5rem}.friend-list .button{min-height:40px;font-size:var(--text-sm)}.search-results{margin-top:.5rem}.search-status{color:var(--ink-soft);overflow-wrap:anywhere}.outgoing-requests{border-top:1.5px dashed var(--line-soft);margin-top:.5rem;padding-top:.75rem}.outgoing-requests summary{cursor:pointer;color:var(--ink-soft);font-size:var(--text-sm);font-weight:700}.friend-dialog .actions{margin-top:1rem}.result-comparison{text-align:left;border:2px solid var(--ink);background:#e9efff;border-radius:10px;margin:1rem 0;padding:1rem}.result-comparison h3{margin-top:0}.result-comparison p,.community-footnote{font-size:var(--text-sm)}.result-comparison .comparison-rank{font:400 2rem var(--display);margin:.5rem 0}.comparison-rank small{font:400 .9rem Figtree Variable,sans-serif}@media (width<=600px){.community-section{padding:1rem}.friend-list .button{padding-inline:.7rem}}.session-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.session-toolbar .session-save-status{margin:0}.session-pause-button{flex-shrink:0}.session-time-controls{align-items:center;gap:.85rem;margin-left:auto;display:flex}.session-timer{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.session-pause-button svg,.session-timer svg,.session-pause-mark svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.session-game{position:relative}.session-game-content{border:0;min-width:0;margin:0;padding:0}.session-completed{color:var(--ink-soft);text-align:center}.session-game[data-paused]{min-height:16rem}.session-game[data-paused]>.session-game-content{visibility:hidden}.session-pause-notice{text-align:center;width:min(28rem,100% - 2rem)}.session-pause-notice[open]{flex-direction:column;align-items:center;display:flex}.session-pause-mark{border:3px solid var(--ink);background:var(--game-soft,var(--blue-soft));width:64px;height:64px;box-shadow:var(--shadow-sm);border-radius:20px;order:-1;place-items:center;margin:.5rem 0 1.5rem;display:grid}.session-pause-mark svg{width:32px;height:32px}.session-pause-notice h2{font-family:var(--display);font-size:var(--text-3xl);margin:0;font-weight:400}.session-pause-notice p{color:var(--ink-soft);margin:.75rem 0 0}.session-pause-notice .session-paused-time{color:var(--ink);font-size:var(--text-3xl);font-variant-numeric:tabular-nums;margin:1.25rem 0;font-weight:700}.session-pause-notice>.button{min-width:12rem}.session-pause-edition{color:var(--ink-soft);font-size:var(--text-sm);flex-direction:column;gap:.25rem;margin-top:2rem;display:flex}.more-puzzles-page{flex-direction:column;gap:1rem;padding-bottom:1rem;display:flex}.more-puzzles-back{color:var(--ink-soft);align-self:flex-start;text-decoration:none}.more-puzzles-back:hover{color:var(--ink);text-decoration:underline}.panel.more-puzzles-hero{background:var(--game-soft);justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem 2rem;display:flex}.more-puzzles-intro{min-width:0}.more-puzzles-intro>.button{margin-top:1.2rem}.more-puzzles-title{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.more-puzzles-title h1{font-family:var(--display);margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.05}.game-card-preview.more-puzzles-hero-board{height:9rem;box-shadow:var(--shadow-sm);flex:0 0 10rem}.more-puzzles-heading{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.more-puzzles-heading h2{font-family:var(--display);font-weight:400;font-size:var(--text-2xl);margin:0;line-height:1.15}.more-puzzles-count,.more-puzzles-badge{white-space:nowrap;font-size:var(--text-sm);border:2px solid var(--ink);background:var(--game-soft);color:var(--ink);border-radius:999px;align-items:center;padding:.2rem .65rem;font-weight:600;display:inline-flex}.more-puzzles-count{background:#fff}.more-puzzles-description{color:var(--ink-soft);align-items:center;gap:.65rem;margin:0;font-weight:600;display:flex}.more-puzzles-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.more-puzzle-card{border:3px solid var(--ink);box-shadow:var(--shadow-sm);color:var(--ink);background:#fff;border-radius:16px;flex-direction:column;padding:1rem;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:flex}.more-puzzle-card:hover{background:var(--game-soft);box-shadow:var(--shadow);transform:translate(-2px,-2px)}.more-puzzle-card:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.more-puzzle-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.more-puzzle-number{background:var(--game-soft);border:2px solid var(--ink);width:3.8rem;height:3.8rem;font-family:var(--display);font-size:var(--text-3xl);border-radius:12px;place-items:center;font-weight:400;display:grid}.more-puzzle-arrow{font-size:var(--text-xl);color:var(--ink-soft)}.more-puzzle-card h3{font-size:var(--text-lg);margin:1rem 0 .7rem;font-weight:600}.more-puzzle-detail{color:var(--ink-soft);font-size:var(--text-sm);margin:0 0 .8rem;font-weight:600}.more-puzzles-grid>li,.more-puzzle-card{box-sizing:border-box;height:100%}.more-puzzle-card-bottom{border-top:2px solid var(--line);font-size:var(--text-sm);color:var(--ink-soft);justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.7rem;display:flex}.more-puzzles-notice{font-size:var(--text-sm);color:var(--ink-soft);box-shadow:var(--shadow-sm);align-items:center;gap:.7rem;margin:0;padding:.65rem 1rem;font-weight:600;display:flex}.more-puzzles-pagination{justify-content:space-between;align-items:center;gap:.75rem;padding-block:.25rem;display:flex}.more-puzzles-pagination>a:not(.button){color:var(--ink-soft)}@media (width<=1000px){.more-puzzles-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=660px){.panel.more-puzzles-hero{gap:1rem;padding:1.25rem}.game-card-preview.more-puzzles-hero-board{display:none}.more-puzzles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.more-puzzle-card{padding:.85rem}.more-puzzles-description,.more-puzzles-notice{align-items:flex-start}.more-puzzles-pagination{font-size:var(--text-sm);gap:.5rem}.more-puzzles-pagination .button{padding-inline:.6rem}}@media (prefers-reduced-motion:reduce){.more-puzzle-card{transition:none}}.statistics-page{gap:1.5rem;padding-bottom:2rem;display:grid}.statistics-note{color:var(--ink-soft);font-size:var(--text-sm);margin:0;line-height:1.6}.statistics-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0;display:grid}.statistics-metrics>div{border:1.5px solid var(--line-soft);border-radius:var(--radius-lg);background:#fff;min-width:0;padding:1.25rem}.statistics-metrics>div:is(:nth-child(2),:nth-child(3)){background:#fff7ef;border-color:#f6dcc3}.statistics-metrics dt{color:var(--ink-soft);font-size:var(--text-sm);font-weight:600}.statistics-metrics dd{font-family:var(--display);font-size:var(--text-4xl);font-variant-numeric:tabular-nums;margin:.4rem 0;line-height:1.2}.statistics-metrics dd small{font:500 var(--text-sm) "Figtree Variable", system-ui, sans-serif;color:var(--ink-soft)}.statistics-metrics .statistics-time{overflow-wrap:anywhere;align-items:center;min-height:3.36rem;font-size:clamp(1.35rem,2.5vw,2rem);display:flex}.statistics-metrics>div>span{font-size:var(--text-sm);color:var(--ink-soft)}.statistics-section{min-width:0;padding:clamp(1rem,3vw,1.75rem)}.statistics-section h3,.statistics-empty h3{font:400 clamp(1.3rem, 3vw, 1.65rem) var(--display);margin:0 0 1rem}.statistics-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.statistics-heading h2,.statistics-heading h3{font:400 var(--text-2xl) / 1.15 var(--display);margin:0}.statistics-heading>span{font-size:var(--text-sm);color:var(--ink-soft)}.statistics-activity{grid-template-columns:repeat(28,minmax(0,1fr));gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.statistics-activity li{aspect-ratio:1;border:1px solid var(--line);font-size:var(--text-xs);background:#f0f2f8;border-radius:5px;place-items:center;font-weight:600;display:grid}.statistics-activity .has-solves{border-color:var(--blue);background:#bbd1fe}.statistics-activity [data-level="2"]{color:#16204a;background:#7899ff}.statistics-activity [data-level="3"]{background:var(--blue);color:#fff}.statistics-activity-caption{font-size:var(--text-sm);color:var(--ink-soft);justify-content:space-between;margin:.5rem 0 1rem;display:flex}.statistics-table-wrap{overflow-x:auto}.statistics-table{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%}.statistics-table th,.statistics-table td{border-bottom:1px solid var(--line);padding:1rem .5rem}.statistics-table thead th{color:var(--ink-soft);font-size:var(--text-sm);white-space:nowrap}.statistics-table tbody th{font-size:var(--text-sm)}.statistics-table tbody td{white-space:nowrap;font-size:var(--text-sm)}.statistics-table th:first-child{padding-left:0}.statistics-table tr:last-child>*{border-bottom:0}.statistics-filter{max-width:100%;margin:0}.statistics-filter select{max-width:100%;font-size:var(--text-sm);min-height:44px}.statistics-history{margin:0 0 1rem;padding:0;list-style:none}.statistics-history li{border-bottom:1px solid var(--line);align-items:center;gap:.8rem;padding:1rem 0;display:flex}.statistics-history li:last-child{border:0}.statistics-history li>div{gap:.25rem;min-width:0;display:grid}.statistics-history li>div>span{font-size:var(--text-sm);color:var(--ink-soft)}.statistics-result-time{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--text-sm);margin-left:auto}.statistics-empty{text-align:center;padding:3rem 1.5rem}.statistics-empty p{color:var(--ink-soft);max-width:28rem;margin:0 auto 1.5rem}@media (width<=900px){.statistics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-activity{grid-template-columns:repeat(14,minmax(0,1fr));gap:.4rem}}@media (width<=540px){.statistics-page{gap:1.1rem}.statistics-metrics{gap:.65rem}.statistics-metrics>div{padding:.85rem}.statistics-metrics dd{font-size:var(--text-3xl)}.statistics-metrics .statistics-time{min-height:2.64rem}.statistics-activity{grid-template-columns:repeat(7,minmax(0,1fr))}.statistics-result-time{font-size:var(--text-sm)}.statistics-history li{gap:.5rem}}.statistics-explainer summary{cursor:pointer;font-weight:700}.statistics-page>.statistics-heading{margin-bottom:0}.account-home{gap:1.5rem;padding-bottom:2rem;display:grid}.account-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.account-heading h1{font:400 clamp(var(--text-2xl), 4vw, var(--text-3xl)) / 1.1 var(--display);margin:0}.account-heading p{color:var(--ink-soft);overflow-wrap:anywhere;margin:.375rem 0 0}.account-heading>div{min-width:0}.account-login{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem;display:flex}.account-login h2{font:400 var(--text-2xl) / 1.15 var(--display);margin:0}.account-login p{margin:.5rem 0 0}.account-login-action{width:21rem;max-width:100%}.account-note{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.5}.google-button{gap:.75rem;width:100%;min-height:48px}.google-button svg{flex:none;width:20px;height:20px}.account-message{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.75rem 1rem}.account-message.is-error{color:#a51e35;border-color:currentColor}.profile-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.profile-heading h2{font:400 1.5rem var(--display);overflow-wrap:anywhere;min-width:0;margin:0}.profile-form{max-width:36rem;margin-top:1rem}.profile-form label{margin-bottom:.4rem}.profile-form-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.username-field{border:2px solid var(--ink);background:#fff;border-radius:10px;align-items:center;display:flex}.username-field>span{color:var(--ink-soft);padding-left:.8rem}.username-field input{box-sizing:border-box;background:0 0;border:0;width:100%;min-width:0;min-height:44px}.username-field:focus-within{outline:3px solid var(--blue);outline-offset:3px}.username-field input:focus-visible{outline:none}.profile-privacy{font-size:var(--text-sm);margin:.6rem 0 0}.profile-private-note{font-size:var(--text-sm);color:var(--ink-soft);margin:.6rem 0 0}.dev-sign-in{width:100%}.dev-sign-in summary{cursor:pointer;margin-bottom:.75rem}@media (width<=600px){.account-home{gap:1.25rem}.account-login{padding:1rem}.account-login-action{width:100%}.username-field input{font-size:var(--text-md)}}.today-loading-continue{margin-top:1.875rem}.today-loading-continue .skeleton{background:#ffffff59;border-radius:14px;height:52px}.today-card.loading-card{pointer-events:none}.loading-card .today-card-cover{background:var(--blue-soft);justify-content:center;align-items:center;display:flex}.loading-card:nth-child(2n) .today-card-cover{background:#fce0ef}.loading-card:nth-child(3n) .today-card-cover{background:#f1e6ac}.loading-card .skeleton-cover{aspect-ratio:1;background:#fff;border-radius:10px;width:65%;height:auto}.loading-card .today-card-body{flex:1}.loading-card .today-card-footer{margin-top:.75rem}@media (width<=760px){.loading-card .skeleton-cover{width:100%}.loading-card .today-card-footer{margin-top:0}.loading-card .skeleton-control{height:1rem}}.today-page{flex-direction:column;display:flex}.today-hero{color:#fff;background-color:var(--blue);background-image:var(--hero-pattern);background-position:var(--pattern-offset) calc(var(--pattern-offset) - var(--header-height));border-bottom:2px solid var(--ink)}.today-hero-inner{box-sizing:border-box;max-width:var(--content-width);padding:4rem var(--gutter) 4.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2.5rem 3.5rem;margin:0 auto;display:flex}.today-hero-copy{flex:999 30rem;min-width:0}.today-date{font-size:var(--text-md);align-items:center;gap:.625rem;margin:0;font-weight:600;display:inline-flex}.today-date>span{background:#b8e8cf;border-radius:50%;width:8px;height:8px}.today-hero h1{font:400 clamp(2.75rem, 6vw, var(--text-5xl)) / 1 var(--display);letter-spacing:-.01em;margin:1rem 0 .75rem}.today-credit{color:#eef2ff;font-size:var(--text-lg);margin:0;line-height:1.5}.today-arrow{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.your-day{margin-top:2.25rem}.your-day h2{color:#dce6ff;font-size:var(--text-sm);margin:0 0 .75rem;font-weight:600}.day-tiles{flex-wrap:wrap;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.day-tile{box-sizing:border-box;border:2px solid var(--ink);background:var(--game-soft);width:64px;height:64px;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);border-radius:14px;display:block;position:relative;overflow:hidden}.game-card-preview.day-tile-board{aspect-ratio:auto;pointer-events:none;background:0 0;border:0;border-radius:0;width:66px;height:66px;padding:0;position:absolute;bottom:-12px;right:-12px}.day-tile-board .board-grid{border-width:2px;border-radius:6px}.day-tile[data-status=progress]{outline-offset:2px;outline:3px solid #fff}.day-tile-badge{z-index:1;background:var(--ink);border-radius:0 12px 0 10px;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:-1px;right:-1px}.day-tile-badge svg{fill:none;stroke:#fff;stroke-width:3.6px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.day-tile[data-status=progress] .day-tile-badge{box-sizing:border-box;border:2px solid var(--ink);background:linear-gradient(90deg, var(--ink) 50%, #fff 50%);border-radius:50%;width:12px;height:12px;top:5px;right:5px}@media (hover:hover) and (pointer:fine){.day-tile:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-2px,-2px)}}.day-tile:active{box-shadow:none;transform:translate(1px,1px)}.day-tile:focus-visible{outline-offset:3px;outline:3px solid #fff}.your-day-meta{color:#dce6ff;font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem 1.25rem;margin:.875rem 0 0;display:flex}.up-next{border:2px solid var(--ink);border-radius:var(--radius-xl);max-width:29rem;box-shadow:var(--shadow-float);color:var(--ink);background:#fff;flex:22rem;overflow:hidden}.up-next-cover{border-bottom:2px solid var(--ink);background:var(--game-soft);height:15rem;position:relative;overflow:hidden}.up-next-label{z-index:1;background:var(--ink);color:#fff;height:28px;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 .75rem;font-weight:700;display:inline-flex;position:absolute;top:1rem;left:1rem}.game-card-preview.up-next-board{aspect-ratio:auto;width:15.5rem;height:15.5rem;transition:transform .3s var(--ease-out);background:0 0;border:0;border-radius:0;padding:0;position:absolute;bottom:-2.5rem;right:-1.75rem}@media (hover:hover) and (pointer:fine){.up-next:hover .up-next-board{transform:translate(-6px,-8px)}}.up-next-body{flex-direction:column;gap:.375rem;padding:1.375rem 1.5rem 1.5rem;display:flex}.up-next-tag{color:var(--game-ink,var(--ink-soft));font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.up-next-started{border:1.5px solid var(--ink);height:22px;color:var(--ink);font-size:var(--text-xs);border-radius:999px;align-items:center;padding:0 .5rem;display:inline-flex}.up-next h2{font:400 var(--text-3xl) / 1.05 var(--display);margin:0}.up-next-text{color:var(--ink-soft);font-size:var(--text-sm);margin:0;line-height:1.5}.up-next-actions{align-items:center;gap:1rem;margin-top:.875rem;display:flex}.up-next .up-next-play{min-height:48px;font-size:var(--text-md);padding:0 1.25rem}.up-next-other{color:var(--ink-soft);font-size:var(--text-sm);text-underline-offset:3px;font-weight:500}.day-done{box-sizing:border-box;border:2px solid var(--ink);border-radius:var(--radius-xl);max-width:29rem;box-shadow:var(--shadow-float);color:var(--ink);background:#fff;flex:22rem;padding:1.75rem}.day-done-label{color:var(--ok);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:700}.day-done h2{font:400 var(--text-3xl) / 1.05 var(--display);margin:.5rem 0 0}.day-done-summary{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:.625rem 0 0}.day-done-tiles{gap:.375rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.day-done-tiles li{box-sizing:border-box;border:2px solid var(--ink);background:var(--game-color);border-radius:9px;width:34px;height:34px}.up-next-loading{box-sizing:border-box;padding:1.5rem}.day-done-next{border-top:1px solid var(--line-soft);color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin:1.25rem 0 0;padding-top:1rem}.today-body{box-sizing:border-box;width:100%;max-width:var(--content-width);padding:4rem var(--gutter) 6rem;flex-direction:column;gap:5rem;margin:0 auto;display:flex}.today-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1.5rem;margin-bottom:1.75rem;display:flex}.today-section-note{color:var(--ink-3);font-size:var(--text-sm);margin:0}.today-eyebrow{color:var(--blue);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:700}.today-section-head h2{font:400 2.25rem / 1.05 var(--display);margin:.375rem 0 0}.today-count{color:var(--ink-3);font:500 var(--text-sm) "Figtree Variable", system-ui, sans-serif;vertical-align:middle;margin-left:.625rem}.today-no-results{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.today-no-results p{margin:0}.today-grid,.today-wide-grid{gap:1.5rem;margin:0;padding:0 7px 7px 0;list-style:none;display:grid}.today-grid{grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr))}.today-wide-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,31rem),1fr))}.today-card{border:2px solid var(--ink);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);background:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.today-card:hover{box-shadow:var(--shadow-card-hover);transform:translate(-2px,-2px)}}.today-card:has(.today-card-link:focus-visible){box-shadow:var(--shadow-card-hover);transform:translate(-2px,-2px)}.today-card:active{box-shadow:2px 2px 0 var(--ink);transition-duration:90ms;transform:translate(2px,2px)}.today-card:has(.today-card-link:focus-visible){outline:3px solid var(--blue);outline-offset:3px}.today-card .today-card-cover{box-sizing:border-box;aspect-ratio:auto;border:0;border-bottom:2px solid var(--ink);background:var(--game-soft);border-radius:0;flex:none;height:12.25rem;padding:1.5rem 1.75rem}.today-card .today-card-cover>.preview-fit{transition:transform .32s var(--ease-out);transform:translate(14%,20%)scale(1.2)}@media (hover:hover) and (pointer:fine){.today-card:hover .today-card-cover>.preview-fit{transform:translate(11%,14%)scale(1.2)}}.today-card-body{flex-direction:column;flex:1;gap:.375rem;min-width:0;padding:1rem;display:flex}.today-card-tag{color:var(--game-ink);font-size:var(--text-sm);margin:0;font-weight:600}.today-card h3{font:400 var(--text-xl) / 1.15 var(--display);overflow-wrap:anywhere;margin:0}.today-card-link{color:inherit;font-weight:inherit;text-decoration:none}.today-card-link:after{content:"";z-index:1;position:absolute;inset:0}.today-card-link:focus-visible{outline:none}.today-card-text{color:var(--ink-soft);font-size:var(--text-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.today-card-footer{color:var(--ink-3);font-size:var(--text-xs);justify-content:space-between;align-items:flex-end;gap:.5rem;margin:auto 0 0;padding-top:.875rem;line-height:1.35;display:flex}.today-card-cta{color:var(--blue);font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:.25rem;margin-left:auto;font-weight:600;display:inline-flex}.today-card-cta .today-arrow{stroke-width:2.8px;width:15px;height:15px}.today-status{z-index:2;box-sizing:border-box;border:1.5px solid var(--ink);font-variant-numeric:tabular-nums;height:26px;color:var(--ink);font-size:var(--text-xs);pointer-events:none;background:#fff;border-radius:999px;align-items:center;gap:.375rem;padding:0 .625rem;font-weight:600;display:inline-flex;position:absolute;top:.75rem;left:.75rem}.today-status[data-status=solved]{background:var(--ink);color:#fff}.today-status svg{fill:none;stroke:currentColor;stroke-width:3.4px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.today-status[data-status=progress]:before{content:"";box-sizing:border-box;border:2px solid var(--ink);background:linear-gradient(90deg, var(--ink) 50%, transparent 50%);border-radius:50%;width:10px;height:10px}.today-wide-card{flex-direction:row}.today-wide-card .today-card-cover{border-right:2px solid var(--ink);border-bottom:0;flex:0 0 13rem;height:auto;min-height:13.5rem;padding:1.75rem}.today-wide-card .today-card-body{gap:.5rem;padding:1.25rem 1.5rem}.today-wide-card h3{font-size:var(--text-2xl)}.today-wide-card .today-card-text{font-size:var(--text-sm)}.today-card-button{box-sizing:border-box;border:2px solid var(--ink);border-radius:var(--radius-md);min-height:44px;box-shadow:var(--shadow-press);color:var(--ink);font-size:var(--text-sm);white-space:nowrap;background:#fff;align-items:center;margin-left:auto;padding:0 1rem;font-weight:600;display:inline-flex}.today-week p{color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:.5rem 0 .4rem;font-weight:700}.today-week ol{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;max-width:21rem;margin:0;padding:0;list-style:none;display:grid}.today-week li{color:var(--ink-3);font-size:var(--text-xs);align-content:end;justify-items:center;gap:.4rem;font-weight:600;display:grid;position:relative}.today-week li:before{content:"";width:var(--size,12px);height:var(--size,12px);box-sizing:border-box;border:2px solid var(--line);background:#fff;border-radius:4px}.today-week li[data-day=past]{color:var(--ink-soft)}.today-week li[data-day=past]:before{background:var(--line)}.today-week li[data-day=today]{color:var(--ink);font-weight:700}.today-week li[data-day=today]:before{border-color:var(--ink);background:var(--game-color);box-shadow:0 0 0 3px var(--game-soft)}@media (width<=760px){.today-hero-inner{padding:1rem var(--gutter) 1.25rem;gap:1rem}.today-date{font-size:var(--text-sm)}.today-hero h1{font-size:var(--text-3xl);margin:.75rem 0 .375rem}.today-credit{font-size:var(--text-sm)}.your-day{margin-top:1.25rem}.day-tiles{margin-right:calc(-1 * var(--gutter));padding:4px var(--gutter) 6px 4px;scrollbar-width:none;flex-wrap:nowrap;margin-left:-4px;overflow-x:auto}.day-tiles::-webkit-scrollbar{display:none}.day-tiles li{flex:none}.day-tile{width:56px;height:56px}.your-day-meta{font-size:var(--text-xs);gap:.25rem .875rem}.up-next,.day-done{max-width:none;box-shadow:5px 5px 0 var(--ink);flex-basis:100%}.up-next-cover{height:clamp(5rem,45svh - 13rem,11rem)}.game-card-preview.up-next-board{width:15rem;height:15rem;bottom:-3rem}.up-next-body{padding:1rem 1.125rem 1.25rem}.up-next h2{font-size:var(--text-2xl)}.up-next-text{display:none}.today-body{gap:2.75rem;padding-block:1.25rem 3rem}.today-section-head{gap:.375rem;margin-bottom:1rem}.today-section-head h2{font-size:var(--text-2xl)}.today-grid{grid-template-columns:minmax(0,1fr);gap:.875rem}.today-grid .today-card{box-shadow:3px 3px 0 var(--ink);flex-direction:row}.today-grid .today-card-cover{border-right:2px solid var(--ink);border-bottom:0;flex:0 0 6.5rem;height:auto;min-height:7rem;padding:.875rem}.today-grid .today-card-body{gap:.25rem;padding:.75rem .875rem}.today-grid .today-card h3{font-size:var(--text-lg)}.today-grid .today-card-text,.today-grid .today-card-footer>span:not(.today-card-cta){display:none}.today-grid .today-status{align-self:flex-start;margin-top:.25rem;position:static}.today-grid .today-card-footer{padding-top:.25rem}.today-wide-card{flex-direction:column}.today-wide-card .today-card-cover{border-right:0;border-bottom:2px solid var(--ink);flex:none;height:9.5rem;min-height:0}.today-wide-card .today-card-body{padding:1.125rem 1.25rem}.today-card-footer{flex-wrap:wrap}}@media (width<=760px) and (height<=650px){.today-hero-inner{gap:.75rem;padding-top:.75rem}.today-hero h1{font-size:var(--text-2xl);margin-top:.5rem}.your-day{margin-top:1rem}.your-day h2{margin-bottom:.5rem}.your-day-meta{margin-top:.5rem}.up-next{display:flex}.up-next-cover{border-right:2px solid var(--ink);border-bottom:0;flex:0 0 5rem;height:auto;min-height:10rem}.up-next-label{padding-inline:.375rem;font-size:.625rem;top:.625rem;left:.5rem}.game-card-preview.up-next-board{width:9rem;height:9rem;bottom:-1rem;right:-3.5rem}.up-next-body{flex:1;min-width:0;padding:.875rem .75rem}.up-next h2{font-size:var(--text-xl)}.up-next-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.up-next .up-next-play{min-height:44px;padding-inline:.75rem}.up-next-other{font-size:var(--text-xs)}}@media (prefers-reduced-motion:reduce){.today-card,.today-card:hover,.today-card:active{transition:box-shadow .16s;transform:none}}.game-band .tutorial-trigger{font-size:var(--text-sm)}.tutorial-trigger svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;width:19px;height:19px}.app-dialog.tutorial-dialog{border-radius:22px;width:min(35rem,100% - 1.5rem);max-height:calc(100svh - 1.5rem);padding:1.6rem;overflow:hidden}.app-dialog.tutorial-dialog[open]{flex-direction:column;display:flex}.tutorial-scroll{overscroll-behavior:contain;min-height:0;overflow-y:auto}.tutorial-dialog h2{font-family:inherit;font-size:var(--text-md);flex-shrink:0;margin:0 2rem 1rem 0;font-weight:600}.tutorial-meta{font-size:var(--text-xs);color:var(--ink-soft);justify-content:flex-end;gap:1rem;font-weight:700;display:flex}.tutorial-meta>:last-child{white-space:nowrap}.tutorial-progress{gap:5px;margin:.6rem 0 1.2rem;display:flex}.tutorial-progress span{background:var(--line-soft);border-radius:5px;flex:1;height:5px}.tutorial-progress .is-filled{background:var(--game-color)}.tutorial-copy h3{font-family:var(--display);outline:none;margin:0 0 .65rem;font-size:clamp(1.4rem,4.5vw,1.9rem);font-weight:400;line-height:1.12}.tutorial-copy p{line-height:1.55;font-size:var(--text-sm);margin:0 0 1.1rem}.tutorial-stage{background:#f6f8fd;border:1px solid #d8dff0;border-radius:16px;padding:.5rem .7rem 0;position:relative;overflow:hidden}.tutorial-example-label{color:var(--ink-soft);text-align:center;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;font-weight:600;display:block}.tutorial-diagram{width:100%;max-height:248px;display:block;overflow:visible}.tutorial-diagram text{fill:var(--ink);text-anchor:middle;dominant-baseline:central;font-family:inherit;font-size:19px;font-weight:700}.tutorial-diagram .td-small{font-size:12px;font-weight:700}.tutorial-diagram .td-tiny{font-size:11px}.tutorial-diagram .td-word{font-size:17px}.td-square{fill:#fff;stroke:#aeb9d4;stroke-width:1px}.td-shaded{fill:var(--game-soft)}.td-piece{fill:var(--game-color);stroke:var(--ink);stroke-width:1.3px}.td-walls{fill:none;stroke:var(--ink);stroke-width:3px}.td-trace{fill:none;stroke:var(--tutorial-stroke);stroke-width:8px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:2.2s ease-in-out both tutorial-draw}.td-letter{fill:#fff;stroke:var(--game-color);stroke-width:2px}.td-launcher{fill:var(--game-soft);stroke:var(--ink);stroke-width:2px}.td-outline,.td-group{fill:none;stroke:var(--game-color);stroke-width:4px}.td-group{stroke:#2453db;fill:#2453db14}.td-bad{stroke:#be3654}.td-error-ring{fill:none;stroke:#be3654;stroke-width:2.5px}.tutorial-diagram .td-error-text{fill:#ab2744}.tutorial-diagram .td-success-text{fill:#087253}.td-gap{fill:none;stroke:#087253;stroke-width:3px;stroke-dasharray:4 5}.td-bracket{fill:none;stroke:var(--ink-soft);stroke-width:1.5px}.td-domino{fill:#fff;stroke:var(--game-color);stroke-width:2px}.td-appear{animation:.6s ease-out both tutorial-appear}.td-tap{fill:#fff;stroke:var(--ink);stroke-width:2px;animation:1.8s ease-in-out both tutorial-tap}.td-turn{animation:2.5s ease-in-out both tutorial-turn}.td-group-row{animation:6s both tutorial-group-first}.td-group-column{animation:6s both tutorial-group-second}.td-group-box{animation:6s both tutorial-group-third}.tutorial-caption{justify-content:flex-end;align-items:flex-start;gap:.7rem;margin:.9rem 0 1.1rem;display:flex}.tutorial-caption p{font-size:var(--text-sm);color:var(--ink-soft);flex:1;margin:0;line-height:1.5}.tutorial-text-button{color:var(--ink-soft);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;min-height:44px;padding:.4rem 0;font-weight:600}.tutorial-text-button:hover{color:var(--ink);text-decoration:underline}.tutorial-caption .tutorial-text-button{margin-top:-.45rem}.tutorial-footer{border-top:1px solid var(--line-soft);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.tutorial-dialog .tutorial-next{background:var(--game-soft);min-height:46px}@keyframes tutorial-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes tutorial-appear{0%{opacity:0}to{opacity:1}}@keyframes tutorial-tap{0%{opacity:0}35%,65%{opacity:1}to{opacity:0}}@keyframes tutorial-turn{0%,20%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes tutorial-group-first{0%,30%{opacity:1}34%,to{opacity:0}}@keyframes tutorial-group-second{0%,32%{opacity:0}34%,63%{opacity:1}67%,to{opacity:0}}@keyframes tutorial-group-third{0%,65%{opacity:0}67%,to{opacity:1}}@media (prefers-reduced-motion:reduce){.tutorial-diagram *{animation:none!important}.td-tap,.td-group-row,.td-group-column{display:none}.td-turn{transform:rotate(90deg)}}@media (width<=600px){.app-dialog.tutorial-dialog{border-radius:18px;padding:1.1rem}.tutorial-meta{font-size:var(--text-xs);gap:.4rem}.tutorial-copy p{font-size:var(--text-sm)}.tutorial-stage{padding-left:.25rem;padding-right:.25rem}.tutorial-footer{gap:.5rem}.tutorial-next{font-size:var(--text-sm);padding:0 .7rem}}.site{--header-height:4.5rem;--content-width:80rem;--gutter:clamp(1rem, 3.5vw, 2.5rem);--pattern-offset:-28px;background-color:#fff;background-image:var(--site-pattern);background-position:var(--pattern-offset) var(--pattern-offset);flex-direction:column;min-height:100vh;display:flex}.site-main{box-sizing:border-box;flex:1 0 auto;width:100%;padding-block:2rem 3rem}.site-main:has(>:is(.today-page,.game-page,.rankings-page)){gap:0;max-width:none;padding:0}.site-header{z-index:20;box-sizing:border-box;height:var(--header-height);border-bottom:1px solid var(--line-soft);background:#fff;position:sticky;top:0}.site-header-inner{box-sizing:border-box;height:100%;max-width:var(--content-width);padding:0 var(--gutter);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:2.5rem;margin:0 auto;display:grid}.site-header .brand-mark{width:38px;height:38px}.site-header .brand-name{font-size:1.7rem}.site-header .brand-sub{font-size:.7rem}.site-nav{gap:1.75rem;display:flex}.site-nav a{box-sizing:border-box;height:calc(var(--header-height) - 1px);color:var(--ink-soft);font-size:var(--text-sm);border-bottom:2px solid #0000;align-items:center;padding-top:2px;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.site-nav a:hover{color:var(--ink)}.site-nav a.is-active{color:var(--ink);border-bottom-color:var(--blue)}.site-header .brand{justify-self:start}.site-header-tools{grid-column:3;justify-self:end;align-items:center;gap:.85rem;min-width:0;max-width:100%;display:flex}.site-search{flex:0 15.5rem;min-width:0;max-width:none}.site-search label{box-sizing:border-box;border:1.5px solid var(--line);width:100%;height:40px;color:var(--ink-soft);cursor:text;background:#f6f8fd;border-radius:999px;flex-direction:row;align-items:center;gap:.5rem;margin:0;padding:0 .9rem;font-weight:500;display:flex}.site-search label:focus-within{border-color:var(--blue);background:#fff}.site-search svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;flex:none;width:17px;height:17px}.site-search input{min-width:0;font-size:var(--text-sm);background:0 0;border:0;outline:0;flex:1;padding:0}.site-search input::placeholder{color:var(--ink-3)}.streak-pill{box-sizing:border-box;color:#8a420a;height:40px;font-size:var(--text-sm);white-space:nowrap;background:#fff1e3;border-radius:999px;align-items:center;gap:.35rem;padding:0 .9rem;font-weight:600;display:inline-flex}.streak-pill svg{fill:#ed9235;stroke:#8a420a;stroke-width:1.6px;stroke-linejoin:round;width:16px;height:16px}.account-link{background:var(--ink);color:#fff;width:40px;height:40px;font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;font-weight:600;text-decoration:none;display:grid}.account-link svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:20px;height:20px}.account-link[aria-current=page]{box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--blue)}.site-footer{background:var(--ink);color:#fff;margin-top:auto}.site-footer-inner{box-sizing:border-box;max-width:var(--content-width);padding:2rem var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin:0 auto;display:flex}.site-footer p{color:#fffc;font-size:var(--text-sm);align-items:center;gap:.75rem;margin:0;display:flex}.site-footer-mark{width:30px;height:30px}.site-footer-mark path{fill:#fff}.site-footer nav{flex-wrap:wrap;gap:.25rem 1.5rem;display:flex}.site-footer a{color:#fff;min-height:44px;font-size:var(--text-sm);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.site-footer a:hover{text-decoration:underline}.site-footer a:focus-visible{outline-color:#fff}.mobile-tabs{z-index:20;padding:.3rem .5rem calc(.3rem + env(safe-area-inset-bottom));border-top:2px solid var(--ink);background:#fff;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.mobile-tabs a{min-height:52px;color:var(--ink-soft);font-size:var(--text-xs);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;text-decoration:none;display:flex}.mobile-tabs a.is-active{color:var(--blue)}.mobile-tabs svg{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}@media (width<=1000px){.site-search{flex-basis:12rem}.site-header-inner{grid-template-columns:auto auto minmax(0,1fr);gap:1.25rem}}@media (width<=760px){.site{--header-height:3.75rem}.site:has(.mobile-tabs){padding-bottom:calc(3.9rem + env(safe-area-inset-bottom))}.site-header .brand-mark{width:32px;height:32px}.site-header .brand-name{font-size:1.4rem}.site-header .brand-sub{font-size:.58rem}.streak-pill{height:36px}.site-main{padding-block:1.25rem 2rem}}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:8px;padding:.75rem 1rem;position:fixed;top:.75rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-main{min-width:0}.site-main:focus{outline:none}.session-save-status{color:var(--ink-soft);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.session-save-status:before{content:"";background:#0a7a5a;border-radius:50%;width:.5rem;height:.5rem}.session-save-status[data-status=pending]:before,.session-save-status[data-status=syncing]:before{background:#9b6600}.session-save-status[data-status=error]:before,.session-save-status[data-status=conflict]:before{background:#b43146}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}:is(.button,.board-actions button,.page-panel button):is(:hover,:active){transform:none!important}}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tilt Warp;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/tilt-warp-latin-400-normal-D05hbns0.woff2)format("woff2"),url(/assets/tilt-warp-latin-400-normal-DkGnOKt8.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--ink:#16204a;--ink-soft:#4c5680;--ink-3:#646c90;--muted:var(--ink-3);--line:#c9d1ea;--line-soft:#e3e7f3;--paper:#fff;--blue:#2b57f6;--blue-ink:#1e3fc0;--blue-soft:#bbd1fe;--ok:#0a7a5a;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-5xl:4rem;--shadow-press:3px 3px 0 var(--ink);--shadow-card:5px 5px 0 var(--ink);--shadow-card-hover:7px 7px 0 var(--ink);--shadow-float:8px 8px 0 var(--ink);--shadow:var(--shadow-card);--shadow-sm:var(--shadow-press);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius:var(--radius-lg);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--gutter:clamp(1rem, 4vw, 3.5rem);--display:"Tilt Warp", "Figtree Variable", system-ui, sans-serif;--game-color:var(--blue);--game-soft:var(--blue-soft);color:var(--ink);background:#fff;font-family:Figtree Variable,system-ui,sans-serif;font-weight:400;line-height:1.5}body{margin:0}:where(h1,h2,h3,h4){text-wrap:balance}:where(p,li,dd,figcaption){text-wrap:pretty}a{color:var(--blue);font-weight:600}input,button,select,textarea{font:inherit}input,select,textarea{border:2px solid var(--ink);color:var(--ink);background:#fff;border-radius:10px;padding:.5rem .65rem}select{appearance:none;text-overflow:ellipsis;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 6 6l4.5-4.5' fill='none' stroke='%2316204a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right .75rem center/.7rem no-repeat;padding-right:2.2rem}select:disabled{cursor:not-allowed}button{cursor:pointer}button:disabled{cursor:not-allowed}label{gap:.25rem;margin:.75rem 0;font-weight:600;display:grid}::placeholder{color:var(--ink-3);opacity:1}form{max-width:25rem}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand{color:var(--ink);align-items:center;gap:.55rem;text-decoration:none;display:flex}.brand-mark{flex:none;width:40px;height:40px}.brand-words{flex-direction:column;align-items:flex-start;gap:.36rem;display:flex}.brand-name{font-family:var(--display);padding-top:.04em;font-size:2rem;font-weight:400;line-height:.74}.brand-sub{letter-spacing:.86em;text-transform:uppercase;color:var(--blue);margin-right:-.86em;font-size:.82rem;font-weight:900;line-height:.74}.site-main{max-width:var(--content-width,80rem);padding-inline:var(--gutter);flex-direction:column;gap:1rem;margin:0 auto;display:flex}.panel{background:var(--paper);border:1.5px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:none}.page-panel{padding:1.25rem 1.5rem}.page-panel h1{font-family:var(--display);margin:0 0 .5rem;font-weight:400}.notice{margin:0;padding:1rem 1.25rem;font-weight:600}.actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.actions>p{margin:0}.eyebrow{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-weight:700}.button,.board-actions button,.page-panel button:not(:where(.board-cell,.dialog-close)){border:2px solid var(--ink);border-radius:var(--radius-md);min-height:44px;color:var(--ink);font-size:var(--text-sm);box-shadow:var(--shadow-press);transition:transform .11s var(--ease-out), box-shadow .11s var(--ease-out);background:#fff;justify-content:center;align-items:center;gap:.4rem;padding:0 1rem;font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.button:hover:not(:disabled),.board-actions button:hover:not(:disabled),.page-panel button:not(.board-cell):not(.dialog-close):hover:not(:disabled){box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}}.button:active:not(:disabled),.board-actions button:active:not(:disabled),.page-panel button:not(.board-cell):not(.dialog-close):active:not(:disabled){box-shadow:1px 1px 0 var(--ink);transition-duration:70ms;transform:translate(2px,2px)}.button:disabled,.board-actions button:disabled{opacity:.45;box-shadow:none}.mode-toggle{border:2px solid var(--ink);border-radius:var(--radius-md);background:#fff;gap:2px;padding:3px;display:inline-flex}.board-actions .mode-toggle .button{min-height:38px;color:var(--ink-soft);box-shadow:none;background:0 0;border:0;border-radius:9px;padding:0 .875rem;transform:none}.board-actions .mode-toggle .button[aria-pressed=true]{background:var(--ink);color:#fff}@media (hover:hover) and (pointer:fine){.board-actions .mode-toggle .button:hover:not([aria-pressed=true]){background:color-mix(in srgb, var(--game-soft) 55%, #fff);color:var(--ink);box-shadow:none;transform:none}}.button-primary,a.button-primary{background:var(--blue);color:#fff}.site-header .button-primary.active{background:var(--ink)}.game-card-preview{aspect-ratio:6/5;border:3px solid var(--ink);background:#fff;border-radius:14px;justify-content:center;align-items:center;padding:.6rem;display:flex;overflow:hidden;container-type:size}.preview-fit{width:min(100cqw, calc(100cqh * var(--preview-ratio)));height:min(100cqh, calc(100cqw / var(--preview-ratio)));flex:none;align-items:center;display:flex}.game-card-preview .board-grid{grid-template-rows:repeat(var(--rows), minmax(0, 1fr));pointer-events:none;width:100%;height:100%}.game-card-preview .board-cell{aspect-ratio:auto}.game-card-preview .tetromino-boundaries{stroke-width:2px}.game-card-empty{font-family:var(--display);color:var(--game-color);font-size:4rem}.game-page{flex-direction:column;gap:1.5rem;padding-bottom:3rem;display:flex}.game-page>:not(.game-band){box-sizing:border-box;width:min(100% - 2 * var(--gutter), var(--content-width) - 2 * var(--gutter));margin-inline:auto}.game-band{background:var(--game-soft);border-bottom:2px solid var(--ink)}.game-band-inner{box-sizing:border-box;max-width:var(--content-width);min-height:7.5rem;padding:1.25rem var(--gutter);flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin:0 auto;display:flex}.game-card-preview.game-band-icon{aspect-ratio:auto;border:2px solid var(--ink);background:#fff;border-radius:14px;flex:none;width:60px;height:60px;padding:7px}.game-band-icon .board-grid{border-width:1.5px;border-radius:4px}.game-band-title{flex:18rem;min-width:0}.game-band-crumbs{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.4rem;font-weight:600;display:flex}.game-band-crumbs a{color:var(--ink);text-decoration:none}.game-band-crumbs a:hover{text-decoration:underline}.game-band h1{font:400 var(--text-3xl) / 1.05 var(--display);overflow-wrap:anywhere;margin:.25rem 0 0}.game-band-meta{color:var(--ink);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.25rem .5rem;margin:.375rem 0 0;font-weight:500;display:flex}.game-band-author:before{content:"·";margin-right:.5rem}.game-band-status:empty,.game-band-session:empty{display:none}.game-band-status .session-save-status{color:var(--ink);font-size:var(--text-sm);white-space:nowrap;margin:0;font-weight:500}.game-band-tools{flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto;display:flex}.game-band .button{border-radius:var(--radius-md);white-space:nowrap;background:#fff;min-height:44px}.game-band .session-time-controls{box-sizing:border-box;border:2px solid var(--ink);border-radius:var(--radius-md);height:44px;box-shadow:var(--shadow-press);background:#fff;align-items:stretch;gap:0;margin:0;display:flex;overflow:hidden}.game-band .session-timer{font-size:var(--text-md);padding:0 .875rem;font-weight:700}.game-band .session-pause-button.button{border:0;border-left:2px solid var(--ink);background:var(--ink);color:#fff;min-height:0;box-shadow:none;border-radius:0;padding:0 .9rem}.game-band .session-pause-button.button:hover:not(:disabled),.game-band .session-pause-button.button:active:not(:disabled){background:color-mix(in srgb, var(--ink) 85%, #fff);box-shadow:none;transform:none}.game-band .game-info-button{color:var(--ink)}.game-band .game-info-button:hover{background:#fff}.game-options{position:relative}.game-options>summary{cursor:pointer;gap:.5rem;list-style:none;display:flex}.game-options>summary::-webkit-details-marker{display:none}.game-options>summary svg{fill:currentColor;width:20px;height:20px}.game-options-panel{z-index:10;border:2px solid var(--ink);width:13rem;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;flex-direction:column;gap:.25rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + .75rem);right:0}.game-options-panel>:is(.button,.game-info-button){box-sizing:border-box;width:100%;height:auto;min-height:44px;box-shadow:none;font-family:inherit;font-size:var(--text-sm);text-align:left;border:0;border-radius:10px;flex:none;justify-content:flex-start;align-items:center;gap:.5rem;padding:.625rem .75rem;font-weight:600;line-height:1.3;display:flex}.game-options-panel>:is(.button,.game-info-button):hover{background:var(--game-soft);transform:none}.game-info-button{width:40px;height:40px;color:var(--ink-soft);background:0 0;border:0;border-radius:50%;flex:0 0 40px;place-items:center;padding:8px;display:grid}.game-info-button:hover{background:var(--game-soft);color:var(--ink)}.game-info-button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.game-info-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:24px;height:24px}.game-info-button .game-info-dot{fill:currentColor;stroke:none}.app-dialog.game-info-dialog{border-radius:var(--radius-lg);width:min(25rem,100% - 2rem);box-shadow:var(--shadow-float);padding:1.25rem}.app-dialog.game-info-dialog h2{font-size:var(--text-xl);margin:0 2.25rem .75rem 0}.game-info-dialog p{margin:0;line-height:1.6}.game-icon{box-sizing:border-box;border:3px solid var(--ink);background:var(--game-color);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.game-icon svg{width:32px;height:32px}.game-icon-letter{font-family:var(--display);color:#fff;font-size:var(--text-xl)}.session{flex-direction:column;gap:1rem;display:flex}.session>[role=alert]{align-self:flex-start}.game-layout{--side-width:19rem;--stage-padding:1.125rem;--board-max-width:100cqw;--board-max-height:clamp(26rem, 70svh, 40rem);align-items:flex-start;gap:1.5rem;display:flex}.game-screen{flex-direction:column;gap:1.125rem;width:100%;display:flex}.board-goal{border-bottom:1.5px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.875rem 1.25rem;display:flex}.board-goal>.eyebrow{color:var(--game-ink,var(--ink-soft))}.board-goal-body{flex:18rem;min-width:0}.panel.board-panel{border:2px solid var(--ink);min-width:0;box-shadow:var(--shadow-card);border-radius:20px;flex-direction:column;flex:1 1 0;padding:0;display:flex;overflow:clip}.board-stage{padding:var(--stage-padding);background:color-mix(in srgb, var(--game-soft) 30%, #fff);justify-content:center;display:flex;position:relative;container-type:inline-size}.board-footer{contain:inline-size;border-top:1.5px solid var(--line-soft);background:#fff;justify-content:center;align-items:center;padding:1rem 1.25rem;display:flex}.board-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.board-history{gap:.5rem;display:flex}.board-actions:has(>.mode-toggle){justify-content:space-between;row-gap:.875rem;width:100%}.board-actions>.mode-toggle{order:1}.board-actions>.board-history{order:2}.board-actions>.keypad-erase{white-space:nowrap;order:2;margin-left:auto}.board-actions>.keypad{flex-wrap:wrap;flex-basis:100%;order:3;justify-content:center;gap:.5rem;display:flex}.board-actions>.game-help{text-align:center;color:var(--ink-3);font-size:var(--text-sm);flex-basis:100%;order:4;margin:0}.keypad .button{min-width:48px;min-height:48px;padding:0 .875rem}.keypad .button:is([aria-label^=Enter],[aria-label^=Toggle]){font:400 var(--text-xl) / 1 var(--display);padding:0}.board-history svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.game-side{flex:0 0 var(--side-width);flex-direction:column;gap:1rem;min-width:0;display:flex}.side-card{flex-direction:column;gap:.7rem;padding:.9rem 1.1rem;display:flex}.panel.side-rules{border-radius:20px;gap:0;padding:0;overflow:hidden}.side-rules-body{flex-direction:column;gap:.875rem;padding:1.25rem 1.5rem 1.5rem;display:flex}.side-rules-body>.eyebrow{color:var(--game-ink,var(--ink-soft))}.rules-example{border-bottom:1.5px solid var(--line-soft);background:color-mix(in srgb, var(--game-soft) 30%, #fff);flex-direction:column;align-items:center;gap:.6rem;margin:0;padding:1.5rem;display:flex}.game-card-preview.rules-example-board{aspect-ratio:auto;background:0 0;border:0;border-radius:0;width:min(100%,12rem);height:9.5rem;padding:0;overflow:visible}.rules-example figcaption{color:var(--ink-soft);font-size:var(--text-xs);font-weight:600}.rules-list{counter-reset:rule;font-size:var(--text-md);color:var(--ink);flex-direction:column;gap:.75rem;margin:0;padding:0;line-height:1.5;list-style:none;display:flex}.rules-list li{counter-increment:rule;gap:.75rem;display:flex}.rules-list li:before{content:counter(rule);background:var(--game-soft);width:24px;height:24px;color:var(--game-ink,var(--ink));font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.0625rem;font-weight:700;display:flex}.rules-text{color:var(--ink);margin:0}@media (width<=960px){.game-layout{flex-direction:column;align-items:stretch}.panel.board-panel,.game-side{flex:none}}@media (width<=860px){.board-actions button{padding-inline:.75rem}.page-panel{padding:1rem}}@media (width<=760px){.game-page{gap:1rem}.game-layout{--stage-padding:.5rem;gap:1rem}.game-band-inner{gap:.625rem;min-height:0;padding-block:.75rem}.game-band-crumbs,.game-card-preview.game-band-icon{display:none}.game-band-title{flex-basis:12rem}.game-band h1{font-size:var(--text-2xl)}.game-band-meta{font-size:var(--text-sm)}.game-band-author{display:none}.game-band-tools{flex-basis:100%;gap:.5rem;margin-left:0}.game-options{margin-left:auto}.game-options>summary span,.game-band .session-timer svg,.game-band .session-pause-label,.game-band .tutorial-trigger svg{display:none}.game-band .button{min-height:44px;font-size:var(--text-sm);padding-inline:.8rem}.game-band .session-time-controls{height:44px}.game-band .session-timer{font-size:var(--text-md);padding-inline:.625rem}.game-band .session-pause-button.button{width:44px;padding:0}.game-options>summary.button{box-sizing:border-box;justify-content:center;width:44px;padding:0}.board-goal{gap:.5rem;padding:.625rem .75rem}.board-goal>.eyebrow{flex-basis:100%;line-height:1.25}.board-goal-body{flex-basis:100%}.board-footer{padding:.625rem .5rem}.board-actions{gap:.5rem}.board-actions:has(>.mode-toggle){grid-template-columns:minmax(0,1fr) auto;gap:.625rem;display:grid}.board-actions>.mode-toggle{grid-column:1/-1;display:flex}.board-actions>.mode-toggle .button{flex:1}.board-actions>.keypad-erase{order:3;justify-self:start;margin-left:0}.board-actions:has(>.mode-toggle)>.board-history{order:3}.board-actions>.game-help{display:none}.board-actions>.keypad{grid-column:1/-1;grid-template-columns:repeat(var(--keypad-columns), minmax(0, 1fr));order:2;gap:.375rem;display:grid}.keypad .button{min-width:0;min-height:46px;padding:0 .25rem}.board-actions .mode-toggle .button{padding:0 .5rem}.board-history{gap:.375rem}.board-history .button{width:44px;padding:0}.board-history .button-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.panel.board-panel{box-shadow:4px 4px 0 var(--ink);border-radius:18px}}@media (width<=400px){.board-actions>.keypad:has(>:nth-child(7)){grid-template-columns:repeat(4,minmax(0,1fr))}}.rules-toggle,.rules-grab,.board-goal--rules-only{display:none}.board-goal .rules-toggle{flex:none;margin-left:auto}.board-actions .button.rules-toggle,.board-goal .button.rules-toggle{min-height:38px;box-shadow:2px 2px 0 var(--ink);padding:0 .875rem}.game-band-inner{transition:min-height .24s var(--ease-out), padding .24s var(--ease-out)}.is-focus .game-band-inner{min-height:0;padding-block:.625rem}.is-focus .game-band-crumbs,.is-focus .game-band-meta{display:none}.is-focus .game-band h1{font-size:var(--text-xl);margin:0}.is-focus .game-card-preview.game-band-icon{border-radius:10px;width:40px;height:40px;padding:4px}.is-focus .rules-toggle{display:inline-flex}.is-focus .board-goal--rules-only{justify-content:flex-end;padding-block:.625rem;display:flex}.is-focus .game-side{display:none}.app-dialog.rules-dialog{overscroll-behavior:contain;border:0;border-left:2px solid var(--ink);background:#fff;border-radius:0;width:min(24rem,100%);max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0 0 0 auto;overflow-y:auto;box-shadow:-8px 0 #16204a14}.rules-dialog[open]{flex-direction:column;animation:.32s cubic-bezier(.32,.72,0,1) rules-drawer-in;display:flex}.rules-dialog>h2{font-size:var(--text-xl);flex:none;margin:0;padding:1.25rem 3.5rem 1.25rem 1.5rem}.rules-dialog>.dialog-close{z-index:2;flex:none;align-self:flex-end;margin:.7rem .8rem -3.075rem 0;position:sticky;top:.7rem}.rules-dialog .panel.side-rules{border:0;border-radius:0;flex:none}.rules-dialog .side-rules-body>.eyebrow{display:none}.rules-dialog[data-closing]{transform:translate(24px)}@keyframes rules-drawer-in{0%{transform:translate(100%)}}@media (width<=760px){.app-dialog.rules-dialog{width:100%;height:auto;max-height:80svh;padding-bottom:env(safe-area-inset-bottom);border-top:2px solid var(--ink);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-left:0;inset:auto 0 0;box-shadow:0 -12px 32px #111a4033}.rules-dialog[open]{animation-name:victory-sheet-in}.rules-dialog>h2{padding-top:.5rem}.rules-dialog>.dialog-close{margin-top:0;margin-bottom:-2.375rem}.rules-grab{z-index:1;touch-action:none;cursor:grab;flex:none;order:-1;justify-content:center;align-self:center;width:calc(100% - 6rem);padding:.625rem 0 .25rem;display:flex;position:sticky;top:0}.is-focus .rules-grab>span{background:var(--line);border-radius:3px;width:44px;height:5px;display:block}.rules-dialog[data-closing]{transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.game-band-inner{transition:none}.rules-dialog[open]{animation:none}}.key-hints{flex-wrap:wrap;justify-content:center;gap:.375rem 1rem;display:flex}.key-hints span{align-items:center;gap:.25rem;display:inline-flex}.key-hints kbd{box-sizing:border-box;border:1.5px solid var(--line);min-width:22px;height:22px;color:var(--ink);font:600 var(--text-xs) / 1 "Figtree Variable", system-ui, sans-serif;background:#fff;border-bottom-width:3px;border-radius:6px;place-items:center;padding:0 .3125rem;display:inline-grid}@media (hover:none),(pointer:coarse){.key-hints{display:none}}@media (width<=760px){.is-focus .board-goal:not(.board-goal--rules-only){position:relative}.is-focus .board-goal:not(.board-goal--rules-only)>.rules-toggle{min-height:32px;position:absolute;top:.375rem;right:.5rem}.is-focus .board-goal:not(.board-goal--rules-only)>.eyebrow{padding-right:5rem}}
