@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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAcwABUAAAAADVQAAAbBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGkQbgR4cLj9IVkFSYD9NVkFSRgZgP1NUQVSBECcqAFwvZBEICoMkgnELFAAwhH4BNgIkAyIEIAWGEAdnDAcboAsonoWxMy2MW9VSU/H2d24ggnj6P7/qdF8kHtj4XCsDah+E/KT39YIFcHcr5mdFZwLNDw9CeW4KlnBLVwQRet6nWJGSNRWvjZZM5AF9/V+YzdmiNbWZhBUUSOGWSLhW2RoXvEtYlxCEfCMrFAA6BuFam7oKRUZVCFWhRR/qJMlMiCgVZ/4ca0sETSHYgDJIJKezg6AEeH4/UIDkWQgqQABAB41AABe1VKK6dOsdhehnpalC9DfR1iEaDRCEADJ7qqmDPyCAYODEgeBAUIADRQ2tgB4qkWgAgOBp5BnH2tUEgA3ErCKtimIziMYx+tZRkDo+B2CcYroAUAMQQMOC/DExNOyf1AIEqIEEKgEKoAEFyK2JYdUjqxX9gAAwZpyto8zKVlMAICtmCHZvvscvU9uhetlltjPXxFCpcgAT1C41AqC3NxEZR3GGgPFsQPEn9Dv9AAEV1gUdEnSDES/lADn+6DGoZioeqIBCEBwIUIQ/UAa5fLpoEwZQQLIclVoNmiUiAMTkNhAAsaQOgAYUSg6A+hsQAHFIasTfqUaMdhH93bqCn0dv0Y1Mxwz/rMEkngeFGyecLPOg2jTgjVHHlnFn1ePPoBCvIU0PgI97z1hU0OQ8V6Iq/BwEUU8EQ4OB4FQdyadBEOByAhRAIhThj4OXDnAXcgDG2hAxxIQMtyzUgY0DcCA1wwnPy+biZg5xg64AiKelqxEkCD8ATgAKAdzAdMBJoAx4e5naGUU9jSAGahwNjTq+8W7DtfwYMsuPz6g1XPyMe4OHcM9wzZ544OVL2fjTo1fDhz95JRtfunY9r+B6JRd3737xgg3f338+ZMjD5wE2vLjmvqrsfi7KpklBNhwDNs4hLtfZB1nVo/LtXbteDo7bGL+x9LnOu7gSi0s45CJc/mquZ+53Had/3dvtr8Ybttd9ifzjnXq4Zb+pTblf584tP9A9sdAIX89W9cqWOy8urXS6243Og4UTLSdNOtqi74T6Wi+zp5Xr6RpTqLOrX2Wp2FTquoyMtjObjK4jpZMt84p3bd218fcnDp+IoMbXTl0+vgP56caMH6fVqeP+OKNQ34WDI8PmIJDVIAAbW7oRW9vBIzQAYINeo695N38DAQQF1BAAQB1AaXV6TEEMP0RLzQ5ctUHhwY/gB6cDpZRWWNvhvV7xtTdCTx62RTr+t9EROf52+4hqwKoHM4/P3FgXpe6yLMD76VNExDcBX1jIH3Yp7lSX+fKlzCapUmWPbtYsN7eRA47ZYTVbbEp/xcTqp40a3d8kgcC2lmDn2kCI59VnWx1NAZbGgyDNV1vAFJu5FO3miyhkCFmswIrSVn+m4cGofr9T0gtXmTw09dO1a16PkZUSH/IBkrx9G5qSFfLgxvTvUt01arz+FBpnGCEhx00R2RZKkZ2alp0fzE1LDbpKNhShcYSQv0hQG1qZDr/fmZca/ghYVGJxlLKSkix/drZ/c6tCgVkxImp4WHxugc/XJo8s3HRlyqfYLHfRckwVJGlsXycqqOGwidPXFPr25z/Nmxau/p9Rr57aFGS1RW4u7iIFAw1tFS5Mxb/8VkR5k5cXVEauSXY2pXVWSkRkklGk1rBYI0tr8nLTSpb8G+5yhXMADzyTaevXgL1Zp6VZlh0QM3fsx6LChf9nUFEe5Rfxel+//BCekJby74034cm1Sj0pKdGfMTg6JQXHolu80R26VNVeFRGjTGrML/a3KLdYsfRSwdIdF/wS97oFBJCflu4t3XhyfFibNIfWkQCf9r4tAJ9v5YH5D/L/t64YRwELBYDAz9xlvaUoc/8UQJDdHboro2Mz9jFInPDh9H5qASpKQgBOzmMzgG87VkOtVdB9GjGcwLdyIEJCoawjhU8WkKZZWpFBpZQgk2Guk0Ul58N9NCPHEwMP48ikiG6ycNGBbHyygBx4aEJOCsggFw7KkJtCAo/uwQV0olqyQtFmHZtpSTNMxXktRyAaKYo+cK9zaHpJBCK7ld6ZnAkoolP/ZzYvSzUPD8sKk8TLZmFYJCoGZhJ4DGjXa4xuGebQcRBOoWGIwKFaYhqHmCwSTJeiCKMCq0gNAc+GYSrLDBajCqNYJQYHcZXJJ0A4xapUqMKZ6z2NlL69lfVr0u8Nccx9YwPV6tkC81rPZI+nqPdmFSuWYpQISRkjH5QNMRmyUjejicO9FXMknCLnOWQIJNp0jmWMFZiWYyRwhQrhmdU9JWEPp+eCXCSYbnA0cgpOoIp7UWjRYogpltVxkolc5Ld0nsQ2aGrgvbG4QXMT38TJjo3+3UW3hhd38NKijMZseaj+FQn2vbEXAA==)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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-cyrillic-wght-normal-C627f1f8.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-vietnamese-wght-normal-rat7GD3o.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-ext-wght-normal-D6H-S6MW.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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-wght-normal-D5afBTBx.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}: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:#0b080914;--tomato:#e8584f;--tomato-deep:#ba3737;--logo-red:#ba3737;--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:#2f4fc4;--ok:#1fa86b;--danger:#f0483a;--bw:2.5px;--radius-s:12px;--radius:20px;--radius-l:28px;--shadow-s:var(--lift);--shadow:var(--lift);--shadow-l:var(--lift);--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}:where(button){color:inherit;background:0 0;border:0;padding:0}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:#0b080940 padding-box padding-box;border:2px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background-color:#0b080973}.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(--line);box-shadow:var(--lift);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:var(--lift);transform:translate(-1px,-2px)}.btn:active{box-shadow:var(--lift);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:var(--lift)}.btn-ink:hover{box-shadow:var(--lift)}.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:var(--lift);padding:.6em 1em;font-size:.875rem}.btn-sm:hover{box-shadow:var(--lift)}.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(--line);background:#fff;border-radius:16px;padding:.8em 1em;transition:box-shadow .2s;box-shadow:inset 0 -3px #0b08090f}.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 #0b08090f;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(--line);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:var(--lift)}.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(--line);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(--line);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 #0b08091f);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(--line);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:#0b080961;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(--line);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(--line);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 solid #0b080933;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(--line);box-shadow:var(--lift);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:var(--lift);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(--line);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 solid #0b080924;margin:.3rem .4rem}.confetti{z-index:400;pointer-events:none;position:fixed;top:55%;left:50%}.confetti i{border:1.5px solid var(--line);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:var(--lift)}.swatches{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.swatch{border:2px solid var(--line);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 solid #0b080938;border-radius:18px;padding:.2rem 1rem;display:grid}.toggles .switch+.switch{border-top:2px solid #0b08091a}.share-link{background:var(--paper);border:var(--bw) solid var(--line);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}}.tile{overflow:visible}.tile-clip{border-radius:19px;position:absolute;inset:0;overflow:hidden}.tile.compact .tile-clip{border-radius:15px}.tile-clip>.video,.tile-clip>.tile-avatar{width:100%;height:100%;position:absolute;inset:0}.tile.speaking{outline:none;animation:none}.tile:after{content:"";z-index:0;border:4px solid var(--pc);opacity:0;box-shadow:0 0 18px color-mix(in srgb, var(--pc) 55%, transparent);pointer-events:none;border-radius:29px;transition:opacity .9s cubic-bezier(.4,0,.2,1);position:absolute;inset:-8px}.tile.compact:after{border-width:3px;border-radius:23px;inset:-6px}.tile.speaking:after{opacity:1;transition-duration:.45s}.filmstrip{padding:10px 12px 12px 10px}.grid-stage{padding:12px}.tile-photo{aspect-ratio:1;object-fit:cover;border:3px solid var(--line);border-radius:50%;width:58%;transition:transform 80ms linear}.tile.screaming .tile-avatar{animation:90ms linear infinite scream-shake}.scream-text{font:800 clamp(1rem, 3vw, 1.8rem) / 1 var(--font-display);color:#fff;-webkit-text-stroke:2px var(--ink);paint-order:stroke;animation:scream-pop .3s var(--ease-bounce);position:absolute;top:10%;right:8%;transform:rotate(12deg)}.blob-scream{animation:80ms linear infinite scream-shake}@keyframes scream-shake{0%{translate:0}25%{translate:-3px 1px}50%{translate:2px -2px}75%{translate:-1px 2px}to{translate:0}}@keyframes scream-pop{0%{transform:scale(.3)rotate(0)}}.swords{filter:drop-shadow(0 1px #0b080933);flex:none}.on-mod{background:var(--sky-soft)!important}.board-wrap{flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;display:flex}.board-tabs{gap:6px;padding:2px 2px 4px;display:flex;overflow-x:auto}.board-tabs button{font:800 .82rem/1.2 var(--font-display);border:2px solid var(--line);opacity:.75;transition:opacity .15s, transform .15s var(--ease-bounce);background:#fff;border-radius:12px 12px 4px 4px;flex:none;padding:.35rem .85rem}.board-tabs button[aria-selected=true]{background:var(--butter);opacity:1;box-shadow:var(--lift)}.board-tabs button:hover{opacity:1;transform:translateY(-1px)}.board-tabs .board-tab-add{opacity:1;border-style:dashed;place-items:center;width:34px;padding:0;display:grid}.slides-stage{border:var(--bw) solid var(--line);box-shadow:var(--shadow);background:#262840;border-radius:22px;flex:1;place-items:center;display:grid;position:relative;overflow:hidden}.slide-img{object-fit:contain;border-radius:8px;max-width:calc(100% - 24px);max-height:calc(100% - 80px);animation:.25s fade-in;box-shadow:0 12px 40px #00000059}.slides-bar{border:var(--bw) solid var(--line);box-shadow:var(--shadow-s);white-space:nowrap;background:#fff;border-radius:99px;align-items:center;gap:6px;padding:5px 10px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.slides-bar .tool{width:36px;height:36px}.slides-title{max-width:240px;font:800 .82rem/1.2 var(--font-display);text-overflow:ellipsis;margin-right:4px;overflow:hidden}.slides-count{text-align:center;min-width:56px;font:800 .9rem/1 var(--font-display);font-variant-numeric:tabular-nums}.screen-volume{border:2px solid var(--line);background:#fff;border-radius:99px;align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;display:flex;position:absolute;top:12px;right:12px}.screen-volume input{width:110px;accent-color:var(--tomato)}.status-chip.rec{background:#ffe1df}.status-chip.rec i,.status-chip.rtt i{background:var(--danger);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse-dot}.status-chip.rtt i{background:var(--ink-mute);animation:none}.status-chip.rtt.good i{background:var(--ok)}.status-chip.rtt.ok i{background:#e6a700}.status-chip.rtt.bad i{background:var(--danger)}.status-chip.rtt{font-variant-numeric:tabular-nums}.react-pop,.ctrl-pop .react-pop{grid-template-columns:max-content;gap:6px;width:max-content;display:grid}.react-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.react-grid.more{border-top:2px solid #0b08091f;padding-top:6px}.react-grid button,.more-reacts button{width:46px;height:46px;transition:transform .15s var(--ease-bounce);background:0 0;border:none;border-radius:12px;place-items:center;font-size:1.6rem;display:grid}.react-grid button:hover{background:var(--butter-soft);transform:scale(1.22)rotate(-8deg)}.react-more{font:800 .8rem/1 var(--font-display);background:var(--paper);border:2px solid var(--line);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:6px;display:flex}.reaction-svg{object-fit:contain;width:1.3em;height:1.3em;display:block}.r-emoji .reaction-svg{width:2.8rem;height:2.8rem}.pj-consent{background:var(--butter-soft);border:2px solid var(--line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.7rem .9rem;font-size:.88rem;display:flex}.avatar-photo{object-fit:cover;border:2px solid var(--line);background:#fff;border-radius:50%;flex:none}.look-editor{grid-template-columns:220px minmax(0,1fr);gap:1.2rem;display:grid}.look-stage{background:radial-gradient(circle at 50% 40%, #fff 0, transparent 70%), var(--butter-soft);border:2px solid #0b080940;border-radius:22px;align-content:start;justify-items:center;gap:.8rem;padding:1rem .6rem;display:grid}.look-photo{cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.look-photo input{opacity:0;position:absolute}.look-photo input:checked+.switch-track{background:var(--mint)}.look-photo input:checked+.switch-track:after{transform:translate(22px)}.look-tabs{flex-wrap:wrap;gap:4px;margin-bottom:.7rem;display:flex}.look-tabs button{font:800 .85rem/1 var(--font-display);border:2px solid var(--line);background:#fff;border-radius:99px;padding:.4rem .8rem}.look-tabs button[aria-selected=true]{background:var(--butter);box-shadow:var(--lift)}.look-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;max-height:340px;padding:2px;display:grid;overflow-y:auto}.look-opt{text-align:center;transition:transform .15s var(--ease-bounce);background:#fff;border:2px solid #0b080926;border-radius:14px;justify-items:center;gap:2px;padding:6px 4px;font-size:.72rem;font-weight:700;line-height:1.15;display:grid}.look-opt:hover{border-color:var(--ink);transform:translateY(-2px)}.look-opt.on{background:var(--butter-soft);border-color:var(--ink);box-shadow:var(--lift)}.look-color{border:2px solid var(--line);cursor:pointer;border-radius:16px;place-items:center;height:56px;font-size:1.4rem;display:grid;position:relative}.look-color.on{box-shadow:0 0 0 3px #fff, 0 0 0 5.5px var(--ink)}.look-color.custom input{opacity:0;width:1px;height:1px;position:absolute}@media (width<=640px){.look-editor{grid-template-columns:1fr}}.cookie{z-index:500;border:var(--bw) solid var(--line);width:min(760px,100vw - 24px);box-shadow:var(--shadow-l);background:#fff;border-radius:22px;align-items:center;gap:1rem;padding:.9rem 1.1rem;animation:.4s both fade-in;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.cookie-blob{flex:none;animation:2.6s ease-in-out infinite bob}.cookie-text{color:var(--ink-soft);flex:1;font-size:.88rem}.cookie-text b{font:800 1rem/1.2 var(--font-display);color:var(--ink);align-items:center;gap:.35rem;margin-bottom:.2rem;display:flex}@media (width<=600px){.cookie{flex-wrap:wrap}.cookie-blob{display:none}.cookie .btn{width:100%}}.kemi-credit{color:var(--ink);align-items:center;gap:6px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.kemi-credit:hover{text-decoration:underline}.kemi-credit-logo{width:44px;height:44px;display:block}.footer-contacts{gap:.35rem;display:grid}.footer-contacts a{color:var(--ink);align-items:center;gap:.4rem;font-weight:700;text-decoration:none;display:inline-flex}.footer-contacts a:hover{color:var(--tomato-deep)}.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:min(1200px,100%);margin:1.5rem auto 0;display:flex}.footer-bottom .footer-copy{margin:0}.menu.tile-menu{width:max-content;max-width:calc(100vw - 16px)}.ctrl-pop .react-pop .react-more{border:2px solid var(--line);border-radius:12px;width:auto;height:auto;font-size:.8rem}.ctrl-pop .react-pop .react-more:hover{background:var(--butter-soft);transform:none}.dash-tabs{scrollbar-width:none;border:var(--bw) solid var(--line);box-shadow:var(--shadow-s);background:#fff;border-radius:99px;gap:.45rem;margin-bottom:1.6rem;padding:.35rem;display:flex;overflow-x:auto}.dash-tabs::-webkit-scrollbar{display:none}.dash-tab{font:800 .95rem/1 var(--font-display);color:var(--ink-soft);transition:background .2s, color .2s, transform .2s var(--ease-bounce);border-radius:99px;flex:none;align-items:center;gap:.35rem;padding:.55rem 1rem;display:inline-flex;position:relative}.dash-tab:hover{background:var(--paper-deep);color:var(--ink)}.dash-tab.on{color:#fff;background:var(--tomato);box-shadow:inset 0 -3px 0 var(--tomato-deep)}.dash-tab .ctrl-badge.static{position:static}.ctrl-badge.static{min-width:20px;height:20px;font:800 .72rem/1 var(--font-display);color:#fff;background:var(--tomato);border:2px solid #fff;border-radius:99px;place-items:center;padding:0 5px;display:inline-grid;position:static}.dash-section{gap:.9rem;margin-bottom:2rem;display:grid}.dash-section>h3,.section-row h3{font-size:1.3rem}.section-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.dash-empty{color:var(--ink-mute);font-size:.97rem;line-height:1.5}.dash-empty.with-blob{text-align:center;border:2px solid color-mix(in srgb, var(--ink) 18%, transparent);border-radius:var(--radius);background:#fff;justify-items:center;gap:.6rem;padding:2rem 1rem;display:grid}.dash-empty.with-blob .blob{animation:3.4s ease-in-out infinite bob}.dash-foot{color:var(--ink-mute);border-top:2px solid var(--ink-faint);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;font-size:.9rem;display:flex}.dash-foot a{color:var(--ink-soft);font-weight:700}.invite-card{background:var(--lilac-soft);align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.invite-card-text{flex:1;gap:.2rem;min-width:0;display:grid}.invite-card-actions{gap:.4rem;display:flex}.upcoming-list{gap:.7rem;display:grid}.upcoming{transition:transform .2s var(--ease-bounce), background .3s;align-items:center;gap:.9rem;padding:.9rem 1.1rem;display:flex}.upcoming.ready{background:var(--mint-soft)}.upcoming.mine{background:var(--butter-soft)}.upcoming-emoji{border:2px solid var(--line);background:#fff;border-radius:16px;flex:none;place-items:center;width:48px;height:48px;font-size:1.6rem;display:grid}.upcoming-text{flex:1;gap:.15rem;min-width:0;display:grid}.upcoming-text b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upcoming-text span{color:var(--ink-soft);font-size:.9rem}.upcoming-wait{color:var(--ink-soft);border:2px solid var(--ink-mute);white-space:nowrap;background:#fff;border-radius:99px;padding:.35rem .75rem;font-size:.85rem;font-weight:700}.pulse-btn{animation:1.8s ease-in-out infinite pulse-join}@keyframes pulse-join{0%,to{box-shadow:var(--shadow-s), 0 0 0 0 color-mix(in srgb, var(--tomato) 50%, transparent)}50%{box-shadow:var(--shadow-s), 0 0 0 10px transparent}}.notices{gap:.45rem;padding:0;list-style:none;display:grid}.notice{border:2px solid var(--ink-faint);border-radius:var(--radius-s);background:#fff;align-items:center;gap:.7rem;padding:.7rem .9rem;display:flex}.notice.unread{border-color:var(--tomato);background:color-mix(in srgb, var(--blush-soft) 60%, #fff)}.notice-icon{font-size:1.3rem}.notice-text{flex:1;min-width:0;font-size:.95rem}.notice small{color:var(--ink-mute);white-space:nowrap}.people-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem;display:grid}.person-card{align-items:center;gap:.8rem;padding:.9rem 1rem;display:flex}.person-card-text{flex:1;gap:.2rem;min-width:0;display:grid}.person-card-text b,.person-card-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-card-text>span{color:var(--ink-mute);font-size:.85rem}.person-card-actions{gap:.3rem;display:flex}.chip-static{background:var(--mint-soft);border-radius:99px;justify-self:start;padding:.15rem .55rem;font-size:.78rem;font-weight:800}.chip-static.wait{background:var(--butter-soft)}.hw-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1rem;display:grid}.hw-card{align-content:start;gap:.7rem;padding:1.1rem 1.2rem;display:grid}.hw-card.hw-checked{background:var(--mint-soft)}.hw-card.hw-submitted{background:var(--sky-soft)}.hw-card.overdue{border-color:var(--danger)}.hw-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.hw-status{background:var(--butter-soft);border:2px solid var(--line);border-radius:99px;padding:.2rem .6rem;font-size:.8rem;font-weight:800}.hw-who{color:var(--ink-soft);font-size:.9rem;font-weight:700}.hw-due{color:var(--ink-mute);margin-left:auto;font-size:.82rem}.hw-due.late{color:var(--danger);font-weight:800}.hw-card h4{font-size:1.15rem}.hw-body{white-space:pre-wrap;color:var(--ink-soft)}.hw-board{justify-self:start}.hw-answer,.hw-review,.hw-submitted{gap:.5rem;display:grid}.hw-submitted{border-radius:var(--radius-s);background:#ffffffb3;padding:.7rem .9rem}.hw-files{flex-wrap:wrap;gap:.4rem;display:flex}.hw-files img{object-fit:cover;border:2px solid var(--line);border-radius:10px;width:64px;height:64px}.hw-add-file{cursor:pointer;border:2px solid var(--ink-mute);border-radius:10px;place-items:center;width:64px;height:64px;font-size:1.4rem;display:grid}.hw-add-file:hover{border-color:var(--tomato)}.hw-feedback{border-radius:var(--radius-s);background:#fff;align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.hw-grade{font:900 1.1rem/1.2 var(--font-display);color:#fff;background:var(--tomato);border-radius:10px;padding:.2rem .6rem;transform:rotate(-4deg)}.boards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem;display:grid}.board-card{gap:.6rem;padding:.7rem;display:grid}.board-card-art{height:110px;color:var(--pen);border:2px solid var(--ink-faint);border-radius:var(--radius-s);transition:transform .2s var(--ease-bounce);background-color:#fff;place-items:center;display:grid}.board-card-art:hover{transform:rotate(-1.5deg)scale(1.02)}.board-card-text{gap:.15rem;padding:0 .2rem;display:grid}.board-card-text b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-card-text span{color:var(--ink-mute);font-size:.8rem}.board-card-actions{gap:.3rem;display:flex}.board-card-actions .btn:first-child{flex:1}.board-page{background:var(--paper);grid-template-rows:auto minmax(0,1fr);height:100dvh;display:grid}.board-page-bar{border-bottom:2px solid var(--ink-faint);align-items:center;gap:.6rem;padding:.6rem 1rem;display:flex}.board-page-title{min-width:0;font:800 1.15rem/1.2 var(--font-display);text-overflow:ellipsis;white-space:nowrap;border-radius:10px;padding:.3rem .6rem;overflow:hidden}.board-page-title:hover{background:var(--paper-deep)}.board-page-save{color:var(--ink-mute);white-space:nowrap;margin-left:auto;font-size:.85rem}.board-page-stage{min-height:0;position:relative}.board-page-empty,.invite-page{text-align:center;align-content:center;justify-items:center;gap:1rem;min-height:100dvh;padding:2rem 1rem;display:grid}.invite-page-card{justify-items:center;gap:1rem;width:min(520px,100%);padding:2rem 1.6rem;display:grid}.invite-page-card h1{font-size:clamp(1.5rem,4vw,2rem)}.invite-page-card blockquote{font:600 1.4rem/1.3 var(--font-hand,"Caveat"), cursive;color:var(--ink-soft)}.invite-page-blobs{align-items:end;gap:.5rem;display:flex}.invite-page-blobs .blob{animation:3s ease-in-out infinite bob}.invite-page-blobs .blob:last-child{animation-delay:-1.5s}.invite-page-heart{font-size:2rem;animation:3s ease-in-out infinite float-slow}.invite-page-list{text-align:left;gap:.4rem;padding:0;list-style:none;display:grid}.invite-page-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.friends-tab{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:1rem;height:min(72vh,720px);display:grid}.friends-list{flex-direction:column;gap:.5rem;padding:.9rem;display:flex;overflow-y:auto}.friend-add{gap:.4rem;display:flex}.friend-add .input{flex:1;min-width:0}.friend-row{border-radius:var(--radius-s);align-items:center;gap:.3rem;transition:background .2s;display:flex}.friend-row.on,.friend-row:hover{background:var(--paper-deep)}.friend-open{text-align:left;flex:1;align-items:center;gap:.6rem;min-width:0;padding:.5rem;display:flex}.friend-name{flex:1;min-width:0;display:grid}.friend-name b,.friend-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.friend-name small{color:var(--ink-mute)}.friend-req{gap:.25rem;padding-right:.4rem;display:flex}.convo-wrap{min-height:0;padding:0;display:flex;overflow:hidden}.convo-empty{border:none;margin:auto}.convo{grid-template-rows:auto minmax(0,1fr) auto;width:100%;min-height:0;display:grid}.convo-head{border-bottom:2px solid var(--ink-faint);align-items:center;gap:.6rem;padding:.7rem 1rem;display:flex}.convo-name{flex:1;min-width:0;display:grid}.convo-name small{color:var(--ink-mute)}.e2e-badge{color:#0e6b44;background:var(--mint-soft);border:2px solid var(--ok);white-space:nowrap;border-radius:99px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.8rem;font-weight:800;display:inline-flex}.convo-list{background-image:radial-gradient(var(--grid-line) 1.2px, transparent 1.2px);background-size:18px 18px;flex-direction:column;gap:.45rem;padding:1rem;display:flex;overflow-y:auto}.convo-secure{text-align:center;max-width:420px;color:var(--ink-soft);background:var(--butter-soft);border-radius:var(--radius-s);align-self:center;margin-bottom:.5rem;padding:.5rem .9rem;font-size:.82rem}.dm{max-width:78%;display:flex}.dm.mine{align-self:flex-end}.dm-bubble{border:2px solid var(--line);box-shadow:var(--shadow-s);overflow-wrap:anywhere;white-space:pre-wrap;background:#fff;border-radius:16px 16px 16px 4px;gap:.3rem;padding:.55rem .8rem;display:grid}.dm.mine .dm-bubble{background:var(--blush-soft);border-radius:16px 16px 4px}.dm-bubble time,.dm-bubble small{color:var(--ink-mute);justify-self:end;font-size:.7rem}.dm-locked{color:var(--ink-mute)}.dm-image{border-radius:12px;width:min(260px,60vw);display:block;overflow:hidden}.dm-image img{width:100%;display:block}.dm-image.loading{background:linear-gradient(90deg, var(--paper-deep), #fff, var(--paper-deep));background-size:200% 100%;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.convo-form{border-top:2px solid var(--ink-faint);align-items:end;gap:.5rem;padding:.7rem;display:flex}.convo-form .textarea{resize:none;flex:1;min-height:44px;max-height:140px}.show-narrow{display:none}.notes-intro{background:var(--lilac-soft);gap:1rem;margin-bottom:1.2rem;padding:1.1rem 1.2rem;display:flex}.notes-intro p{color:var(--ink-soft);margin-top:.3rem;font-size:.93rem}.notes-warn{font-weight:700}.notes-layout{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.notes-list{gap:.4rem;padding:0;list-style:none;display:grid}.note-row{text-align:left;border:2px solid var(--ink-faint);border-radius:var(--radius-s);background:#fff;gap:.15rem;width:100%;padding:.7rem .9rem;display:grid}.note-row.on{border-color:var(--ink);box-shadow:var(--shadow-s)}.note-row span{color:var(--ink-mute);font-size:.8rem}.note-view{gap:.8rem;padding:1.2rem 1.4rem;display:grid}.md{gap:.25rem;line-height:1.55;display:grid}.md h4{margin-top:.6rem;font-size:1.05rem}.md li{margin-left:1.2rem}.transcript{max-height:420px;font:.85rem/1.5 var(--font-body);white-space:pre-wrap;background:var(--paper);border-radius:var(--radius-s);padding:.9rem;overflow:auto}.invitee-picker{flex-wrap:wrap;gap:.4rem;display:flex}.invitee{border:2px solid var(--ink-faint);background:#fff;border-radius:99px;align-items:center;gap:.4rem;padding:.25rem .7rem .25rem .25rem;font-weight:700;transition:border-color .2s,background .2s;display:inline-flex}.invitee small{color:var(--ink-mute);font-weight:600}.invitee.on{background:var(--mint-soft);border-color:var(--ink)}.reason-box{background:var(--butter-soft);border-radius:var(--radius-s);margin-top:.8rem;padding:.9rem}.reason-picker{gap:.5rem;display:grid}.rc-invitees{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.avatar-row{flex-wrap:wrap;gap:.4rem;display:flex}.kemi-dance{z-index:80;border:var(--bw) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);animation:kemi-pop .6s var(--ease-bounce) both;background:#fff;align-items:center;gap:.6rem;padding:.7rem 2.2rem .7rem .9rem;display:flex;position:fixed;bottom:1.2rem;right:1.2rem}.kemi-dance p{font-size:1.35rem;line-height:1.1}.kemi-dancer{transform-origin:50% 100%;animation:.7s ease-in-out infinite kemi-dance}.kemi-dance-x{color:var(--ink-mute);font-size:1.4rem;position:absolute;top:.3rem;right:.6rem}@keyframes kemi-pop{0%{opacity:0;transform:translateY(40px)scale(.8)}}@keyframes kemi-dance{0%,to{transform:rotate(-10deg)translateY(0)}25%{transform:rotate(0)translateY(-14px)scaleY(1.05)}50%{transform:rotate(10deg)translateY(0)scaleY(.94)}75%{transform:rotate(0)translateY(-10px)}}@media (width<=900px){.friends-tab{grid-template-columns:minmax(0,1fr);height:auto}.friends-tab.has-convo .friends-list,.friends-tab:not(.has-convo) .convo-wrap{display:none}.friends-tab .convo-wrap{height:74dvh}.show-narrow{display:inline-flex}.notes-layout{grid-template-columns:minmax(0,1fr)}.invite-card{flex-wrap:wrap}.board-page-save{display:none}}@media (prefers-reduced-motion:reduce){.kemi-dancer,.pulse-btn,.dash-empty.with-blob .blob{animation:none}}.dash-section>h3,.section-row h3{align-items:center;gap:.45rem;display:flex}.notice>a,.notice>div{width:100%;color:inherit;align-items:center;gap:.7rem;text-decoration:none;display:flex}.notice>a:hover .notice-text{text-decoration:underline}.notice time{color:var(--ink-mute);white-space:nowrap;flex:none;font-size:.8rem}:root{--ease-out:cubic-bezier(.2, .8, .2, 1)}.planner{gap:1rem;display:grid}.planner-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.planner-nav,.planner-tools{align-items:center;gap:.4rem;display:flex}.planner-week{font:800 1.15rem/1 var(--font-display);animation:fade-up .4s var(--ease-out) both;margin-left:.4rem}.planner-body{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem;display:grid}.cal{padding:0;overflow:hidden}.cal-head{border-bottom:2px solid var(--ink-faint);background:#fff;grid-template-columns:52px repeat(7,minmax(0,1fr));display:grid}.cal-day-head{color:var(--ink-mute);transition:background .3s var(--ease-out), color .3s;justify-items:center;gap:.1rem;padding:.55rem 0 .5rem;font-size:.78rem;font-weight:700;display:grid}.cal-day-head b{width:30px;height:30px;font:800 1rem/1 var(--font-display);color:var(--ink);border-radius:50%;place-items:center;transition:background .3s,color .3s;display:grid}.cal-day-head.today b{color:#fff;background:var(--tomato)}.cal-day-head.in-range{background:var(--butter-soft)}.cal-grid{max-height:68vh;animation:cal-in .42s var(--ease-out) both;grid-template-columns:52px repeat(7,minmax(0,1fr));display:grid;position:relative;overflow-y:auto}.cal-grid.slide-r{animation-name:cal-in-r}.cal-grid.slide-l{animation-name:cal-in-l}@keyframes cal-in{0%{opacity:0}}@keyframes cal-in-r{0%{opacity:0;transform:translate(36px)}}@keyframes cal-in-l{0%{opacity:0;transform:translate(-36px)}}.cal-hours{position:relative}.cal-hours span{color:var(--ink-mute);font-size:.7rem;font-weight:700;position:absolute;right:6px;transform:translateY(-50%)}.cal-hours span:first-child{transform:translateY(2px)}.cal-col{border-left:1.5px solid var(--ink-faint);cursor:copy;transition:background .3s var(--ease-out);position:relative}.cal-col:hover{background:color-mix(in srgb, var(--sky-soft) 45%, transparent)}.cal.picking .cal-col{cursor:pointer}.cal-col.in-range{background:color-mix(in srgb, var(--butter-soft) 75%, transparent)}.cal-line{pointer-events:none;border-top:1px dashed #1f214014;position:absolute;left:0;right:0}.cal-now{z-index:3;background:var(--tomato);pointer-events:none;height:2px;transition:top 1s linear;position:absolute;left:-4px;right:0}.cal-now:before{content:"";background:var(--tomato);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:0}.cal-ev{--c:var(--butter);z-index:2;text-align:left;color:var(--ink);background:color-mix(in srgb, var(--c) 55%, #fff);border:2px solid var(--line);box-shadow:var(--lift);animation:ev-pop .45s var(--ease-out) both;animation-delay:var(--delay,0s);transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out), top .35s var(--ease-out), height .35s var(--ease-out), left .35s var(--ease-out), width .35s var(--ease-out);border-radius:10px;align-content:start;gap:1px;padding:3px 6px;text-decoration:none;display:grid;position:absolute;overflow:hidden}.cal-ev:hover,.cal-ev.on{z-index:4;box-shadow:var(--lift);transform:translate(-1px,-2px)}.cal-ev.on{outline:3px solid var(--tomato);outline-offset:1px}.cal-ev b{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;line-height:1.2;overflow:hidden}.cal-ev span{color:var(--ink-soft);font-size:.68rem}.cal-ev.unpaid{background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--c) 35%, #fff) 0 6px, #fff 6px 12px);border-style:dashed}.cal-ev.done{opacity:.55}.cal-ev.other{border-color:var(--ink-mute);box-shadow:none;background:#fff}.cal-ev.ghost{z-index:1;pointer-events:none;background:color-mix(in srgb, var(--c) 30%, transparent);border:2px dashed color-mix(in srgb, var(--ink) 55%, transparent);box-shadow:none;animation:ghost-in .4s var(--ease-out) both, ghost-breathe 2.4s ease-in-out .4s infinite}@keyframes ev-pop{0%{opacity:0;transform:translateY(6px)scale(.94)}}@keyframes ghost-in{0%{opacity:0;transform:scale(.9)}}@keyframes ghost-breathe{50%{opacity:.6}}.planner-side{max-height:calc(100vh - 110px);padding:1rem;position:sticky;top:90px;overflow:hidden auto}.planner-panel{animation:panel-in .38s var(--ease-out) both}@keyframes panel-in{0%{opacity:0;transform:translate(14px)}}.panel-stack{gap:.85rem;display:grid}.panel-title{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.panel-title b{font:800 1.08rem/1.2 var(--font-display);align-items:center;gap:.4rem;display:flex}.price-row{align-items:center;gap:.4rem;display:flex}.price-row .input{width:100px}.bal-list{gap:.5rem;padding:0;list-style:none;display:grid}.bal{background:var(--paper);border:2px solid var(--ink-faint);border-radius:var(--radius-s);padding:.6rem;transition:border-color .3s,background .3s}.bal.open{border-color:var(--ink);background:#fff}.bal-row{align-items:center;gap:.55rem;display:flex}.bal-name{flex:1;min-width:0;display:grid}.bal-name b,.bal-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bal-name small{color:var(--ink-mute);font-size:.75rem}.bal-name em{color:var(--danger);font-style:normal;font-weight:700}.bal-sum{font:800 1rem/1 var(--font-display);color:var(--ok)}.bal-sum.zero{color:var(--ink-mute)}.bal-actions{gap:.3rem;margin-top:.45rem;display:flex}.bal-actions .chip,.bal-topup .chip{padding:.25rem .6rem;font-size:.78rem}.bal-topup{transition:grid-template-rows .35s var(--ease-out);grid-template-rows:0fr;display:grid}.bal.open .bal-topup{grid-template-rows:1fr}.bal-topup-inner{opacity:0;min-height:0;transition:opacity .25s, padding .35s var(--ease-out);flex-wrap:wrap;align-items:center;gap:.3rem;display:flex;overflow:hidden}.bal.open .bal-topup-inner{opacity:1;padding-top:.5rem}.bal-topup-inner .input{width:84px;padding:.3rem .5rem}.seg{background:var(--paper-deep);border-radius:14px;grid-template-columns:1fr 1fr;padding:4px;display:grid;position:relative}.seg button{z-index:1;color:var(--ink-soft);padding:.5rem .4rem;font-size:.8rem;font-weight:800;transition:color .3s;position:relative}.seg button.on{color:var(--ink)}.seg-thumb{border:2px solid var(--line);width:calc(50% - 4px);box-shadow:var(--lift);transition:transform .4s var(--ease-out);background:#fff;border-radius:11px;position:absolute;top:4px;bottom:4px;left:4px}.seg-thumb.right{transform:translate(100%)}.order-list{gap:.35rem;padding:0;list-style:none;display:grid}.order-list li{border:2px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;background:#fff;border-radius:12px;align-items:center;gap:.45rem;padding:.45rem .5rem;display:flex}.order-list li:active{cursor:grabbing}.order-list .grip{color:var(--ink-mute)}.order-time{background:var(--butter-soft);border-radius:8px;padding:.1rem .4rem;font-size:.75rem;font-weight:800}.order-list b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.order-list button{border-radius:8px;place-items:center;width:26px;height:26px;transition:background .2s;display:grid}.order-list button:hover:not(:disabled){background:var(--paper-deep)}.order-list button:disabled{opacity:.3}.stepper{background:var(--paper-deep);border-radius:12px;align-items:center;gap:.4rem;padding:3px;display:inline-flex}.stepper button{width:32px;height:32px;font:800 1.2rem/1 var(--font-display);border:2px solid var(--line);transition:transform .15s var(--ease-out);background:#fff;border-radius:10px}.stepper button:active:not(:disabled){transform:scale(.9)}.stepper button:disabled{opacity:.35}.stepper b{text-align:center;min-width:96px;animation:num-pop .3s var(--ease-out)}@keyframes num-pop{0%{opacity:.3;transform:translateY(-4px)}}.plan-summary{background:var(--mint-soft);border-radius:var(--radius-s);animation:fade-up .35s var(--ease-out);gap:.2rem;padding:.7rem .8rem;display:grid}.plan-summary span{color:var(--ink-soft);font-size:.88rem}.plan-summary em{color:var(--danger);font-size:.82rem;font-style:normal;font-weight:700}.tpl-range{background:var(--butter-soft);border-radius:var(--radius-s);animation:fade-up .35s var(--ease-out);gap:.1rem;padding:.7rem .8rem;display:grid}.tpl-range.empty{color:var(--ink-mute);background:var(--paper);border:2px dashed var(--ink-faint)}.tpl-range span{color:var(--ink-soft);font-size:.85rem}.lesson-when{color:var(--ink-soft);font-size:.9rem}.lesson-students{gap:.4rem;padding:0;list-style:none;display:grid}.lesson-students li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.paid-tag,.unpaid-tag{white-space:nowrap;border-radius:99px;margin-left:auto;padding:.12rem .5rem;font-size:.72rem;font-weight:800}.paid-tag{color:#0e6b44;background:var(--mint-soft)}.unpaid-tag{color:var(--tomato-deep);background:var(--blush-soft)}.lesson-actions{flex-wrap:wrap;gap:.35rem;display:flex}.lesson-action-box{background:var(--paper);border-radius:var(--radius-s);animation:fade-up .35s var(--ease-out);gap:.55rem;padding:.8rem;display:grid}.beta-switch{background:var(--lilac-soft);border-radius:var(--radius-s);padding:.8rem}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}}.history-total{color:var(--ink-mute);font-size:.88rem;font-weight:700}.history-day{color:var(--ink-soft);text-transform:capitalize;font-size:1rem!important}.session-list{gap:.55rem;display:grid}.session{padding:0;overflow:hidden}.session-head{text-align:left;align-items:center;gap:.8rem;width:100%;padding:.8rem 1rem;display:flex}.session-emoji{background:var(--paper-deep);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:1.4rem;display:grid}.session-text{flex:1;gap:.1rem;min-width:0;display:grid}.session-text b,.session-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-text span{color:var(--ink-mute);font-size:.83rem}.session-live{color:var(--ok);font-size:.78rem;font-weight:800;animation:1.6s ease-in-out infinite ghost-breathe}.session-faces{align-items:center;display:flex}.session-face{border:2px solid #fff;border-radius:50%;margin-left:-8px;position:relative}.session-more{color:var(--ink-soft);margin-left:4px;font-size:.78rem;font-weight:800}.session-chev{color:var(--ink-mute);transition:transform .35s var(--ease-out);flex:none}.session.open .session-chev{transform:rotate(180deg)}.session-body{transition:grid-template-rows .4s var(--ease-out);grid-template-rows:0fr;display:grid}.session.open .session-body{grid-template-rows:1fr}.session-body-inner{min-height:0;overflow:hidden}.session-people{border-top:2px dashed var(--ink-faint);gap:.35rem;margin:0 1rem .9rem;padding:.7rem 0 0;list-style:none;display:grid}.session-people li{align-items:center;gap:.55rem;display:flex}.session-name{flex:1;min-width:0;font-weight:700}.session-name small{color:var(--ink-mute);margin-left:.35rem;font-weight:600}.session-min{color:var(--ink-soft);white-space:nowrap;font-size:.8rem}.person-open{text-align:left;min-width:0;transition:transform .25s var(--ease-out);border-radius:14px;flex:1;align-items:center;gap:.8rem;display:flex}.person-open:hover:not(:disabled){transform:translate(2px)}.person-open:hover:not(:disabled) b{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.student-card-loading{place-items:center;min-height:200px;display:grid}.student-card{gap:1.1rem;display:grid}.student-head{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.student-head>div:nth-child(2){flex:1;display:grid}.student-head b{font:800 1.3rem/1.2 var(--font-display)}.student-head span{color:var(--ink-mute)}.student-actions{flex-wrap:wrap;gap:.35rem;display:flex}.student-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;display:grid}.student-stats>div{background:var(--paper);border-radius:var(--radius-s);animation:fade-up .4s var(--ease-out) both;gap:.1rem;padding:.7rem .8rem;display:grid}.student-stats>div:nth-child(2){animation-delay:60ms}.student-stats>div:nth-child(3){animation-delay:.12s}.student-stats>div:nth-child(4){animation-delay:.18s}.student-stats b{font:800 1.35rem/1.1 var(--font-display)}.student-stats span{color:var(--ink-mute);font-size:.8rem}.student-balance{background:var(--mint-soft)!important}.student-section{gap:.5rem;display:grid}.student-section h4{align-items:center;gap:.4rem;font-size:1.02rem;display:flex}.topup-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.topup-row .input{width:120px}.mini-list{gap:.3rem;padding:0;list-style:none;display:grid}.mini-list li{background:var(--paper);border-radius:10px;align-items:center;gap:.6rem;padding:.45rem .7rem;display:flex}.mini-list li>span:first-child{color:var(--ink-mute);flex:none;font-size:.8rem}.mini-list b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.hw-grade.small{font-size:.85rem}.rate{background:var(--paper);border:2px dashed color-mix(in srgb, var(--ink) 20%, transparent);border-radius:var(--radius);width:100%;animation:fade-up .45s var(--ease-out) .2s both;justify-items:center;gap:.6rem;margin-top:1.2rem;padding:1rem 1rem 1.1rem;display:grid}.rate>b{font:800 1.1rem/1.2 var(--font-display)}.rate-stars{gap:.2rem;display:flex}.rate-star{color:color-mix(in srgb, var(--ink) 25%, transparent);transition:transform .25s var(--ease-out), color .2s;animation:star-in .45s var(--ease-out) both;animation-delay:calc(var(--i) * 60ms + .25s);border-radius:12px;place-items:center;padding:.2rem;display:grid}.rate-star svg{fill:#0000;transition:fill .2s}.rate-star.on{color:#e9a800}.rate-star.on svg{fill:var(--butter)}.rate-star:hover{transform:scale(1.18)rotate(-8deg)}.rate-star.picked{animation:star-pick .5s var(--ease-out)}@keyframes star-in{0%{opacity:0;transform:translateY(8px)scale(.6)}}@keyframes star-pick{40%{transform:scale(1.35)rotate(12deg)}}.rate-label{min-height:1.2em;color:var(--ink-soft);opacity:0;font:700 1.2rem/1 Caveat,cursive;transition:opacity .25s}.rate-label.show{opacity:1}.rate-more,.rate-step{width:100%;animation:fade-up .4s var(--ease-out) both;justify-items:center;gap:.6rem;display:grid}.rate-more .chips{justify-content:center}.rate-more .textarea,.rate-step .textarea{width:100%}.rate-q{color:var(--ink-soft);font-weight:800}.rate-step p{color:var(--ink-mute);font-size:.9rem}.rate-actions{gap:.4rem;display:flex}.rate-done{grid-auto-flow:column;align-items:center}.rate-thanks{animation:star-pick .6s var(--ease-out);font-size:1.8rem}.admin{min-height:100vh}.admin-bar{z-index:10;background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--ink-faint);flex-wrap:wrap;align-items:center;gap:.8rem;padding:.8rem clamp(1rem,4vw,2.5rem);display:flex;position:sticky;top:0}.admin-bar>b{font:800 1.2rem/1 var(--font-display)}.admin-bar .chips{margin-left:auto}.admin-main{gap:1.2rem;width:min(1200px,100% - 2rem);margin:1.5rem auto 4rem;display:grid}.adm-kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.adm-kpi{animation:fade-up .45s var(--ease-out) both;gap:.2rem;padding:1.1rem 1.2rem;display:grid}.adm-kpi span{color:var(--ink-mute);font-weight:700}.adm-kpi b{font:900 2.4rem/1 var(--font-display)}.adm-kpi small{color:var(--ink-soft)}.adm-kpi.rating{background:var(--butter-soft)}.adm-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.adm-card{align-content:start;gap:.8rem;padding:1.1rem 1.2rem;display:grid}.adm-stars{color:color-mix(in srgb, var(--ink) 25%, transparent);gap:1px;display:inline-flex}.adm-stars .on{color:#e9a800;fill:var(--butter)}.adm-dist,.adm-bars{gap:.4rem;padding:0;list-style:none;display:grid}.adm-dist li,.adm-bars li{grid-template-columns:150px minmax(0,1fr) 36px;align-items:center;gap:.5rem;font-size:.85rem;display:grid}.adm-dist li{grid-template-columns:40px minmax(0,1fr) 36px}.adm-dist i,.adm-bars i{transform-origin:0;min-width:3px;height:14px;animation:bar-grow .7s var(--ease-out) both;border-radius:99px}@keyframes bar-grow{0%{transform:scaleX(0)}}.adm-dist .s5,.adm-dist .s4,.adm-bars.good i{background:var(--mint)}.adm-dist .s3{background:var(--butter)}.adm-dist .s2,.adm-dist .s1,.adm-bars.bad i{background:var(--blush)}.adm-dist b,.adm-bars b{text-align:right}.adm-days{align-items:flex-end;gap:3px;height:120px;display:flex}.adm-days i{background:var(--sky);transform-origin:bottom;min-height:3px;animation:bar-up .6s var(--ease-out) both;border-radius:4px 4px 0 0;flex:1}@keyframes bar-up{0%{transform:scaleY(0)}}.adm-feed{gap:.6rem;padding:0;list-style:none;display:grid}.adm-feed li{background:var(--paper);border-radius:var(--radius-s);border-left:5px solid var(--mint);gap:.4rem;padding:.8rem .9rem;display:grid}.adm-feed li.low{border-left-color:var(--blush)}.adm-feed-head{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.adm-feed-head span{color:var(--ink-mute)}.adm-comment,.adm-wish{font-size:.93rem}.adm-wish{background:var(--lilac-soft);border-radius:10px;padding:.4rem .6rem}@media (width<=1000px){.planner-body{grid-template-columns:minmax(0,1fr)}.planner-side{max-height:none;position:static}}@media (width<=640px){.cal-head,.cal-grid{grid-template-columns:38px repeat(7,minmax(44px,1fr))}.cal{overflow-x:auto}.cal-ev b{font-size:.66rem}.adm-bars li{grid-template-columns:110px minmax(0,1fr) 30px}}@media (prefers-reduced-motion:reduce){.cal-grid,.cal-ev,.planner-panel,.rate,.rate-star{animation:none!important}}.person-card{flex-wrap:wrap}.person-card .chip-static{white-space:normal}.person-card-text{min-width:150px}.dash-tabs{border-radius:26px;flex-wrap:wrap;overflow:visible}@media (width<=640px){.dash-tabs{border-radius:99px;flex-wrap:nowrap;overflow-x:auto}}:root{--paper:#f4f1ec;--paper-deep:#ebe6de;--card:#fff;--grid-line:#0b08090f;--ink:#0b0809;--ink-soft:#4a4547;--ink-mute:#8b8588;--ink-faint:#0b08090f;--line:#0b08091f;--line-strong:#0b080947;--red:#b83434;--red-deep:#8f2626;--red-soft:#f6e1df;--yellow:#f8ea62;--yellow-soft:#fbf6c9;--tomato:var(--red);--tomato-deep:var(--red-deep);--logo-red:var(--red);--butter:var(--yellow);--butter-soft:var(--yellow-soft);--mint:#8fd9b6;--mint-soft:#e2f4ea;--sky:#9cc3f5;--sky-soft:#e4eefb;--blush:#f5b3c4;--blush-soft:#fbe7ec;--lilac:#c3b4f3;--lilac-soft:#efeafc;--peach:#f7c18f;--peach-soft:#fcebdc;--pen:#2f5bd3;--ok:#1f8f5d;--danger:#c93a32;--bw:1.5px;--radius-s:14px;--radius:22px;--radius-l:30px;--lift:0 1px 2px #0b08090f;--shadow-s:0 1px 2px #0b08090f;--shadow:0 6px 20px -8px #0b08092e;--shadow-l:0 24px 60px -24px #0b080947;--font-head:"Unbounded Variable", "Onest Variable", system-ui, sans-serif;--font-display:"Onest Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Onest Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-hand:"Onest Variable", system-ui, sans-serif}html body:after{display:none}html ::selection{background:var(--yellow)}html :focus-visible{outline:2px solid var(--ink);outline-offset:3px}html h1,html h2{font-family:var(--font-head);letter-spacing:-.035em;font-weight:700;line-height:1.02}html h3,html h4{font-family:var(--font-body);letter-spacing:-.02em;font-weight:800}html .paper-grid{background-image:none}html .margin-line,html .tape{display:none}html .hl:before{background:var(--hl,var(--yellow));border-radius:.2em}html .hand{font-family:var(--font-body);letter-spacing:-.01em;color:var(--red);font-weight:700;line-height:1.2;font-size:min(1em,1rem)!important}html .btn{font:700 .98rem/1.1 var(--font-body);letter-spacing:-.01em;border:var(--bw) solid var(--line);box-shadow:none;transition:transform .2s var(--ease-out), background-color .2s, border-color .2s, color .2s}html .btn:hover{box-shadow:none;border-color:var(--line-strong);transform:translateY(-1px)}html .btn:active{box-shadow:none;transform:scale(.97)}html .btn-primary{--btn-bg:var(--red);--btn-fg:#fff;border-color:#0000}html .btn-primary:hover{--btn-bg:var(--red-deep);border-color:#0000}html .btn-ink{--btn-bg:var(--ink);--btn-fg:#fff;box-shadow:none;border-color:#0000}html .btn-ink:hover{--btn-bg:#2a2426;box-shadow:none}html .btn-butter{--btn-bg:var(--yellow);border-color:#0000}html .btn-mint{--btn-bg:var(--mint);border-color:#0000}html .btn-sky{--btn-bg:var(--sky);border-color:#0000}html .btn-blush{--btn-bg:var(--blush);border-color:#0000}html .btn-danger{--btn-bg:var(--danger);--btn-fg:#fff;border-color:#0000}html .btn-sm,html .btn-sm:hover{box-shadow:none}html .btn-round,html .btn-round.btn-sm{border-radius:50%}html .label,html .switch-text b{font-family:var(--font-body);font-weight:700}html .input,html .textarea,html .select{border:var(--bw) solid var(--line);box-shadow:none;border-radius:14px;transition:border-color .2s,box-shadow .2s}html .input:hover,html .textarea:hover,html .select:hover{border-color:var(--line-strong)}html .input:focus,html .textarea:focus,html .select:focus{border-color:var(--ink);box-shadow:0 0 0 4px #b8343424}html .chip{font:700 .88rem/1.1 var(--font-body);border:var(--bw) solid var(--line);transition:background-color .2s,color .2s,border-color .2s}html .chip:hover{border-color:var(--line-strong);transform:none}html .chip[aria-pressed=true]{color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:none}html .switch-track{background:var(--paper-deep);border:0}html .switch-track:after{background:#fff;width:22px;height:22px;top:4px;left:4px;box-shadow:0 1px 3px #0b080940}html .switch input:checked+.switch-track{background:var(--red)}html .card{box-shadow:var(--shadow-s);border:0}html .menu{border:var(--bw) solid var(--line)!important;box-shadow:var(--shadow-l)!important}html .modal{box-shadow:var(--shadow-l);animation-timing-function:var(--ease-out);border:0}html .modal-backdrop{background:#0b08096b}html .modal-head h2{font-size:1.35rem}html .toast{box-shadow:var(--shadow-l);border:0}html .badge{font-family:var(--font-body);border:var(--bw) solid var(--line)}html .site-header nav a{font:600 .95rem var(--font-body)}html .brand-logo{height:38px}html .logo:hover .brand-logo,html .logo:hover .logo-mark{transform:none}html .dash-header{border-bottom:1px solid var(--line)}html .dash-hello{background:var(--yellow)}html .dash-hello h1{font-size:clamp(1.4rem,2.2vw,1.8rem)}html .dash-tabs{background:var(--card);box-shadow:var(--shadow-s);border:0;padding:.3rem}html .dash-tab{font:600 .92rem/1 var(--font-body);gap:.45rem}html .dash-tab svg{opacity:.75;flex:none}html .dash-tab.on{background:var(--ink);box-shadow:none}html .dash-tab.on svg{opacity:1}html .user-btn{font-family:var(--font-body);border:var(--bw) solid var(--line);box-shadow:none}html .upcoming.ready{background:var(--yellow-soft)}html .upcoming-emoji,html .session-emoji{background:var(--paper);border:0}html .ctrl{box-shadow:none}@media (prefers-reduced-motion:reduce){html .btn,html .chip{transition:none}}html .rate-star img{filter:drop-shadow(0 1px #0b080940);display:block}html .rate-label{font:700 1rem/1 var(--font-body);color:var(--red)}html .adm-stars img{filter:drop-shadow(0 0 .5px #0b080980);display:block}html .dash-hello .btn{--btn-bg:var(--ink);--btn-fg:#fff;border-color:#0000}html .room{--room-bg:var(--paper);background-image:none}html .room-screen{background:var(--paper)}html .ctrl{background:var(--paper);border:0;border-radius:50%}html .ctrl:hover:not(:disabled){background:var(--paper-deep);transform:none}html .ctrl.active{color:#fff;background:var(--ink);box-shadow:none}html .ctrl.off{color:#fff;background:var(--red)}html .ctrl.off:hover:not(:disabled){background:var(--red-deep)}html .pj-frame{box-shadow:var(--shadow);border:0;transform:none}html .beta{border:var(--bw) solid var(--line);box-shadow:none;background:#fff}html .beta.beta-on{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}html .beta:before{display:none}html .beta-stamp{width:auto;font:700 .68rem/1 var(--font-body);background:var(--red);box-shadow:none;border:0;border-radius:99px;padding:.25rem .6rem;top:14px;right:14px;transform:none}html .beta-icon{color:#fff;background:var(--ink);box-shadow:none;border:0;border-radius:50%;animation:none;transform:none}html .room-card{box-shadow:var(--shadow-s);border:0;transform:none}html .room-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}html .room-card:before{display:none}html .rc-emoji{width:54px;height:54px;box-shadow:none;transition:transform .4s var(--ease-bounce);border:0;border-radius:50%;transform:none}html .room-card:hover .rc-emoji{transform:scale(1.06)}html .share-link{border:0}html .share-link-text{color:var(--ink)}html .hello-date,html .rooms-count{transform:none}html .dash-empty.with-blob{background:var(--card);border:0}html .dash-tab{gap:.35rem;padding:.55rem .8rem}html .pj-emoji,html .rt-emoji{box-shadow:none;border:0;border-radius:50%;transform:none}html .rc-link{background:var(--paper);border:0}html .rc-link-text b{color:var(--ink)}html .ctrl.active:hover:not(:disabled){background:var(--ink)}html .site-rate{background:0 0;border:0;margin:0;padding:0;animation:none}html .site-rate-wish{width:100%}html .footer-rate{font:600 1rem var(--font-body);color:var(--red);cursor:pointer;align-items:center;gap:.4rem;padding:0;display:inline-flex}html .footer-rate:hover{text-decoration:underline}html .menu img{flex:none}html .adm-feed li{background:var(--paper);border-left-color:var(--yellow)}html .adm-feed li.low{border-left-color:var(--red)}html .adm-wish{background:var(--yellow-soft)}html .adm-kpi.rating{background:var(--yellow)}
