:root{--color-text: #273142;--color-text-secondary: #596275;--color-surface: #ffffff;--color-surface-alt: #f3edff;--color-surface-elevated: #fcf9ff;--color-border: #dde3ee;--color-border-light: #ece6f6;--color-band: #f3edff;--color-accent: #7c5cfa;--color-accent-ink: #5e45bd;--color-accent-subtle: rgba(124,92,250,.1);--color-primary-action: #6f52df;--color-primary-action-hover: #5e45bd;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 18px;--radius-full: 999px;--shadow-md: 0 6px 16px rgba(39,49,66,.08);--shadow-accent: 0 8px 24px rgba(124,92,250,.28);--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--font-ui: "Avenir Next", "Segoe UI Variable Text", "SF Pro Text", "Segoe UI", system-ui, sans-serif;--container-max-width: 1320px}:root[data-theme=dark]{--color-text: #ede9f8;--color-text-secondary: #b8b2cc;--color-surface: #1c1826;--color-surface-alt: #231e2f;--color-surface-elevated: #2a2440;--color-border: rgba(124,92,250,.22);--color-border-light: rgba(124,92,250,.14);--color-band: #272038;--color-accent: #927bff;--color-accent-ink: #927bff;--color-accent-subtle: rgba(124,92,250,.18);--shadow-md: 0 6px 16px rgba(0,0,0,.4);--shadow-accent: 0 8px 24px rgba(0,0,0,.45)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-surface);color:var(--color-text);font-family:var(--font-ui);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--color-accent-ink);text-underline-offset:.22em}button{font:inherit;cursor:pointer;color:var(--color-text)}:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}p{color:var(--color-text-secondary);margin:0 0 var(--space-2)}h1,h2,h3{color:var(--color-text);margin:0;letter-spacing:-.02em}h1{font-size:clamp(34px,4.4vw,58px);line-height:1.08;font-weight:700;margin-block:var(--space-2) var(--space-3)}h2{font-size:clamp(26px,2.8vw,38px);line-height:1.18;font-weight:700;margin-bottom:var(--space-2)}h3{font-size:20px;margin-bottom:var(--space-1)}ol{list-style:none;margin:0;padding:0}.shell{max-width:var(--container-max-width);margin:auto;padding-inline:var(--space-4)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-ink);margin:0}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-block:var(--space-2)}.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:700;font-size:20px;color:var(--color-text);text-decoration:none;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:14px;background:var(--color-primary-action)}.brand-mark img{width:20px;height:20px;aspect-ratio:auto}nav{display:flex;align-items:center;gap:4px}.nav-link{display:inline-flex;align-items:center;min-height:44px;padding-inline:12px;border-radius:var(--radius-full);font-size:15px;font-weight:600;color:var(--color-text);text-decoration:none;white-space:nowrap}.nav-link:hover{background:var(--color-accent-subtle);color:var(--color-accent-ink)}.nav-link .short{display:none}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);font-size:14px;font-weight:700}.icon-button:hover{border-color:var(--color-accent);color:var(--color-accent-ink)}.primary{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:12px;min-height:48px;padding:12px 28px;border-radius:var(--radius-lg);background:var(--color-primary-action);color:#fff;font-weight:600;text-decoration:none;box-shadow:var(--shadow-accent);transition:transform .15s,background .15s}.primary:hover{background:var(--color-primary-action-hover);transform:translateY(-1px)}.secondary{display:inline-block;padding-block:12px;font-weight:600}.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 16px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);font-size:15px;font-weight:600}.chip:hover{border-color:var(--color-accent)}.chip[aria-pressed=true]{background:var(--color-primary-action);border-color:var(--color-primary-action);color:#fff}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:64px;padding-block:56px 88px}.intro{max-width:36em;font-size:19px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-4)}.hero-stack{position:relative;height:420px}.stack-card{position:absolute;width:62%;border:1px solid var(--color-border-light);border-radius:var(--radius-xl);background:var(--color-surface-elevated);box-shadow:var(--shadow-md);overflow:hidden}.stack-card img{border-bottom:1px solid var(--color-border-light)}.stack-card p{margin:0;padding:12px 16px;display:flex;justify-content:space-between;gap:8px}.stack-card strong{color:var(--color-text);font-size:18px}.stack-card:nth-child(1){left:0;top:40px;transform:rotate(-6deg)}.stack-card:nth-child(2){left:19%;top:0;transform:rotate(1deg);z-index:1}.stack-card:nth-child(3){right:0;top:70px;transform:rotate(7deg);z-index:2}.band{background:var(--color-band);border-block:1px solid var(--color-border-light)}.section-head{max-width:46em;margin-bottom:var(--space-4)}.demo,.study{padding-block:72px}.request{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.topics{display:flex;gap:var(--space-1)}.prompt{flex:1 1 320px;display:flex;flex-direction:column;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.prompt-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.prompt-text{color:var(--color-text);font-weight:500}.result-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.result-count{margin:0;font-weight:700;color:var(--color-text)}.result-count span{font-weight:500;color:var(--color-text-secondary)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);align-items:start}.demo-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.demo-foot p{margin:0}.flashcard{border:1px solid var(--color-border-light);border-radius:var(--radius-xl);background:var(--color-surface-elevated);box-shadow:var(--shadow-md);overflow:hidden}.flashcard.flipped{border-color:var(--color-accent)}.flashcard-media{position:relative}.pair{position:absolute;top:10px;left:10px;padding:2px 10px;border-radius:var(--radius-full);background:#ffffffeb;color:#3b2a85;font-size:12px;font-weight:700;letter-spacing:.04em}.flashcard-body{padding:var(--space-2)}.flashcard-sentence{font-size:18px;line-height:1.5;color:var(--color-text);margin-bottom:var(--space-1)}.flashcard-sentence strong{color:var(--color-accent-ink)}.gap{position:relative;display:inline-block;min-width:4.5em;border-bottom:2px solid var(--color-accent)}.flashcard-hint{font-size:15px;font-style:italic}.flashcard-word{color:var(--color-text);font-weight:600;margin-bottom:4px}.ipa{font-weight:400;color:var(--color-text-secondary)}.flashcard-translation{font-size:15px}.flashcard-audio{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2)}.flashcard-audio .chip{padding-inline:14px;font-size:14px}.flashcard-toggle{width:100%;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-weight:600}.flashcard-toggle:hover{border-color:var(--color-accent);color:var(--color-accent-ink)}.mark{display:inline-grid;place-items:center;flex-shrink:0;width:24px;height:24px;margin-right:8px;border-radius:var(--radius-full);background:var(--color-primary-action);color:#fff;font-size:13px;font-weight:700;font-style:normal;line-height:1;vertical-align:2px}.flashcard-media .mark{position:absolute;top:10px;right:10px;margin:0}.inside{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:72px;align-items:center;padding-block:80px}.legend{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.legend li{display:flex;align-items:flex-start}.legend .mark{margin-top:2px;margin-right:14px}.legend strong{color:var(--color-text)}.legend p{margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);counter-reset:step}.steps li{position:relative;padding:var(--space-3);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);background:var(--color-surface)}.steps li:last-child{border-color:var(--color-accent)}.steps strong{display:block;color:var(--color-text);font-size:18px;margin-bottom:4px}.steps p{margin:0}.step-number{display:inline-grid;place-items:center;width:36px;height:36px;margin-bottom:12px;border-radius:var(--radius-full);background:var(--color-accent-subtle);color:var(--color-accent-ink);font-weight:700}.steps li:last-child .step-number{background:var(--color-primary-action);color:#fff}.note{margin-top:var(--space-2);font-size:15px}.schedule{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border-light)}.schedule>p{max-width:52em}.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--space-3)}.timeline li{position:relative;padding-top:22px;font-size:14px;font-weight:600;color:var(--color-text-secondary)}.timeline li:before{content:"";position:absolute;top:5px;left:0;right:0;height:2px;background:var(--color-border)}.timeline li:after{content:"";position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--color-accent)}.timeline li:last-child:before{right:auto;width:0}.course{padding-block:80px 96px}.course p:not(.eyebrow){max-width:42em;font-size:18px;margin-bottom:var(--space-3)}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);padding-block:var(--space-3);border-top:1px solid var(--color-border);font-size:14px;color:var(--color-text-secondary)}.fallback{max-width:52em;margin:auto;padding:var(--space-4)}.fallback nav{align-items:start;flex-direction:column}.fallback nav a{min-height:44px;display:inline-flex;align-items:center}@media(max-width:1024px){.cards{grid-template-columns:repeat(2,1fr)}.hero{gap:var(--space-4)}}@media(max-width:768px){.shell{padding-inline:var(--space-2)}.hero,.inside{grid-template-columns:1fr;gap:var(--space-4);padding-block:var(--space-4) 56px}.hero-stack{display:none}.demo,.study{padding-block:56px}.steps{grid-template-columns:1fr}.cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(84%,340px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--space-2));padding:4px var(--space-2) 12px;scroll-padding-inline:var(--space-2)}.cards>*{scroll-snap-align:start}.inside-card{order:2}.intro{font-size:17px}.primary{width:100%;padding-inline:20px}.timeline{grid-template-columns:1fr 1fr;row-gap:var(--space-2)}.timeline li:nth-child(2):before{right:0}.schedule{padding:var(--space-3)}.course{padding-block:56px 72px}}@media(max-width:480px){.header{gap:4px;padding-block:var(--space-1)}.brand{font-size:18px;gap:8px}.brand-mark{width:32px;height:32px;border-radius:12px}nav{gap:2px}.nav-link{padding-inline:8px;font-size:14px}.nav-link .long{display:none}.nav-link .short{display:inline}.icon-button{width:40px;height:40px}.request{flex-direction:column;align-items:stretch}.prompt{flex-basis:auto}.result-head{flex-wrap:wrap}.steps li{display:grid;grid-template-columns:36px 1fr;column-gap:14px;padding:var(--space-2)}.step-number{grid-row:span 2;margin:0}.steps strong{font-size:17px;margin:0}}@media(max-width:400px){.brand-name{display:none}.hero-brand{font-size:20px;letter-spacing:0;text-transform:none;color:var(--color-text);font-weight:700}.hero-label{display:flex;flex-direction:column;gap:2px}.hero-sep{display:none}.nav-link{padding-inline:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary{transition:none}}
