@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.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:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-ext-wght-normal-DiMfzA-V.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-wght-normal-D5lnP6kL.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-ext-wght-normal-Byk3UhVp.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:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-wght-normal-C1hSzPvX.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:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/m-plus-rounded-1c-cyrillic-500-normal-CZCHCRNp.woff2)format("woff2"),url(/assets/m-plus-rounded-1c-cyrillic-500-normal-Cn5ahH8K.woff)format("woff")}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/m-plus-rounded-1c-latin-500-normal-D4L1U0OF.woff2)format("woff2"),url(/assets/m-plus-rounded-1c-latin-500-normal-udtNJXmd.woff)format("woff")}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/m-plus-rounded-1c-cyrillic-800-normal-D_r6yFHG.woff2)format("woff2"),url(/assets/m-plus-rounded-1c-cyrillic-800-normal-DF2fs6TK.woff)format("woff")}@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/m-plus-rounded-1c-latin-800-normal-941enk6N.woff2)format("woff2"),url(/assets/m-plus-rounded-1c-latin-800-normal-B5F1WBCU.woff)format("woff")}:root{--paper:#fff8ee;--paper-deep:#fdefd9;--card:#fff;--grid-line:#5484d626;--grid-size:26px;--margin-line:#f0606080;--ink:#1f2140;--ink-soft:#4b4e72;--ink-mute:#8c8fad;--ink-faint:#1f214014;--tomato:#ff7a59;--tomato-deep:#e5512f;--butter:#ffd45e;--butter-soft:#fff0b8;--mint:#7ddbb7;--mint-soft:#d5f5e8;--sky:#8cc6ff;--sky-soft:#dcefff;--blush:#ffa8bc;--blush-soft:#ffe3ea;--lilac:#bba8ff;--lilac-soft:#ece6ff;--peach:#ffb876;--peach-soft:#ffe9d4;--pen:#3157d5;--ok:#1fa86b;--danger:#f0483a;--bw:2.5px;--radius-s:12px;--radius:20px;--radius-l:28px;--shadow-s:2px 2px 0 var(--ink);--shadow:4px 4px 0 var(--ink);--shadow-l:7px 7px 0 var(--ink);--font-display:"M PLUS Rounded 1c", "Onest Variable", system-ui, sans-serif;--font-body:"Onest Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-hand:"Caveat Variable", "Segoe Print", cursive;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;font:400 1.0625rem/1.55 var(--font-body);color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}body:after{content:"";z-index:9999;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .12  0 0 0 0 .13  0 0 0 0 .25  0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}img,svg,video,canvas{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--pen);text-underline-offset:3px;text-decoration-thickness:2px}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:800;line-height:1.1}p{text-wrap:pretty;margin:0}::selection{background:var(--butter);color:var(--ink)}:focus-visible{outline:3px solid var(--pen);outline-offset:3px;border-radius:8px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#1f214040 padding-box padding-box;border:2px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background-color:#1f214073}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.paper-grid{background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);background-position:-1px -1px}.margin-line{background:var(--margin-line);pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.btn{--btn-bg:var(--card);--btn-fg:var(--ink);font:800 1rem/1.1 var(--font-display);letter-spacing:-.005em;color:var(--btn-fg);background:var(--btn-bg);border:var(--bw) solid var(--ink);box-shadow:3px 3px 0 var(--ink);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .16s var(--ease-bounce), box-shadow .16s var(--ease-bounce), background-color .2s;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:.85em 1.35em;text-decoration:none;display:inline-flex;position:relative}.btn:hover{box-shadow:4px 5px 0 var(--ink);transform:translate(-1px,-2px)}.btn:active{box-shadow:1px 1px 0 var(--ink);transition-duration:50ms;transform:translate(2px,2px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.btn svg{flex:none}.btn-primary{--btn-bg:var(--tomato)}.btn-butter{--btn-bg:var(--butter)}.btn-mint{--btn-bg:var(--mint)}.btn-sky{--btn-bg:var(--sky)}.btn-blush{--btn-bg:var(--blush)}.btn-ink{--btn-bg:var(--ink);--btn-fg:#fff;box-shadow:3px 3px 0 var(--tomato)}.btn-ink:hover{box-shadow:4px 5px 0 var(--tomato)}.btn-danger{--btn-bg:#ff6a5c}.btn.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.btn-ghost:hover{background:var(--ink-faint);box-shadow:none;transform:none}.btn.btn-ghost:active{box-shadow:none;transform:scale(.97)}.btn-lg{padding:1em 1.6em;font-size:1.125rem}.btn-sm{box-shadow:2px 2px 0 var(--ink);padding:.6em 1em;font-size:.875rem}.btn-sm:hover{box-shadow:3px 3px 0 var(--ink)}.btn-block{width:100%}.btn-round{border-radius:16px;width:48px;height:48px;padding:0}.btn-round.btn-sm{border-radius:12px;width:36px;height:36px}.spinner{border:2.5px solid;border-right-color:#0000;border-radius:50%;width:1.1em;height:1.1em;animation:.7s linear infinite spin}.field{gap:.45rem;display:grid}.label{font:800 .9375rem/1.2 var(--font-display)}.hint{color:var(--ink-soft);font-size:.875rem}.input,.textarea,.select{width:100%;font:500 1.0625rem/1.35 var(--font-body);color:var(--ink);border:var(--bw) solid var(--ink);background:#fff;border-radius:16px;padding:.8em 1em;transition:box-shadow .2s;box-shadow:inset 0 -3px #1f21400f}.input::placeholder,.textarea::placeholder{color:var(--ink-mute)}.input:focus,.textarea:focus,.select:focus{box-shadow:0 0 0 4px var(--butter), inset 0 -3px 0 #1f21400f;outline:none}.input[aria-invalid=true]{box-shadow:0 0 0 4px var(--blush)}.textarea{resize:vertical;min-height:90px}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1.5 1.5 7 7l5.5-5.5' fill='none' stroke='%231F2140' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 1em center;background-repeat:no-repeat;padding-right:2.6em}.error-text{color:#c2301f;animation:shake .4s var(--ease-out);align-items:flex-start;gap:.4em;font-size:.9375rem;font-weight:600;display:flex}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{font:800 .9rem/1.1 var(--font-display);border:2px solid var(--ink);transition:transform .15s var(--ease-bounce), background-color .15s, box-shadow .15s;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:999px;align-items:center;gap:.4em;padding:.5em .95em;display:inline-flex}.chip:hover{transform:translateY(-1px)rotate(-1deg)}.chip[aria-pressed=true]{background:var(--butter);box-shadow:2px 2px 0 var(--ink)}.switch{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.switch-text{gap:.1rem;display:grid}.switch-text b{font:800 .98rem/1.25 var(--font-display)}.switch-text span{color:var(--ink-soft);font-size:.875rem}.switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{border:var(--bw) solid var(--ink);background:#fff;border-radius:99px;flex:none;width:52px;height:30px;transition:background-color .2s;position:relative}.switch-track:after{content:"";background:var(--ink);width:21px;height:21px;transition:transform .25s var(--ease-bounce);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{background:var(--mint)}.switch input:checked+.switch-track:after{transform:translate(22px)}.switch input:focus-visible+.switch-track{outline:3px solid var(--pen);outline-offset:2px}.card{background:var(--card);border:var(--bw) solid var(--ink);border-radius:var(--radius-l);box-shadow:var(--shadow-l);position:relative}.tape{background:repeating-linear-gradient(-45deg, #ffffff47 0 6px, transparent 6px 12px), var(--tape,#ffd45ed1);clip-path:polygon(0 10%,4% 0,96% 0,100% 12%,97% 30%,100% 50%,97% 70%,100% 90%,96% 100%,4% 100%,0 90%,3% 70%,0 50%,3% 30%);filter:drop-shadow(0 1px 1px #1f21401f);pointer-events:none;z-index:2;width:104px;height:30px;position:absolute}.hl{z-index:0;white-space:nowrap;position:relative}.hl:before{content:"";z-index:-1;background:var(--hl,var(--butter));transform-origin:0;height:.5em;animation:hl-draw .9s .55s var(--ease-out) both;border-radius:.25em .6em .3em .7em;position:absolute;bottom:.04em;left:-.1em;right:-.14em}.hand{font-family:var(--font-hand);color:var(--pen);font-weight:600;line-height:1}.badge{font:800 .78rem/1 var(--font-display);border:2px solid var(--ink);white-space:nowrap;background:#fff;border-radius:99px;align-items:center;gap:.35em;padding:.3em .7em;display:inline-flex}.badge-live{background:var(--mint)}.badge-live:before{content:"";background:var(--ink);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite pulse-dot}.kbd{font:700 .78em/1.4 var(--font-body);opacity:.75;border:1.5px solid;border-bottom-width:3px;border-radius:6px;padding:.05em .45em;display:inline-block}.site-header{z-index:50;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid #0000;align-items:center;gap:1rem;padding:.9rem clamp(1rem,4vw,2.5rem);transition:border-color .2s;display:flex;position:sticky;top:0}.site-header.scrolled{border-bottom-color:var(--ink-faint)}.site-header nav{gap:.25rem;margin-left:auto;display:flex}.site-header nav a{font:800 .95rem var(--font-display);color:var(--ink);border-radius:99px;padding:.5em .85em;text-decoration:none;transition:background-color .15s}.site-header nav a:hover{background:var(--ink-faint)}.header-actions{align-items:center;gap:.6rem;display:flex}.logo{color:var(--ink);font:800 1.45rem/1 var(--font-display);letter-spacing:-.03em;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.logo-mark{width:38px;height:38px;transition:transform .35s var(--ease-bounce)}.logo:hover .logo-mark{transform:rotate(-12deg)scale(1.06)}.brand-logo{width:auto;height:34px;transition:transform .35s var(--ease-bounce);display:block}.logo:hover .brand-logo{transform:rotate(-3deg)scale(1.04)}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1f214061;place-items:center;padding:1rem;animation:.2s both fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--card);border:var(--bw) solid var(--ink);border-radius:var(--radius-l);width:min(100%,520px);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-l);animation:pop-in .35s var(--ease-bounce) both;padding:1.75rem;position:relative;overflow:auto}.modal-wide{width:min(100%,680px)}.modal-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.modal-head h2{font-size:1.5rem}.modal-close{margin:-.4rem -.4rem 0 0}.modal-foot{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:1.5rem;display:flex}.toasts{z-index:300;pointer-events:none;gap:.6rem;width:min(380px,100vw - 2rem);display:grid;position:fixed;bottom:1rem;right:1rem}.toast{pointer-events:auto;border:var(--bw) solid var(--ink);box-shadow:var(--shadow);animation:toast-in .4s var(--ease-bounce) both;background:#fff;border-radius:18px;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.toast.leaving{animation:.25s both toast-out}.toast-icon{flex:none;font-size:1.35rem;line-height:1.2}.toast-body{flex:1;min-width:0;font-size:.95rem;line-height:1.4}.toast-body b{font-family:var(--font-display)}.toast-actions{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.toast-error{background:var(--blush-soft)}.toast-success{background:var(--mint-soft)}.rise{animation:rise .75s var(--ease-out) both}.pop{animation:pop-in .5s var(--ease-bounce) both}@keyframes rise{0%{opacity:0;transform:translateY(22px) rotate(var(--rise-r,-1deg))}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.88)rotate(-2deg)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.95)rotate(1.5deg)}}@keyframes toast-out{to{opacity:0;transform:translate(24px)}}@keyframes hl-draw{0%{transform:scaleX(0)rotate(-1.5deg)}to{transform:scaleX(1)rotate(-1.5deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes pulse-dot{50%{opacity:.6;transform:scale(.55)}}@keyframes bob{50%{transform:translateY(-6px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}@keyframes float-slow{50%{transform:translateY(-10px) rotate(var(--float-r,3deg))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-center{text-align:center;place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.empty-note{text-align:center;color:var(--ink-soft);justify-items:center;gap:.75rem;display:grid}.divider-dash{border:none;border-top:2px dashed #1f214033;height:0;margin:1.25rem 0}@media (width<=860px){.site-header nav{display:none}.site-header .header-actions{margin-left:auto}}.blob{flex:none;overflow:visible}.blob-look{transform:translate(calc(var(--look-x,0) * 4.5px), calc(var(--look-y,0) * 3.5px));transition:transform .14s ease-out}.blob-eyes{transform-box:fill-box;transform-origin:50%;animation:blink 5.2s var(--blink-delay,0s) infinite}.blob-wave{transform-box:fill-box;transform-origin:0 100%;animation:1.9s ease-in-out infinite wave}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}}@keyframes wave{0%,to{transform:rotate(0)}20%{transform:rotate(-20deg)}45%{transform:rotate(10deg)}70%{transform:rotate(-16deg)}}.loader{justify-items:center;gap:.75rem;display:grid}.loader-blob{animation:loader-hop .9s var(--ease-out) infinite;transform-origin:50% 100%}.loader-text{font-size:1.75rem}@keyframes loader-hop{0%,to{transform:translateY(0)scale(1.04,.96)}45%{transform:translateY(-22px)scale(.97,1.03)}}.code-input{justify-content:center;gap:clamp(6px,1.6vw,10px);display:flex}.code-cell{text-align:center;width:clamp(42px,11vw,56px);height:clamp(54px,13vw,66px);font:800 clamp(1.5rem, 5vw, 1.9rem) / 1 var(--font-display);color:var(--ink);border:var(--bw) solid var(--ink);box-shadow:3px 3px 0 var(--ink);caret-color:var(--tomato);transition:transform .18s var(--ease-bounce), background-color .18s, box-shadow .18s;animation:pop-in .45s var(--ease-bounce) both;background:#fff;border-radius:16px;padding:0}.code-cell:nth-child(3){margin-right:clamp(4px,2vw,14px)}.code-cell:focus{background:var(--butter-soft);box-shadow:4px 5px 0 var(--ink);outline:none;transform:translateY(-3px)rotate(-2deg)}.code-cell.filled{background:var(--butter)}.code-input.invalid .code-cell{background:var(--blush-soft);animation:shake .4s var(--ease-out)}.menu{z-index:60;border:var(--bw) solid var(--ink);min-width:220px;box-shadow:var(--shadow);animation:pop-in .25s var(--ease-bounce) both;background:#fff;border-radius:18px;padding:.4rem;position:absolute}.menu button,.menu a{width:100%;font:700 .95rem/1.2 var(--font-body);color:var(--ink);text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:.6rem;padding:.6rem .75rem;text-decoration:none;display:flex}.menu button:hover,.menu a:hover{background:var(--butter-soft)}.menu .danger{color:#c2301f}.menu hr{border:none;border-top:2px dashed #1f214024;margin:.3rem .4rem}.confetti{z-index:400;pointer-events:none;position:fixed;top:55%;left:50%}.confetti i{border:1.5px solid var(--ink);animation:1.5s forwards confetti;position:absolute}@keyframes confetti{0%{opacity:1;animation-timing-function:cubic-bezier(.2,.8,.4,1);transform:translate(0)rotate(0)}42%{transform:translate(calc(var(--x) * .7), var(--y)) rotate(calc(var(--r) * .5));opacity:1;animation-timing-function:cubic-bezier(.5,0,.8,.5)}to{transform:translate(var(--x), calc(var(--y) + 620px)) rotate(var(--r));opacity:0}}.room-form{gap:1.1rem;display:grid}.form-row{grid-template-columns:1.4fr 1fr;gap:.9rem;display:grid}.label-soft{font:500 .88rem var(--font-body);color:var(--ink-mute)}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:.3rem;display:grid}.emoji-pick{height:40px;transition:transform .15s var(--ease-bounce);background:#fff;border:2px solid #0000;border-radius:12px;place-items:center;font-size:1.3rem;display:grid}.emoji-pick:hover{transform:scale(1.12)rotate(-6deg)}.emoji-pick.on{background:var(--butter);border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}.swatches{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.swatch{border:2px solid var(--ink);width:34px;height:34px;transition:transform .18s var(--ease-bounce);border-radius:50%}.swatch:hover{transform:scale(1.1)}.swatch.on{box-shadow:0 0 0 3px #fff, 0 0 0 5.5px var(--ink)}.toggles{background:var(--paper);border:2px dashed #1f214038;border-radius:18px;padding:.2rem 1rem;display:grid}.toggles .switch+.switch{border-top:2px dashed #1f21401a}.share-link{background:var(--paper);border:var(--bw) solid var(--ink);border-radius:16px;align-items:center;gap:.6rem;padding:.5rem .5rem .5rem 1rem;display:flex}.share-link-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--pen);flex:1;font-weight:700;overflow:hidden}.modal-foot.spread{justify-content:space-between;align-items:center}.modal-foot-right{gap:.6rem;display:flex}.danger-text{color:#c2301f!important}.confirm-body{color:var(--ink-soft);align-items:center;gap:1rem;display:flex}@media (width<=560px){.form-row{grid-template-columns:1fr}.modal{padding:1.25rem}}
