@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(../media/figtree-latin-400-normal.31jnf8b-i7jy-.woff2)format("woff2"),url(../media/figtree-latin-400-normal.0xpiu9wyy75md.woff)format("woff")}
@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(../media/figtree-latin-500-normal.2sprn8ch4rvz1.woff2)format("woff2"),url(../media/figtree-latin-500-normal.3g8fhou4vzl-0.woff)format("woff")}
@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(../media/figtree-latin-600-normal.0dmqx9hpf6n_u.woff2)format("woff2"),url(../media/figtree-latin-600-normal.1ww36f-l8id34.woff)format("woff")}
@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(../media/figtree-latin-700-normal.3p9l3qyea12fl.woff2)format("woff2"),url(../media/figtree-latin-700-normal.20lvsu7oe0-gt.woff)format("woff")}
@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:800;src:url(../media/figtree-latin-800-normal.3ddre9a-bm6np.woff2)format("woff2"),url(../media/figtree-latin-800-normal.2vn7jhpztf_93.woff)format("woff")}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(../media/bricolage-grotesque-latin-600-normal.3_r60-qkmao3a.woff2)format("woff2"),url(../media/bricolage-grotesque-latin-600-normal.43dks9d9p25mk.woff)format("woff")}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(../media/bricolage-grotesque-latin-800-normal.3wu8zis1p120o.woff2)format("woff2"),url(../media/bricolage-grotesque-latin-800-normal.0xo1u_584k6cw.woff)format("woff")}
:root{--ink:#14302b;--paper:#fbf4e2;--yellow:#ffc93c;--coral:#ff6a4d;--sky:#5ec2e8;--leaf:#2fb36d;--lilac:#b79cff;--yellow-soft:#ffe9a3;--coral-soft:#ffd2c9;--sky-soft:#e8f6fb;--leaf-soft:#c9efd9;--lilac-soft:#f1e9ff;--on-color:#14302b;--white:#fff;--bg:var(--paper);--surface:#fff;--solid:#fff;--surface-2:#fbf4e2;--text:#14302b;--text-2:#33504a;--muted:#4d6560;--line:#14302b;--line-soft:#e5dcc3;--border:var(--line);--accent:#0b6b5a;--accent-2:var(--coral);--success:var(--leaf);--danger:#e2492c;--danger-text:color-mix(in srgb, var(--danger) 70%, var(--ink));--warning:#f2a516;--gradient:#14302b;--on-gradient:#ffc93c;--gradient-soft:var(--yellow-soft);--shadow-color:#14302b;--shadow:4px 4px 0 var(--shadow-color);--shadow-lg:6px 6px 0 var(--shadow-color);--shadow-sm:3px 3px 0 var(--shadow-color);--shadow-md:5px 5px 0 var(--shadow-color);--shadow-xl:8px 8px 0 var(--shadow-color);--btn-shadow:none;--blur:none;--blobs:0;--focus-ring:var(--accent);--track:#efe6cd;--nav-bg:#14302b;--nav-fg:#fbf4e2;--tile-chunks:var(--lilac);--tile-fluency:var(--yellow);--tile-reprise:var(--sky);--tile-questions:var(--coral);--tile-gaps:var(--leaf);--tile-feedback:var(--yellow);--tile-streak:var(--coral);--tile-best:var(--yellow);--tile-time:var(--leaf);--tile-week:var(--sky);--tile-words:var(--lilac);--tile-cube:var(--yellow);--tile-success:var(--leaf);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--gap:1.125rem;--gap-sm:.5rem;--gap-grid:.875rem;--pad-card:1.25rem;--pad-page-x:40px;--radius:24px;--radius-md:20px;--radius-sm:16px;--radius-xs:12px;--border-width:2.5px;--border-width-sm:2px;--touch:46px;--ease:cubic-bezier(.22, 1, .36, 1);--font:"Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-2xs:.6875rem;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.875rem;--fs-base:.9375rem;--fs-lg:1rem;--fs-xl:1.125rem;--fs-2xl:1.25rem;--fs-3xl:1.5rem;--fs-h1:clamp(1.75rem, 4.5vw, 2.5rem);--fs-h2:clamp(1.3rem, 3vw, 1.6rem);--fs-hero:clamp(1.45rem, 3vw, 1.9rem);--fs-prompt:clamp(26px, 4.2vw, 36px);--fs-answer:clamp(30px, 5vw, 46px);--fs-lead:clamp(20px, 3vw, 26px);--font-display:"Bricolage Grotesque", "Figtree", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#0e1f1b;--surface:#17302a;--solid:#17302a;--surface-2:#1e3b34;--text:#fbf4e2;--text-2:#d6e2dc;--muted:#a9c0b9;--line:#9fc2b7;--line-soft:#2c4a42;--accent:#7fe0bd;--danger-text:var(--coral);--gradient:#ffc93c;--on-gradient:#14302b;--shadow-color:#050f0c;--track:#2a453e;--nav-bg:#071510;--focus-ring:#ffc93c;--yellow-soft:#4a3f17;--coral-soft:#4d2a22;--sky-soft:#173b48;--leaf-soft:#1b4430;--lilac-soft:#352c52;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1f1b;--surface:#17302a;--solid:#17302a;--surface-2:#1e3b34;--text:#fbf4e2;--text-2:#d6e2dc;--muted:#a9c0b9;--line:#9fc2b7;--line-soft:#2c4a42;--accent:#7fe0bd;--danger-text:var(--coral);--gradient:#ffc93c;--on-gradient:#14302b;--shadow-color:#050f0c;--track:#2a453e;--nav-bg:#071510;--focus-ring:#ffc93c;--yellow-soft:#4a3f17;--coral-soft:#4d2a22;--sky-soft:#173b48;--leaf-soft:#1b4430;--lilac-soft:#352c52;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (max-width:899px){:root{--pad-page-x:16px}}@media (max-width:599px){:root{--gap:.95rem;--gap-grid:.7rem;--pad-card:1rem;--radius:22px;--shadow:3px 3px 0 var(--shadow-color);--shadow-lg:4px 4px 0 var(--shadow-color)}}
@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(36px)scale(.98)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ring{0%{box-shadow:0 0 #ff6a4d8c}to{box-shadow:0 0 0 20px #ff6a4d00}}@keyframes ringRed{0%{box-shadow:0 0 #f65a6a80}to{box-shadow:0 0 0 24px #f65a6a00}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-10vh)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.4)rotate(0)}50%{opacity:1;transform:scale(1)rotate(20deg)}}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.5}}@keyframes flame{0%,to{transform:scale(1)rotate(-3deg)}50%{transform:scale(1.12)rotate(3deg)}}@keyframes flipReveal{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes growUp{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes drawLine{0%{stroke-dashoffset:var(--line-length,400)}to{stroke-dashoffset:0}}@keyframes ringFill{0%{stroke-dashoffset:var(--ring-length,264)}}@keyframes bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-10px)rotate(2deg)}}@keyframes blink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.6)rotate(0)}50%{opacity:1;transform:scale(1)rotate(45deg)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fillWidth{0%{width:0}}@keyframes shimmer{0%{background-position:0 0}to{background-position:300% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}@keyframes aiBorder{0%,to{background-position:0%}50%{background-position:100%}}@keyframes aiShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes aiSpark{0%,to{opacity:.8;transform:scale(.85)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(18deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes aiOrbit{0%{transform:rotate(0deg) translateX(var(--orbit,12px)) rotate(0deg) scale(.8)}to{transform:rotate(360deg) translateX(var(--orbit,12px)) rotate(-360deg) scale(.8)}}@keyframes aiSweep{0%{transform:translate(-120%)skew(-18deg)}to{transform:translate(260%)skew(-18deg)}}@keyframes aiRing{0%{opacity:.55;transform:scale(.8)}to{opacity:0;transform:scale(1.9)}}@keyframes aiTextIn{0%{opacity:0;filter:blur(3px);transform:translateY(6px)}to{opacity:1;filter:none;transform:none}}@keyframes aiReveal{0%{opacity:0;transform:translateY(12px)scale(.98);box-shadow:0 0 #0000}55%{opacity:1;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 28%, transparent), 0 0 32px color-mix(in srgb, var(--accent-2) 40%, transparent);transform:none}to{opacity:1;transform:none;box-shadow:0 0 #0000}}
.training,.exercise{gap:var(--gap);flex-direction:column;display:flex}.session-header{gap:var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--surface);animation:fadeUp .45s var(--ease) both;flex-direction:column;padding:16px 20px;display:flex}.session-header__top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.session-header__actions,.session-header__stage{align-items:center;gap:var(--space-3);display:flex}.session-header__stage:not(:has(.session-header__titles)){flex-direction:column;align-items:flex-start;gap:0;min-width:0;line-height:1.2}.session-header__stage:not(:has(.session-header__titles))>*{max-width:100%}.session-header__stage .icon-tile{animation:pop .4s var(--ease) both}.session-header__icon{border-radius:var(--radius-xs);width:40px;height:40px;color:var(--on-gradient);background:var(--gradient);box-shadow:none;justify-content:center;align-items:center;display:inline-flex}.session-header__titles{flex-direction:column;line-height:1.15;display:flex}.session-header__label{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}.session-header__title{font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:800}.session-header__exit{min-height:44px;color:var(--muted);align-items:center;padding:0 8px;font-weight:700;text-decoration:none;display:inline-flex}.session-header__exit:hover{color:var(--danger-text)}.session-header__progress{background:var(--track);border-radius:999px;height:6px;overflow:hidden}.session-header__progress-fill{background:var(--gradient);height:100%;transition:width .6s var(--ease);border-radius:999px;display:block}.exercise--center,.card.exercise--center{text-align:center;align-items:center}.exercise-card{min-height:340px}.exercise-topline{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;width:100%;display:flex}.exercise-topline__label{font-size:var(--fs-sm);color:var(--muted);font-weight:700}.card-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.exercise__prompt{font-size:var(--fs-prompt);letter-spacing:-.025em;line-height:1.15}.exercise__intent{font-size:var(--fs-prompt);background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.exercise__expression,.gap-answer{font-size:var(--fs-answer);letter-spacing:-.03em;animation:pop .45s var(--ease) both;font-weight:800;line-height:1.05}.exercise__expression{border-radius:var(--radius-sm);background:var(--gradient);color:var(--on-gradient);font-size:var(--fs-lead);box-shadow:none;padding:.5rem 1rem;display:inline-block}.exercise__speak{font-weight:700}.exercise__context{font-size:clamp(18px,2.6vw,22px);font-weight:600;line-height:1.4}.exercise__prep-plan{font-size:var(--fs-xl);background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}.exercise__rescue{gap:var(--space-2);width:100%;padding:var(--space-4);border-radius:var(--radius-sm);background:var(--surface-2);text-align:left;animation:fadeUp .4s var(--ease) both;flex-direction:column;display:flex}.exercise__rescue h3{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}fieldset.exercise__rescue{border:0;min-width:0;margin:0;padding-top:0}.exercise__rescue legend,.exercise__rescue h3{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0;font-weight:800;line-height:1.4}fieldset.exercise__rescue>legend{padding:var(--space-4) 0 var(--space-2)}.exercise__rescue ul,ul.exercise__rescue{margin:0;padding-left:1.2rem}ul.exercise__rescue{padding-left:2.1rem}.exercise__ratings{width:100%}.exercise__hint,.exercise__chunks{color:var(--muted);font-size:var(--fs-base);margin:0}.exercise__keywords{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.chip-row--center{justify-content:center}.chip--static{cursor:default}.rescue-chip{overflow-wrap:anywhere;border:1.5px dashed var(--accent);max-width:100%;color:var(--accent);font-weight:700;font-size:var(--fs-md);border-radius:999px;padding:8px 12px}.reminder-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.summary-list{color:var(--muted);margin:0;padding:0;list-style:none}.retelling-story{line-height:1.6}.audio,.audio__row{align-items:center;gap:var(--space-4);flex-direction:column;width:100%;display:flex}.audio__hint{font-size:var(--fs-md)}.fluency-score__options{gap:var(--space-3);flex-wrap:wrap;display:flex}.fluency-score__option{border:var(--border-width) solid var(--border);background:var(--surface-2);width:56px;height:56px;color:var(--text);font-size:var(--fs-2xl);cursor:pointer;transition:all .25s var(--ease);border-radius:50%;font-weight:800}.fluency-score__option.is-active{background:var(--gradient);color:var(--on-gradient);box-shadow:none;border-color:#0000;transform:scale(1.12)}.source-note summary{font-size:var(--fs-md);color:var(--muted);font-weight:600}.source-note[open] summary{margin-bottom:.4rem}
*{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;line-height:1.5;overflow-x:hidden}button,a,input,textarea,select,[role=button]{touch-action:manipulation}button,input,textarea,select{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:800;line-height:1.12}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-xl);font-family:var(--font);letter-spacing:-.01em}p,ul,ol{margin:0}a{color:var(--accent)}a:hover{color:var(--coral)}audio{width:100%;max-width:420px}code{background:var(--surface-2);border-radius:6px;padding:.05rem .35rem;font-size:.9em}.button{justify-content:center;align-items:center;gap:var(--space-3);border:var(--border-width) solid var(--line);background:var(--gradient);min-height:50px;color:var(--on-gradient);font-weight:800;font-size:var(--fs-lg);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--btn-shadow);transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease), opacity .18s;border-radius:999px;padding:0 1.5rem;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{color:var(--on-gradient);box-shadow:var(--shadow-sm);transform:translate(-2px,-2px)}.button:active{box-shadow:none;transform:translate(1px,1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.home-hero .button--primary{animation:1.8s ease-out infinite ring}.button--lg{min-height:58px;font-size:var(--fs-lg)}.button--between{text-align:left;justify-content:space-between}.button--subtle{background:var(--surface);border-color:var(--line);color:var(--text);box-shadow:none}.button--ghost{border-color:var(--line);color:var(--text);box-shadow:none;background:0 0}.button--ghost:hover,.button--subtle:hover{color:var(--text);background:var(--yellow-soft)}.button--dashed{border:2px dashed var(--line);color:var(--text-2);box-shadow:none;background:0 0}.button--dashed:hover{color:var(--text);background:var(--surface-2)}.button--outline-accent{border:2px dashed var(--line);color:var(--text);box-shadow:none;background:0 0}.button--outline-accent:hover{color:var(--text);background:var(--yellow-soft)}.button--success{background:var(--leaf);color:var(--on-color)}.button--success:hover{color:var(--on-color)}.button--sm{min-height:44px;font-size:var(--fs-md);border-width:2px;border-radius:999px;padding:0 1rem;font-weight:800}.button--block{width:100%}.button__arrow{font-size:1.25em;line-height:1}.button-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.button-row>*{flex:180px}fieldset.field>legend{margin-bottom:var(--space-2)}.field{gap:var(--space-2);border:none;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.field label,.field legend,.field__label{font-size:var(--fs-md);color:var(--text);padding:0;font-weight:700}.field input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),.field textarea,.field select,.writing-filters select,.writing-editor textarea,.writing-ai :is(select,input){border:var(--border-width) solid var(--line);border-radius:var(--radius-xs);background:var(--surface);width:100%;min-height:48px;color:var(--text);font-size:var(--fs-lg);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);outline:none;padding:0 .9rem;font-weight:500}.field select,.writing-filters select,.writing-ai select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%238a85a3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-position:right .95rem center;background-repeat:no-repeat;padding-right:2.4rem}.field textarea,.writing-editor textarea{resize:vertical;min-height:96px;padding:.75rem .9rem;line-height:1.5}.field input:focus,.field textarea:focus,.field select:focus,.writing-filters select:focus,.writing-editor textarea:focus,.writing-ai :is(select,input):focus{border-color:var(--line);box-shadow:var(--shadow-sm)}.field input[type=range]{width:100%;accent-color:var(--accent)}.field input[type=file]{font-size:var(--fs-base);color:var(--muted)}.field__hint{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.form-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.form-grid .field label{min-height:2.64rem;min-height:2lh}.form-stack,form,.stack{gap:var(--gap);flex-direction:column;display:flex}.stack--sm{gap:var(--gap-sm)}.row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.muted{color:var(--muted)}.text-strong{color:var(--text);font-weight:700}.gradient-text{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.page{gap:var(--gap);flex-direction:column;display:flex}.page-title{gap:var(--space-2);animation:fadeUp .55s var(--ease) both;flex-direction:column;display:flex}.page-title h1{font-size:var(--fs-h1)}.page-title>p{color:var(--muted)}.shell__main .page-title:not(.page-title--show):not(:has(>p)){clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.shell__main>.page>.page-title:not(.page-title--show) .eyebrow,.shell__main>.page>.page-title:not(.page-title--show) h1,.shell__main>.page>header.page-title:not(.page-title--show) h1,.shell__main .vocab>.page-title:not(.page-title--show) h1,.shell__main .vocab>.page-title:not(.page-title--show) .eyebrow{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.screen-enter{animation:slideIn .55s var(--ease) both}.warning-banner{background:var(--yellow-soft);color:var(--text);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);font-size:var(--fs-md);margin:0;padding:.7rem .9rem;font-weight:600}ul.warning-banner{padding-left:1.8rem}.success-banner{background:var(--leaf-soft);color:var(--text);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);font-size:var(--fs-md);margin:0;padding:.7rem .9rem;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}details>summary{cursor:pointer;font-weight:700}.content-gate{place-content:center;gap:var(--space-3);text-align:center;min-height:100dvh;padding:24px;display:grid}.content-gate__detail{color:var(--muted,inherit);font-size:var(--fs-md)}.hero{border:var(--border-width) solid var(--ink);background:var(--yellow);color:var(--on-color);box-shadow:var(--shadow-lg);animation:rise .5s var(--ease) both;border-radius:28px;flex-wrap:wrap;align-items:center;gap:22px;padding:28px 32px;display:flex;position:relative;overflow:hidden}.hero--lilac{background:var(--lilac)}.hero--leaf{background:var(--leaf)}.hero--sky{background:var(--sky)}.hero--coral{background:var(--coral)}.hero--ink{background:var(--ink);color:var(--paper);box-shadow:6px 6px 0 var(--coral)}.hero__body{flex-direction:column;flex:230px;gap:6px;min-width:0;display:flex;position:relative}.hero__eyebrow{font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.hero__title{font-family:var(--font-display);font-size:var(--fs-hero);margin-bottom:10px;font-weight:800;line-height:1.1}.hero__lead{font-size:var(--fs-base);margin-bottom:8px}.hero__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero .button--ghost{border-color:var(--ink);color:var(--on-color)}.hero .button--ghost:hover{background:#ffffff59}.hero .chip{border-color:var(--ink);color:var(--on-color);background:0 0}.hero .chip.is-active{background:var(--white)}.hero .button:not(.button--ghost):not(.button--subtle){border-color:var(--ink);background:var(--ink);color:var(--yellow)}.hero--ink .button:not(.button--ghost):not(.button--subtle){border-color:var(--ink);background:var(--coral);color:var(--ink)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin:14px 2px 0;display:flex}.section-head h2{font-size:var(--fs-3xl)}.numbered{margin:0;padding:0;list-style:none}.numbered li{border-top:2px dashed var(--line-soft);font-size:var(--fs-base);align-items:center;gap:10px;padding:7px 0;display:flex}.numbered li:first-child{border-top:0}.numbered__n{border:var(--border-width-sm) solid var(--ink);background:var(--surface-2);width:26px;height:26px;color:var(--on-color);font-size:var(--fs-sm);border-radius:50%;flex:none;place-items:center;font-weight:800;display:inline-grid}.numbered li:nth-child(5n+1) .numbered__n{background:var(--coral)}.numbered li:nth-child(5n+2) .numbered__n{background:var(--leaf)}.numbered li:nth-child(5n+3) .numbered__n{background:var(--lilac)}.numbered li:nth-child(5n+4) .numbered__n{background:var(--sky)}.numbered li:nth-child(5n+5) .numbered__n{background:var(--yellow)}.action-card{align-items:center;gap:var(--gap-grid);border:var(--border-width) solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text);box-shadow:var(--shadow);text-align:left;animation:rise .5s var(--ease) both;transition:transform .2s var(--ease), box-shadow .2s;padding:14px;text-decoration:none;display:flex}.action-card:hover{color:var(--text);box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.action-card__tile{border:var(--border-width) solid var(--ink);border-radius:var(--radius-sm);background:var(--yellow);width:48px;height:48px;color:var(--ink);flex:none;justify-content:center;align-items:center;display:inline-flex}.action-card__tile--coral{background:var(--coral)}.action-card__tile--sky{background:var(--sky)}.action-card__tile--leaf{background:var(--leaf)}.action-card__tile--lilac{background:var(--lilac)}.action-card__body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.action-card__title{font-weight:800;font-size:var(--fs-lg)}.action-card__text{font-size:var(--fs-md);color:var(--muted);line-height:1.35}.action-card__arrow{font-weight:800;font-size:var(--fs-2xl);flex:none}.action-grid{gap:var(--gap-grid);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.two-col{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;gap:18px;display:grid}@media (max-width:599px){.hero{border-radius:var(--radius);gap:16px;padding:20px}.section-head h2{font-size:var(--fs-2xl)}.action-card{gap:var(--space-3);padding:12px}.action-card__tile{border-radius:var(--radius-xs);width:42px;height:42px}}.card-title{font-family:var(--font);font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:800}.card-title+.muted,.settings__title+.muted{margin-top:var(--space-1)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select{min-height:44px}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){align-items:center;gap:var(--space-2);min-height:44px;display:inline-flex}details>summary{min-height:44px}.icon-inline{vertical-align:-.2em;flex:none}
@media (max-width:599px){.page-title h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-xl)}.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field select{min-height:44px}.field textarea{min-height:72px}.form-grid .field label{min-height:0}.button-row>*{flex:130px}.button{min-height:48px;padding:0 1rem}.button--lg{min-height:52px}.button--sm{min-height:44px}.choice-grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important}.choice--stacked{min-height:68px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat{gap:.15rem;padding:.75rem}.stat .icon-tile{margin-bottom:.1rem;width:28px!important;height:28px!important}.stat__value{font-size:var(--fs-2xl)}.stat__label{font-size:var(--fs-2xs);line-height:1.2}.progress__charts .fold__body{grid-template-columns:1fr}.progress__charts .fold__body>.card{padding:var(--space-3);box-shadow:none;background:var(--surface-2);border:0}.progress__table{font-size:var(--fs-sm)}.progress__table thead th{font-size:var(--fs-xs);letter-spacing:0}.vocab-bar{justify-content:flex-end;margin-bottom:0}.vocab{padding-bottom:24px}.vocab .page-title>p,.vocab .page-title .eyebrow{display:none}.vocab-intro{flex-flow:wrap;justify-content:space-between;align-items:center}.vocab-intro__cta{min-height:44px;margin-top:0}.stat-grid:has(>.stat:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.vocab-dashboard{grid-template-columns:1fr}.vocab-dashboard .card-head p,.vocab-dashboard .eyebrow{display:none}.vocab-dashboard .ring{width:64px!important;height:64px!important}.vocab-dashboard .ring__center{gap:0;line-height:1}.vocab-dashboard .ring__center b{font-size:var(--fs-lg)}.vocab-dashboard .ring__center small{font-size:var(--fs-xs);font-weight:700}.vocab-action small{display:none}.vocab-recent{gap:var(--space-2);grid-template-columns:1fr 1fr}.vocab-recent h3{font-size:var(--fs-lg);margin-top:2px}.vocab-recent p{-webkit-line-clamp:2;font-size:var(--fs-md);-webkit-box-orient:vertical;margin-top:2px;line-height:1.35;display:-webkit-box;overflow:hidden}.vocab-recent small{display:none}.vocab-recent .pill{text-overflow:ellipsis;max-width:100%;overflow:hidden}.vocab-empty{gap:var(--space-2)}.vocab-empty .form-stack{flex-direction:row;width:100%}.vocab-empty .form-stack>*{flex:1 1 0}.vocab-meta .muted,.vocab-direction>.muted,.vocab-flash .card-head>.muted,.vocab-flash__footer .muted,.vocab-flash~.callout{display:none}.vocab-meta{font-weight:700}.vocab-direction .segmented{flex:1;min-width:0}.vocab-flash{gap:var(--space-3)}.vocab-flash__prompt{font-size:var(--fs-2xl)}.vocab-flash__footer .button{width:100%}.vocab-filters{gap:var(--space-2);grid-template-columns:1fr 1fr}.vocab-filters__search{grid-column:1/-1}.vocab-count{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.vocab-row{grid-template-columns:minmax(0,1fr)}.vocab-row__symbol{display:none}.vocab-row__title h3{font-size:var(--fs-lg)}.vocab-row__main p,.vocab-row__main em{font-size:var(--fs-md);margin-top:2px;line-height:1.35}.vocab-dashboard h3+.muted{display:none}.ai-coach__title{font-size:var(--fs-3xl)}.coach-setup__pair{gap:var(--space-3);grid-template-columns:1fr}.ai-privacy p{font-size:var(--fs-sm);line-height:1.4}.account-card .button{align-self:flex-start}.exercise-card{min-height:0}.round-pills{gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column}.round-pills__item{font-size:var(--fs-xs);padding:6px 4px;line-height:1.2}.training .callout>h2+p.muted{display:none}.training .callout{padding:.75rem .85rem}.feedback-pair{gap:var(--space-3);grid-template-columns:1fr 1fr}.feedback-pair>.field:has(#blocked-word-context){grid-column:1/-1}.feedback-pair .field label{font-size:var(--fs-sm)}.fluency-score__options{flex-wrap:nowrap;justify-content:space-between}.fluency-score__option{width:48px;height:48px}.fold--flat .fold__summary{border-top:1px solid var(--border);padding:2px 0}.session-header__titles{min-width:0}.session-header__title{font-size:var(--fs-lg);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box;overflow:hidden}.session-header__stage{gap:var(--space-3);min-width:0}.session-header__actions{gap:var(--space-2);flex:none}.session-header .segments__label,.session-header__prefix{display:none}.session-header__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chunks-day__list{gap:var(--space-2)}.chunks-day__list li{justify-content:space-between;align-items:center;gap:var(--space-2);flex-direction:row;padding:8px 10px 8px 14px}.chunks-day__expr{min-width:0;font-size:var(--fs-base);flex:1 1 0}.chunks-day__tip{display:none}.timer:not(.timer--compact) .timer__time{font-size:2.6rem}.swipe-stage{height:min(56vh,430px)}.swipe-meta .segmented{flex:1;min-width:0}}
body{background:#fbf4e2;margin:0}.boot{color:#14302b;place-content:center;justify-items:center;gap:12px;min-height:100dvh;font-family:system-ui,sans-serif;display:grid}.boot svg{width:104px;height:104px}.boot p{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}@media (prefers-color-scheme:dark){body{background:#0e1f1b}.boot{color:#fbf4e2}}
