@font-face{font-family:"Baloo 2";font-style:normal;font-weight:500;font-display:swap;src:url(../media/3c30d2e0bea83d70-s.3wiqdwqz1gfqe.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:500;font-display:swap;src:url(../media/e045b8a36dafeb96-s.1znw80anc03tc.woff2)format("woff2");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:"Baloo 2";font-style:normal;font-weight:500;font-display:swap;src:url(../media/921864ee6019b767-s.0dpkqgqz79smb.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:500;font-display:swap;src:url(../media/d7d9c82e455b419c-s.p.2zp15__9k16__.woff2)format("woff2");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:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(../media/3c30d2e0bea83d70-s.3wiqdwqz1gfqe.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(../media/e045b8a36dafeb96-s.1znw80anc03tc.woff2)format("woff2");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:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(../media/921864ee6019b767-s.0dpkqgqz79smb.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url(../media/d7d9c82e455b419c-s.p.2zp15__9k16__.woff2)format("woff2");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:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(../media/3c30d2e0bea83d70-s.3wiqdwqz1gfqe.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(../media/e045b8a36dafeb96-s.1znw80anc03tc.woff2)format("woff2");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:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(../media/921864ee6019b767-s.0dpkqgqz79smb.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(../media/d7d9c82e455b419c-s.p.2zp15__9k16__.woff2)format("woff2");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:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(../media/3c30d2e0bea83d70-s.3wiqdwqz1gfqe.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(../media/e045b8a36dafeb96-s.1znw80anc03tc.woff2)format("woff2");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:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(../media/921864ee6019b767-s.0dpkqgqz79smb.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(../media/d7d9c82e455b419c-s.p.2zp15__9k16__.woff2)format("woff2");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:"Baloo 2 Fallback";src:local(Arial);ascent-override:112.55%;descent-override:54.71%;line-gap-override:0.0%;size-adjust:95.78%}.baloo_2_9f43ec7d-module__7FKhOG__className{font-family:"Baloo 2","Baloo 2 Fallback";font-style:normal}.baloo_2_9f43ec7d-module__7FKhOG__variable{--font-display:"Baloo 2", "Baloo 2 Fallback"}
@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/224e262ef877bfa4-s.1zkvd_innyig_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1vcas2uk12q5a.woff2)format("woff2");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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.2demiz2t05dx4.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.2kjei9psvcorz.woff2)format("woff2");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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/224e262ef877bfa4-s.1zkvd_innyig_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1vcas2uk12q5a.woff2)format("woff2");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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.2demiz2t05dx4.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.2kjei9psvcorz.woff2)format("woff2");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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/224e262ef877bfa4-s.1zkvd_innyig_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1vcas2uk12q5a.woff2)format("woff2");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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.2demiz2t05dx4.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.2kjei9psvcorz.woff2)format("woff2");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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/224e262ef877bfa4-s.1zkvd_innyig_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1vcas2uk12q5a.woff2)format("woff2");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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.2demiz2t05dx4.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.2kjei9psvcorz.woff2)format("woff2");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:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_3ea5da91-module__LLQVva__className{font-family:Nunito,Nunito Fallback;font-style:normal}.nunito_3ea5da91-module__LLQVva__variable{--font-body:"Nunito", "Nunito Fallback"}
:root{--bg:#fff6e4;--surface:#fff;--surface-warm:#fffdf7;--ink:#232a4a;--ink-soft:#5a6285;--line:#e8dfc9;--brand:#2456e6;--brand-dark:#1b40b8;--brand-ink:#fff;--brand-soft:#e7edff;--sun:#ffc83d;--sun-soft:#fff1c4;--coral:#ff7a6b;--coral-soft:#ffe7e2;--mint:#2fbf9a;--mint-soft:#ddf7ee;--sky:#4fc3f7;--sky-soft:#e4f6ff;--grape:#7c5cf0;--grape-soft:#f0eaff;--ok:#0b7a5c;--danger:#b3261e;--radius:24px;--radius-sm:14px;--border:2px solid var(--ink);--shadow:0 6px 0 #232a4a1a;--shadow-lift:0 12px 0 #232a4a21}*{box-sizing:border-box}html{background:var(--bg);-webkit-font-smoothing:antialiased}body{background:radial-gradient(38rem 30rem at 106% -8%, #ffe6a8 0, transparent 62%), radial-gradient(34rem 26rem at -8% 2%, #dff2ff 0, transparent 60%), radial-gradient(30rem 32rem at 50% 118%, #ffe3ef 0, transparent 64%), var(--bg);color:var(--ink);font-family:var(--font-body), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;flex-direction:column;min-height:100vh;margin:0;font-size:18px;line-height:1.65;display:flex}a{color:var(--brand);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}::selection{background:var(--sun);color:var(--ink)}input[type=checkbox]{accent-color:var(--brand)}h1,h2,h3{font-family:var(--font-display), var(--font-body), sans-serif;letter-spacing:-.015em;margin:0 0 .5rem;font-weight:700;line-height:1.15}h1{font-weight:800}code{background:var(--sun-soft);border:1px solid var(--line);border-radius:6px;padding:.1rem .35rem;font-size:.9em}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:var(--border);z-index:10;background:#fff9ece6;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem clamp(1rem,4vw,2.5rem);display:flex;position:sticky;top:0}.site-header__brand{color:var(--ink);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.site-header__brand:hover{text-decoration:none}.site-header__mark{justify-content:center;align-items:center;width:40px;height:40px;transition:transform .18s;display:inline-flex;transform:rotate(-6deg)}.site-header__brand:hover .site-header__mark{transform:rotate(6deg)scale(1.05)}.site-header__mark img{width:40px;height:40px}.site-header__wordmark{font-family:var(--font-display), var(--font-body), sans-serif;letter-spacing:-.02em;font-size:1.25rem;font-weight:800;line-height:1}.site-header__nav{align-items:center;gap:.35rem;display:flex}.site-header__nav>a{color:var(--ink);border-radius:999px;padding:.4rem .7rem;font-size:.95rem;font-weight:700;transition:background .15s}.site-header__nav>a:hover{background:var(--sun-soft);text-decoration:none}.site-header__session{align-items:center;gap:.4rem;margin-left:.35rem;display:flex}.site-header__session>a:not(.button){color:var(--ink);border-radius:999px;padding:.4rem .7rem;font-size:.95rem;font-weight:700;transition:background .15s}.site-header__session>a:not(.button):hover{background:var(--sun-soft);text-decoration:none}.account-menu{position:relative}.account-menu__trigger{background:var(--mint-soft);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;width:44px;height:44px;padding:0;transition:box-shadow .15s,transform .15s;display:inline-flex}.account-menu__trigger:hover{transform:translateY(-1px)}.account-menu__trigger:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.account-menu__avatar{border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;overflow:hidden}.account-menu__avatar img{object-fit:cover;width:100%;height:100%}.account-menu__avatar svg{width:22px;height:22px}.account-menu__label,.account-menu__caret{display:none}.account-menu__panel{background:var(--surface);border:2px solid var(--ink);z-index:40;border-radius:18px;gap:.1rem;min-width:13.5rem;padding:.45rem;display:grid;position:absolute;top:calc(100% + .6rem);right:0;box-shadow:0 6px #232a4a24}.account-menu__name{border-bottom:2px dashed var(--line);color:var(--ink-soft);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin:0 0 .3rem;padding:.3rem .6rem .5rem;font-size:.78rem;font-weight:800;overflow:hidden}.account-menu__panel a,.account-menu__item{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;width:100%;padding:.55rem .65rem;font-size:.95rem;font-weight:700;display:block}.account-menu__panel a:hover,.account-menu__item:hover{background:var(--sun-soft);text-decoration:none}.account-menu__item:disabled{cursor:default;opacity:.6}.site-header__toggle{background:var(--sun);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:none}.site-header__bars{flex-direction:column;gap:4px;width:20px;display:flex}.site-header__bars span{background:var(--ink);border-radius:2px;width:100%;height:2.5px;transition:transform .15s,opacity .15s;display:block}.site-header__toggle[aria-expanded=true] .site-header__bars span:first-child{transform:translateY(6.5px)rotate(45deg)}.site-header__toggle[aria-expanded=true] .site-header__bars span:nth-child(2){opacity:0}.site-header__toggle[aria-expanded=true] .site-header__bars span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}@media (max-width:860px){.site-header__toggle{display:inline-flex}.site-header__nav{background:var(--surface-warm);border:var(--border);border-radius:0 0 var(--radius) var(--radius);flex-direction:column;align-items:stretch;gap:.2rem;max-height:calc(100vh - 4rem);padding:.9rem clamp(1rem,4vw,2.5rem) 1.25rem;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px #232a4a1f}.site-header__nav--open{display:flex}.site-header__nav>a{padding:.65rem .75rem;display:block}.site-header__session{border-top:2px dashed var(--line);flex-direction:column;align-items:stretch;gap:.5rem;margin:.5rem 0 0;padding-top:.9rem}.site-header__session>a:not(.button){padding:.65rem .75rem;display:block}.site-header__session .button{width:100%}.site-header__session .button--ghost{text-align:left;align-self:flex-start;width:auto;padding:.65rem .75rem}.account-menu{width:100%}.account-menu__trigger{justify-content:flex-start;gap:.5rem;width:auto;padding:.35rem .85rem .35rem .4rem}.account-menu__label{font-size:.95rem;font-weight:800;display:inline}.account-menu__panel{box-shadow:none;border-radius:16px;width:100%;min-width:0;margin-top:.5rem;position:static}}.page{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,2.5rem) clamp(2rem,5vw,3.5rem)}.site-footer{background-color:var(--ink);color:#d8ddf0;text-align:center;background-image:radial-gradient(#ffffff12 1.5px,#0000 1.5px);background-size:22px 22px;padding:2rem clamp(1rem,4vw,2.5rem) 2.25rem;font-size:.9rem;position:relative}.site-footer:before{background:linear-gradient(90deg, var(--sun), var(--coral), var(--mint), var(--sky), var(--grape));content:"";height:8px;position:absolute;inset:0 0 auto}.button{background:var(--surface);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);color:var(--ink);cursor:pointer;font:inherit;text-align:center;border-radius:999px;padding:.6rem 1.2rem;font-size:1rem;font-weight:800;line-height:1.2;transition:transform .12s,box-shadow .12s,background .12s;display:inline-block}.button:hover{box-shadow:0 5px 0 var(--ink);text-decoration:none;transform:translateY(-2px)}.button:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.button--primary{background:var(--brand);border-color:var(--ink);color:var(--brand-ink)}.button--primary:hover{background:var(--brand-dark)}.button--ghost{box-shadow:none;color:var(--ink-soft);background:0 0;border-color:#0000}.button--ghost:hover{background:var(--surface);border-color:var(--line);box-shadow:0 2px 0 var(--line);color:var(--ink);transform:none}.button--ghost:active{box-shadow:none;transform:none}.button:disabled{cursor:progress;opacity:.6;transform:none}.pill{background:var(--sun-soft);border:2px solid var(--line);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.2rem .7rem;font-size:.78rem;font-weight:800;display:inline-block}.pill--done{background:var(--mint-soft);border:2px solid var(--mint);color:var(--ok)}.hero{border:var(--border);background:linear-gradient(135deg,#fff9e9 0%,#eaf4ff 52%,#ffeef7 100%);border-radius:30px;padding:clamp(1.6rem,5vw,3.25rem);position:relative;overflow:hidden;box-shadow:8px 8px #232a4a17}.hero>:not(.hero__doodles){z-index:1;position:relative}.hero__doodles{pointer-events:none;position:absolute;inset:0}.hero__doodles svg{height:auto;display:block;position:absolute}.hero__star--one{color:var(--coral);width:clamp(30px,5vw,48px);top:14%;right:7%}.hero__star--two{color:var(--grape);width:clamp(18px,3vw,28px);bottom:20%;right:20%}.hero__squiggle{color:var(--sky);width:clamp(64px,10vw,112px);bottom:9%;right:5%}.hero__dot{border-radius:50%;display:block;position:absolute}.hero__dot--one{background:var(--sun);border:2px solid var(--ink);width:16px;height:16px;top:11%;right:27%}.hero__dot--two{background:var(--mint);width:11px;height:11px;top:42%;right:12%}.hero__badge{background:var(--surface);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);color:var(--ink);font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.45rem;margin:0 0 1.1rem;padding:.28rem .8rem;font-size:.76rem;font-weight:800;display:inline-flex;transform:rotate(-1.5deg)}.hero__badge:before{background:var(--coral);border:2px solid var(--ink);content:"";border-radius:50%;width:8px;height:8px}.hero h1{max-width:21ch;font-size:clamp(2.2rem,5.5vw,3.7rem);line-height:1.02}.hero__highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(180deg, transparent 54%, var(--sun) 54%, var(--sun) 92%, transparent 92%);border-radius:6px;padding:0 .08em}.hero>p:not(.hero__badge){color:var(--ink-soft);max-width:56ch;font-size:1.05rem}.hero__mascot{width:132px;margin:1.6rem 0 0}.hero__mascot img{border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#fcfbf3;border-radius:22px;width:100%;height:auto;display:block;transform:rotate(-3deg)}.hero__mascot-note{background:var(--surface);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);font-family:var(--font-display), var(--font-body), sans-serif;text-align:center;z-index:2;border-radius:14px;margin:0 0 -.4rem;padding:.35rem .5rem;font-size:.72rem;font-weight:800;line-height:1.15;display:block;position:relative}@media (min-width:900px){.hero>.hero__mascot{width:clamp(158px,17vw,216px);margin:0;position:absolute;bottom:1.2rem;right:clamp(1rem,4vw,3rem)}.hero__mascot-note{margin:0 .35rem -.45rem;font-size:.8rem}.hero__star--two,.hero__squiggle{display:none}}.library,.cta{margin-top:3.5rem;scroll-margin-top:6rem}.library>h2{align-items:center;gap:.5rem;font-size:clamp(1.7rem,3.4vw,2.3rem);display:flex}.library>h2:before{background:var(--coral);border:2px solid var(--ink);content:"";border-radius:6px;flex:none;width:.52em;height:.52em;transform:rotate(-12deg)}.library__lede{color:var(--ink-soft);max-width:62ch;margin:.5rem 0 0}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:1.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.card{background:var(--surface-warm);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:box-shadow .18s,transform .18s;display:flex;overflow:hidden}@media (hover:hover){.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-5px)rotate(-.4deg)}}.card__media{background:var(--sun-soft);border-bottom:2px solid var(--ink);display:block}.card__media img,.card__media svg{object-fit:cover;width:100%;height:210px;display:block}.card__body{flex-direction:column;flex:1;gap:.65rem;padding:1.15rem 1.3rem 1.4rem;display:flex}.card__body h3,.papers .card__body h2{font-family:var(--font-display), var(--font-body), sans-serif;margin:0;font-size:1.4rem;line-height:1.15}.card__body h3 a,.papers .card__body h2 a{color:var(--ink)}.card__body h3 a:hover,.papers .card__body h2 a:hover{color:var(--brand);text-decoration:none}.card__description{color:var(--ink-soft);margin:0;font-size:.95rem}.chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chips li{background:var(--surface);border:2px solid var(--line);color:var(--ink);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.18rem .55rem;font-size:.7rem;font-weight:800}.chips li:nth-child(4n+1){background:var(--sun-soft);border-color:#f2d479}.chips li:nth-child(4n+2){background:var(--sky-soft);border-color:#a9ddf5}.chips li:nth-child(4n+3){background:var(--mint-soft);border-color:#9fe5cf}.chips li:nth-child(4n){background:var(--grape-soft);border-color:#cdbcfb}.card__footer{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:auto;padding-top:.6rem;display:flex}.card__footer .button{padding:.5rem 1.05rem;font-size:.92rem}.empty{background:var(--sun-soft);border:2px dashed var(--ink);border-radius:var(--radius);color:var(--ink-soft);padding:1.5rem}.cta{background:var(--sun-soft);border:var(--border);border-radius:28px;padding:clamp(1.4rem,4vw,2.25rem);box-shadow:8px 8px #232a4a17}.cta+.cta{background:var(--mint-soft)}.cta h2{font-size:clamp(1.5rem,3.2vw,2rem)}.cta p{color:var(--ink-soft);max-width:68ch;margin-bottom:1rem}.story{background:var(--surface);border:var(--border);border-radius:28px;max-width:820px;margin:0 auto;padding:clamp(1.25rem,4vw,2.25rem);box-shadow:8px 8px #232a4a17}.story__head{border-bottom:2px dashed var(--line);margin-bottom:1.25rem;padding-bottom:1rem}.story__back{color:var(--ink-soft);font-size:.9rem;font-weight:700;display:inline-block}.story__head h1{margin:.35rem 0 0;font-size:clamp(1.5rem,3.4vw,1.9rem)}.progress{margin-bottom:1.25rem}.progress__meta{color:var(--ink-soft);justify-content:space-between;margin-bottom:.4rem;font-size:.82rem;display:flex}.progress__track{background:#efe7d5;border-radius:999px;height:10px;overflow:hidden}.progress__fill{background:linear-gradient(90deg, var(--brand), var(--sky));border-radius:999px;height:100%;transition:width .22s}.scene-image{margin:0 0 1.5rem}.scene-image img{border:2px solid var(--ink);border-radius:18px;width:100%;max-width:100%;height:auto;display:block}.scene-image__art{aspect-ratio:16/9;border:2px solid var(--ink);border-radius:18px;width:100%;max-width:100%;height:auto;display:block}.scene-image__lab{text-align:center;margin-top:.9rem}.scene-image__caption{color:var(--ink-soft);text-align:left;margin-top:.4rem;font-size:.85rem;font-style:italic}.illustration{flex-direction:column;gap:.6rem;width:100%;margin-top:.5rem;display:flex}.illustration__preview{border:2px solid var(--ink);border-radius:18px;width:384px;max-width:100%;margin:0 auto;display:block}.illustration__actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.illustration__stage{color:var(--ink-soft);margin:0;font-size:.88rem}.illustration__hint{color:var(--ink-soft);margin:0;font-size:.82rem}.illustration__error{color:#a3271f;margin:0;font-size:.88rem}.illustration__saved{color:#1f6b3a;margin:0;font-size:.88rem}.question__text{margin-bottom:1rem;font-size:clamp(1.2rem,2.6vw,1.45rem)}.question__choices{counter-reset:choice;gap:.75rem;display:grid}.choice{background:var(--surface-warm);border:2px solid var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:.85rem;padding:.85rem 1rem;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:flex}.choice:before{background:var(--surface);border:2px solid var(--line);color:var(--ink-soft);content:counter(choice, upper-alpha);counter-increment:choice;font-family:var(--font-display), sans-serif;border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;height:32px;font-size:.86rem;font-weight:800;line-height:1;display:flex}.choice:hover:not(:disabled){background:var(--sun-soft);border-color:var(--ink);transform:translate(3px)}.choice:hover:not(:disabled):before{background:var(--sun);border-color:var(--ink);color:var(--ink)}.choice--selected{background:var(--brand-soft);border-color:var(--brand);box-shadow:0 0 0 3px #2456e624}.choice--selected:before{background:var(--brand);border-color:var(--brand);color:#fff}.choice:disabled{cursor:default;opacity:.75}.choice--selected:disabled{opacity:1}.choice__thumb{object-fit:cover;border-radius:6px;width:64px;height:48px}.choice__text{flex:1}.question__hint{color:var(--ink-soft);margin:1rem 0 0;font-size:.88rem}.question .auth__error{margin-top:1.25rem}.feedback{background:var(--grape-soft);border:2px solid #d9ccff;border-left:6px solid var(--grape);border-radius:18px;margin-top:1.25rem;padding:1.1rem 1.25rem}.feedback__label{color:#5537c9;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .5rem;font-size:.72rem;font-weight:800}.feedback__body{margin:0 0 .9rem}.feedback__citation{color:#645f7d;margin:0 0 .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.story__ending{text-align:center}.story__ending:before{background:var(--sun);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);content:"";filter:drop-shadow(0 3px 0 var(--ink));width:64px;height:64px;margin:0 auto 1rem;display:block}.story__ending h1{font-size:1.9rem}.story__ending p{color:var(--ink-soft);max-width:46ch;margin:0 auto 1.5rem}.story__ending-actions{justify-content:center;gap:.75rem;display:flex}.unlock{background:var(--surface-warm);border:var(--border);text-align:center;border-radius:28px;gap:.75rem;max-width:560px;margin:1.5rem auto 0;padding:1.9rem;display:grid;box-shadow:8px 8px #232a4a17}.unlock p{color:var(--ink-soft);margin:0}.unlock p.unlock__price{color:var(--ink);font-family:var(--font-display), sans-serif;font-size:1.8rem;font-weight:800}.unlock p.unlock__balance{font-size:.92rem}.unlock p.unlock__error{background:var(--coral-soft);color:var(--danger);border:2px solid #ffb8ad;border-radius:12px;padding:.6rem .8rem}.unlock__actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.25rem;display:flex}.auth{background:var(--surface-warm);border:var(--border);border-radius:28px;max-width:470px;margin:0 auto;padding:clamp(1.5rem,4vw,2.25rem);box-shadow:8px 8px #232a4a17}.auth__heading{font-size:1.9rem}.auth__status,.auth__swap{color:var(--ink-soft);font-size:.92rem}.auth__swap--inline{text-align:right;margin:-.4rem 0 0;font-size:.88rem}.auth__notice{background:var(--mint-soft);color:var(--ok);border:2px solid #9fe5cf;border-radius:12px;margin:.5rem 0 0;padding:.6rem .8rem;font-size:.92rem}.auth__form{gap:1rem;margin-top:1.25rem;display:grid}.field{color:var(--ink);gap:.35rem;font-size:.9rem;font-weight:700;display:grid}.field input,.field textarea{background:var(--surface-warm);border:2px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font:inherit;padding:.65rem .8rem;font-size:1rem;font-weight:600;transition:border-color .15s,background .15s}.field input:focus-visible,.field textarea:focus-visible{background:var(--surface);border-color:var(--ink);outline:3px solid var(--brand);outline-offset:2px}.field textarea{resize:vertical;min-height:8rem}.field--check{grid-auto-flow:column;justify-content:start;align-items:center;font-weight:600}.field--check input{background:var(--surface-warm);width:1.35rem;height:1.35rem;padding:0}.auth__error{background:var(--coral-soft);color:var(--danger);border:2px solid #ffb8ad;border-radius:12px;margin:0;padding:.6rem .8rem;font-size:.9rem}.cms-page{gap:clamp(2rem,5vw,3.25rem);display:grid}.cms-page__hero{border-bottom:2px dashed var(--line);padding-bottom:1.5rem}.cms-page__hero h1{margin:0;font-size:clamp(2rem,5vw,2.75rem);line-height:1.15}.cms-page__subtitle,.cms-page__lede{color:var(--ink-soft);max-width:68ch;margin:.75rem 0 0;font-size:1.05rem;line-height:1.6}.cms-page__hero p:last-child{margin-bottom:0}.cms-page__body{max-width:72ch;line-height:1.65}.cms-page__body h1,.cms-page__body h2,.cms-page__body h3{margin:0 0 .75rem;font-size:1.3rem;line-height:1.3}.cms-page__body p{margin:0 0 1rem}.cms-page__body ul,.cms-page__body ol{margin:0 0 1rem;padding-left:1.35rem}.cms-page__body li{margin-bottom:.4rem}.cms-page__body a,.site-footer__links a{color:var(--brand);text-decoration:none}.site-footer__notice{color:#b9c0da;max-width:62ch;margin:-.35rem auto .6rem;font-size:.8rem}.site-footer__notice a{color:#ffd66b}.site-footer__notice a:hover{color:#ffe9a8}.cms-page__body a:hover,.site-footer__links a:hover{text-decoration:underline}.cms-page .button{justify-self:start}.cms-form{background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);gap:1rem;max-width:72ch;padding:clamp(1.25rem,3vw,2rem);display:grid}.cms-form__grid{flex-wrap:wrap;gap:1rem;display:flex}.cms-form__cell{flex:auto;gap:.35rem;min-width:0;display:grid}.cms-form__note{color:var(--ink-soft);flex:100%;line-height:1.6}.cms-form__note p:last-child{margin-bottom:0}.cms-form .button{justify-self:start}.cms-form__error{background:var(--coral-soft);color:var(--danger);border:2px solid #ffb8ad;border-radius:12px;margin:0;padding:.6rem .8rem;font-size:.9rem}.cms-form__challenge{min-height:65px}.cms-form__done{background:var(--mint-soft);border-radius:var(--radius-sm);color:var(--ink);border:2px solid #9fe5cf;max-width:72ch;padding:1rem 1.15rem;line-height:1.6}.cms-form__done p:last-child{margin-bottom:0}@media (max-width:640px){.cms-form__cell{flex-basis:100%}}.site-footer p{margin:0}.site-footer__links{flex-wrap:wrap;justify-content:center;gap:.4rem 1.25rem;margin-top:1rem;display:flex}.site-footer__links a{color:#ffd66b;font-weight:700}.site-footer__links a:hover{color:#ffe9a8}:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.site-footer :focus-visible{outline-color:var(--sun)}.hero__actions{flex-wrap:wrap;gap:.7rem;margin-top:1.5rem;display:flex}.hero__actions .button:nth-child(2){background:var(--sun)}.hero__actions .button:nth-child(2):hover{background:#ffd35e}.hero__actions .button:nth-child(3){background:var(--mint-soft)}.hero__actions .button:nth-child(3):hover{background:#cdf2e4}.papers{margin-top:3.5rem}.exam-page{background:var(--surface);border:var(--border);border-radius:28px;max-width:820px;margin:0 auto;padding:clamp(1.25rem,4vw,2.25rem);box-shadow:8px 8px #232a4a17}.exam-page__lede{color:var(--ink-soft);margin:0 0 1.5rem}.exam__bar{border-bottom:2px dashed var(--line);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.6rem;font-size:.9rem;display:flex}.exam__timer{background:var(--sun-soft);font-variant-numeric:tabular-nums;border:2px solid #f2d479;border-radius:999px;padding:.1rem .6rem;font-weight:800}.exam__count{color:var(--ink-soft)}.exam__position{color:var(--ink-soft);letter-spacing:.05em;text-transform:uppercase;margin:0 0 .35rem;font-size:.8rem}.exam-option{background:var(--surface-warm);border:2px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;text-align:left;border-radius:16px;align-items:flex-start;gap:.65rem;width:100%;padding:.8rem .9rem;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:flex}.exam-option:hover{background:var(--sun-soft);border-color:var(--ink);transform:translate(3px)}.exam-option--selected{background:var(--brand-soft);border-color:var(--brand);box-shadow:0 0 0 3px #2456e624}.exam-option__marker{color:var(--ink-soft);flex:0 0 24px;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:flex}.exam-option:hover .exam-option__marker{color:var(--ink)}.exam-option--selected .exam-option__marker{color:var(--brand)}.exam__nav{justify-content:space-between;gap:.6rem;margin:1.25rem 0;display:flex}.exam__sheet{border-top:2px dashed var(--line);flex-wrap:wrap;gap:.4rem;padding-top:1rem;display:flex}.exam__sheet-button{background:var(--surface);border:2px solid var(--line);cursor:pointer;font:inherit;border-radius:10px;min-width:2.1rem;height:2.1rem;padding:0 .4rem;font-size:.85rem;font-weight:700}.exam__sheet-button:hover{border-color:var(--ink)}.exam__sheet-button--answered{background:var(--sun-soft);color:var(--ink);border-color:#f2d479;font-weight:800}.exam__sheet-button--current{outline:3px solid var(--brand);outline-offset:1px}.exam__footer{border-top:2px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.exam__hint{color:var(--ink-soft);margin:0;font-size:.88rem}.exam-result__banner{background:var(--coral-soft);border:2px solid #ffb8ad;border-radius:20px;margin-bottom:1.25rem;padding:1.25rem}.exam-result__banner--pass{background:var(--mint-soft);border-color:#9fe5cf}.exam-result__verdict{color:var(--danger);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:800}.exam-result__banner--pass .exam-result__verdict{color:var(--ok)}.exam-result__score{font-family:var(--font-display), sans-serif;margin:.2rem 0 .4rem;font-size:2.6rem;font-weight:800;line-height:1.1}.exam-result__detail{color:var(--ink-soft);margin:.15rem 0;font-size:.88rem}.exam-result__actions{flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;display:flex}.review h2{margin-top:0}.review__item{border-top:2px dashed var(--line);padding:1.1rem 0}.review__item h3{margin-bottom:.6rem;font-size:1rem;line-height:1.4}.review__choices{gap:.4rem;margin:0 0 .6rem;padding:0;list-style:none;display:grid}.review__choice{border:2px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem .75rem;font-size:.92rem;display:flex}.review__choice--correct{background:var(--mint-soft);border-color:#9fe5cf}.review__choice--wrong{background:var(--coral-soft);border-color:#ffb8ad}.review__tag{color:var(--ink-soft);letter-spacing:.03em;text-transform:uppercase;font-size:.72rem;font-weight:600}.review__lead{color:var(--ink);font-weight:600}.story--freeform{flex-direction:column;gap:1.5rem;display:flex}.story__tagline{color:var(--ink-soft);margin:.35rem 0 0}.story-images{background:var(--sun-soft);border:2px solid var(--line);border-radius:16px;padding:.9rem 1.1rem}.story-images__toggle{align-items:center;gap:.5rem;font-size:.95rem;display:flex}.story-narrator__toggle{margin-top:.9rem}.story-images__hint{color:var(--ink-soft);margin:.4rem 0 0;font-size:.82rem}.story-images__stage{color:var(--ink-soft);margin:.4rem 0 0;font-size:.85rem}.story-images__error{color:#a3271f;margin:.4rem 0 0;font-size:.85rem}.stage-progress{gap:.35rem;width:100%;display:grid}.stage-progress__label{margin:0;font-size:.85rem}.stage-progress__bar{appearance:none;background:#efe7d5;border:0;border-radius:999px;width:100%;height:.6rem;overflow:hidden}.stage-progress__bar::-webkit-progress-bar{background:#efe7d5;border-radius:999px}.stage-progress__bar::-webkit-progress-value{background:linear-gradient(90deg, var(--sun), var(--coral));border-radius:999px}.stage-progress__bar::-moz-progress-bar{background:linear-gradient(90deg, var(--sun), var(--coral));border-radius:999px}.stage-progress__bytes{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:0;font-size:.78rem}.story-feed{flex-direction:column;gap:1.5rem;display:flex}.story-scene{border-top:2px dashed var(--line);padding-top:1.25rem}.story-scene--opening{border-top:0;padding-top:0}.story-scene p{margin:0 0 .85rem}.story-scene p:last-child{margin-bottom:0}.story-scene__eyebrow{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.story-scene__action{color:var(--brand);font-size:.95rem;font-weight:600}.story-scene--writing{background:var(--sun-soft);border:2px dashed var(--line);border-radius:18px;padding:1rem 1.2rem}.story-scene__writing{color:var(--ink-soft);letter-spacing:.04em;margin:0;font-size:.8rem;animation:1.4s ease-in-out infinite story-writing}@keyframes story-writing{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.story-scene__writing{animation:none}}.link-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.story-outcome{background:var(--sky-soft);border:2px solid #b6e4f9;border-left:6px solid var(--sky);border-radius:16px;margin:0 0 .85rem;padding:.8rem 1rem}.story-outcome p{margin:0}.story-outcome .story-outcome__label{color:#12688f;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem;font-weight:800}.story-outcome .story-outcome__body{font-weight:500}.story-frame{margin:1rem 0 0}.story-frame__art{aspect-ratio:1;background-color:var(--sun-soft);border:2px solid var(--ink);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:18px;width:100%;max-width:384px}.story-frame__time{color:var(--ink-soft);margin-top:.35rem;font-size:.78rem}.story-frame__pending{aspect-ratio:1;background:var(--sun-soft);border:2px dashed var(--ink);text-align:center;border-radius:18px;justify-content:center;align-items:center;max-width:384px;padding:1rem;display:flex}.story-frame__status{color:var(--ink-soft);margin:0;font-size:.88rem}.story-suggestions__label{color:var(--ink-soft);margin:0 0 .5rem;font-size:.82rem}.story-suggestions__list{flex-wrap:wrap;gap:.5rem;display:flex}.chip-button{background:var(--surface);border:2px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;text-align:left;border-radius:999px;padding:.35rem .9rem;font-size:.88rem;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.chip-button:hover{background:var(--sun-soft);border-color:var(--ink);transform:translateY(-2px)}.story-composer{border-top:2px dashed var(--line);gap:.5rem;padding-top:1.25rem;display:grid}.story-composer label{font-size:.9rem;font-weight:800}.story-composer textarea{background:var(--surface-warm);border:2px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font:inherit;resize:vertical;padding:.7rem .85rem}.story-composer textarea:focus-visible{background:var(--surface);border-color:var(--ink);outline:3px solid var(--brand);outline-offset:2px}.story-composer__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.story-composer__count{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.8rem}.story-composer__actions{gap:.6rem;display:flex}.sketch{flex-direction:column;gap:1.25rem;max-width:1080px;margin:0 auto;display:flex}.sketch__head h1{margin:.35rem 0 0;font-size:clamp(1.7rem,4vw,2.3rem)}.sketch__lede{color:var(--ink-soft);max-width:70ch;margin:.5rem 0 0}.sketch__challenges{flex-wrap:wrap;gap:.5rem;display:flex}.chip-button--on,.chip-button--on:hover{background:var(--ink);border-color:var(--ink);color:#fff}.button--on,.button--on:hover{background:var(--sun-soft);border-color:var(--ink);box-shadow:0 2px 0 var(--ink);color:var(--ink);transform:none}.sketch__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;display:grid}.sketch__panel{background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.75rem;padding:clamp(1rem,3vw,1.5rem);display:flex}.sketch__panel h2{margin:0;font-size:1.2rem}.sketch__tagline{color:var(--ink-soft);margin:0;font-size:.9rem}.sketch__canvas{aspect-ratio:1;border:2px solid var(--ink);cursor:crosshair;touch-action:none;background:#fff;border-radius:18px;width:100%;max-width:100%;display:block}.sketch__tools{flex-wrap:wrap;gap:.4rem .9rem;display:flex}.sketch__group{gap:.15rem;display:flex}.sketch__group .button{padding:.45rem .85rem;font-size:.9rem}.sketch__group .button--ghost:not(.button--on){border-color:var(--line)}.sketch__steps{color:var(--ink-soft);gap:.25rem;margin:0;padding-left:1.25rem;font-size:.88rem;display:grid}.sketch__strength{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.88rem;display:flex}.sketch__strength input{accent-color:var(--brand);flex:8rem;min-width:0}.sketch__strength span{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;min-width:2.75rem;font-weight:800}.sketch__frame{aspect-ratio:1;background:var(--surface-warm);border:2px dashed var(--line);border-radius:18px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.sketch__frame img{object-fit:cover;width:100%;height:100%;display:block}.sketch__placeholder{color:var(--ink-soft);text-align:center;justify-items:center;gap:.4rem;padding:1.5rem;font-size:.9rem;display:grid}.sketch__placeholder p{margin:0}.sketch__hint{color:var(--ink-soft);margin:0;font-size:.8rem}.sketch__error{border-radius:var(--radius-sm);color:#a3271f;background:#fdeceb;border:2px solid #f2c3be;margin:0;padding:.5rem .75rem;font-size:.86rem}.sketch__actions{flex-wrap:wrap;gap:.6rem;display:flex}@media (max-width:900px){.sketch__grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.sketch__panel{border-radius:20px;box-shadow:5px 5px #232a4a17}.sketch__group{flex:auto}.sketch__group .button{flex:1}}.city-list{gap:1.5rem;max-width:1100px;margin:0 auto;display:grid}.city-list__head{max-width:720px}.city-list__head h1{margin:.3rem 0 .6rem;font-size:clamp(1.7rem,4vw,2.4rem)}.city-list__head p:last-child{color:var(--ink-soft);margin:0}.city{background:var(--surface);border:var(--border);border-radius:28px;max-width:860px;margin:0 auto;padding:clamp(1.25rem,4vw,2.25rem);box-shadow:8px 8px #232a4a17}.city__head{border-bottom:2px dashed var(--line);margin-bottom:1.25rem;padding-bottom:1rem}.city__eyebrow{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin:.4rem 0 0;font-size:.8rem;font-weight:800}.city__head h1{margin:.35rem 0 .5rem;font-size:clamp(1.5rem,3.4vw,2rem)}.city__lede{color:var(--ink-soft);margin:0 0 1rem}.city__bar{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.4rem .9rem;font-size:.82rem;font-weight:700;display:flex}.city__track{background:var(--surface-warm);border:2px solid var(--ink);border-radius:999px;flex:8rem;max-width:260px;height:14px;overflow:hidden}.city__track span{background:linear-gradient(90deg, var(--mint), var(--sky));height:100%;transition:width .35s;display:block}.city__voice{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1rem;display:flex}.city__voice label{color:var(--ink-soft);align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;display:flex}.city__voice select{background:var(--surface-warm);border:2px solid var(--ink);color:var(--ink);font:inherit;border-radius:999px;padding:.3rem .7rem;font-size:.82rem;font-weight:800}.city__sound input{accent-color:var(--brand);width:1.05rem;height:1.05rem}.city__stage{color:var(--brand);font-size:.8rem;font-weight:800}.city__voice-help{background:var(--surface-warm);border:2px solid var(--line);border-radius:var(--radius-sm);margin-top:.9rem;padding:.55rem .8rem}.city__voice-help--missing{background:var(--sun-soft);border-color:var(--ink)}.city__voice-help summary{cursor:pointer;font-size:.84rem;font-weight:800}.city__voice-help-lead,.city__voice-help-note{color:var(--ink-soft);margin:.7rem 0 0;font-size:.82rem}.city__voice-help dl{gap:.6rem;margin:.75rem 0 0;display:grid}.city__voice-help dt{font-size:.82rem;font-weight:800}.city__voice-help dd{margin:.2rem 0 0}.city__voice-help ol{color:var(--ink-soft);margin:0;padding-left:1.15rem;font-size:.82rem}.city__voice-help li{margin:.15rem 0}.city__loading{color:var(--ink-soft)}.city__intro{background:var(--sun-soft);border:2px solid var(--ink);border-radius:var(--radius-sm);margin:0 0 1.1rem;padding:.75rem .9rem;font-size:.92rem}.city__scene{gap:1rem;display:grid}.city__scene-head h2{margin:.15rem 0 .35rem;font-size:clamp(1.2rem,2.6vw,1.5rem)}.city__scene-head h2:focus-visible{outline:3px solid var(--brand);outline-offset:4px;border-radius:6px}.city__stop{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:800}.city__setting{color:var(--ink-soft);margin:0}.city__npc{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:.6rem;display:grid}.city__bubble{background:var(--sky-soft);border:2px solid var(--ink);border-radius:20px 20px 20px 6px;padding:.85rem 1rem}.city__line{margin:0 0 .25rem;font-size:1.12rem;font-weight:800}.city__meaning{color:var(--ink-soft);margin:0;font-size:.86rem}.city__npc-meta{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.city__name{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:800}.city__prompt{margin:.25rem 0 0;font-size:1rem}.city__options{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.city__option{background:var(--surface-warm);border:2px solid var(--ink);border-radius:var(--radius-sm);box-shadow:0 3px 0 var(--ink);color:var(--ink);cursor:pointer;font:inherit;text-align:left;gap:.15rem;width:100%;padding:.75rem .9rem;transition:box-shadow .12s,transform .12s;display:grid}.city__option:hover:not(:disabled){box-shadow:0 5px 0 var(--ink);transform:translateY(-2px)}.city__option:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.city__option:disabled{cursor:default}.city__option-text{font-size:1.02rem;font-weight:800}.city__option-english{color:var(--ink-soft);font-size:.84rem}.city__option--wrong{background:var(--coral-soft);box-shadow:none;color:var(--ink-soft);opacity:.75;border-color:#e2a49b}.city__option--wrong .city__option-text{text-decoration:line-through}.city__option--right{background:var(--mint-soft);border-color:var(--mint);box-shadow:0 3px 0 var(--mint)}.city__option--chosen{outline:3px solid var(--mint);outline-offset:2px}.city__notice{background:var(--coral-soft);border-radius:var(--radius-sm);color:#8f2a21;border:2px solid #f2c3be;margin:0;padding:.55rem .75rem;font-size:.87rem}.city__feedback{background:var(--surface-warm);border:2px solid var(--ink);border-radius:var(--radius-sm);gap:.75rem;padding:1rem;display:grid}.city__feedback-line{margin:0;font-weight:800}.city__feedback .button{justify-self:start}.city__tip{color:var(--ink-soft);margin:0;font-size:.86rem}.city__phrase{background:var(--sun-soft);border:2px dashed var(--ink);border-radius:var(--radius-sm);justify-items:start;gap:.2rem;padding:.75rem .9rem;display:grid}.city__phrase-text{margin:0;font-size:1.08rem;font-weight:800}.city__pronunciation{color:var(--ink-soft);margin:0;font-size:.82rem;font-style:italic}.city__phrase-english{color:var(--ink-soft);margin:0;font-size:.86rem}.city__reset{justify-content:flex-end;margin-top:1.25rem;display:flex}.city__phrasebook{border-top:2px dashed var(--line);margin-top:1.25rem;padding-top:1rem}.city__phrasebook summary{cursor:pointer;font-weight:800}.city__phrasebook ul{gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.city__phrasebook li{background:var(--surface-warm);border:2px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:start;gap:.75rem;padding:.6rem .8rem;display:flex}.city__phrasebook-empty{color:var(--ink-soft);margin:.6rem 0 0;font-size:.88rem}.city__foot{color:var(--ink-soft);margin:1rem 0 0;font-size:.78rem}.speak{background:var(--surface);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);color:var(--ink);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.84rem;font-weight:800;transition:box-shadow .12s,transform .12s;display:inline-flex}.speak:hover{box-shadow:0 5px 0 var(--ink);transform:translateY(-1px)}.speak:active{box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.speak svg{width:1.1rem;height:1.1rem}.speak--compact{padding:.4rem}.speak--busy{background:var(--sun-soft)}.speak--busy svg{animation:1s ease-in-out infinite speak-pulse}@keyframes speak-pulse{50%{transform:scale(1.15)}}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:640px){.city{border-radius:20px;box-shadow:5px 5px #232a4a17}.city__npc{grid-template-columns:minmax(0,1fr)}.city__npc-meta{flex-direction:row;justify-content:space-between;align-items:center}}.preferences,.credits{gap:1.5rem;max-width:860px;margin:0 auto;display:grid}.preferences__head h1,.credits>.preferences__head h1{font-size:clamp(1.8rem,4vw,2.4rem)}.preferences__head p{color:var(--ink-soft);max-width:62ch}.panel{background:var(--surface);border:var(--border);box-shadow:var(--shadow);border-radius:26px;padding:clamp(1.25rem,3.5vw,1.75rem)}.panel h1{margin-top:0;font-size:1.85rem}.panel h2{margin-top:0;font-size:1.3rem}.preferences__form{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.preferences__form .field{flex:1;min-width:220px}.field select{background:var(--surface-warm);border:2px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font:inherit;padding:.65rem .8rem;font-size:1rem;font-weight:600}.field select:focus-visible{background:var(--surface);border-color:var(--ink);outline:3px solid var(--brand);outline-offset:2px}.preferences__balance{background:var(--sun-soft);color:var(--ink);border:2px solid #f2d479;border-radius:12px;margin:1rem 0 0;padding:.5rem .8rem;font-size:.92rem}.preferences__message{background:var(--mint-soft);color:var(--ok);border:2px solid #9fe5cf;border-radius:12px;margin:.75rem 0 0;padding:.6rem .8rem;font-size:.9rem}.preferences__error{background:var(--coral-soft);color:var(--danger);border:2px solid #ffb8ad;border-radius:12px;margin:.75rem 0 0;padding:.6rem .8rem;font-size:.9rem}.preferences__note,.preferences__actions{color:var(--ink-soft);margin:1rem 0 0;font-size:.9rem}.preferences__actions{flex-wrap:wrap;gap:.75rem;display:flex}.style-list,.purchase-list{gap:.9rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.style-list__item,.purchase-list__item{border-top:2px dashed var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-top:.9rem;display:flex}.style-list__item:first-child,.purchase-list__item:first-child{border-top:0;padding-top:0}.style-list__body{flex:1}.style-list__name{align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.style-list__description,.style-list__state{color:var(--ink-soft);margin:.2rem 0 0;font-size:.88rem}.style-list__state{text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}.credit-notice{background:var(--brand-soft);border:2px solid #c7d5ff;border-left:6px solid var(--brand);color:var(--ink);border-radius:16px;margin:0;padding:.8rem 1rem}.credit-notice--muted{background:var(--surface-warm);border-color:var(--line);border-left-color:var(--ink-soft);color:var(--ink-soft);font-size:.9rem}.credit-balance{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:0;display:flex}.credit-balance strong{font-family:var(--font-display), sans-serif;font-size:2.5rem;font-weight:800;line-height:1}.credit-balance__hint{color:var(--ink-soft);font-size:.9rem}.cards--compact{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.credit-package__price{font-family:var(--font-display), sans-serif;flex-direction:column;margin:0;font-size:1.7rem;font-weight:800;line-height:1.1;display:flex}.credit-package__price span{color:var(--ink-soft);font-size:.85rem;font-weight:400}.credit-terms{color:var(--ink-soft);margin:1rem 0 0;font-size:.82rem}.checkout__coupon{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.checkout__coupon .field{flex:220px;margin:0}.referral__code{font-family:var(--font-display), sans-serif;letter-spacing:.12em;margin:.75rem 0 .25rem;font-size:2rem;font-weight:800}.referral__link{color:var(--ink-soft);overflow-wrap:anywhere;margin:0 0 1rem}.referral__link code{background:var(--surface-warm);border:2px solid var(--line);border-radius:10px;padding:.2rem .45rem}.credit-rate{color:var(--ink-soft);margin:0 0 1rem;font-size:.82rem}.credit-empty{color:var(--ink-soft);margin:0}.purchase-list__title{margin:0;font-weight:600}.purchase-list__meta{color:var(--ink-soft);margin:.15rem 0 0;font-size:.82rem}.pill--failed{background:var(--coral-soft);color:var(--danger);border:2px solid #ffb8ad;font-weight:800}.story-images__style{color:var(--ink-soft);margin:.5rem 0 0;font-size:.88rem}.account-facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin:0 0 1.5rem;display:grid}.account-facts>div{background:var(--surface-warm);border:2px solid var(--line);border-radius:16px;gap:.15rem;padding:.7rem .9rem;display:grid}.account-facts dt{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.account-facts dd{overflow-wrap:anywhere;text-align:left;margin:0;font-weight:700}.account-forms{border-top:2px dashed var(--line);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.75rem;padding-top:1.25rem;display:grid}.account-form h3,.account-subhead{margin:0 0 .85rem;font-size:1rem}.account-subhead{margin-top:1.5rem}.account-activity .account-subhead:first-child{margin-top:0}.account-form form{gap:.75rem;display:grid}.account-form .field{margin:0}.account-form .button{justify-self:start}.avatar-form{justify-items:start;gap:.85rem;display:grid}.avatar-form__preview{background:var(--mint-soft);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);color:var(--ink);border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;display:inline-flex;overflow:hidden}.avatar-form__preview img{object-fit:cover;width:100%;height:100%}.avatar-form__preview svg{width:38px;height:38px}.avatar-form form{gap:.75rem;width:100%;display:grid}.avatar-form .field{margin:0}.avatar-form input[type=file]{padding:.5rem;font-size:.85rem}.avatar-form .preferences__note{margin:0}.account-tabs{background:var(--surface-warm);border:2px solid var(--line);border-radius:999px;flex-wrap:wrap;gap:.25rem;width:fit-content;margin:1rem 0 1.25rem;padding:.3rem;display:flex}.account-tabs__link{color:var(--ink-soft);border-radius:999px;padding:.45rem .95rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.account-tabs__link:hover{background:var(--sun-soft);color:var(--ink);text-decoration:none}.account-tabs__link--active{background:var(--brand);color:#fff}.account-tabs__link--active:hover{background:var(--brand-dark);color:#fff}.account-pager{align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.account-pager__status{color:var(--ink-soft);font-size:.85rem}.account-pager__next{margin-left:auto}@media (max-width:600px){.style-list__item,.purchase-list__item{flex-direction:column;align-items:flex-start}}.attempts{margin-top:2.5rem}.attempts__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;display:flex}.attempts__head h2{margin:0}.attempts__note{color:var(--ink-soft);margin:0;font-size:.86rem}.attempts__papers{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.attempts__paper{background:var(--surface-warm);border:var(--border);box-shadow:var(--shadow);border-radius:20px;padding:1rem 1.15rem}.attempts__title{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.attempts__title h3{margin:0;font-size:1.1rem}.attempts__latest,.attempts__meta{color:var(--ink-soft);margin:.45rem 0 0;font-size:.84rem}.attempts__trend{border-bottom:2px dashed var(--line);align-items:flex-end;gap:.3rem;height:3rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.attempts__trend li{flex:1;align-items:flex-end;height:100%;display:flex}.attempts__bar{background:var(--sun);border-radius:4px 4px 0 0;width:100%;min-height:8px;display:block}.attempts__bar--pass{background:var(--mint)}@media (max-width:640px){.hero{border-radius:24px;box-shadow:5px 5px #232a4a17}.hero__star--one{width:24px;top:3%;right:4%}.hero__dot--one,.hero__dot--two{display:none}.hero__badge{font-size:.68rem;transform:none}.account-tabs{background:0 0;border:0;border-radius:0;gap:.45rem;width:100%;padding:0}.account-tabs__link{background:var(--surface-warm);border:2px solid var(--line);text-align:center;flex:0 auto;padding:.4rem .75rem;font-size:.82rem}.account-tabs__link--active{background:var(--brand);border-color:var(--brand);color:#fff}.library,.cta{margin-top:2.75rem}.cta{border-radius:22px;box-shadow:5px 5px #232a4a17}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button:hover,.button:active,.card:hover,.choice:hover:not(:disabled),.exam-option:hover,.chip-button:hover{transform:none}}
