@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2)format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2)format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2)format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/nunito-cyrillic-ext-500-normal-BooqzoBf.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-500-normal-ryWF3qTI.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/nunito-cyrillic-500-normal-C7KGZCzc.woff2)format("woff2"),url(/assets/nunito-cyrillic-500-normal-CsSUaxYY.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/nunito-vietnamese-500-normal-BpqpEYcO.woff2)format("woff2"),url(/assets/nunito-vietnamese-500-normal-9ShSsgIA.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/nunito-latin-ext-500-normal-DpF2BH_v.woff2)format("woff2"),url(/assets/nunito-latin-ext-500-normal-CVNQN0KE.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/nunito-latin-500-normal-EugFkASW.woff2)format("woff2"),url(/assets/nunito-latin-500-normal-B5klmw3Q.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2)format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2)format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2)format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff");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-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff)format("woff");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-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2)format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff)format("woff");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-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff");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-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff)format("woff");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-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff)format("woff");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-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff");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-display:swap;font-weight:900;src:url(/assets/nunito-cyrillic-ext-900-normal-BLeVovcl.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-900-normal-DKFql_-q.woff)format("woff");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-display:swap;font-weight:900;src:url(/assets/nunito-cyrillic-900-normal-CWPcV0_V.woff2)format("woff2"),url(/assets/nunito-cyrillic-900-normal-Dr1fjxoU.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-vietnamese-900-normal-D6LWQAy_.woff2)format("woff2"),url(/assets/nunito-vietnamese-900-normal-WV2-fBew.woff)format("woff");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-display:swap;font-weight:900;src:url(/assets/nunito-latin-ext-900-normal-Dllsvgjo.woff2)format("woff2"),url(/assets/nunito-latin-ext-900-normal-CTBZd6bf.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff)format("woff");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:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2)format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff)format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2)format("woff2"),url(/assets/geist-sans-latin-500-normal-CN2lyvyL.woff)format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-sans-latin-600-normal-DFOURf8L.woff2)format("woff2"),url(/assets/geist-sans-latin-600-normal-CA1yjETN.woff)format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geist-sans-latin-700-normal-BmN9tIp5.woff2)format("woff2"),url(/assets/geist-sans-latin-700-normal-CjScfYeH.woff)format("woff")}:root{--font-sans:"Nunito", "Geist Sans", "Inter", ui-sans-serif, system-ui, sans-serif;--color-primary:#19c8b9;--color-primary-hover:#3dd4c6;--color-primary-soft:#e6f9f6;--color-primary-strong:#11a89b;--color-page:#f8f8f0;--color-surface:#f7f3df;--color-surface-subtle:#f1ebda;--color-surface-tint:#e6f9f6;--color-heading:#794f27;--color-text:#725d42;--color-muted:#9f927d;--color-border:#d4c9b4;--color-border-strong:#9f927d;--color-success:#6fba2c;--color-success-active:#5a9e1e;--color-warning:#f5c31c;--color-warning-active:#dba90e;--color-error:#e05a5a;--color-error-active:#c94444;--color-focus:#fc0;--color-skill-listening:#5bbd9f;--color-skill-reading:#e59266;--color-skill-writing:#b77dee;--color-skill-speaking:#dfae3a;--color-primary-bright:#3dd4c6;--color-primary-bright-hover:#66ddd1;--color-progress-bright:#3dd4c6;--color-cream:#fffaf0;--color-sand:#eadfc8;--color-cocoa:#4a2f1b;--color-cocoa-muted:#8a7b66;--color-parchment:#f8f8f0;--color-parchment-card:#f7f3df;--color-paper:#fffdf4;--color-paper-hover:#fffef9;--color-heading-warm:#794f27;--color-body-warm:#725d42;--color-secondary-warm:#9f927d;--color-disabled-warm:#c4b89e;--color-mint:#19c8b9;--color-mint-hover:#3dd4c6;--color-mint-active:#11a89b;--color-mint-deep:#0b7c72;--color-mint-light:#e6f9f6;--color-focus-yellow:#fc0;--color-focus-yellow-dark:#e0b800;--color-success-game:#6fba2c;--color-switch-green:#86d67a;--color-stack:#bdaea0;--color-shadow-warm:#3d3428;--color-border-game:#9f927d;--color-border-soft:#d4c9b4;--color-border-input-hover:#a89878;--color-track:#ece4cd;--color-nav-hover:#efe8d2;--color-app-pink:#f8a6b2;--color-app-purple:#b77dee;--color-app-blue:#889df0;--color-app-yellow:#f7cd67;--color-app-orange:#e59266;--color-app-teal:#82d5bb;--color-app-purple-deep:#9b5fd6;--color-app-blue-deep:#6b80e0;--color-app-yellow-deep:#dfae3a;--color-app-orange-deep:#cf7a4c;--color-app-teal-deep:#5bbd9f;--color-app-pink-pastel:#fde4e8;--color-app-purple-pastel:#f2e6fd;--color-app-blue-pastel:#e9edfd;--color-app-yellow-pastel:#fdf3d7;--color-app-orange-pastel:#fbe7dc;--color-app-teal-pastel:#e6f6ef;--color-on-app-purple:#7c49ad;--color-on-app-blue:#4e5ca8;--color-on-app-yellow:#8f6d1b;--color-on-app-orange:#a85a2e;--color-stripe-a:#0ec4b6;--color-stripe-b:#01b0a7;--gradient-primary:linear-gradient(180deg, var(--color-primary-bright), var(--color-primary));--gradient-primary-hover:linear-gradient(180deg, var(--color-primary-bright-hover), var(--color-primary-hover));--gradient-progress:linear-gradient(90deg, var(--color-primary), var(--color-progress-bright));--gradient-stripes:repeating-linear-gradient(-45deg, var(--color-stripe-a) 0 10px, var(--color-stripe-b) 10px 20px);--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--shadow-sm:0 2px 4px 0 #3d34280f;--shadow-md:0 3px 10px 0 #3d34281a;--shadow-lift:0 8px 24px #725d4226;--shadow-stack:0 5px 0 0 #bdaea0;--shadow-stack-hover:0 6px 0 0 #bdaea0;--shadow-stack-active:0 1px 0 0 #bdaea0;--shadow-stack-danger:0 5px 0 0 #c94444;--shadow-stack-danger-hover:0 6px 0 0 #c94444;--shadow-stack-danger-active:0 1px 0 0 #c94444;--radius-sm:.75rem;--radius-md:1rem;--radius-lg:1.25rem;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--motion-fast:.25s cubic-bezier(.4, 0, .2, 1);--motion-med:.35s cubic-bezier(.4, 0, .2, 1);background:var(--color-page);color:var(--color-text);font-family:var(--font-sans);font-synthesis:none;letter-spacing:.01em;text-rendering:optimizelegibility;font-weight:500}*,:before,:after{box-sizing:border-box}html{background:var(--color-page);color:var(--color-text);scroll-behavior:smooth}body{min-width:20rem;margin:0}body,button,input,select,textarea{font:inherit}a,button{color:inherit}img,svg{max-width:100%;display:block}picture{display:contents}picture>source{display:none}h1,h2,h3,p,ul,ol{margin-block:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::selection{background:var(--color-mint-light);color:var(--color-heading-warm)}.skip-link{z-index:100;position:fixed;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.eyebrow{color:var(--color-primary-strong);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:500}.link-button{appearance:none;color:var(--color-primary-strong);cursor:pointer;text-underline-offset:.18rem;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.page-state{background:var(--color-page);color:var(--color-text);align-items:center;gap:var(--space-4);min-height:calc(100vh - 5rem);padding:clamp(var(--space-8), 8vw, 5rem);text-align:center;place-content:center;display:grid}.page-state h1{color:var(--color-heading);font-size:clamp(var(--text-xl), 3vw, var(--text-2xl))}.page-state a{color:var(--color-primary-strong);font-weight:500}.site-header{background:color-mix(in srgb, var(--color-surface) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);align-items:center;gap:var(--space-4);min-height:4.5rem;padding:.85rem clamp(var(--space-4), 5vw, 4rem);z-index:30;justify-content:space-between;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-3);text-decoration:none;display:inline-flex}.brand-mark{object-fit:cover;border-radius:50%;flex-shrink:0;width:2.5rem;height:2.5rem;display:block}.site-footer{background:color-mix(in srgb, var(--color-surface) 92%, var(--color-primary-soft));border-top:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);padding:clamp(1.5rem, 4vw, 2.5rem) clamp(var(--space-4), 5vw, 4rem);margin-top:auto}.site-footer__inner{gap:var(--space-4);max-width:72rem;margin-inline:auto;display:grid}.site-footer__brand{align-items:center;gap:var(--space-3);width:fit-content;text-decoration:none;display:inline-flex}.site-footer__mark{object-fit:cover;border-radius:50%;width:3rem;height:3rem;display:block}.site-footer__brand strong{color:var(--color-heading);font-weight:700;display:block}.site-footer__brand small{color:var(--color-muted);font-size:var(--text-xs)}.site-footer__nav{flex-wrap:wrap;gap:.35rem .85rem;display:flex}.site-footer__nav a{border-radius:var(--radius-pill);color:var(--color-heading);font-size:var(--text-sm);padding:.35rem .55rem;font-weight:500;text-decoration:none}.site-footer__nav a:hover{background:color-mix(in srgb, var(--color-primary-soft) 55%, transparent);color:var(--color-primary-strong)}.site-footer__meta{color:var(--color-muted);font-size:var(--text-xs);margin:0}.brand-text{gap:.05rem;display:grid}.brand-text strong{color:var(--color-heading);font-weight:600}.brand-text small{color:var(--color-muted);font-size:var(--text-xs);font-weight:400}.site-header nav{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.site-header nav a,.site-header nav button{border-radius:var(--radius-pill);color:var(--color-heading);font-size:var(--text-sm);padding:.55rem .75rem;font-weight:500;text-decoration:none}.site-header .nav-login{color:var(--color-primary-strong)}.site-header .nav-cta{background:var(--gradient-primary);color:var(--color-surface);padding-inline:1rem}@media (width<=48rem){.site-header{flex-direction:column;align-items:flex-start}.site-header nav{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.ui-button{appearance:none;border-radius:var(--radius-pill);cursor:pointer;letter-spacing:.02em;min-height:2.8125rem;transition:background-color var(--motion-fast), border-color var(--motion-fast), box-shadow var(--motion-fast), color var(--motion-fast), transform var(--motion-fast);border:0;justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1.25rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex;position:relative}.ui-button--primary{background:var(--gradient-primary);box-shadow:var(--shadow-stack);color:var(--color-paper)}.ui-button--primary:hover:not(:disabled){background:var(--gradient-primary-hover);box-shadow:var(--shadow-stack-hover);transform:translateY(-1px)}.ui-button--primary:active:not(:disabled){box-shadow:var(--shadow-stack-active);transform:translateY(2px)}.ui-button--primary:focus-visible{outline:2px solid var(--color-mint);outline-offset:2px}.ui-button--primary[aria-busy=true]{background-image:var(--gradient-stripes);background-size:28.28px 28.28px;animation:1s linear infinite qielts-btn-loading}.ui-button--soft{background:var(--color-paper);border:2px solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-heading)}.ui-button--soft:hover:not(:disabled){background:var(--color-paper-hover);border-color:var(--color-border-input-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ui-button--soft:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.ui-button--ghost{color:var(--color-heading);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--color-mint-light)}.ui-button--danger{background:var(--color-error);box-shadow:var(--shadow-stack-danger);color:var(--color-paper)}.ui-button--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 88%, var(--color-paper));box-shadow:var(--shadow-stack-danger-hover);transform:translateY(-1px)}.ui-button--danger:active:not(:disabled){background:var(--color-error-active);box-shadow:var(--shadow-stack-danger-active);transform:translateY(2px)}.ui-button--confirm{background:var(--color-focus-yellow);box-shadow:0 5px 0 0 var(--color-focus-yellow-dark);color:var(--color-body-warm)}.ui-button--confirm:hover:not(:disabled){box-shadow:0 6px 0 0 var(--color-focus-yellow-dark);transform:translateY(-1px)}.ui-button--confirm:active:not(:disabled){box-shadow:0 1px 0 0 var(--color-focus-yellow-dark);transform:translateY(2px)}.ui-button--small{font-size:var(--text-xs);border-radius:1rem;min-height:2rem;padding:.55rem 1rem}.ui-button--icon{width:2.8125rem;min-height:2.8125rem;padding:0}.ui-button:disabled,.ui-button[aria-disabled=true]{cursor:not-allowed;opacity:.62}.ui-button__spinner{border-radius:var(--radius-pill);border:.14rem solid;border-right-color:#0000;width:1rem;height:1rem;animation:.85s linear infinite ui-spin}.ui-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow var(--motion-fast), transform var(--motion-fast)}.ui-card__header{align-items:center;gap:var(--space-4);justify-content:space-between;display:flex}.ui-card__header-title{color:var(--color-heading);font-size:var(--text-lg);letter-spacing:.01em;font-weight:800}.ui-card__content,.ui-card__footer{min-width:0}.ui-card__footer{align-items:center;gap:var(--space-3);display:flex}.ui-progress{background:var(--color-track);border-radius:var(--radius-pill);width:100%;height:.85rem;display:block;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #725d4226}.ui-progress__indicator{background-image:var(--gradient-stripes);border-radius:inherit;height:100%;transition:transform var(--motion-med);background-size:28.28px 28.28px;width:100%;animation:1s linear infinite qielts-btn-loading;display:block}.ui-progress--success .ui-progress__indicator{background:var(--color-success)}.ui-progress--warning .ui-progress__indicator{background:var(--color-warning)}.ui-progress--listening .ui-progress__indicator{background:var(--color-skill-listening)}.ui-progress--reading .ui-progress__indicator{background:var(--color-skill-reading)}.ui-progress--writing .ui-progress__indicator{background:var(--color-skill-writing)}.ui-progress--speaking .ui-progress__indicator{background:var(--color-skill-speaking)}.ui-select{appearance:auto;background:var(--color-paper);border:2px solid var(--color-border-soft);border-radius:var(--radius-pill);color:var(--color-body-warm);cursor:pointer;font-size:var(--text-xs);letter-spacing:.01em;min-height:2.25rem;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);padding:.35rem .75rem;font-weight:800}.ui-select:hover{border-color:var(--color-border-input-hover)}.ui-select:focus{border-color:var(--color-focus-yellow);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-focus-yellow) 15%, transparent);outline:none}.ui-badge{background:var(--color-surface-subtle);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.02em;align-items:center;gap:.35rem;min-height:1.8rem;padding:.35rem .65rem;font-weight:800;line-height:1;display:inline-flex}.ui-badge--primary{background:var(--color-primary-soft);border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border));color:var(--color-primary-strong)}.ui-badge--success{background:color-mix(in srgb, var(--color-success) 16%, var(--color-surface));border-color:color-mix(in srgb, var(--color-success) 35%, var(--color-border));color:var(--color-success-active)}.ui-badge--warning{background:color-mix(in srgb, var(--color-warning) 24%, var(--color-surface));border-color:color-mix(in srgb, var(--color-warning) 45%, var(--color-border));color:var(--color-heading)}.ui-badge--error{background:color-mix(in srgb, var(--color-error) 12%, var(--color-surface));border-color:color-mix(in srgb, var(--color-error) 35%, var(--color-border));color:var(--color-error-active)}.ui-skeleton{background:linear-gradient(90deg, var(--color-surface-subtle), var(--color-primary-soft), var(--color-surface-subtle));border-radius:var(--radius-md);background-size:220% 100%;min-height:1rem;animation:1.35s ease-in-out infinite ui-pulse}.ui-empty-state,.ui-error-state{background:var(--color-surface-subtle);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-lg);align-items:start;gap:var(--space-3);padding:var(--space-5);display:grid}.ui-empty-state__icon,.ui-error-state__icon,.ui-icon-tile{background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary-strong);justify-content:center;align-items:center;width:2.6rem;height:2.6rem;display:inline-flex}.ui-empty-state h2,.ui-error-state h2{color:var(--color-heading);font-size:var(--text-lg)}.ui-empty-state p,.ui-error-state p{color:var(--color-muted)}.ui-error-state{border-style:solid;border-color:color-mix(in srgb, var(--color-error) 35%, var(--color-border))}.ui-error-state__icon{background:color-mix(in srgb, var(--color-error) 12%, var(--color-surface));color:var(--color-error)}.ui-field{gap:var(--space-2);display:grid}.ui-field__label{color:var(--color-heading);font-size:var(--text-sm);font-weight:800}.ui-field input,.ui-field textarea,.ui-field select,.form-card input,.form-card textarea,.form-card select{background:var(--color-paper);border:2px solid var(--color-border-soft);border-radius:var(--radius-pill);color:var(--color-body-warm);letter-spacing:.01em;min-height:2.5rem;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);width:100%;padding:.55rem 1.1rem;font-weight:500}.ui-field textarea,.form-card textarea{border-radius:var(--radius-lg);resize:vertical;min-height:8rem;padding:.85rem 1.1rem}.ui-field input:hover,.ui-field textarea:hover,.ui-field select:hover,.form-card input:hover,.form-card textarea:hover,.form-card select:hover{border-color:var(--color-border-input-hover)}.ui-field input:focus,.ui-field textarea:focus,.ui-field select:focus,.form-card input:focus,.form-card textarea:focus,.form-card select:focus{border-color:var(--color-focus-yellow);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-focus-yellow) 15%, transparent);outline:none}.ui-field input::placeholder,.ui-field textarea::placeholder,.form-card input::placeholder,.form-card textarea::placeholder{color:var(--color-disabled-warm);font-weight:400}.ui-field__hint{color:var(--color-muted);font-size:var(--text-xs)}.ui-field__error,.form-error{color:var(--color-error);font-size:var(--text-sm);font-weight:700}.ui-segmented{background:var(--color-surface-subtle);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);gap:var(--space-1);padding:var(--space-1);display:inline-flex}.ui-segmented__option{border-radius:var(--radius-pill);color:var(--color-muted);cursor:pointer;align-items:center;gap:var(--space-2);letter-spacing:.01em;min-height:2.2rem;transition:background-color var(--motion-fast), box-shadow var(--motion-fast), color var(--motion-fast);background:0 0;border:0;padding:.45rem .8rem;font-weight:800;display:inline-flex}.ui-segmented__option[aria-pressed=true]{background:var(--color-paper);box-shadow:var(--shadow-sm);color:var(--color-primary-strong)}.ui-avatar{background:var(--color-primary-soft);border-radius:var(--radius-pill);color:var(--color-primary-strong);justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-weight:900;display:inline-flex}.ui-page-header{align-items:center;gap:var(--space-4);justify-content:space-between;display:flex}.ui-page-header__icon{flex:none}.ui-page-header h1{color:var(--color-heading);font-size:clamp(var(--text-xl), 3vw, var(--text-2xl))}.ui-page-header p{color:var(--color-muted);margin-top:var(--space-1)}.ui-stat-card{gap:var(--space-3);padding:var(--space-5);display:grid}.ui-stat-card__meta{color:var(--color-muted);font-size:var(--text-sm);align-items:center;gap:var(--space-2);font-weight:800;display:flex}.ui-stat-card__value{color:var(--color-heading);font-size:var(--text-2xl);font-weight:900}.ui-stat-card__unit{color:var(--color-muted);font-size:var(--text-md)}.ui-section-card{gap:var(--space-4);padding:var(--space-5);display:grid}.ui-section-card__action{color:var(--color-primary-strong);font-size:var(--text-sm);align-items:center;gap:var(--space-1);font-weight:800;text-decoration:none;display:inline-flex}.ui-score-ring{aspect-ratio:1;background:conic-gradient(var(--score-ring-color,var(--color-primary)) var(--score-ring-progress,0deg), var(--color-track) 0);border-radius:var(--radius-pill);place-items:center;min-width:5rem;display:grid;position:relative}.ui-score-ring:after{background:var(--color-surface);border-radius:inherit;content:"";position:absolute;inset:.55rem;box-shadow:inset 0 2px 4px #725d421a}.ui-score-ring__value{color:var(--color-heading);letter-spacing:.01em;z-index:1;font-weight:900;position:relative}.ui-skill-row{align-items:center;gap:var(--space-3);grid-template-columns:auto 1fr auto auto;display:grid}.ui-skill-row__dot{background:var(--skill-color,var(--color-primary));border-radius:var(--radius-pill);width:.78rem;height:.78rem}.ui-skill-row strong{color:var(--color-heading)}.ui-streak-week{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.ui-streak-week__day{color:var(--color-muted);font-size:var(--text-xs);align-items:center;gap:var(--space-1);justify-items:center;display:grid}.ui-streak-week__dot{background:var(--color-surface-subtle);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);justify-content:center;align-items:center;width:1.7rem;height:1.7rem;display:flex}.ui-streak-week__day--active .ui-streak-week__dot{background:var(--color-mint);border-color:var(--color-mint-active);box-shadow:0 2px 0 0 var(--color-mint-active);color:var(--color-paper)}.ui-radio-card-group{gap:var(--space-3);display:grid}.ui-radio-card{background:var(--color-paper);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;gap:var(--space-2);padding:var(--space-4);text-align:left;transition:background-color var(--motion-fast), border-color var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast);display:grid}.ui-radio-card:hover{border-color:var(--color-border-input-hover);transform:translateY(-2px)}.ui-radio-card[aria-pressed=true]{background:var(--color-mint-light);border-color:var(--color-mint);box-shadow:0 3px 0 0 var(--color-mint-active)}.ui-radio-card:has(input:checked){background:var(--color-mint-light);border-color:var(--color-mint);box-shadow:0 3px 0 0 var(--color-mint-active)}.ui-stepper{gap:var(--space-2);padding:0;list-style:none;display:flex}.ui-stepper__item{color:var(--color-muted);font-size:var(--text-sm);align-items:center;gap:var(--space-2);font-weight:800;display:flex}.ui-stepper__marker{background:var(--color-surface-subtle);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);justify-content:center;align-items:center;width:1.9rem;height:1.9rem;display:inline-flex}.ui-stepper__item--active .ui-stepper__marker,.ui-stepper__item--complete .ui-stepper__marker{background:var(--color-mint);border-color:var(--color-mint-active);color:var(--color-paper)}.ui-countdown{background:linear-gradient(180deg, var(--color-paper), var(--color-parchment));border:2.5px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-heading);align-items:center;gap:var(--space-2);letter-spacing:.05em;min-height:2.75rem;padding:.45rem .95rem;font-weight:900;display:inline-flex}.button{appearance:none;background:var(--gradient-primary);border-radius:var(--radius-pill);box-shadow:var(--shadow-stack);color:var(--color-paper);cursor:pointer;letter-spacing:.02em;min-height:2.8125rem;transition:background-color var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast);border:0;justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1.25rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.secondary-button{appearance:none;background:var(--color-paper);border:2px solid var(--color-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);color:var(--color-heading);cursor:pointer;letter-spacing:.02em;min-height:2.8125rem;transition:background-color var(--motion-fast), border-color var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast);justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1.25rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:var(--gradient-primary-hover);box-shadow:var(--shadow-stack-hover);transform:translateY(-1px)}.button:active:not(:disabled){box-shadow:var(--shadow-stack-active);transform:translateY(2px)}.secondary-button:hover:not(:disabled){background:var(--color-paper-hover);border-color:var(--color-border-input-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.secondary-button:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.62}.form-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);gap:var(--space-4);max-width:36rem;padding:var(--space-6);text-align:left;width:min(100%,36rem);display:grid}.form-card label,.form-card fieldset{color:var(--color-heading);gap:var(--space-2);font-size:var(--text-sm);border:0;margin:0;padding:0;font-weight:800;display:grid}.form-card legend{color:var(--color-heading);margin-bottom:var(--space-2);font-weight:900}.disclaimer{color:var(--color-muted);font-size:var(--text-sm)}.timer{background:linear-gradient(180deg, var(--color-paper), var(--color-parchment));border:2.5px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-heading);letter-spacing:.05em;align-items:center;min-height:2.75rem;padding:.55rem 1rem;font-weight:900;display:inline-flex}.ui-dialog{padding:var(--space-4);z-index:100;background:#3d342873;place-items:center;display:grid;position:fixed;inset:0}.ui-dialog__panel{background:var(--color-parchment-card);box-shadow:none;clip-path:url(#qielts-modal-clip);gap:var(--space-4);border:0;border-radius:0;width:min(100%,30rem);max-width:30rem;padding:3rem 3rem 2rem;display:grid}.ui-dialog__panel h2{color:var(--color-heading);font-weight:900}.ui-dialog__actions{gap:var(--space-3);justify-content:flex-end;display:flex}@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes ui-pulse{to{background-position:-220% 0}}@keyframes qielts-btn-loading{0%{background-position:0 0}to{background-position:-28.28px 0}}@media (prefers-reduced-motion:reduce){.ui-button,.ui-progress__indicator,.ui-skeleton{transition:none;animation:none}.ui-button--primary:hover:not(:disabled){transform:none}}.landing-page{--dots-warm-1:color-mix(in srgb, var(--color-secondary-warm) 12%, transparent);--dots-warm-2:color-mix(in srgb, var(--color-secondary-warm) 7%, transparent);--mint-border:color-mix(in srgb, var(--color-mint) 40%, transparent);--mint-border-soft:color-mix(in srgb, var(--color-mint) 35%, transparent);--ease-game:cubic-bezier(.4, 0, .2, 1);background:radial-gradient(circle, var(--dots-warm-1) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, var(--dots-warm-2) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-parchment);color:var(--color-body-warm);letter-spacing:.01em;font-weight:500;overflow:clip}.landing-page ::selection{background:color-mix(in srgb, var(--color-focus-yellow) 45%, transparent);color:var(--color-heading-warm)}.landing-page h1,.landing-page h2,.landing-page h3{color:var(--color-heading-warm);letter-spacing:.01em;font-weight:700}.landing-page :where(a,button):focus-visible{outline:2px solid var(--color-mint);outline-offset:2px}.landing-eyebrow{background:var(--color-mint-light);border:1.5px solid var(--mint-border);color:var(--color-mint-active);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;border-radius:50px;align-items:center;gap:.45rem;width:fit-content;margin:0;padding:.4rem .9rem;font-weight:700;display:inline-flex}.landing-eyebrow:before{background:var(--color-mint);content:"";border-radius:50px;width:.4rem;height:.4rem;display:inline-block}.landing-hero{align-items:center;gap:clamp(var(--space-6), 5vw, 4rem);max-width:72rem;padding:clamp(var(--space-8), 6vw, 4.5rem) clamp(var(--space-4), 5vw, 3rem) clamp(var(--space-6), 5vw, 3.5rem);grid-template-columns:minmax(0,1.05fr) minmax(18rem,28rem);margin-inline:auto;display:grid}.landing-copy{gap:var(--space-5);justify-items:start;max-width:38rem;display:grid}.landing-copy h1{font-size:clamp(2.35rem,5.5vw,3.65rem);line-height:1.1}.landing-copy h1 span{color:var(--color-mint-active);display:block}.landing-copy .lede{color:var(--color-body-warm);font-size:var(--text-lg);max-width:36rem;font-weight:500;line-height:1.65}.landing-actions,.landing-benefits,.landing-footer-note{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.landing-cta-button,.landing-secondary-action{min-height:3rem}.landing-page .button.landing-cta-button{background:var(--color-mint);box-shadow:0 5px 0 0 var(--color-stack);color:var(--color-surface);letter-spacing:.02em;transition:all .25s var(--ease-game);border-radius:50px;font-weight:600}.landing-page .button.landing-cta-button svg{transition:transform .25s var(--ease-game)}.landing-page .button.landing-cta-button:hover{background:var(--color-mint-hover);box-shadow:0 6px 0 0 var(--color-stack);transform:translateY(-1px)}.landing-page .button.landing-cta-button:hover svg{transform:translate(2px)}.landing-page .button.landing-cta-button:active{background:var(--color-mint-active);box-shadow:0 1px 0 0 var(--color-stack);transform:translateY(2px)}.landing-page .landing-secondary-action{background:var(--color-paper);border:2px solid var(--color-disabled-warm);box-shadow:0 2px 4px 0 color-mix(in srgb, var(--color-shadow-warm) 6%, transparent);color:var(--color-body-warm);letter-spacing:.02em;transition:all .25s var(--ease-game);border-radius:50px;padding:.75rem 1.15rem;font-weight:600;text-decoration:none}.landing-page .landing-secondary-action:hover{background:var(--color-paper-hover);border-color:var(--color-border-input-hover);box-shadow:0 3px 10px 0 color-mix(in srgb, var(--color-shadow-warm) 10%, transparent);transform:translateY(-1px)}.landing-page .landing-secondary-action:active{box-shadow:0 2px 4px 0 color-mix(in srgb, var(--color-shadow-warm) 6%, transparent);transform:translateY(0)}.landing-benefits{padding:0;list-style:none}.landing-benefits li{background:var(--color-paper);border:2px solid var(--color-border-soft);color:var(--color-body-warm);font-size:var(--text-sm);min-height:2.2rem;transition:all .25s var(--ease-game);border-radius:50px;align-items:center;gap:.45rem;padding:.4rem .85rem;font-weight:600;display:inline-flex}.landing-benefits li:hover{border-color:var(--color-mint);transform:translateY(-1px)}.landing-benefits svg{color:var(--color-mint-active);flex-shrink:0}.landing-trust-note{color:var(--color-cocoa-muted);font-size:var(--text-sm);max-width:32rem;margin:0;font-weight:500;line-height:1.5}.hero-stage{width:100%}.hero-stage__panel{background:radial-gradient(circle, var(--dots-warm-1) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, var(--dots-warm-2) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-parchment-card);border:1.5px solid var(--color-border-soft);gap:var(--space-5);padding:var(--space-5);border-radius:20px;display:grid}.hero-stage__header{align-items:flex-start;gap:var(--space-4);justify-content:space-between;display:flex}.hero-stage__kicker{color:var(--color-mint-active);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:700}.overall-band{text-align:right;justify-items:end;gap:.35rem;display:grid}.overall-band__label,.overall-band__note,.score-card__label{color:var(--color-cocoa-muted);font-size:var(--text-xs);margin:0;font-weight:600}.overall-band__value{background:var(--color-focus-yellow);border:1.5px solid var(--color-focus-yellow-dark);box-shadow:0 3px 0 0 var(--color-focus-yellow-dark);color:var(--color-body-warm);border-radius:14px;margin:0;padding:.35rem .8rem;font-size:1.6rem;font-weight:700;line-height:1}.overall-band__note{color:var(--color-secondary-warm)}.hero-stage__body{align-items:center;gap:var(--space-5);grid-template-columns:minmax(7rem,10rem) minmax(0,1fr);display:grid}.hero-stage__owl-wrap{width:100%}.hero-stage__owl-art{aspect-ratio:1;border:1.5px solid var(--color-border-soft);object-fit:cover;border-radius:20px;width:100%;height:auto}.hero-stage__scores{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.score-card{background:var(--color-paper);border:1.5px solid var(--color-border-soft);gap:var(--space-2);transition:all .25s var(--ease-game);border-radius:16px;padding:.75rem .9rem;display:grid}.score-card:hover{transform:translateY(-2px)}.score-card__top{align-items:baseline;gap:var(--space-2);justify-content:space-between;display:flex}.score-card__value{color:var(--color-heading-warm);font-size:var(--text-lg);margin:0;font-weight:700}.score-card__status{background:var(--color-mint-light);border:1.5px solid var(--mint-border-soft);color:var(--color-mint-active);font-size:var(--text-xs);letter-spacing:.02em;border-radius:50px;justify-self:start;margin:0;padding:.15rem .6rem;font-weight:700}.score-card--listening .score-card__status{background:var(--color-app-yellow-pastel);border-color:var(--color-app-yellow);color:var(--color-on-app-yellow)}.score-card__bar{background:var(--color-track);border-radius:50px;height:.5rem;overflow:hidden}.score-card__bar:before{border-radius:inherit;content:"";height:100%;width:var(--progress);display:block}.score-card--writing .score-card__bar:before{background:repeating-linear-gradient(-45deg, var(--color-app-purple) 0 8px, var(--color-app-purple-deep) 8px 16px)}.score-card--speaking .score-card__bar:before{background:repeating-linear-gradient(-45deg, var(--color-app-yellow) 0 8px, var(--color-app-yellow-deep) 8px 16px)}.score-card--listening .score-card__bar:before{background:repeating-linear-gradient(-45deg, var(--color-app-blue) 0 8px, var(--color-app-blue-deep) 8px 16px)}.score-card--reading .score-card__bar:before{background:repeating-linear-gradient(-45deg, var(--color-app-orange) 0 8px, var(--color-app-orange-deep) 8px 16px)}.landing-stats{gap:var(--space-4);max-width:72rem;padding:var(--space-4) clamp(var(--space-4), 5vw, 3rem) var(--space-8);grid-template-columns:repeat(4,minmax(0,1fr));margin-inline:auto;display:grid}.landing-stats__item{padding:var(--space-5) var(--space-4);text-align:center;transition:all .25s var(--ease-game);border:1.5px solid;border-radius:20px;place-items:center;gap:.35rem;margin:0;display:grid}.landing-stats__item:hover{transform:translateY(-2px)}.landing-stats__item--skills{background:var(--color-app-teal);border-color:var(--color-app-teal-deep)}.landing-stats__item--scope{background:var(--color-app-purple);border-color:var(--color-app-purple-deep)}.landing-stats__item--plan{background:var(--color-app-yellow);border-color:var(--color-app-yellow-deep)}.landing-stats__item--sections{background:var(--color-app-blue);border-color:var(--color-app-blue-deep)}.landing-stats__item svg{color:var(--color-body-warm)}.landing-stats__item strong{color:var(--color-heading-warm);font-size:var(--text-2xl);font-weight:700;line-height:1.1}.landing-stats__item span{color:var(--color-body-warm);font-size:var(--text-sm);max-width:11rem;font-weight:600;line-height:1.35}.landing-section,.landing-cta{max-width:72rem;padding:clamp(var(--space-8), 7vw, 5rem) clamp(var(--space-4), 5vw, 3rem);margin-inline:auto}.landing-page .section-heading{gap:var(--space-3);max-width:42rem;margin-inline:auto;display:grid}.landing-page .section-heading--center{text-align:center}.landing-page .section-heading h2,.landing-cta h2{font-size:clamp(1.75rem,3.5vw,2.5rem);line-height:1.15}.landing-page .section-heading h2 span{color:var(--color-mint-active)}.landing-page .section-heading p{color:var(--color-cocoa-muted);font-size:var(--text-md);font-weight:500;line-height:1.65}.skills-grid,.outcomes-grid,.privacy-grid,.feature-grid,.process-list{gap:var(--space-4);margin-top:var(--space-8);display:grid}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none}.skill-card,.outcome-card,.privacy-card,.feature-card,.process-step{gap:var(--space-3);padding:var(--space-5);transition:all .25s var(--ease-game);border-radius:20px;display:grid}.skill-card:hover,.outcome-card:hover,.privacy-card:hover,.process-step:hover{transform:translateY(-2px)}.skill-card h3,.outcome-card h3,.privacy-card h3,.feature-card h3,.process-step h3{font-size:var(--text-md);margin:0}.skill-card p,.outcome-card p,.privacy-card p,.feature-card p,.process-step p,.landing-cta__copy p{color:var(--color-body-warm);font-size:var(--text-sm);margin:0;font-weight:500;line-height:1.6}.skill-card{border:1.5px solid}.skill-card--listening{background:radial-gradient(circle, color-mix(in srgb, var(--color-app-blue) 20%, transparent) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, color-mix(in srgb, var(--color-app-blue) 10%, transparent) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-app-blue-pastel);border-color:var(--color-app-blue)}.skill-card--reading{background:radial-gradient(circle, color-mix(in srgb, var(--color-app-orange) 20%, transparent) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, color-mix(in srgb, var(--color-app-orange) 10%, transparent) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-app-orange-pastel);border-color:var(--color-app-orange)}.skill-card--writing{background:radial-gradient(circle, color-mix(in srgb, var(--color-app-purple) 20%, transparent) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, color-mix(in srgb, var(--color-app-purple) 10%, transparent) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-app-purple-pastel);border-color:var(--color-app-purple)}.skill-card--speaking{background:radial-gradient(circle, color-mix(in srgb, var(--color-app-yellow-deep) 30%, transparent) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, color-mix(in srgb, var(--color-app-yellow) 22%, transparent) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-app-yellow-pastel);border-color:var(--color-app-yellow)}.skill-card--listening h3{color:var(--color-on-app-blue)}.skill-card--reading h3{color:var(--color-on-app-orange)}.skill-card--writing h3{color:var(--color-on-app-purple)}.skill-card--speaking h3{color:var(--color-on-app-yellow)}.skill-card__dot{border-radius:14px;width:2.25rem;height:2.25rem;display:block;box-shadow:0 3px}.skill-card--listening .skill-card__dot{background:var(--color-app-blue);box-shadow-color:var(--color-app-blue-deep)}.skill-card--reading .skill-card__dot{background:var(--color-app-orange);box-shadow-color:var(--color-app-orange-deep)}.skill-card--writing .skill-card__dot{background:var(--color-app-purple);box-shadow-color:var(--color-app-purple-deep)}.skill-card--speaking .skill-card__dot{background:var(--color-app-yellow);box-shadow-color:var(--color-app-yellow-deep)}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card{gap:var(--space-4);border:1.5px solid}.feature-card:hover{box-shadow:0 8px 24px color-mix(in srgb, var(--color-body-warm) 15%, transparent);transform:translateY(-2px)}.feature-card--writing{background:radial-gradient(circle, color-mix(in srgb, var(--color-app-purple) 16%, transparent) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, color-mix(in srgb, var(--color-app-purple) 10%, transparent) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-app-purple-pastel);border-color:var(--color-app-purple)}.feature-card--speaking{background:radial-gradient(circle, color-mix(in srgb, var(--color-app-yellow-deep) 24%, transparent) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, color-mix(in srgb, var(--color-app-yellow) 18%, transparent) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-app-yellow-pastel);border-color:var(--color-app-yellow)}.feature-card--plan{background:radial-gradient(circle, color-mix(in srgb, var(--color-app-teal) 22%, transparent) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, color-mix(in srgb, var(--color-app-teal) 14%, transparent) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-app-teal-pastel);border-color:var(--color-app-teal)}.feature-card--game{background:radial-gradient(circle, color-mix(in srgb, var(--color-app-pink) 18%, transparent) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, color-mix(in srgb, var(--color-app-pink) 12%, transparent) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-app-pink-pastel);border-color:var(--color-app-pink)}.feature-icon{aspect-ratio:16/10;border:1.5px solid color-mix(in srgb, var(--color-body-warm) 18%, transparent);object-fit:cover;border-radius:16px;width:100%}.feature-card h3{font-size:var(--text-lg)}.feature-card p{font-size:var(--text-md)}.process-list{counter-reset:steps;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none}.process-step{background:var(--color-parchment-card);border:1.5px solid var(--color-border-soft)}.process-step__meta{justify-content:space-between;align-items:center;display:flex}.process-icon{background:var(--color-mint-light);border:1.5px solid var(--mint-border);color:var(--color-mint-active);border-radius:14px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:inline-flex}.process-step__index{color:var(--color-disabled-warm);font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.outcomes-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none}.outcome-card{background:radial-gradient(circle, var(--dots-warm-1) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, var(--dots-warm-2) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-parchment-card);border:1.5px solid var(--color-border-soft)}.outcome-card__index{background:var(--color-mint-light);border:1.5px solid var(--mint-border-soft);color:var(--color-mint-active);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.04em;border-radius:50px;justify-self:start;padding:.2rem .65rem;font-weight:700}.privacy-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none}.privacy-card{background:var(--color-parchment-card);border:1.5px dashed var(--color-disabled-warm)}.privacy-card h3{align-items:center;gap:.55rem;display:flex}.privacy-card h3:before{background:var(--color-switch-green);border:1.5px solid var(--color-success-game);content:"";border-radius:50px;flex-shrink:0;width:.6rem;height:.6rem;display:inline-block}.landing-cta{max-width:none;padding-bottom:clamp(var(--space-8), 8vw, 5.5rem);position:relative}.landing-cta__hills{border:1.5px solid var(--color-border-soft);height:12rem;max-width:min(72rem, calc(100% - 2 * clamp(var(--space-4), 5vw, 3rem)));object-fit:cover;border-radius:20px;width:100%;margin-inline:auto;display:block}.landing-cta__card{background:radial-gradient(circle, color-mix(in srgb, var(--color-app-teal) 22%, transparent) 1.5px, transparent 1.5px) 0 0 / 28px 28px, radial-gradient(circle, color-mix(in srgb, var(--color-app-teal) 14%, transparent) 1px, transparent 1px) 7px 7px / 14px 14px, var(--color-app-teal-pastel);border:1.5px solid var(--color-app-teal);align-items:center;gap:var(--space-6);max-width:calc(72rem - 2 * clamp(var(--space-4), 5vw, 3rem));padding:clamp(var(--space-5), 4vw, var(--space-8));width:calc(100% - 2 * clamp(var(--space-4), 5vw, 3rem));border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(11rem,18rem);margin:-3.5rem auto 0;display:grid;position:relative}.landing-cta__copy{gap:var(--space-4);justify-items:start;display:grid}.landing-cta__copy h2{max-width:22ch}.cta-owl{border:1.5px solid color-mix(in srgb, var(--color-body-warm) 18%, transparent);object-fit:cover;border-radius:20px;width:100%}.landing-footer-note{color:var(--color-body-warm);font-size:var(--text-sm);padding:0;font-weight:500;list-style:none}.landing-footer-note li{align-items:center;gap:.35rem;display:inline-flex}.landing-footer-note li:before{background:var(--color-mint);content:"";border-radius:50px;width:.4rem;height:.4rem;display:inline-block}body:has(.landing-page) .site-header{background:color-mix(in srgb, var(--color-parchment) 88%, transparent);border-bottom:2px solid color-mix(in srgb, var(--color-secondary-warm) 28%, transparent)}body:has(.landing-page) .brand-mark{border-radius:50%}body:has(.landing-page) .site-footer{background:color-mix(in srgb, var(--color-parchment) 90%, transparent);border-top:2px solid color-mix(in srgb, var(--color-secondary-warm) 28%, transparent)}body:has(.landing-page) .site-footer__brand strong{color:var(--color-heading-warm)}body:has(.landing-page) .site-footer__brand small{color:var(--color-cocoa-muted)}body:has(.landing-page) .site-footer__meta{color:var(--color-cocoa-muted)}body:has(.landing-page) .site-footer__nav a{color:var(--color-body-warm);font-weight:600}body:has(.landing-page) .site-footer__nav a:hover{background:var(--color-nav-hover);color:var(--color-mint-active)}body:has(.landing-page) .brand-text strong{color:var(--color-heading-warm)}body:has(.landing-page) .brand-text small{color:var(--color-cocoa-muted)}body:has(.landing-page) .site-header nav a{color:var(--color-body-warm);font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1)}body:has(.landing-page) .site-header nav a:hover{background:var(--color-nav-hover)}body:has(.landing-page) .site-header .nav-login{color:var(--color-mint-active)}body:has(.landing-page) .site-header .nav-cta{background:var(--color-mint);box-shadow:0 3px 0 0 var(--color-stack);color:var(--color-surface);border-radius:50px;font-weight:600}body:has(.landing-page) .site-header .nav-cta:hover{background:var(--color-mint-hover);box-shadow:0 4px 0 0 var(--color-stack);transform:translateY(-1px)}body:has(.landing-page) .site-header .nav-cta:active{background:var(--color-mint-active);box-shadow:0 1px 0 0 var(--color-stack);transform:translateY(2px)}body:has(.landing-page) .site-header :where(a,button):focus-visible{outline:2px solid var(--color-mint);outline-offset:2px}@media (width<=64rem){.landing-hero,.landing-cta__card{grid-template-columns:1fr}.skills-grid,.process-list,.landing-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-stage__body{grid-template-columns:minmax(8rem,12rem) minmax(0,1fr)}.landing-cta__hills{height:10rem}}@media (width<=42rem){.landing-copy h1{font-size:clamp(2rem,9vw,2.5rem)}.feature-grid,.process-list,.landing-stats,.skills-grid,.outcomes-grid,.privacy-grid,.hero-stage__body{grid-template-columns:1fr}.hero-stage__owl-wrap{max-width:12rem}.hero-stage__header{flex-direction:column}.overall-band{text-align:left;justify-items:start}.landing-cta__card{margin-top:-2.5rem}.cta-owl{max-width:14rem}}
