:root{color-scheme:light;--font-ui:"Inter";--font-heading:"Inter Tight","Inter";--font-code:"IBM Plex Mono";--canvas:#f5f6fb;--card:#fff;--panel:#f1f3f9;--elevated:#eaedf6;--line:#e1e5f0;--line-strong:#c9cfe0;--ink:#0d1222;--muted:#586079;--faint:#8a91a9;--accent:#2f5bff;--accent-soft:oklab(55.1952% -.0165403 -.246297/.1);--pop:#2f5bff;--pop-bg:#2f5bff}@supports (color:color-mix(in lab,red,red)){:root{--pop-bg:color-mix(in oklab,#2f5bff 8%,var(--canvas))}}:root{--pop-ink:#2f5bff;--focus:#2f5bff;--selection:oklab(55.1952% -.0165403 -.246297/.35);--again:#d92d45;--hard:#a65800;--good:#00855a;--easy:#2f5bff;--btn-bg:#0d1222;--btn-fg:#fff;--btn-bg-hover:#242a3d;--stage-known:#2f5bff;--stage-streak3:#00a06b;--stage-streak2:#4cc39a;--stage-streak1:#e39a1c;--stage-forgot:#e0445a;--stage-new:#8a91a9;--stage-none:#e1e5f0;--heat:var(--accent);--overlay:#0d122252;--header-bg:var(--canvas)}@supports (color:color-mix(in lab,red,red)){:root{--header-bg:color-mix(in oklab,var(--canvas)82%,transparent)}}:root{--shadow-card:0 1px 2px #0d12220a,0 10px 30px -12px #0d12221a;--shadow-sheet:0 24px 80px #0d122238;--shadow-toast:0 8px 32px #0d122224;--reader-shade:var(--ink)}@supports (color:color-mix(in lab,red,red)){:root{--reader-shade:color-mix(in oklab,var(--ink)45%,var(--canvas))}}:root{--word-hover:var(--elevated);--selected-bg:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--selected-bg:color-mix(in oklab,var(--accent)18%,transparent)}}:root{--selected-ring:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--selected-ring:color-mix(in oklab,var(--accent)55%,transparent)}}:root{--spoken-bg:var(--accent-soft);--target-underline:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--target-underline:color-mix(in oklab,var(--accent)60%,transparent)}}:root{--glow-core:#2f5bff;--glow-halo:#2f5bff29;--star:26 36 84;--star-tint:47 91 255;--star-strength:.8;--star-scale:1.25;--case-nominative:#facc1561;--case-genitive:#38bdf84d;--case-dative:#4ade8052;--case-accusative:#fb923c57;--case-instrumental:#c084fc4d;--case-prepositional:#64748b3d;--r-card:1rem;--r-panel:1rem;--r-control:9999px;--r-field:.75rem;--r-sheet:1.5rem;--stack-under:translateY(10px)scale(.965);--stack-under-opacity:.6;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23586079'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5'/%3E%3C/svg%3E");--swatch-light:linear-gradient(90deg,transparent 18%,#2f5bff 18% 46%,transparent 46%)0 82%/100% 2px no-repeat,linear-gradient(#e1e5f0,#e1e5f0)18% 34%/58% 4px no-repeat,#f5f6fb;--swatch-dark:radial-gradient(circle at 74% 30%,#fff 0 .8px,transparent 1.4px),radial-gradient(circle at 30% 70%,#9db8ff 0 .9px,transparent 1.5px),linear-gradient(90deg,transparent 18%,#7aa2ff 18% 46%,transparent 46%)0 82%/100% 2px no-repeat,linear-gradient(#2f3336,#2f3336)18% 34%/58% 4px no-repeat,#000;--swatch-system:linear-gradient(115deg,#fff 0 50%,#000 50% 100%)}[data-theme=dark]{color-scheme:dark;--canvas:#000;--card:#000;--panel:#0a0a0b;--elevated:#16181c;--line:#2f3336;--line-strong:#3e4347;--ink:#e7e9ea;--muted:#868b91;--faint:#5b6067;--accent:#7aa2ff;--accent-soft:oklab(72.3152% -.0115077 -.142436/.14);--pop:#7aa2ff;--pop-bg:#7aa2ff}@supports (color:color-mix(in lab,red,red)){[data-theme=dark]{--pop-bg:color-mix(in oklab,#7aa2ff 10%,var(--canvas))}}[data-theme=dark]{--pop-ink:#7aa2ff;--focus:#7aa2ff;--selection:oklab(72.3152% -.0115077 -.142436/.35);--again:#f7525f;--hard:#ffad1f;--good:#00ba7c;--easy:#7aa2ff;--btn-bg:#eff3f4;--btn-fg:#0f1419;--btn-bg-hover:#d7dbdc;--stage-known:#7aa2ff;--stage-streak3:#00ba7c;--stage-streak2:#6fd8ae;--stage-streak1:#ffad1f;--stage-forgot:#f7525f;--stage-new:#8b929a;--stage-none:#202327;--overlay:#5b70834d;--shadow-card:none;--shadow-sheet:0 24px 80px #0000008c;--shadow-toast:0 8px 32px #0006;--reader-shade:var(--ink)}@supports (color:color-mix(in lab,red,red)){[data-theme=dark]{--reader-shade:color-mix(in oklab,var(--ink)37%,var(--canvas))}}[data-theme=dark]{--glow-core:#fff;--glow-halo:#7aa2ff38;--star:231 233 234;--star-tint:157 184 255;--star-strength:1;--star-scale:1;--case-nominative:#facc154d;--case-genitive:#38bdf84d;--case-dative:#4ade8042;--case-accusative:#fb923c4d;--case-instrumental:#c084fc52;--case-prepositional:#94a3b842;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23868b91'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5'/%3E%3C/svg%3E")}:root,[data-theme=dark]{--again-ink:var(--again);--hard-ink:var(--hard);--good-ink:var(--good);--easy-ink:var(--easy);--again-ring:var(--again);--hard-ring:var(--hard);--good-ring:var(--good);--easy-ring:var(--easy);--again-bg:var(--again)}@supports (color:color-mix(in lab,red,red)){:root,[data-theme=dark]{--again-bg:color-mix(in oklab,var(--again)8%,var(--canvas))}}:root,[data-theme=dark]{--hard-bg:var(--hard)}@supports (color:color-mix(in lab,red,red)){:root,[data-theme=dark]{--hard-bg:color-mix(in oklab,var(--hard)8%,var(--canvas))}}:root,[data-theme=dark]{--good-bg:var(--good)}@supports (color:color-mix(in lab,red,red)){:root,[data-theme=dark]{--good-bg:color-mix(in oklab,var(--good)8%,var(--canvas))}}:root,[data-theme=dark]{--easy-bg:var(--easy)}@supports (color:color-mix(in lab,red,red)){:root,[data-theme=dark]{--easy-bg:color-mix(in oklab,var(--easy)8%,var(--canvas))}}body{font-feature-settings:"cv11","ss01"}@layer components{.tone-btn{--tone-btn-bg:var(--card);--tone-btn-border:var(--tone)}@supports (color:color-mix(in lab,red,red)){.tone-btn{--tone-btn-border:color-mix(in oklab,var(--tone)38%,var(--line))}}.tone-btn{--tone-btn-hover-bg:var(--tone)}@supports (color:color-mix(in lab,red,red)){.tone-btn{--tone-btn-hover-bg:color-mix(in oklab,var(--tone)10%,var(--card))}}.tone-btn{--tone-btn-hover-border:var(--tone)}@supports (color:color-mix(in lab,red,red)){.tone-btn{--tone-btn-hover-border:color-mix(in oklab,var(--tone)65%,var(--line))}}.tone-btn{--tone-btn-flash-bg:var(--tone)}@supports (color:color-mix(in lab,red,red)){.tone-btn{--tone-btn-flash-bg:color-mix(in oklab,var(--tone)18%,var(--card))}}.site-nav{align-self:stretch;align-items:stretch}.play-btn[data-playing]{box-shadow:0 0 0 4px var(--accent),0 0 24px var(--accent)}@supports (color:color-mix(in lab,red,red)){.play-btn[data-playing]{box-shadow:0 0 0 4px color-mix(in oklab,var(--accent)22%,transparent),0 0 24px color-mix(in oklab,var(--accent)30%,transparent)}}.flash-card-meta{font-family:var(--font-code),ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));color:var(--muted)}}#starfield{view-transition-name:starfield;width:100vw;height:100lvh}::view-transition-old(starfield){animation:var(--vt-scene)ease-in both vt-fade-out}::view-transition-new(starfield){animation:none}.constellation{color:var(--accent)}.constellation path,.constellation line{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw-line 1.4s var(--ease-out-expo)forwards}.constellation circle{opacity:0;transform-box:fill-box;transform-origin:50%;animation:star-pop .5s var(--ease-spring)forwards}.reveal-ripple{background:radial-gradient(closest-side,transparent 90%,var(--accent)98.6%,transparent 100%),radial-gradient(closest-side,transparent 55%,var(--accent)92%,transparent 99%),radial-gradient(closest-side,var(--accent),transparent 70%)}@supports (color:color-mix(in lab,red,red)){.reveal-ripple{background:radial-gradient(closest-side,transparent 90%,color-mix(in oklab,var(--accent)70%,transparent)98.6%,transparent 100%),radial-gradient(closest-side,transparent 55%,color-mix(in oklab,var(--accent)16%,transparent)92%,transparent 99%),radial-gradient(closest-side,color-mix(in oklab,var(--accent)10%,transparent),transparent 70%)}}.fly-symbol{background:var(--glow-core);width:8px;height:8px;box-shadow:0 0 8px 2px var(--accent),0 0 22px 6px var(--accent);border-radius:50%;margin:-4px 0 0 -4px}@supports (color:color-mix(in lab,red,red)){.fly-symbol{box-shadow:0 0 8px 2px var(--accent),0 0 22px 6px color-mix(in oklab,var(--accent)45%,transparent)}}.flourish{background:var(--glow-core);width:4px;height:4px;box-shadow:0 0 6px 1px var(--flourish-color,var(--accent)),0 0 14px 3px var(--flourish-color,var(--accent));border-radius:50%;margin:-2px 0 0 -2px}@supports (color:color-mix(in lab,red,red)){.flourish{box-shadow:0 0 6px 1px var(--flourish-color,var(--accent)),0 0 14px 3px color-mix(in oklab,var(--flourish-color,var(--accent))40%,transparent)}}.flourish-good,.flourish-learn{--flourish-color:var(--good)}.flourish-easy{--flourish-color:var(--accent)}.space-halo,.space-core,.space-tail{will-change:transform;position:absolute;top:0;left:0}.space-halo{background:radial-gradient(closest-side,var(--glow-halo),transparent);border-radius:50%;width:160px;height:64px;margin:-32px 0 0 -80px}.space-core{background:var(--glow-core);width:5px;height:5px;box-shadow:0 0 6px 1px var(--glow-core),0 0 16px 4px var(--accent);border-radius:50%;margin:-2.5px 0 0 -2.5px}@supports (color:color-mix(in lab,red,red)){.space-core{box-shadow:0 0 6px 1px var(--glow-core),0 0 16px 4px color-mix(in oklab,var(--accent)50%,transparent)}}.space-tail{transform-origin:100%;background:linear-gradient(90deg,transparent,var(--accent));border-radius:2px;width:56px;height:2px;margin:-1px 0 0 -56px}@supports (color:color-mix(in lab,red,red)){.space-tail{background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--accent)80%,transparent))}}.cloud-legend-known{background:var(--ink);box-shadow:0 0 6px var(--accent)}.cloud-legend-learning{background:var(--stage-streak3)}.cloud-legend-new{background:var(--accent)}.cloud-legend-unseen{background:var(--faint);transform:scale(.7)}.hero-meter{background:var(--line);border-radius:9999px;height:2px;position:relative;overflow:visible}.hero-meter>span{width:var(--fill,31.65%);border-radius:inherit;background:var(--accent);transform-origin:0;animation:meter-in 2.2s var(--ease-out-expo).24s both;position:absolute;inset:0 auto 0 0}.hero-meter>span:after{content:"";background:var(--glow-core);width:6px;height:6px;box-shadow:0 0 8px 2px var(--accent);border-radius:50%;margin-top:-3px;position:absolute;top:50%;right:-3px}.demo-card{box-shadow:0 0 0 1px var(--accent),0 40px 120px -40px var(--accent)}@supports (color:color-mix(in lab,red,red)){.demo-card{box-shadow:0 0 0 1px color-mix(in oklab,var(--accent)8%,transparent),0 40px 120px -40px color-mix(in oklab,var(--accent)35%,transparent)}}[data-playing] .demo-play{box-shadow:0 0 0 4px var(--accent),0 0 24px var(--accent)}@supports (color:color-mix(in lab,red,red)){[data-playing] .demo-play{box-shadow:0 0 0 4px color-mix(in oklab,var(--accent)22%,transparent),0 0 24px color-mix(in oklab,var(--accent)30%,transparent)}}.principle-mark:before{content:"◇ "}.principle:nth-child(2n) .principle-mark:before{content:"◆ "}.mock-swipe{animation:mock-swipe 3.6s var(--ease-out-expo)infinite}.mock-stamp{animation:3.6s infinite mock-stamp}.mock-answer{animation:3.2s infinite mock-answer}.mock-rate{animation:3.2s infinite mock-rate}.mock-word{opacity:.38;animation:3.4s linear infinite mock-word;animation-delay:calc(var(--i)*.42s)}.mock-spark{background:var(--glow-core);width:5px;height:5px;box-shadow:0 0 8px 2px var(--accent);border-radius:50%;animation:3.4s linear infinite mock-spark;position:absolute;bottom:-2px;left:0}.mock-dot{background:var(--stage-none);animation:4s infinite mock-dot;animation-delay:calc(var(--i)*28ms);border-radius:50%}.mock-dot[data-unknown]{animation:none}@keyframes meter-in{0%{transform:scaleX(0)}}@keyframes mock-swipe{0%,18%{opacity:1;transform:none}40%{opacity:1;transform:translate(26px)rotate(5deg)}55%{opacity:0;transform:translate(160px)rotate(12deg)scaleX(1.3)}56%,70%{opacity:0;transform:translateY(8px)scale(.95)}85%,to{opacity:1;transform:none}}@keyframes mock-stamp{0%,22%{opacity:0}40%,52%{opacity:1}56%,to{opacity:0}}@keyframes mock-answer{0%,20%{opacity:0}32%,90%{opacity:1}to{opacity:0}}@keyframes mock-rate{0%,45%{background:var(--card)}80%,to{background:var(--card)}}@keyframes mock-word{0%,4%{opacity:.38}8%,14%{opacity:1}22%,to{opacity:.38}}@keyframes mock-spark{0%{opacity:0;left:0}6%{opacity:1}68%{opacity:1;left:100%}76%,to{opacity:0;left:100%}}@keyframes mock-dot{0%,8%{background:var(--stage-none);box-shadow:none}to{background:var(--stage-none);box-shadow:none}}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes star-pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.mock-word,.mock-dot:not([data-unknown]){opacity:1;animation:none!important}.mock-dot:not([data-unknown]){background:var(--ink)}.mock-spark{display:none}}
