@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-400.ttf) format("truetype")}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-500.ttf) format("truetype")}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/geist-600.ttf) format("truetype")}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/geist-700.ttf) format("truetype")}:root{--ink: #14161a;--ink-soft: #3f444b;--muted: #6b7178;--surface: #ffffff;--base: #f7f7f4;--border: #e2e2da;--accent: #2f6f4e;--accent-dark: #24573d;--accent-soft: #eaf1ec;--danger: #a63a2a;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--curve: cubic-bezier(.22, 1, .36, 1);--shadow: 0 1px 2px rgba(20, 22, 26, .06), 0 8px 24px rgba(20, 22, 26, .05)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--base);color:var(--ink);font-family:Geist,system-ui,sans-serif;font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.heading-1{font-size:60px;line-height:60px;font-weight:600;margin:0;text-wrap:balance}.heading-2{font-size:48px;line-height:48px;font-weight:600;margin:0;text-wrap:balance}.heading-3{font-size:36px;line-height:40px;font-weight:600;margin:0;text-wrap:balance}.title-1{font-size:20px;line-height:28px;font-weight:500;margin:0}.title-2{font-size:18px;line-height:28px;font-weight:500;margin:0}.title-3{font-size:16px;line-height:24px;font-weight:500;margin:0}.body-1{font-size:16px;line-height:24px;font-weight:600;margin:0;text-wrap:pretty}.body-2{font-size:16px;line-height:24px;font-weight:500;margin:0;text-wrap:pretty}.body-3{font-size:16px;line-height:24px;font-weight:400;margin:0;text-wrap:pretty}.body-6{font-size:14px;line-height:20px;font-weight:400;margin:0;text-wrap:pretty}.caption-2{font-size:14px;line-height:20px;font-weight:400;margin:0}.caption-3{font-size:12px;line-height:16px;font-weight:600;margin:0}.caption-5{font-size:12px;line-height:16px;font-weight:400;margin:0}.button-lg{font-size:18px;line-height:28px;font-weight:600}.button-md{font-size:16px;line-height:24px;font-weight:600}@media (max-width: 834px){.heading-1{font-size:48px;line-height:48px}.heading-2{font-size:36px;line-height:40px}.heading-3{font-size:30px;line-height:36px}}@media (max-width: 560px){.heading-1{font-size:36px;line-height:40px}.heading-2{font-size:30px;line-height:36px}.heading-3{font-size:24px;line-height:32px}}.shell{max-width:960px;margin:0 auto;padding:32px 24px 64px;display:flex;flex-direction:column;gap:24px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:16px}.pill{background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;padding:4px 12px}.muted{color:var(--muted)}.error{color:var(--danger)}.eyebrow{color:var(--muted);letter-spacing:.02em}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:16px;top:-48px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--ink);text-decoration:none;transition:top .2s var(--curve);z-index:10}.skip-link:focus{top:16px}.nav{position:sticky;top:16px;z-index:5;margin:16px auto 0;width:fit-content;display:flex;align-items:center;gap:24px;padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:#ffffffb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-brand{font-weight:600;font-size:16px;line-height:24px}.nav a{color:var(--ink-soft);text-decoration:none;font-size:14px;line-height:20px;font-weight:500;display:inline-flex;align-items:center;min-height:44px;padding:0 4px;transition:color .3s var(--curve)}.nav a:hover{color:var(--ink)}.hero{padding:64px 24px 80px}.hero-inner{max-width:960px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"head form" "rest form";column-gap:48px;row-gap:16px;align-items:start}.hero-head{grid-area:head;display:flex;flex-direction:column;gap:16px}.hero-rest{grid-area:rest;display:flex;flex-direction:column;gap:16px}.login-card{grid-area:form;align-self:start}.hero h1{max-width:680px;background:linear-gradient(90deg,#000,#666);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{max-width:680px;color:var(--ink-soft);margin-top:24px}.hero-copy{display:flex;flex-direction:column;gap:16px}.login-card{gap:16px}.field{display:flex;flex-direction:column;gap:8px}.input{font-family:inherit;font-size:16px;line-height:24px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);min-width:0;transition:border-color .3s var(--curve)}.input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius-sm);padding:8px 12px;background:var(--accent);color:#fff;transition:background-color .3s var(--curve),transform .3s var(--curve)}button:hover{background:var(--accent-dark)}button:active{transform:scale(.98)}button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}button.button-lg{padding:12px 24px}.button-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--border)}.button-secondary:hover{background:var(--base)}.button-ghost{background:transparent;color:var(--accent-dark);border:1px solid var(--accent)}.button-ghost:hover{background:var(--accent-soft)}.button-danger{background:var(--danger);color:#fff}.button-danger:hover{background:#8c2f22}.note{color:var(--muted)}.benefits,.how,.faq,.tagline,.legal{max-width:960px;margin:0 auto;padding:64px 24px}.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--border)}.benefit{display:flex;flex-direction:column;gap:12px}.how h2{margin-bottom:32px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}.step{display:flex;flex-direction:column;gap:8px}.step span{color:var(--accent)}.tagline{display:flex;flex-direction:column;gap:8px;padding-top:80px;padding-bottom:80px}.tagline-line{font-size:60px;line-height:60px;font-weight:600;margin:0;max-width:680px}.word{opacity:.3;transition:opacity .7s var(--curve);display:inline-block}.word.on{opacity:1}@media (prefers-reduced-motion: reduce){.word{opacity:1;transition:none}.reveal{opacity:1;transform:none;transition:none}}@media (max-width: 834px){.tagline-line{font-size:48px;line-height:48px}}@media (max-width: 560px){.tagline-line{font-size:36px;line-height:40px}}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s var(--curve),transform .7s var(--curve)}.reveal.visible{opacity:1;transform:none}.faq h2{margin-bottom:24px}.faq-item{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;background:var(--surface)}.faq-item summary{cursor:pointer}.faq-item p{margin-top:8px;color:var(--ink-soft)}.footer{max-width:960px;margin:0 auto;padding:40px 24px 64px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.footer a{color:var(--ink-soft);text-decoration:underline}.children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.child-card{gap:12px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.plain{margin:8px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:4px}.alerts{margin:0;padding:12px 12px 12px 32px;background:var(--accent-soft);color:var(--accent-dark);border-radius:var(--radius-md)}@media (max-width: 834px){.dashboard-grid{grid-template-columns:1fr}}.tabs{display:flex;gap:8px}.tab{background:transparent;color:var(--ink-soft);border:1px solid var(--border)}.tab-active{background:var(--accent);color:#fff;border-color:var(--accent)}.chat{display:flex;flex-direction:column;gap:16px;min-height:320px}.messages{display:flex;flex-direction:column;gap:16px}.bubble{border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px;max-width:720px}.bubble.child{align-self:flex-end;background:var(--accent-soft)}.bubble.teacher{align-self:flex-start;background:var(--surface);border:1px solid var(--border)}.composer{display:flex;gap:12px}.composer .input{flex:1}.exercises{display:flex;flex-direction:column;gap:24px}.exercise{gap:12px}.exercise-row{display:flex;gap:12px;align-items:center}.exercise-row .input{flex:1}.widget-svg{width:100%;max-width:320px;height:auto}.compare{display:flex;flex-direction:column;gap:8px}.hint{background:var(--accent-soft);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:8px}.quiz{display:flex;flex-direction:column;gap:16px}.quiz-item{display:flex;flex-direction:column;gap:8px}.choices{display:flex;gap:8px;flex-wrap:wrap}.choice{background:var(--surface);color:var(--ink);border:1px solid var(--border)}.choice:hover{background:var(--accent-soft);color:var(--ink)}.html-block{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.feedback{color:var(--accent-dark)}.start-lesson{align-self:flex-start}.preview{padding:0 24px 64px}.preview-inner{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.preview-img{width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}@media (max-width: 834px){.hero-inner{grid-template-columns:1fr;grid-template-areas:"head" "form" "rest";row-gap:24px}.benefits,.steps{grid-template-columns:1fr}.shell{padding:24px 16px 48px}}.phone-banner{display:none;background:var(--accent-soft);color:var(--accent-dark);border-radius:var(--radius-md);padding:12px}@media (max-width: 560px){.phone-banner{display:block}.hero{padding:40px 16px 48px}.benefits,.how,.faq,.tagline{padding:48px 16px}.composer{flex-direction:column}.exercise-row{flex-direction:column;align-items:stretch}.nav{gap:12px;padding:8px 12px}.nav-links{display:none}}
