:root,[data-theme]{--region-strength:100%;--region-extra:color-mix(in srgb, var(--puzzle-killer) 50%, var(--puzzle-calcudoku));--on-region:var(--foreground);--cell-gap:0px;--cell-radius:0px;--board-border:2.5px;--region-border:2.5px;--grid-line:1px;--puzzle-arrows:var(--region-extra);--puzzle-path:var(--puzzle-calcudoku);--board-scale:1;--mines-ink:var(--foreground)}:root,[data-theme=citrus]{color-scheme:light;--background:#fffbf2;--background-image:none;--background-size:auto;--foreground:#1a1a1a;--card:#fff;--muted-foreground:#6b665c;--border:#1a1a1a;--line-width:2px;--radius:14px;--primary:#ff9a4d;--primary-foreground:#1a1a1a;--secondary:#fff;--secondary-foreground:#1a1a1a;--accent:#ffd23f;--puzzle-killer:#ff9a4d;--puzzle-star:#ffd23f;--puzzle-shikaku:#9bd16a;--puzzle-nonogram:#ff7e9d;--puzzle-calcudoku:#62c9c9;--tint:40%;--tint-strong:70%;--board-line:#1a1a1a;--board-thin:#1a1a1a33;--cell:#fff;--cell-filled:#1a1a1a;--star:#1a1a1a;--danger:#e5484d;--tile-mix:0%;--tile-foreground:#1a1a1a;--region-extra:#b9a3f0;--font-title:"Bricolage Grotesque", system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--title-weight:700}[data-theme=fjord]{color-scheme:light;--background:#f3f5f8;--background-image:none;--background-size:auto;--foreground:#1e2a44;--card:#fff;--muted-foreground:#66708a;--border:#1e2a44;--line-width:1.5px;--radius:10px;--primary:#1e2a44;--primary-foreground:#fff;--secondary:#fff;--secondary-foreground:#1e2a44;--accent:#ebcb7a;--puzzle-killer:#8fb3e0;--puzzle-star:#ebcb7a;--puzzle-shikaku:#a3cdbb;--puzzle-nonogram:#d49abd;--puzzle-calcudoku:#b3bceb;--tint:42%;--tint-strong:70%;--board-line:#1e2a44;--board-thin:#1e2a4433;--cell:#fff;--cell-filled:#1e2a44;--star:#1e2a44;--danger:#c0475b;--tile-mix:0%;--tile-foreground:#1e2a44;--region-extra:#c9b8e6;--font-title:"Fraunces", Georgia, serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--title-weight:700}[data-theme=earthy]{color-scheme:light;--background:#faf6ee;--background-image:none;--background-size:auto;--foreground:#2a2522;--card:#fffdf8;--muted-foreground:#7d746a;--border:#2a2522;--line-width:2px;--radius:8px;--primary:#2a2522;--primary-foreground:#faf6ee;--secondary:#fffdf8;--secondary-foreground:#2a2522;--accent:#e3a15e;--puzzle-killer:#e3a15e;--puzzle-star:#d9826a;--puzzle-shikaku:#9db08a;--puzzle-nonogram:#8fa9be;--puzzle-calcudoku:#b48aa0;--tint:48%;--tint-strong:75%;--board-line:#2a2522;--board-thin:#2a252233;--cell:#fffdf8;--cell-filled:#2a2522;--star:#2a2522;--danger:#b4473a;--tile-mix:0%;--tile-foreground:#2a2522;--region-extra:#c9b48a;--font-title:"Lora", Georgia, serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--title-weight:700}[data-theme=notebook]{color-scheme:light;--background:#fdfcf8;--background-image:linear-gradient(#e9eef5 1px, transparent 1px), linear-gradient(90deg, #e9eef5 1px, transparent 1px);--background-size:14px 14px;--foreground:#2b2b2a;--card:#fff;--muted-foreground:#85847e;--border:#4a4a47;--line-width:1.5px;--radius:8px;--primary:#2b2b2a;--primary-foreground:#fff;--secondary:#fff;--secondary-foreground:#2b2b2a;--accent:#c7801c;--puzzle-killer:#a9c8de;--puzzle-star:#e9c27a;--puzzle-shikaku:#b5d3a7;--puzzle-nonogram:#e8b4a8;--puzzle-calcudoku:#c6b9e3;--tint:45%;--tint-strong:75%;--board-line:#4a4a47;--board-thin:#4a4a472e;--cell:#fff;--cell-filled:#3a3a38;--star:#c7801c;--danger:#c0473b;--tile-mix:0%;--tile-foreground:#2b2b2a;--region-extra:#dccdb2;--font-title:"Bricolage Grotesque", system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--title-weight:600}[data-theme=night]{--mines-ink:#0e1120;color-scheme:dark;--background:#161a2b;--background-image:none;--background-size:auto;--foreground:#ece6d6;--card:#20263d;--muted-foreground:#8c93ae;--border:#3a4160;--line-width:0px;--radius:16px;--primary:#f2b34b;--primary-foreground:#161a2b;--secondary:#20263d;--secondary-foreground:#ece6d6;--accent:#f2b34b;--puzzle-killer:#7fa0f0;--puzzle-star:#f2b34b;--puzzle-shikaku:#6fcfb8;--puzzle-nonogram:#e98aa0;--puzzle-calcudoku:#b39df0;--tint:22%;--tint-strong:40%;--board-line:#ece6d6;--board-thin:#2e3552;--cell:#232a42;--cell-filled:#ece6d6;--star:#f2b34b;--danger:#ff7a85;--tile-mix:100%;--tile-foreground:#161a2b;--region-extra:#e8b48a;--on-region:#161a2b;--region-strength:90%;--font-title:"Bricolage Grotesque", system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--title-weight:600}[data-theme=ink]{color-scheme:light;--background:#fff;--background-image:none;--background-size:auto;--foreground:#111;--card:#fff;--muted-foreground:#6e6e6e;--border:#111;--line-width:1.5px;--radius:10px;--primary:#111;--primary-foreground:#fff;--secondary:#fff;--secondary-foreground:#111;--accent:#ededed;--puzzle-killer:#f7ede6;--puzzle-star:#f7f2df;--puzzle-shikaku:#e9f2e8;--puzzle-nonogram:#f6e9ee;--puzzle-calcudoku:#e7f0f4;--tint:100%;--tint-strong:100%;--board-line:#111;--board-thin:#11111124;--cell:#fff;--cell-filled:#111;--star:#111;--danger:#d93036;--tile-mix:0%;--tile-foreground:#111;--region-extra:#efedf6;--font-title:"Bricolage Grotesque", system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--title-weight:700}[data-theme=cozy]{color-scheme:light;--background:#f8f1ee;--background-image:none;--background-size:auto;--foreground:#6e4038;--card:#fff;--muted-foreground:#8a5f58;--border:#6e4038;--line-width:0px;--radius:18px;--primary:#e8b84a;--primary-foreground:#4a2c27;--secondary:#fff;--secondary-foreground:#6e4038;--accent:#f7a9c8;--puzzle-killer:#e3bb4a;--puzzle-star:#f7a9c8;--puzzle-shikaku:#a9d68f;--puzzle-nonogram:#6bbbe5;--puzzle-calcudoku:#4ab5b0;--tint:32%;--tint-strong:60%;--board-line:#6e4038;--board-thin:#6e403829;--cell:#f3e8e4;--cell-filled:#6e4038;--star:#4a2c27;--danger:#d94f4f;--tile-mix:100%;--tile-foreground:#4a2c27;--region-extra:#5b76b2;--on-region:#4a2c27;--cell-gap:5px;--cell-radius:7px;--board-border:0px;--region-border:0px;--grid-line:0px;--font-title:"Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--title-weight:800}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background-color:var(--background);background-image:var(--background-image);background-size:var(--background-size);min-height:100vh;color:var(--foreground);font:16px/1.5 var(--font-body);padding-bottom:calc(72px + env(safe-area-inset-bottom));margin:0}a{color:inherit}button{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-title);font-weight:var(--title-weight);margin:0;line-height:1.15}.mono{font-family:var(--font-mono)}.muted{color:var(--muted-foreground)}.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 16px}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.skip{background:var(--card);z-index:50;border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}svg.i{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px;display:block}.surface{background:var(--card);border:var(--line-width) solid var(--border);border-radius:var(--radius)}.tinted{background:color-mix(in srgb, var(--c) var(--tint), var(--card))}.site-header{z-index:20;background:color-mix(in srgb, var(--background) 92%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:var(--line-width) solid color-mix(in srgb, var(--border) 25%, transparent);position:sticky;top:0}.header-row{align-items:center;gap:12px;height:60px;display:flex}.brand{color:var(--foreground);flex:none;align-items:center;gap:8px;text-decoration:none;display:flex}.brand img{width:auto;height:34px;display:block}.wordmark{aspect-ratio:512/87.8;background:currentColor;height:18px;display:inline-block;-webkit-mask:url(/brand/wordmark.svg) 50%/contain no-repeat;mask:url(/brand/wordmark.svg) 50%/contain no-repeat}.top-nav{display:none}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.chip{background:color-mix(in srgb, var(--accent) var(--tint), var(--card));border:var(--line-width) solid var(--border);border-radius:99px;align-items:center;gap:4px;padding:4px 10px;font-size:14px;font-weight:600;display:inline-flex}.chip svg.i{width:16px;height:16px}.icon-btn{cursor:pointer;background:var(--secondary);height:36px;color:var(--secondary-foreground);border:var(--line-width) solid var(--border);border-radius:99px;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.theme-name{font-size:14px;display:none}.swatch-dots{display:inline-flex}.swatch-dots i{border:1.5px solid var(--background);width:14px;height:14px;box-shadow:0 0 0 1px color-mix(in srgb, var(--foreground) 30%, transparent);border-radius:50%;margin-left:-5px}.swatch-dots i:first-child{margin-left:0}.swatch-dots i:first-child{background:var(--puzzle-killer)}.swatch-dots i:nth-child(2){background:var(--puzzle-star)}.swatch-dots i:nth-child(3){background:var(--puzzle-shikaku)}.theme-switch{position:relative}.menu{z-index:30;background:var(--card);width:240px;color:var(--foreground);border:max(var(--line-width), 1px) solid var(--border);border-radius:var(--radius);transform-origin:100% 0;animation:menu-in .15s var(--ease-out);padding:6px;position:absolute;top:calc(100% + 8px);right:0}@keyframes menu-in{0%{opacity:0;transform:scale(.96)}}@keyframes menu-out{to{opacity:0;transform:scale(.96)}}.menu.closing{animation:menu-out .1s var(--ease-out) forwards;pointer-events:none}.menu button{cursor:pointer;border-radius:calc(var(--radius) * .6);text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:15px;display:flex}.menu button:hover,.menu button:focus-visible{background:color-mix(in srgb, var(--foreground) 8%, transparent)}.menu button .check{visibility:hidden;margin-left:auto}.menu button[aria-checked=true] .check{visibility:visible}.menu .preview{border:1px solid #00000026;border-radius:8px;gap:2px;padding:3px;display:inline-flex}.menu .preview i{border-radius:3px;width:10px;height:18px}.avatar-link{border-radius:50%;flex:none;width:36px;height:36px;display:block}.avatar-link svg{width:36px;height:36px;display:block}.tabbar{z-index:20;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(8px);border-top:var(--line-width) solid color-mix(in srgb, var(--border) 25%, transparent);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted-foreground);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:4px 14px;font-size:12px;text-decoration:none;display:flex}.tabbar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.tabbar a[aria-current=page]{color:var(--foreground);font-weight:600}main{outline:none}.page{padding-top:20px;padding-bottom:32px}.layout{gap:24px;display:grid}.page-head{margin-bottom:18px}.page-head h1{font-size:30px}.page-head p{color:var(--muted-foreground);margin:4px 0 0}.progress{align-items:center;gap:12px;margin-top:14px;font-size:14px;display:flex}.bar{background:color-mix(in srgb, var(--foreground) 10%, var(--card));border:var(--line-width) solid var(--border);border-radius:99px;flex:1;height:10px;overflow:hidden}.bar>span{background:var(--primary);border-radius:99px;height:100%;display:block}.ptile{border-radius:calc(var(--radius) * .65);border:var(--line-width) solid var(--border);background:color-mix(in srgb, var(--c) var(--tile-mix), var(--card));width:46px;height:46px;color:var(--tile-foreground);flex:none;justify-content:center;align-items:center;display:flex}.ptile>svg.i{width:32px;height:32px}.cards .ad.infeed{grid-column:1/-1;min-height:90px}.stage{gap:14px;display:grid}.stack-lg{align-content:start;gap:16px;display:grid}.badge{white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge.solved{background:var(--foreground);color:var(--background)}.badge.soon{background:color-mix(in srgb, var(--foreground) 10%, var(--card));color:var(--muted-foreground)}.badge.new{background:var(--primary);color:var(--primary-foreground)}.ad{text-align:center;border:1.5px dashed var(--muted-foreground);border-radius:var(--radius);min-height:90px;color:var(--muted-foreground);justify-content:center;align-items:center;padding:12px;font-size:13px;display:flex}.ad.box{min-height:250px}.side{align-content:start;gap:16px;display:grid}.panel{padding:16px}.panel h2{margin-bottom:10px;font-size:18px}.week{justify-content:space-between;display:flex}.week div{text-align:center;color:var(--muted-foreground);font-size:12px}.week b{background:color-mix(in srgb, var(--foreground) 8%, var(--card));width:32px;height:32px;color:var(--primary-foreground);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 4px;display:flex}.week b.on{background:var(--primary);border:var(--line-width) solid var(--border)}.week b.today{background:var(--card);border:2px solid var(--primary)}.week b svg.i{width:16px;height:16px}.week b.frozen{background:color-mix(in srgb, var(--puzzle-calcudoku) 35%, var(--card));color:var(--foreground);border:var(--line-width) solid var(--border)}.mini-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mini-stats.four{grid-template-columns:repeat(4,1fr)}.stat{text-align:center;background:var(--card);border:var(--line-width) solid var(--border);border-radius:calc(var(--radius) * .8);padding:10px 4px}.stat b{font-family:var(--font-title);font-weight:var(--title-weight);font-size:22px;line-height:1.2;display:block}.stat span{color:var(--muted-foreground);font-size:12px}.play{gap:16px;display:grid}.topbar{--c:var(--puzzle-star);border-radius:var(--radius);border:var(--line-width) solid var(--border);background:color-mix(in srgb, var(--c) var(--tint-strong), var(--card));align-items:center;gap:10px;padding:8px 10px;display:flex}.topbar h1{text-align:center;flex:1;font-size:22px}.round-btn{cursor:pointer;background:var(--secondary);width:40px;height:40px;color:var(--secondary-foreground);border:var(--line-width) solid var(--border);border-radius:50%;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.meta-row{color:var(--muted-foreground);justify-content:space-between;align-items:center;font-size:14px;display:flex}.timer{font-family:var(--font-mono);color:var(--foreground);font-size:15px}.tools{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.tool{cursor:pointer;background:var(--secondary);color:var(--secondary-foreground);border:var(--line-width) solid var(--border);border-radius:99px;align-items:center;gap:6px;padding:9px 16px;font-size:15px;display:inline-flex}.tool[aria-pressed=true]{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.seg{background:color-mix(in srgb, var(--foreground) 8%, var(--card));border:var(--line-width) solid var(--border);border-radius:99px;gap:3px;padding:3px;display:inline-flex}.seg .tool{background:0 0;border:0;padding:7px 16px}.seg .tool[aria-pressed=true]{background:var(--foreground);color:var(--background)}.info{display:none}.rules{margin:0;padding-left:20px;font-size:15px}.rules li{margin-bottom:6px}.soon-page{text-align:center;padding:32px 20px}.soon-page img{width:auto;height:110px}.soon-page h1{margin:10px 0 6px;font-size:26px}.soon-page p{color:var(--muted-foreground);max-width:420px;margin:0 auto 18px}.btn{cursor:pointer;border-radius:var(--radius);border:var(--line-width) solid var(--border);justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn.block{width:100%;display:flex}.btn.primary{background:var(--primary);color:var(--primary-foreground)}.btn.secondary{background:var(--secondary);color:var(--secondary-foreground);font-weight:500}.scrim{z-index:40;background:#00000073;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{width:100%;max-height:92vh;padding:22px 18px calc(22px + env(safe-area-inset-bottom));background-color:var(--background);background-image:var(--background-image);background-size:var(--background-size);color:var(--foreground);border-radius:calc(var(--radius) + 8px) calc(var(--radius) + 8px) 0 0;border:var(--line-width) solid var(--border);animation:sheet-up .3s var(--ease-drawer);border-bottom:0;overflow:auto}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes fade-out{to{opacity:0}}.scrim.closing{pointer-events:none;animation:.15s forwards fade-out}.scrim.closing .sheet{animation:sheet-down .2s var(--ease-drawer) forwards}.sheet .close{float:right}.sheet h2{font-size:24px}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:0;transform:translateY(24px)}}.solved-hero{text-align:center}.solved-hero img{width:auto;height:110px}.solved-hero h2{margin-top:4px;font-size:34px}.share-card{--c:var(--puzzle-star);border-radius:var(--radius);border:var(--line-width) solid var(--border);background:color-mix(in srgb, var(--c) var(--tint), var(--card));margin:16px 0;padding:14px}.share-card .top{align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex}.share-card .top img{width:auto;height:22px}.share-card .top .wordmark{height:12px}.share-card .top .date{margin-left:auto}.squares{gap:6px;display:flex}.squares i{aspect-ratio:1;border-radius:calc(var(--radius) * .4);border:var(--line-width) solid var(--border);background:var(--card);flex:1}.stack{gap:10px;display:grid}.toast{left:50%;bottom:calc(90px + env(safe-area-inset-bottom));z-index:60;background:var(--foreground);color:var(--background);opacity:0;pointer-events:none;border-radius:99px;padding:10px 16px;font-size:14px;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.profile{align-items:center;gap:16px;padding:16px;display:flex}.profile>svg{flex:none;width:84px;height:84px;display:block}.profile h2{font-size:24px}.link-btn{color:var(--muted-foreground);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:14px;text-decoration:underline;display:inline-flex}.cal{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;max-width:340px;font-size:13px;display:grid}.cal .h{color:var(--muted-foreground);font-size:12px}.cal .d{aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;display:flex}.cal .d.on{background:color-mix(in srgb, var(--puzzle-shikaku) 70%, var(--card));border:var(--line-width) solid var(--border)}.cal .d.today{border:2px solid var(--primary);font-weight:700}.cal .d.future{color:var(--muted-foreground)}.themes-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.theme-card{text-align:left;cursor:pointer;border-radius:var(--radius);background-color:var(--background);background-image:var(--background-image);background-size:var(--background-size);color:var(--foreground);border:max(var(--line-width), 1px) solid var(--border);padding:10px}.theme-card[aria-pressed=true]{outline:3px solid var(--primary);outline-offset:2px}.theme-card .mini{gap:4px;margin-bottom:8px;display:grid}.theme-card .mini i{border:var(--line-width) solid var(--border);border-radius:5px;height:14px}.theme-card b{font-family:var(--font-title);font-weight:var(--title-weight)}.best{border-collapse:collapse;width:100%;font-size:15px}.best td{border-bottom:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);padding:8px 0}.best td:last-child{text-align:right;font-family:var(--font-mono)}.days{gap:8px;display:grid}.day{align-items:center;gap:12px;padding:10px 14px;display:flex}.day .date{width:92px;font-size:15px;font-weight:600}.day .count{color:var(--muted-foreground);margin-left:auto;font-size:13px}@media (width>=640px){body{padding-bottom:0}.tabbar{display:none}.wrap{padding:0 24px}.header-row{gap:20px;height:68px}.top-nav{gap:4px;display:flex}.top-nav a{color:var(--muted-foreground);border-radius:99px;padding:8px 12px;font-size:15px;text-decoration:none}.top-nav a[aria-current=page]{color:var(--foreground);background:color-mix(in srgb, var(--foreground) 8%, transparent);font-weight:600}.theme-name{display:inline}.page{padding-top:28px;padding-bottom:48px}.page-head h1{font-size:36px}.side{grid-template-columns:1fr 1fr}.side .ad.box{grid-column:1/-1;min-height:120px}.toast{bottom:24px}.scrim{align-items:center;padding:24px}.sheet{border-radius:calc(var(--radius) + 8px);border-bottom:var(--line-width) solid var(--border);max-width:440px;animation:up .2s var(--ease-out)}.scrim.closing .sheet{animation:sheet-shrink .15s var(--ease-out) forwards}}@keyframes sheet-shrink{to{opacity:0;transform:scale(.97)}}@media (width>=1024px){.layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px}.cards .ad.infeed{display:none}.side{grid-template-columns:1fr;position:sticky;top:92px}.side .ad.box{min-height:250px}.play{max-width:760px;margin:0 auto}.play .tools.inline,.play .ad.inline{display:none}.info{gap:16px;display:grid;position:sticky;top:92px}.stage>.rule-cards{display:none}.info .rule-cards{grid-template-columns:1fr}.info .rule-card{text-align:left;flex-direction:row;gap:12px;padding:10px 12px;font-size:14px}}.report-link{justify-self:center}.choices{border:0;gap:8px;margin:18px 0 4px;padding:0;display:grid}.choices legend{margin-bottom:8px;padding:0;font-weight:600}.choice{cursor:pointer;background:var(--card);border-radius:calc(var(--radius) * .7);border:max(var(--line-width), 1px) solid color-mix(in srgb, var(--border) 35%, transparent);align-items:center;gap:10px;padding:10px 12px;font-size:15px;display:flex}.choice:has(input:checked){border-color:var(--foreground);background:color-mix(in srgb, var(--primary) 18%, var(--card))}.choice input{width:18px;height:18px;accent-color:var(--foreground);flex:none;margin:0}.field-error{color:var(--danger);margin:6px 0 0;font-size:14px}.form-field{color:var(--muted-foreground);gap:6px;margin:14px 0 10px;font-size:14px;display:grid}.form-field textarea{font:inherit;color:var(--foreground);background:var(--card);resize:vertical;border-radius:calc(var(--radius) * .7);border:max(var(--line-width), 1px) solid var(--border);padding:10px 12px;font-size:15px}.check-row{color:var(--muted-foreground);align-items:flex-start;gap:8px;margin:0 0 16px;font-size:13px;display:flex}.check-row input{accent-color:var(--foreground);margin-top:2px}@media (width>=1024px){.play .inline-only{display:none}}.account-btn .label{white-space:nowrap;font-size:14px;display:none}@media (width>=640px){.account-btn .label{display:inline}}.account-btn.avatar-link{background:0 0;border:0;height:36px;padding:0}.done-bar{justify-content:center;align-items:center;gap:12px;font-size:15px;display:flex}.done-bar span{align-items:center;gap:6px;display:inline-flex}.board-loading{text-align:center;padding:40px 0}.guide{max-width:760px;margin-top:40px}.guide .definition{margin:12px 0 4px;font-size:18px;line-height:1.55}.prose{font-size:17px;line-height:1.65}.prose h2{margin:32px 0 10px;font-size:24px}.prose h3{margin:22px 0 6px;font-size:19px}.prose p,.prose ul,.prose ol{margin:0 0 14px}.prose ul,.prose ol{padding-left:22px}.prose li{margin-bottom:6px}.prose a{color:var(--foreground);text-decoration-thickness:2px;text-decoration-color:var(--primary);text-underline-offset:3px}.prose table{border-collapse:collapse;width:100%;margin:8px 0 18px;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--foreground) 14%, transparent);white-space:nowrap;padding:7px 10px}.prose th{font-weight:700}.prose figure.diagram{flex-direction:column;align-items:flex-start;gap:8px;margin:16px 0 20px;display:flex}.prose figure.diagram svg{width:min(180px,60vw);height:auto;display:block}.prose figure.diagram figcaption{color:var(--muted-foreground);max-width:520px;font-size:14px}.updated{margin-top:24px;font-size:13px}@media (display-mode:standalone){.guide{display:none}}.article{max-width:760px}.article h1{margin:8px 0 10px;font-size:clamp(30px,6vw,42px)}.article .lede{margin:0 0 6px;font-size:19px;line-height:1.5}.article .updated{margin:0 0 18px}.article .btn{margin:6px 0 22px}.crumbs{font-size:14px}.crumbs a{color:inherit}.guide summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.guide summary::-webkit-details-marker{display:none}.guide summary:after{content:"+";color:var(--muted-foreground);font-size:22px}.guide details[open] summary:after{content:"–"}.guide summary h2{font-size:22px}.guide h3{margin-top:18px;font-size:18px}.invite{border-radius:var(--radius);border:var(--line-width) solid var(--border);background:color-mix(in srgb, var(--primary) 14%, var(--card));padding:14px}.invite h3{margin-bottom:4px;font-size:18px}.invite p{margin:0 0 10px;font-size:14px}.signin-buttons .form-field{margin:4px 0 8px}.form-field input{font:inherit;color:var(--foreground);background:var(--card);border-radius:calc(var(--radius) * .7);border:max(var(--line-width), 1px) solid var(--border);padding:11px 12px;font-size:16px}.sent{align-items:flex-start;gap:8px;font-size:15px;display:flex}.fine{color:var(--muted-foreground);text-align:center;margin:10px 0 0;font-size:12px}.not-now{margin-top:10px}.streak-big{width:fit-content;margin:8px auto 0}.freezes{gap:1px;margin-left:2px;display:inline-flex}.freezes svg.snow{width:14px;height:14px;color:color-mix(in srgb, var(--puzzle-calcudoku) 55%, var(--foreground));stroke-width:2px}.freeze-pill{color:var(--muted-foreground);align-items:center;gap:6px;display:inline-flex}.freeze-pill .freezes{margin:0}.streak-note{margin:10px 0 0;font-size:15px}.solved-card .streak-note{max-width:280px;margin:8px auto 0;font-size:14px}.solve-note{max-width:300px;margin:6px auto 0;font-size:14px;font-weight:600}.ach-tile{border-radius:calc(var(--radius) * .6);border:var(--line-width) solid var(--border);background:color-mix(in srgb, var(--c,var(--primary)) var(--tile-mix), var(--card));width:40px;height:40px;color:var(--tile-foreground);flex:none;justify-content:center;align-items:center;display:inline-flex}.ach-tile svg.i{width:22px;height:22px}.new-ach .ach-tile,.ach-recent .ach-tile{background:color-mix(in srgb, var(--c) var(--tint), var(--card))}.new-ach{border-top:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);text-align:left;margin-top:14px;padding-top:12px}.new-ach-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);margin:0 0 8px;font-size:13px;font-weight:700}.new-ach ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.new-ach a{color:var(--foreground);align-items:center;gap:10px;text-decoration:none;display:flex}.new-ach b{font-size:15px;line-height:1.25;display:block}.new-ach small{color:var(--muted-foreground);font-size:13px;line-height:1.3;display:block}.new-ach .more a{color:var(--muted-foreground);text-underline-offset:3px;font-size:14px;text-decoration:underline}.ach-summary{color:var(--foreground);gap:10px;text-decoration:none;display:grid}.ach-summary-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ach-summary-head h2{margin:0}.ach-summary-head .muted{font-size:14px}.ach-summary .bar{flex:none;height:8px}.ach-recent{flex-wrap:wrap;gap:6px;display:flex}.ach-recent:empty{display:none}.ach-recent .ach-tile{width:36px;height:36px}.ach-recent .ach-tile svg.i{width:20px;height:20px}.stat-medal svg{width:40px;height:44px;display:block;overflow:visible}.ach-summary-link{font-size:14px;font-weight:600}@media (hover:hover){.ach-summary:hover .ach-summary-link{text-underline-offset:3px;text-decoration:underline}}.setting{border-bottom:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:15px;display:flex}.setting:last-child{border-bottom:0}.setting small{font-size:12px;display:block}.setting input[type=checkbox]{width:20px;height:20px;accent-color:var(--foreground)}.setting.column{flex-direction:column;align-items:stretch}.setting input[type=range]{accent-color:var(--foreground);width:100%}.ad{display:none!important}a.day{color:var(--foreground);text-decoration:none}.month-nav{justify-content:space-between;margin-top:18px;display:flex}.hub-links{flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:18px 0 0;font-size:15px;display:flex}.hub-links a{color:var(--foreground);text-decoration-color:var(--primary);text-underline-offset:3px;text-decoration-thickness:2px}.share-preview{margin:4px 0 2px}.share-preview img{border-radius:calc(var(--radius) * .8);border:var(--line-width) solid var(--border);width:100%;max-width:320px;margin:0 auto;display:block}.site-footer{border-top:var(--line-width) solid color-mix(in srgb, var(--border) 20%, transparent);margin-top:48px;padding:28px 0 36px;font-size:15px}.footer-grid{grid-template-columns:1fr;gap:22px;display:grid}.site-footer nav{flex-direction:column;gap:6px;display:flex}.site-footer h2{margin-bottom:4px;font-size:15px}.site-footer a{color:var(--muted-foreground);text-decoration:none}.site-footer a:hover{color:var(--foreground);text-decoration:underline}.site-footer .footer-link{font:inherit;color:var(--muted-foreground);cursor:pointer;text-align:left;background:0 0;border:0;align-self:flex-start;padding:0}.site-footer .footer-link:hover{color:var(--foreground);text-decoration:underline}.report-line{text-align:center;margin:14px 0 0}.report-btn{cursor:pointer;font:600 15px var(--font-body,inherit);color:var(--foreground);background:var(--card);border:max(var(--line-width), 1.5px) solid var(--border);transition:transform .12s var(--ease-out), background-color .15s;border-radius:99px;align-items:center;gap:8px;padding:9px 18px;display:inline-flex}.report-btn svg.i{width:17px;height:17px}.report-btn:active{transform:scale(.97)}@media (hover:hover){.report-btn:hover{background:color-mix(in srgb, var(--foreground) 6%, var(--card))}}@media (width>=640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.footer-grid{grid-template-columns:repeat(4,1fr)}}.account-menu,.more-menu{position:relative}.menu a,.menu .menu-head{width:100%;color:var(--foreground);border-radius:calc(var(--radius) * .6);align-items:center;gap:10px;padding:8px 10px;font-size:15px;text-decoration:none;display:flex}.menu a:hover,.menu a:focus-visible{background:color-mix(in srgb, var(--foreground) 8%, transparent)}.menu .menu-head{border-bottom:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);border-radius:0;flex-direction:column;align-items:flex-start;gap:0;margin-bottom:4px;padding:8px 10px 10px}.menu .menu-head span{font-size:13px}.menu .menu-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);margin:8px 10px 4px;font-size:12px;font-weight:700}.menu svg.i{width:18px;height:18px}.account-items{width:260px;max-height:calc(100dvh - 90px);overflow-y:auto}.more-menu .menu{width:220px}.puzzle-bar{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.puzzle-bar .bar-tile{border-radius:9px;flex:none;width:32px;height:32px}.puzzle-bar .bar-tile svg.i{width:18px;height:18px}.puzzle-bar .titles{flex:1;min-width:0}.puzzle-bar h1{white-space:nowrap;text-overflow:ellipsis;font-size:18px;line-height:1.15;overflow:hidden}.puzzle-bar .sub{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;font-size:12px;overflow:hidden}.puzzle-bar .timer{font:500 14px var(--font-mono);color:var(--foreground);flex:none}.puzzle-bar .round-btn{width:34px;height:34px}.puzzle-bar .round-btn svg.i{width:18px;height:18px}.header-row:has(.puzzle-bar) .top-nav{display:none}.header-row:has(.puzzle-bar){gap:10px}.board-wrap{position:relative}.board-wrap .board-status{z-index:6;pointer-events:none;background:var(--foreground);width:max-content;max-width:calc(100% - 16px);min-height:0;color:var(--background);text-align:center;opacity:0;border-radius:99px;padding:6px 14px;font-size:14px;transition:opacity .2s,transform .2s;position:absolute;bottom:6px;left:50%;transform:translate(-50%,8px)}.board-wrap .board-status.show{opacity:1;transform:translate(-50%)}.board-wrap .board-status.err{background:var(--danger);color:#fff}.board-wrap .board-status.good{color:var(--background)}.board-wrap:has(.solved-card) .board-status{opacity:0}@media (width<=639px){.header-row:has(.puzzle-bar) .brand,.header-row:has(.puzzle-bar) .streak{display:none}.header-row:has(.puzzle-bar) .brand img{width:auto;height:30px}.puzzle-bar{gap:6px}.puzzle-bar .bar-tile{display:none}}.puzzle-bar .bar-center{flex:1;align-items:center;gap:8px;min-width:0;display:flex}@media (width>=1024px){.header-row:has(.puzzle-bar){position:relative}.puzzle-bar .bar-center{flex:none;gap:10px;max-width:46%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.puzzle-bar .titles{text-align:left}.puzzle-bar{justify-content:flex-end}}.locked-level{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;display:flex}.locked-level svg.i{width:40px;height:40px;color:var(--muted-foreground)}.locked-level h2{margin:4px 0 0;font-size:22px}.locked-level p{margin:0 0 8px}.puzzle-bar .back-btn{flex:none}@media (width>=1024px){.puzzle-bar .back-btn{margin-right:auto}}.zoom-view{touch-action:none;position:relative;overflow:hidden}.zoom-content{transform-origin:0 0}.zoom-ctl{z-index:2;gap:6px;display:flex;position:absolute;bottom:8px;right:8px}.zoom-ctl[hidden]{display:none}@media (pointer:coarse){.zoom-ctl{display:none}}.zoom-ctl button{border:var(--line-width) solid var(--border);background:var(--card);width:36px;height:36px;color:var(--foreground);cursor:pointer;border-radius:99px;justify-content:center;align-items:center;padding:0;display:flex}.zoom-ctl svg.i{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:18px;height:18px}.profile-avatar{flex:none;text-decoration:none;transition:transform .12s;display:block;position:relative}.profile-avatar:active{transform:scale(.95)}.profile-avatar span{background:var(--card);color:var(--foreground);border:1.5px solid var(--border);border-radius:99px;padding:2px 8px;font-size:12px;font-weight:700;position:absolute;bottom:2px;right:-4px}.profile-name{align-items:center;gap:6px;display:flex}.name-edit{cursor:pointer;border:1.5px solid color-mix(in srgb, var(--foreground) 25%, transparent);width:30px;height:30px;color:var(--foreground);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.name-edit svg{fill:none;stroke:currentColor;stroke-width:2px;width:15px;height:15px}.name-form{gap:8px;margin:6px 0;display:flex}.name-form[hidden]{display:none}.name-form input{min-width:0;font:inherit;border:var(--line-width) solid var(--border);background:var(--card);color:var(--foreground);border-radius:10px;flex:1;padding:8px 10px;font-size:16px}.name-form .btn{padding:8px 14px}.announce-wrap{margin-top:14px}.announce-wrap.closing .announce{opacity:0;transform:translateY(-6px)}.announce{border-radius:var(--radius);border:var(--line-width) solid var(--border);background:color-mix(in srgb, var(--c) var(--tint-strong), var(--card));transition:opacity .18s,transform .18s;animation:.42s cubic-bezier(.23,1,.32,1) both announce-in;position:relative;overflow:hidden}@keyframes announce-in{0%{opacity:0;transform:translateY(-8px)}}.announce-link{color:inherit;z-index:1;align-items:center;gap:14px;padding:12px 52px 12px 12px;text-decoration:none;display:flex;position:relative}.announce-tile{border-radius:calc(var(--radius) * .8);background:var(--card);border:var(--line-width) solid var(--border);flex:none;place-items:center;width:54px;height:54px;display:grid;transform:rotate(-4deg)}.announce-tile svg.i{width:38px;height:38px}.announce-text{gap:1px;min-width:0;display:grid}.announce-kicker{white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;background:var(--foreground);color:var(--background);border-radius:99px;justify-self:start;padding:2px 8px;font-size:11px;font-weight:700}.announce-title{font:var(--title-weight) 22px / 1.15 var(--font-title);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;overflow:hidden}.announce-line{color:color-mix(in srgb, var(--foreground) 80%, transparent);font-size:14px}.announce-cta{background:var(--foreground);color:var(--background);border-radius:99px;flex:none;align-items:center;gap:6px;margin-left:auto;padding:9px 16px;font-size:15px;font-weight:700;transition:transform .14s;display:inline-flex}.announce-cta svg.i{width:16px;height:16px}.announce-link:active .announce-cta{transform:scale(.96)}@media (hover:hover){.announce-link:hover .announce-cta{transform:translate(2px)}}.announce-art{display:none}@media (width>=760px){.announce-link{padding-right:210px}.announce-art{pointer-events:none;opacity:.95;width:132px;display:block;position:absolute;top:50%;right:54px;transform:translateY(-38%)rotate(8deg)}.announce-art svg{width:100%;height:auto;display:block}}.announce-close{z-index:2;width:32px;height:32px;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:99px;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.announce-close:hover{background:color-mix(in srgb, var(--foreground) 10%, transparent)}.announce-close svg.i{width:18px;height:18px}@media (width<=520px){.announce-wrap{margin-top:10px}.announce-link{gap:10px;padding:8px 44px 8px 8px}.announce-tile{border-radius:calc(var(--radius) * .6);width:40px;height:40px}.announce-tile svg.i{width:28px;height:28px}.announce-kicker{padding:1px 6px;font-size:10px}.announce-title{margin-top:2px;font-size:17px}.announce-line{display:none}.announce-cta{gap:4px;padding:7px 12px;font-size:14px}.announce-close{width:30px;height:30px;top:50%;right:6px;transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.announce{transition:none;animation:none}}:root{--header-h:60px;--play-pad:12px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--pop:cubic-bezier(.3, 1.45, .5, 1)}@media (width>=640px){:root{--header-h:68px;--play-pad:20px}}.page:has(>.play){padding-top:var(--play-pad)}.play{height:calc(100dvh - var(--header-h) - var(--play-pad) * 2);flex-direction:column;gap:10px;min-height:420px;display:flex}.play .stage{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.board-wrap{flex:1;justify-content:center;align-items:center;width:100%;min-height:120px;display:flex;container-type:size}.board-wrap>#board{width:min(100cqw, 100cqh * var(--board-aspect,1), calc(640px * var(--board-scale)), calc((var(--board-cols,10) * 48px + 32px) * var(--board-scale)))}.play .tools{flex:none}@media (width<=639px){body:has(#play){padding-bottom:env(safe-area-inset-bottom)}body:has(#play) .tabbar{display:none}.play{gap:6px}.play .tools{gap:8px}.play .tools .tool{padding:8px 12px}}#play,#play *{-webkit-tap-highlight-color:transparent}.board{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none;position:relative}.board:focus-visible{outline:3px solid var(--primary);outline-offset:5px;border-radius:calc(var(--radius) * .6)}.board:focus-visible .cursor{box-shadow:inset 0 0 0 3px var(--primary);z-index:1}.board-status{text-align:center;min-height:24px;color:var(--muted-foreground);margin:0;font-size:15px}.board-status.err{color:var(--danger)}.board-status.good{color:var(--foreground);font-weight:600}.tools .tool,.round-btn,.btn,.pcard{transition:transform .12s,background-color .15s}.tools .tool:active,.round-btn:active,.btn:active{transform:scale(.94)}.tool:disabled{opacity:.45;cursor:default}.rule-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.rule-card{text-align:center;border-radius:calc(var(--radius) * .7);background:color-mix(in srgb, var(--c) calc(var(--tint) * .6), var(--card));border:var(--line-width) solid var(--border);flex-direction:column;align-items:center;gap:6px;padding:8px 6px;font-size:12px;line-height:1.3;display:flex}.rule-card svg{flex:none;width:auto;height:40px;display:block}.rule-card svg.strip{width:100%;height:auto;max-height:20px}.rule-card .mx{stroke:var(--muted-foreground);stroke-width:1.4px;stroke-linecap:round}@media (width>=1024px){.info .rule-cards{grid-template-columns:1fr}.info .rule-card{text-align:left;flex-direction:row;gap:12px;padding:10px 12px;font-size:14px}}@keyframes pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.14)}to{transform:scale(1)}}.pop{animation:.24s cubic-bezier(.3,1.4,.5,1) both pop}@keyframes shake{10%,90%{translate:-1px}20%,80%{translate:2px}30%,50%,70%{translate:-4px}40%,60%{translate:4px}}.shake{animation:.4s shake}@keyframes flash-bad{0%,to{box-shadow:inset 0 0 #0000}30%,70%{box-shadow:inset 0 0 0 3px var(--danger)}}.flash{animation:.9s 2 flash-bad}@keyframes glow{35%{opacity:1}}.glow{animation:.6s glow}@keyframes wave{0%{transform:scale(1)}40%{filter:brightness(1.15);transform:scale(.86)}to{transform:scale(1)}}.celebrate [data-i]{animation:.55s both wave;animation-delay:calc(var(--wave,0) * 35ms)}.burst{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:visible}.burst i{background:var(--puzzle-star);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:18px;height:18px;animation:.9s cubic-bezier(.2,.7,.3,1) both burst;animation-delay:var(--d,0s);margin:-9px;position:absolute;top:50%;left:50%}@keyframes burst{0%{opacity:0;transform:translate(0)scale(.2)rotate(0)}20%{opacity:1}to{transform:translate(var(--x), var(--y)) scale(1) rotate(var(--r));opacity:0}}@keyframes bob{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-10px)rotate(-4deg)}60%{transform:translateY(0)rotate(3deg)}}.solved-hero img{animation:.9s .15s both bob}.hearts{gap:4px;display:inline-flex}.hearts svg{width:20px;height:20px;fill:var(--danger);transition:transform .2s,opacity .2s}.hearts svg.lost{fill:none;stroke:var(--muted-foreground);stroke-width:1.6px;transform:scale(.85)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.burst{display:none}}.stars{align-items:center;gap:4px;display:inline-flex}.stars svg.star{width:22px;height:22px;fill:color-mix(in srgb, var(--foreground) 18%, transparent)}.stars svg.star.on{fill:var(--puzzle-star);stroke:var(--foreground);stroke-width:1.2px}.stars.big{justify-content:center;gap:10px;margin:10px 0 4px}.stars.big svg.star{width:44px;height:44px}.stars.big svg.star.on{animation:.35s cubic-bezier(.3,1.4,.5,1) both pop}.stars.big svg.star:nth-child(2){animation-delay:.15s}.stars.big svg.star:nth-child(3){animation-delay:.3s}.star-reasons{text-align:left;gap:4px;width:fit-content;margin:6px auto 0;padding:0;font-size:15px;list-style:none;display:grid}.star-reasons li{color:var(--muted-foreground);align-items:center;gap:8px;display:flex}.star-reasons li.on{color:var(--foreground)}.star-reasons svg.i{width:16px;height:16px}.flawless-chip{width:fit-content;margin:8px auto 0}.done-bar .tool.primary-tool{background:var(--primary);color:var(--primary-foreground);text-decoration:none}.done-bar{flex-wrap:wrap}.board-wrap>#board.board-fill{width:min(100cqw, calc(640px * var(--board-scale)));height:100cqh}@keyframes solved-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.solved-card{z-index:5;background:color-mix(in srgb, var(--background) 82%, transparent);justify-content:center;align-items:center;padding:8px;animation:.35s both solved-in;display:flex;position:absolute;inset:0}.solved-card-inner{text-align:center;background:var(--card);width:min(360px,100%);max-height:100%;color:var(--foreground);border:var(--line-width) solid var(--border);border-radius:var(--radius);padding:20px 18px 14px;overflow:auto}.solved-card .solved-hero h2{margin:4px 0 0;font-size:28px}.solved-card .solved-hero p{margin:6px 0 0}.solved-card .stars.big svg.star{width:38px;height:38px}.solved-actions{gap:8px;margin-top:16px;display:grid}.solved-actions .text-btn{font:inherit;cursor:pointer;color:var(--muted-foreground);text-underline-offset:3px;background:0 0;border:0;padding:6px;font-size:14px;text-decoration:underline}.solved-actions .text-btn[hidden]{display:none}@media (prefers-reduced-motion:reduce){.solved-card{animation:none}}.stage:has(.solved-card) .tools{visibility:hidden}@media (width<=639px){.play:has(.solved-card){height:auto;min-height:0}.stage:has(.solved-card) .tools{display:none}.board-wrap:has(.solved-card){flex:none;min-height:0;display:block;container-type:normal}.board-wrap:has(.solved-card)>#board{display:none}.solved-card{background:0 0;padding:0;position:static}.solved-card-inner{width:100%;max-height:none;overflow:visible}}@keyframes streak-bump{40%{transform:scale(1.15)}}@keyframes flame-tilt{40%{transform:rotate(-8deg)}}.streak.bump{animation:streak-bump .32s var(--ease-out)}.streak.bump svg.i:first-child{animation:flame-tilt .3s var(--ease-out);transform-origin:50% 80%}.zoom-anim .zoom-content{transition:transform .2s var(--ease-out)}.zoom-anim .track{transition:transform .2s var(--ease-out), width .2s var(--ease-out), height .2s var(--ease-out)}@keyframes mark-in{0%{opacity:0;transform:scale(.8)}}.mark-in{animation:mark-in .12s var(--ease-out) both}@keyframes sweep{35%{filter:brightness(1.14)saturate(1.2);transform:scale(.93)}}.sweep{animation:sweep .32s var(--ease-out) both;animation-delay:var(--sweep,0s)}@media (prefers-reduced-motion:reduce){@keyframes sweep-still{50%{filter:brightness(1.1)}}.sweep{animation:.3s both sweep-still!important}}.solved-card .solved-hero img{height:56px}.solved-card .solved-hero h2{font-size:26px}.trophies{justify-content:center;gap:28px;margin-top:12px;display:flex}.trophy{width:116px;animation:trophy-in .42s var(--pop) both;animation-delay:var(--d,.45s);flex-direction:column;align-items:center;display:flex}@keyframes trophy-in{0%{opacity:0;transform:scale(.3) rotate(var(--r0,-12deg))}65%{opacity:1;transform:scale(1.12)rotate(2deg)}to{transform:none}}.trophy.seal{--r0:-200deg}.trophy svg.art{width:52px;height:52px;overflow:visible}.trophy .art-wrap{display:block;position:relative}.trophy .cap{color:var(--muted-foreground);margin-top:5px;font-size:12px;line-height:1.3;display:block}.trophy .cap b{font-family:var(--font-title);color:var(--foreground);font-size:16px;font-weight:800;display:block}.seal-edge{fill:#7bd9a4}[data-theme=night] .seal-edge{fill:#5ed49a}.trophy.flame .flame-art{transform-origin:50% 90%;animation:.3s ease-in-out .9s 3 flicker}@keyframes flicker{50%{transform:scale(1.12,1.18)rotate(-5deg)}}.trophy .glow{z-index:-1;opacity:0;background:radial-gradient(closest-side,#ff8a3d8c,#0000);border-radius:50%;position:absolute;inset:-16px}.trophy.grew .glow{animation:1s ease-out .95s both glow}.roll{vertical-align:top;height:1.25em;line-height:1.25em;display:inline-block;overflow:hidden}.roll>span{animation:roll .48s var(--ease-out) both;flex-direction:column;animation-delay:.95s;display:flex}.roll>span>span{height:1.25em}@keyframes roll{to{transform:translateY(-1.25em)}}.milestone{font-family:var(--font-title);color:#e8742a;animation:trophy-in .36s var(--pop) both;margin:8px 0 0;font-size:15px;font-weight:800;animation-delay:1.15s}[data-theme=night] .milestone{color:#ffb07a}.sparks{pointer-events:none;z-index:3;width:0;height:0;position:absolute;top:45%;left:50%}.sparks i{background:var(--c,#ffd23f);opacity:0;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:10px;height:10px;animation:spark .76s var(--ease-out) both;animation-delay:var(--at,1s);position:absolute;top:-5px;left:-5px}@keyframes spark{0%{opacity:1;transform:translate(0)scale(.4)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1) rotate(160deg)}}.unlock{border-top:1px dashed color-mix(in srgb, var(--foreground) 18%, transparent);text-align:center;flex-direction:column;align-items:center;margin-top:12px;padding-top:10px;display:flex}.unlock-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);animation:rise .3s var(--ease-out) both;font-size:11px;font-weight:800;animation-delay:.6s}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.unlock .medal{width:84px;height:92px;margin-top:4px;display:block;position:relative}.unlock .rays{opacity:0;background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--c) 45%, transparent) 0deg 9deg, transparent 9deg 22.5deg);border-radius:50%;width:150px;height:150px;margin:-75px 0 0 -75px;animation:2.2s ease-out .7s both rays;position:absolute;top:36px;left:50%;-webkit-mask:radial-gradient(closest-side,#000 35%,#0000 100%);mask:radial-gradient(closest-side,#000 35%,#0000 100%)}@keyframes rays{0%{opacity:0;transform:rotate(0)scale(.6)}30%{opacity:1}to{opacity:.55;transform:rotate(60deg)scale(1)}}.unlock .medal svg{transform-origin:50% 40%;width:84px;height:92px;animation:coin .56s var(--pop) both;animation-delay:.7s;display:block;position:relative;overflow:visible}@keyframes coin{0%{opacity:0;transform:perspective(500px)rotateY(100deg)scale(.5)}65%{opacity:1;transform:perspective(500px)rotateY(-12deg)scale(1.08)}to{transform:none}}.ach-name{font-family:var(--font-title);animation:rise .3s var(--ease-out) both;margin-top:2px;font-size:21px;font-weight:800;animation-delay:.9s}.ach-line{color:var(--muted-foreground);animation:rise .3s var(--ease-out) both;font-size:13px;animation-delay:.95s}.unlock .tiers{animation:rise .3s var(--ease-out) both;gap:5px;margin-top:6px;animation-delay:1s;display:flex}.unlock .tiers i{background:color-mix(in srgb, var(--foreground) 14%, transparent);border-radius:99px;width:22px;height:5px}.unlock .tiers i.on{background:var(--c)}.unlock .more{color:var(--muted-foreground);animation:rise .3s var(--ease-out) both;align-items:center;gap:4px;margin-top:8px;font-size:13px;animation-delay:1.1s;display:flex}.unlock .more a{width:30px;height:33px;animation:trophy-in .34s var(--pop) both;animation-delay:var(--at);--r0:0deg;display:block}.unlock .more svg{width:30px;height:33px;overflow:visible}.save-score{text-align:left;background:color-mix(in srgb, var(--primary) 12%, var(--card));border:1.5px solid color-mix(in srgb, var(--primary) 60%, transparent);animation:rise .3s var(--ease-out) both;border-radius:20px;align-items:center;gap:10px;margin:-2px -2px 14px;padding:8px 8px 8px 10px;display:flex}.save-score[hidden]{display:none}.save-icon{background:var(--primary);width:34px;height:34px;color:var(--primary-foreground);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.save-icon svg.i{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.save-text{flex:1;min-width:0;line-height:1.25;display:grid}.save-text b{font-family:var(--font-title);color:var(--foreground);white-space:nowrap;font-size:15px;font-weight:800}@media (width<=380px){.save-icon{display:none}.save-score{padding-left:14px}}.save-text small{color:var(--muted-foreground);font-size:12.5px}.save-btn{font:inherit;cursor:pointer;white-space:nowrap;background:var(--primary);color:var(--primary-foreground);border:max(var(--line-width), 1px) solid var(--border);transition:transform .12s var(--ease-out);border-radius:99px;flex:none;padding:8px 14px;font-size:14px;font-weight:700}.save-btn:active{transform:scale(.96)}@media (hover:hover){.save-btn:hover{filter:brightness(1.05)}}
