@font-face{font-family:roboto;src:url(../media/roboto_latin-s.p.0333ktddfbsxy.woff2)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:roboto;src:url(../media/roboto_latin_italic-s.p.14zxo1jbez.lc.woff2)format("woff2");font-display:swap;font-weight:100 900;font-style:italic}@font-face{font-family:roboto Fallback;src:local(Arial);ascent-override:92.43%;descent-override:24.32%;line-gap-override:0.0%;size-adjust:100.37%}.roboto_d8b854f4-module__vu6Cbq__className{font-family:roboto,roboto Fallback}.roboto_d8b854f4-module__vu6Cbq__variable{--font-roboto:"roboto", "roboto Fallback"}
@font-face{font-family:jetbrainsMono;src:url(../media/jetbrains_mono_latin-s.p.0f97p8c3305p~.woff2)format("woff2");font-display:swap;font-weight:100 800;font-style:normal}@font-face{font-family:jetbrainsMono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.jetbrainsmono_e9c3071-module__By191a__className{font-family:jetbrainsMono,jetbrainsMono Fallback}.jetbrainsmono_e9c3071-module__By191a__variable{--font-jetbrains-mono:"jetbrainsMono", "jetbrainsMono Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--raw-white:#fff;--raw-off-white:#f7f6f4;--raw-cream:#f0ede8;--raw-warm-50:#f2f0ed;--raw-warm-100:#e8e5e0;--raw-warm-200:#d0ccc5;--raw-warm-400:#999490;--raw-warm-600:#5a5752;--raw-warm-800:#2a2825;--raw-ink:#111110;--raw-red-200:#ff6b77;--raw-red-300:#e5616b;--raw-red-400:#e03545;--raw-red-500:#c8202e;--raw-red-600:#a81820;--raw-red-700:#8a1219;--raw-cobalt-300:#5e82e0;--raw-cobalt-400:#2b55c5;--raw-cobalt-500:#1a3a8f;--raw-cobalt-600:#122870;--raw-gold-400:#d4960c;--raw-gold-500:#c8870a;--raw-gold-600:#a06c08;--raw-green-200:#7fd49e;--raw-green-300:#2ea05a;--raw-green-400:#1e7045;--raw-green-500:#1a5c38;--raw-green-600:#134428;--color-bg-primary:var(--raw-white);--color-bg-secondary:var(--raw-off-white);--color-bg-tertiary:var(--raw-warm-50);--color-bg-tag:var(--raw-warm-100);--color-bg-inverse:var(--raw-ink);--color-bg-card:var(--raw-white);--color-bg-card-hover:var(--raw-off-white);--color-bg-input:var(--raw-white);--color-text-primary:var(--raw-ink);--color-text-secondary:var(--raw-warm-600);--color-text-tertiary:var(--raw-warm-400);--color-text-inverse:var(--raw-off-white);--color-text-link:var(--raw-red-500);--color-text-placeholder:var(--raw-warm-400);--color-border-primary:var(--raw-warm-100);--color-border-secondary:var(--raw-warm-50);--color-border-strong:var(--raw-warm-200);--color-border-focus:var(--raw-red-500);--color-border-input:var(--raw-warm-200);--color-accent-primary:var(--raw-red-500);--color-accent-primary-hover:var(--raw-red-600);--color-accent-primary-active:var(--raw-red-700);--color-accent-primary-subtle:#fdf0f1;--color-logo-track:#b8b3ac;--color-accent-cobalt:var(--raw-cobalt-300);--color-accent-gold:var(--raw-gold-500);--color-accent-gold-text:#8f6007;--color-accent-green:var(--raw-green-300);--color-accent-green-text:var(--raw-green-400);--color-accent-cobalt-text:var(--raw-cobalt-400);--color-accent-green-soft:var(--raw-green-200);--color-accent-error-soft:var(--raw-red-300);--color-status-success:#1a7a4a;--color-status-warning:#c8870a;--color-status-error:var(--raw-red-500);--color-status-info:var(--raw-cobalt-500);--color-surface-overlay:#11111080;--color-surface-header:#fff;--font-family-display:var(--font-roboto), "Roboto", system-ui, -apple-system, sans-serif;--font-family-body:var(--font-roboto), "Roboto", system-ui, -apple-system, sans-serif;--font-family-mono:"JetBrains Mono", "Fira Code", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--font-size-5xl:3.75rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.15;--line-height-snug:1.3;--line-height-normal:1.55;--line-height-relaxed:1.75;--letter-spacing-tight:-.03em;--letter-spacing-snug:-.01em;--letter-spacing-normal:0em;--letter-spacing-wide:.05em;--letter-spacing-wider:.1em;--space-0:0;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--space-11:12rem;--space-12:16rem;--section-padding-sm:var(--space-8);--section-padding-md:var(--space-9);--section-padding-lg:var(--space-10);--max-width-text:65ch;--max-width-content:900px;--max-width-wide:1120px;--max-width-page:1440px;--container-padding-x:var(--space-6);--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #1111100f;--shadow-sm:0 1px 4px #11111014, 0 2px 8px #1111100a;--shadow-md:0 4px 12px #11111014, 0 2px 4px #1111100a;--shadow-lg:0 8px 24px #1111101a, 0 4px 8px #1111100f;--shadow-xl:0 16px 48px #1111101f, 0 8px 16px #1111100f;--shadow-focus:0 0 0 3px #c8202e40;--shadow-card-hover:0 8px 32px #1111101a;--duration-instant:50ms;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--duration-slower:.6s;--duration-scene:.9s;--easing-default:cubic-bezier(.4, 0, .2, 1);--easing-in:cubic-bezier(.4, 0, 1, 1);--easing-out:cubic-bezier(0, 0, .2, 1);--easing-bounce:cubic-bezier(.34, 1.56, .64, 1);--easing-smooth:cubic-bezier(.25, .1, .25, 1);--breakpoint-sm:375px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--btn-primary-bg:var(--color-accent-primary);--btn-primary-bg-hover:var(--color-accent-primary-hover);--btn-primary-text:#fff;--btn-primary-radius:var(--radius-sm);--btn-padding-x:var(--space-6);--btn-padding-y:var(--space-3);--btn-ghost-text:var(--color-text-secondary);--btn-ghost-text-hover:var(--color-text-primary);--input-bg:var(--color-bg-input);--input-border:var(--color-border-input);--input-border-focus:var(--color-border-focus);--input-radius:var(--radius-sm);--input-padding-x:var(--space-4);--input-padding-y:var(--space-3);--input-font-size:var(--font-size-base);--card-bg:var(--color-bg-card);--card-border:var(--color-border-primary);--card-radius:var(--radius-lg);--card-padding:var(--space-5);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-card-hover);--header-height:64px;--app-header-height:56px;--header-bg:var(--color-surface-header);--header-border:var(--color-border-primary);--header-backdrop:blur(12px);--badge-bg:var(--color-accent-primary-subtle);--badge-text:var(--color-accent-primary);--badge-radius:var(--radius-full);--badge-padding-x:var(--space-3);--badge-padding-y:var(--space-1);--tooltip-bg:#141312ed;--tooltip-text:var(--raw-cream);--gradient-yt-thumb:linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0a2340 100%)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg-primary:#111110;--color-bg-secondary:#191918;--color-bg-tertiary:#222220;--color-bg-tag:#2e2e2b;--color-bg-inverse:#f7f6f4;--color-bg-card:#1c1c1a;--color-bg-card-hover:#242422;--color-bg-input:#1c1c1a;--color-text-primary:#f0ede8;--color-text-secondary:#a09c96;--color-text-tertiary:#605c58;--color-text-inverse:#111110;--color-text-link:var(--raw-red-400);--color-text-placeholder:#605c58;--color-border-primary:#2a2825;--color-border-secondary:#222220;--color-border-strong:#3a3835;--color-border-focus:var(--raw-red-400);--color-border-input:#2a2825;--color-accent-primary:var(--raw-red-400);--color-accent-primary-hover:var(--raw-red-500);--color-accent-primary-active:var(--raw-red-600);--color-accent-primary-subtle:#e035451f;--color-logo-track:#6b6b6b;--color-accent-cobalt:var(--raw-cobalt-300);--color-accent-green:var(--raw-green-300);--color-accent-gold-text:var(--raw-gold-400);--color-accent-green-text:var(--raw-green-300);--color-accent-cobalt-text:var(--raw-cobalt-300);--color-status-success:#2a9e60;--color-status-warning:#d4960c;--color-status-error:var(--raw-red-400);--color-status-info:var(--raw-cobalt-400);--color-surface-overlay:#000000b3;--color-surface-header:#111110;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 4px #0000004d, 0 2px 8px #00000026;--shadow-md:0 4px 12px #0000004d, 0 2px 4px #0003;--shadow-lg:0 8px 24px #0006, 0 4px 8px #0003;--shadow-xl:0 16px 48px #00000080, 0 8px 16px #0000004d;--shadow-focus:0 0 0 3px #e035454d;--shadow-card-hover:0 8px 32px #0006;--header-bg:#111110eb;--input-bg:#1c1c1a;--card-bg:#1c1c1a;--badge-bg:#e035451f;--badge-text:var(--raw-red-400)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg-primary:#111110;--color-bg-secondary:#191918;--color-bg-tertiary:#222220;--color-bg-tag:#2e2e2b;--color-bg-inverse:#f7f6f4;--color-bg-card:#1c1c1a;--color-bg-card-hover:#242422;--color-bg-input:#1c1c1a;--color-text-primary:#f0ede8;--color-text-secondary:#a09c96;--color-text-tertiary:#605c58;--color-text-inverse:#111110;--color-text-link:var(--raw-red-400);--color-text-placeholder:#605c58;--color-border-primary:#2a2825;--color-border-secondary:#222220;--color-border-strong:#3a3835;--color-border-focus:var(--raw-red-400);--color-border-input:#2a2825;--color-accent-primary:var(--raw-red-400);--color-accent-primary-hover:var(--raw-red-500);--color-accent-primary-active:var(--raw-red-600);--color-accent-primary-subtle:#e035451f;--color-logo-track:#6b6b6b;--color-surface-overlay:#000000b3;--color-surface-header:#111110;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 4px #0000004d, 0 2px 8px #00000026;--shadow-md:0 4px 12px #0000004d, 0 2px 4px #0003;--shadow-lg:0 8px 24px #0006, 0 4px 8px #0003;--shadow-xl:0 16px 48px #00000080, 0 8px 16px #0000004d;--shadow-focus:0 0 0 3px #e035454d;--shadow-card-hover:0 8px 32px #0006;--header-bg:#111110eb;--card-bg:#1c1c1a;--badge-bg:#e035451f;--badge-text:var(--raw-red-400)}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height);-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-family-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--duration-normal) var(--easing-default), color var(--duration-normal) var(--easing-default);overflow-x:hidden}main{padding-top:var(--header-height)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}input{font-family:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.container{width:100%;max-width:var(--max-width-wide);padding-inline:var(--space-5);margin-inline:auto}@media (min-width:768px){.container{padding-inline:var(--space-6)}}@media (min-width:1280px){.container{padding-inline:var(--space-7)}}.section-header{text-align:center;margin-bottom:var(--space-8)}.section-headline,.demo-block-title{font-family:var(--font-family-display);font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-tight);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-primary);text-wrap:balance}@media (min-width:768px){.section-headline,.demo-block-title{font-size:var(--font-size-3xl)}}.section-intro,.demo-block-sub,.cta-sub{font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:56ch;margin-inline:auto}.section-intro{margin-top:var(--space-3)}.btn{align-items:center;gap:var(--space-2);font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-6);transition:background-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default), transform var(--duration-fast) var(--easing-default);white-space:nowrap;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn-primary{background-color:var(--color-accent-primary);color:#fff}.btn-primary:hover{background-color:var(--color-accent-primary-hover)}.btn-primary:active{background-color:var(--color-accent-primary-active);transform:scale(.98)}html{-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.98)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-4) var(--space-7);font-size:var(--font-size-md)}.btn-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent-primary);cursor:pointer;transition:opacity var(--duration-fast);background:0 0;border:none;padding:0}.btn-text:hover{opacity:.75}.link-arrow{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent-primary);transition:opacity var(--duration-fast)}.link-arrow:hover{opacity:.75}.badge{align-items:center;gap:var(--space-2);font-family:var(--font-family-body);font-size:.65rem;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--color-accent-primary);background:var(--color-accent-primary-subtle);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);display:inline-flex}.header{z-index:100;height:var(--header-height);background:var(--color-surface-header);-webkit-backdrop-filter:var(--header-backdrop);transition:border-color var(--duration-normal), background-color var(--duration-normal);border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.header.is-scrolled{border-bottom-color:var(--color-border-primary)}.nav{height:var(--header-height);align-items:center;gap:var(--space-6);display:flex}::view-transition-old(root){animation-duration:.3s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.3s;animation-timing-function:ease}html.vt-switching *,html.vt-switching :before,html.vt-switching :after{transition:none!important}.nav-logo{font-family:var(--font-family-display);font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);transition:opacity var(--duration-fast);flex-shrink:0;font-weight:700}.nav-logo:hover{opacity:.75}.nav-logo .brandmark,.app-logo .brandmark,.legal-logo .brandmark{transform:translateY(-.1em)}.brandmark{vertical-align:middle;flex-direction:column;align-items:stretch;gap:.2em;width:max-content;line-height:1;display:inline-flex}.brandmark__wm{font-family:var(--font-family-body);font-weight:var(--font-weight-medium);letter-spacing:-.005em;color:currentColor;font-size:1em}.brandmark__rail{width:100%;height:.06em;position:relative}.brandmark__line{background:var(--color-accent-primary);background:linear-gradient(90deg, color-mix(in srgb, var(--color-accent-primary) 0%, transparent) 0%, var(--color-accent-primary) 9%, var(--color-accent-primary) 68%, var(--color-logo-track) 68%, var(--color-logo-track) 91%, color-mix(in srgb, var(--color-logo-track) 0%, transparent) 100%);border-radius:999px;position:absolute;inset:0}.brandmark__dot{background:var(--color-accent-primary);border-radius:50%;width:.19em;height:.19em;position:absolute;top:50%;left:68%;transform:translate(-50%,-50%)}.nav-links{align-items:center;gap:var(--space-6);margin-left:auto;display:none}@media (min-width:768px){.nav-links{display:flex}}.nav-link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:color var(--duration-fast);position:relative}.nav-link:hover,.nav-link.is-active{color:var(--color-text-primary)}.nav-link.is-active:after{content:"";background:var(--color-accent-primary);border-radius:1px;height:2px;position:absolute;bottom:-4px;left:0;right:0}.nav-actions{align-items:center;gap:var(--space-3);padding-right:var(--space-7);margin-left:auto;display:flex}@media (min-width:1240px){.nav-actions{padding-right:0}}@media (min-width:768px){.nav-actions{margin-left:0}}.nav .theme-toggle{top:calc((var(--header-height) - 36px) / 2);right:var(--space-6);z-index:300;position:fixed}.theme-toggle{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);transition:color var(--duration-fast), background-color var(--duration-fast);place-items:center;display:grid}.theme-toggle:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.theme-toggle:focus-visible{box-shadow:var(--shadow-focus);outline:none}.icon-sun{display:block}.icon-moon,[data-theme=dark] .icon-sun{display:none}[data-theme=dark] .icon-moon{display:block}.nav-hamburger{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-primary);flex-direction:column;justify-content:center;gap:5px;padding:8px;display:flex}.nav-hamburger span{height:1.5px;transition:transform var(--duration-normal), opacity var(--duration-normal);background:currentColor;border-radius:1px;display:block}.nav-hamburger.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-hamburger.is-open span:nth-child(2){opacity:0}.nav-hamburger.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}@media (min-width:768px){.nav-hamburger{display:none}}.nav-mobile{inset:var(--header-height) 0 0 0;background:var(--color-bg-primary);justify-content:center;align-items:center;gap:var(--space-6);z-index:99;opacity:0;transition:opacity var(--duration-normal), transform var(--duration-normal);flex-direction:column;display:none;position:fixed;transform:translateY(-8px)}.nav-mobile.is-open{opacity:1;display:flex;transform:translateY(0)}.nav-mobile ul{align-items:center;gap:var(--space-5);flex-direction:column;display:flex}.nav-mobile .nav-link{font-size:var(--font-size-lg);color:var(--color-text-primary)}.nav-mobile .btn{font-size:var(--font-size-lg);padding:var(--space-3) var(--space-7)}.nav-mobile .btn-ghost{color:var(--color-text-secondary);padding-left:var(--space-4);padding-right:var(--space-4)}.nav-mobile-theme{align-items:center;gap:var(--space-2);width:auto;height:auto;padding:var(--space-2) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:inline-flex}@media (max-width:767px){.nav .theme-toggle{display:none}.nav{gap:var(--space-3)}.nav-actions{padding-right:var(--space-2);gap:var(--space-2)}.nav-hamburger{width:auto;margin-left:var(--space-2);padding-left:0;padding-right:0}.nav-hamburger span{width:24px}.header.is-nav-open .nav-actions .btn{visibility:hidden}}.focus-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.focus-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);flex-shrink:0}.focus-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.focus-chip{align-items:center;gap:var(--space-1-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-primary);border:1.5px solid var(--color-border-primary);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast), box-shadow var(--duration-fast);cursor:pointer;--chip-color:var(--color-text-primary);--chip-ink:var(--color-text-primary);display:inline-flex}.focus-chip[data-focus=vocabulary]{--chip-color:var(--color-accent-gold);--chip-ink:var(--color-accent-gold-text)}.focus-chip[data-focus=listening]{--chip-color:var(--color-accent-green);--chip-ink:var(--color-accent-green-text)}.focus-chip[data-focus=speaking]{--chip-color:var(--color-accent-cobalt);--chip-ink:var(--color-accent-cobalt-text)}.focus-chip:hover:not(.is-active){border-color:var(--color-border-strong);color:var(--color-text-primary);background:var(--color-bg-secondary)}.focus-chip:focus-visible{box-shadow:var(--shadow-focus);outline:none}.focus-chip.is-active{color:var(--chip-ink);background:color-mix(in srgb, var(--chip-color) 12%, transparent);border-color:color-mix(in srgb, var(--chip-color) 32%, transparent)}.focus-chip.is-active:hover{background:color-mix(in srgb, var(--chip-color) 20%, transparent);border-color:color-mix(in srgb, var(--chip-color) 55%, transparent)}@media (hover:hover){[data-theme=dark] .focus-chip:hover{box-shadow:0 0 10px currentColor, 0 0 20px color-mix(in srgb, currentColor 40%, transparent)}}
