:root{color-scheme:light dark}body[data-app-theme=light]{--bg:#f7f6ee;--surface:#fff;--line:rgba(38,43,32,.14);--ink:#262b20;--ink-soft:#6b7060;--signal:#9d631e;--cat-noun:#ae583b;--cat-verb:#2f7a72;--cat-adj:#74578c;--cat-pronoun:#767336;--positive:#3f7a54;--retry:#7e633c;--retry-bg:#efe6d8;--brand-1:#ff7a59;--brand-2:#14b8ac;--brand-shadow:rgba(255,122,89,.16)}body[data-app-theme=evening]{--bg:#221a12;--surface:#2b2118;--line:hsla(39,51%,86%,.16);--ink:#ede0c8;--ink-soft:#ab9a7c;--signal:#d99a4e;--cat-noun:#c17858;--cat-verb:#5c9587;--cat-adj:#9c7fa8;--cat-pronoun:#a89c5c;--positive:#7ba382;--retry:#b39367;--retry-bg:#3a2f22;--brand-1:#e0684a;--brand-2:#2f8f86;--brand-shadow:rgba(0,0,0,.3)}body[data-app-theme=light][data-contrast=high]{--bg:#fff;--ink:#000;--ink-soft:#33361f;--line:rgba(0,0,0,.35)}body[data-app-theme=evening][data-contrast=high]{--bg:#000;--ink:#fff;--ink-soft:#e4d8bd;--line:hsla(0,0%,100%,.35)}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;font-size:106%}@media (min-width:720px){html{font-size:116%}}@media (min-width:1100px){html{font-size:124%}}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}@media (min-width:720px){body{background:radial-gradient(circle at 12% -10%,var(--brand-shadow),transparent 45%),radial-gradient(circle at 88% 0,var(--brand-shadow),transparent 40%),var(--bg)}}.font-display{font-family:inherit;font-weight:800;letter-spacing:-.01em}main{max-width:480px;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1.25rem}@media (min-width:720px){main{max-width:640px;padding:2.5rem 2rem 4rem;gap:1.5rem}}@media (min-width:1100px){main{max-width:760px;padding:3.5rem 2rem 5rem;gap:1.75rem}}label{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem;font-weight:700;color:var(--ink-soft)}.signal{color:var(--signal);border-bottom:2px solid var(--signal);font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.1rem 1.2rem;box-shadow:0 6px 20px -12px var(--brand-shadow)}.tense-row{border:1px solid var(--line);border-left:4px solid var(--cat-verb);border-radius:12px}.milestone-row,.tense-row{background:var(--surface);padding:.7rem .85rem}.milestone-row{border:1px solid var(--line);border-left:4px solid var(--positive);border-radius:12px}.section-divider{display:flex;align-items:center;gap:.6rem;color:var(--ink-soft);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.section-divider:after,.section-divider:before{content:"";flex:1 1 auto;height:1px;background:var(--line)}.category-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;margin-bottom:.3rem;border-radius:999px;font-size:.68rem;letter-spacing:.06em;color:#fff8ec}.category-badge,.eyebrow{font-weight:700;text-transform:uppercase}.eyebrow{font-family:inherit;font-size:.8rem;letter-spacing:.08em;color:var(--ink-soft)}.eyebrow-badge{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff8ec;padding:.3rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;width:-moz-fit-content;width:fit-content}.expedition-banner{background:linear-gradient(135deg,var(--cat-verb),var(--cat-adj));color:#fff8ec;padding:1rem 1.1rem 1.3rem;border-radius:18px}.expedition-title{font-family:inherit;font-weight:800;font-size:1.15rem;margin:.3rem 0 0}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:.75rem .85rem;font-size:.95rem;color:var(--ink);font-family:inherit;min-height:44px}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:2px solid var(--brand-2);outline-offset:1px}button{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;white-space:nowrap;padding:.7rem 1.2rem;min-height:44px;border-radius:999px;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff8ec;font-size:.98rem;font-weight:700;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;box-shadow:0 6px 16px -8px var(--brand-shadow)}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px -8px var(--brand-shadow)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:default;box-shadow:none}button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.link-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1.2rem;min-height:44px;border-radius:999px;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff8ec;font-size:.98rem;font-weight:700;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 6px 16px -8px var(--brand-shadow)}.link-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px -8px var(--brand-shadow)}.button-quiet{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;box-shadow:none!important}.button-quiet[data-active=true]{background:var(--ink)!important;color:var(--bg)!important}.retry-note{background:var(--retry-bg);color:var(--retry);border-radius:10px;padding:.55rem .75rem;font-size:.85rem}.positive-note{color:var(--positive);font-size:.85rem;font-weight:600}.companion-row{display:flex;align-items:center;gap:.6rem}.demo-header{gap:.8rem}.demo-brand,.demo-header{display:flex;flex-direction:column}.demo-brand{align-items:center;justify-content:center;gap:.3rem;text-align:center}.demo-brand-row{display:flex;align-items:center;gap:.6rem}.demo-brand-title{display:inline-flex;gap:.32em;font-size:1.3rem}.demo-brand-tagline{margin:0;max-width:26rem;color:var(--ink-soft);font-size:.85rem}@media (min-width:720px){.demo-brand-title{font-size:1.55rem}.demo-brand-tagline{font-size:.95rem}}.mode-switcher{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.mode-pill{text-decoration:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;width:6.4rem;padding:.5rem;border-radius:16px;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff8ec;box-shadow:0 6px 16px -8px var(--brand-shadow);transition:transform .12s ease,box-shadow .12s ease}.mode-pill-icon{font-size:1.3rem;line-height:1}.mode-pill-text{display:flex;flex-direction:column;align-items:center;line-height:1.15}.mode-pill-text strong{font-size:.88rem;color:#fff8ec}.mode-pill-text small{font-size:.64rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff8ec;opacity:.85}.mode-pill[data-active=true]{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--brand-1),0 6px 16px -8px var(--brand-shadow)}.mode-pill:hover{transform:translateY(-1px)}.gate-card{display:flex;flex-direction:column;gap:1rem}.gate-greeting{font-size:1.3rem;margin:0}.gate-subtext{margin:.15rem 0 0;color:var(--ink-soft)}.gate-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.gate-preview-row{flex-wrap:wrap;gap:.6rem}.gate-preview-row,.preview-chip{display:flex;justify-content:center}.preview-chip{flex-direction:column;align-items:center;gap:.3rem;width:5.4rem;min-height:4.8rem;padding:.6rem .5rem;border-radius:14px;background:var(--surface);border:1px solid var(--line);border-top:3px solid;font-size:.78rem;font-weight:700;color:var(--ink);text-decoration:none;text-align:center;line-height:1.15;transition:transform .12s ease}a.preview-chip:hover{transform:translateY(-1px)}.preview-chip-icon{font-size:1.5rem;line-height:1}.preview-chip-seeall{border-top-color:var(--line);color:var(--ink-soft)}.gate-cta{align-self:stretch;padding:1rem 1.2rem;font-size:1.1rem;min-height:56px;animation:gate-cta-pulse 2.6s ease-in-out infinite}@keyframes gate-cta-pulse{0%,to{box-shadow:0 6px 16px -8px var(--brand-shadow)}50%{box-shadow:0 10px 26px -6px var(--brand-shadow)}}.explore-group-list{display:flex;flex-direction:column;gap:.4rem}.explore-group-row{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem .9rem;min-height:44px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--ink);transition:transform .12s ease,background .12s ease}.explore-group-row:hover{transform:translateX(2px);background:var(--bg)}.explore-group-row-icon{font-size:1.3rem;line-height:1;flex-shrink:0}.explore-group-row-label{flex:1 1 auto;font-weight:700;text-align:left}.explore-group-row-count{flex-shrink:0;font-size:.75rem;color:var(--ink-soft)}.kit-blink{animation:kit-blink 4.5s ease-in-out infinite;transform-origin:center}@keyframes kit-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.15)}}.bubble-row{display:flex}.bubble-row.mine{justify-content:flex-end}.bubble{max-width:82%;padding:.6rem .8rem;border-radius:14px;font-size:.88rem;line-height:1.45}.bubble.them{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.mine{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff8ec;border-bottom-right-radius:4px}.theme-switch{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .4rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);min-height:36px}.theme-switch-icon{font-size:.85rem;line-height:1}.theme-switch-knob{position:relative;width:34px;height:20px;border-radius:999px;background:var(--line);transition:background .15s ease}.theme-switch-knob:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s ease}.theme-switch[data-on=true] .theme-switch-knob{background:linear-gradient(135deg,var(--brand-1),var(--brand-2))}.theme-switch[data-on=true] .theme-switch-knob:after{transform:translateX(14px)}.theme-switch:focus-visible{outline:2px solid var(--signal);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}