:root,:root[data-theme=dark]{--color-primary:#1e1b4b;--color-secondary:#312e81;--color-accent:#f97316;--color-on-accent:#171126;--color-background:#0f0f23;--color-foreground:#f8fafc;--color-card:#1b1b30;--color-card-foreground:#f8fafc;--color-muted:#27273b;--color-muted-foreground:#aab3c5;--color-border:#3f3a79;--color-destructive:#fb7185;--color-ring:#f97316;--ink:var(--color-foreground);--muted:var(--color-muted-foreground);--cream:#151529;--surface-raised:#22223b;--line:#303052;--line-strong:#494681;--teal-dark:#ffb276;--teal-soft:#352113;--coral:#8b91ff;--coral-soft:#272750;--success:#63dfa7;--success-soft:#14352a;--danger:var(--color-destructive);--danger-soft:#3e1d2a;--on-accent:var(--color-on-accent);--header-bg:rgba(15,15,35,.84);--shadow-sm:0 1px 2px rgba(0,0,0,.18);--shadow-md:0 12px 30px rgba(0,0,0,.22);--shadow-lg:0 22px 54px rgba(0,0,0,.32);--shadow-xl:0 32px 90px rgba(0,0,0,.42);--shadow:var(--shadow-lg);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--radius-xl:30px;--motion-fast:160ms;--motion-base:240ms;--ease-out:cubic-bezier(.22,1,.36,1)}:root[data-theme=light]{--color-primary:#312e81;--color-secondary:#4f46e5;--color-accent:#ea580c;--color-background:#f7f6ff;--color-foreground:#17152d;--color-card-foreground:#17152d;--color-muted:#eeecfb;--color-muted-foreground:#5b6075;--color-border:#d8d4f0;--color-destructive:#be123c;--color-ring:#4f46e5;--ink:var(--color-foreground);--muted:var(--color-muted-foreground);--cream:#efedf9;--line:#ddd9ef;--line-strong:#b8b2dc;--teal-dark:#a63c08;--teal-soft:#ffeadc;--coral:#4f46e5;--coral-soft:#e9e7ff;--success:#087f5b;--success-soft:#e1f8ee;--danger:var(--color-destructive);--danger-soft:#ffe4e8;--on-accent:var(--color-on-accent);--header-bg:rgba(247,246,255,.88);--shadow-sm:0 1px 2px rgba(38,31,83,.06);--shadow-md:0 12px 30px rgba(38,31,83,.09);--shadow-lg:0 22px 54px rgba(38,31,83,.13);--shadow-xl:0 32px 90px rgba(38,31,83,.16);--shadow:var(--shadow-lg)}html{overflow-x:hidden;background:var(--paper)}body{min-width:320px;overflow-x:clip;background:radial-gradient(circle at 8% -8%,color-mix(in srgb,var(--color-secondary) 24%,transparent),transparent 34rem),radial-gradient(circle at 96% 10%,color-mix(in srgb,var(--color-accent) 8%,transparent),transparent 28rem),var(--paper);background-attachment:fixed;letter-spacing:-.005em}::selection{color:var(--color-on-accent);background:var(--color-accent)}.skip-link{position:fixed;z-index:2000;left:var(--space-md);top:var(--space-md);padding:10px 14px;border-radius:var(--radius-sm);color:var(--color-on-accent);background:var(--color-accent);font-weight:700;opacity:0;pointer-events:none;transform:translateY(-140%);transition:opacity var(--motion-fast) ease,transform var(--motion-base) var(--ease-out)}.skip-link:focus{opacity:1;pointer-events:auto;transform:translateY(0)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--color-ring);outline-offset:3px}h1,h2,h3,strong{text-wrap:balance}p{text-wrap:pretty}.shell{width:min(1240px,calc(100% - 48px))}.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;letter-spacing:.16em}.site-header{height:76px;border-color:color-mix(in srgb,var(--line) 78%,transparent);background:var(--header-bg);backdrop-filter:blur(22px) saturate(135%)}.header-inner{max-width:1320px}.brand{gap:12px;font-size:1.02rem;font-weight:700;letter-spacing:-.01em}.brand-mark{width:42px;height:42px;border:1px solid color-mix(in srgb,var(--teal) 68%,white 12%);border-radius:14px;color:var(--on-accent);background:linear-gradient(145deg,#ff9851,var(--teal));box-shadow:0 8px 24px color-mix(in srgb,var(--teal) 24%,transparent)}.header-actions{gap:12px}.header-actions nav{gap:6px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.header-actions nav a{padding:0 13px;border-radius:10px;font-size:.86rem;transition:color var(--motion-fast) ease,background var(--motion-fast) ease}.header-actions nav a.active,.header-actions nav a:hover{background:var(--color-muted)}.header-actions nav a.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-secondary) 75%,var(--line))}.menu-button,.theme-toggle{border-radius:12px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.menu-button{color:var(--ink);border-color:var(--line-strong)}.menu-button:hover,.menu-button[aria-expanded=true]{border-color:var(--teal);background:var(--teal-soft)}.site-header.is-compact{height:46px;background:color-mix(in srgb,var(--paper) 90%,transparent)}.site-menu{border-color:var(--line-strong);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow-xl)}.site-menu-primary>a{border-radius:14px}.site-menu-primary>a:hover{border-color:var(--line-strong);background:var(--color-muted)}.site-menu-primary>a.active{border-color:color-mix(in srgb,var(--teal) 48%,var(--line));background:var(--teal-soft)}.check-button,.primary-button{min-height:50px;border-radius:12px;color:var(--on-accent);background:linear-gradient(135deg,#ff9650,var(--teal));box-shadow:0 12px 30px color-mix(in srgb,var(--teal) 24%,transparent);transition:filter var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) ease}.check-button:hover:not(:disabled),.primary-button:hover{filter:brightness(1.07);box-shadow:0 16px 36px color-mix(in srgb,var(--teal) 32%,transparent)}.check-button:active:not(:disabled),.primary-button:active{transform:translateY(0)}.remove-download-button,.secondary-button{border-radius:12px;color:var(--ink);background:color-mix(in srgb,var(--surface) 82%,transparent)}.secondary-button:hover{border-color:var(--coral);color:var(--ink);background:var(--coral-soft)}.panel{border-color:var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--surface-raised) 48%,var(--surface)),var(--surface));box-shadow:var(--shadow-md)}.home-hero{min-height:720px;grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr);gap:clamp(48px,7vw,92px);padding-block:92px 76px}.hero-copy{position:relative;z-index:2}.hero-copy h1{max-width:720px;margin:16px 0 24px;font-size:clamp(3.3rem,6.3vw,6rem);line-height:.92;letter-spacing:-.055em}.hero-copy h1 em{color:var(--teal-dark);font-style:normal;text-shadow:0 0 32px color-mix(in srgb,var(--teal) 22%,transparent)}.hero-copy p{max-width:640px;margin-bottom:30px;color:var(--muted);font-size:clamp(1.08rem,1.5vw,1.25rem);line-height:1.65}.hero-actions-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.hero-proof{display:flex;flex-wrap:wrap;gap:10px 20px;margin:26px 0 0;padding:0;color:var(--muted);font-size:.83rem;list-style:none}.hero-proof li{display:inline-flex;align-items:center;gap:8px}.hero-proof li>span{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--teal) 14%,transparent)}.hero-visual{min-height:510px;isolation:isolate;overflow:visible;border-color:color-mix(in srgb,var(--color-secondary) 78%,var(--line));border-radius:38px;background:linear-gradient(150deg,color-mix(in srgb,var(--color-secondary) 58%,var(--surface)) 0,var(--surface) 58%,color-mix(in srgb,var(--teal-soft) 62%,var(--surface)) 100%);box-shadow:var(--shadow-xl),inset 0 1px rgba(255,255,255,.06)}.hero-visual:before{content:"";position:absolute;inset:16px;z-index:-1;border:1px solid color-mix(in srgb,var(--line-strong) 62%,transparent);border-radius:26px}.hero-player-glow{width:250px;height:250px;position:absolute;right:-60px;top:-80px;z-index:-1;border-radius:50%;background:var(--teal);opacity:.12;filter:blur(44px)}.sound-card{border-color:color-mix(in srgb,var(--line-strong) 78%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:blur(18px)}.sound-card-main{width:min(430px,82%);min-height:306px;display:grid;align-content:center;gap:22px;border-radius:24px}.hero-player-heading{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px}.hero-player-heading strong{display:block;color:var(--ink);font-size:1.16rem}.hero-now-playing{font-size:.7rem!important;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.hero-duration{padding:4px 8px;border:1px solid var(--line);border-radius:8px;font-size:.72rem!important;font-variant-numeric:tabular-nums}.visual-icon{color:var(--on-accent)!important;background:linear-gradient(145deg,#ff9650,var(--teal))}.waveform{height:74px;gap:7px;padding-inline:4px}.waveform i{background:linear-gradient(180deg,var(--teal-dark),var(--teal));box-shadow:0 0 14px color-mix(in srgb,var(--teal) 20%,transparent)}.hero-caption-preview{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.hero-caption-preview>span{color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.hero-caption-preview p{margin:4px 0 0;color:var(--ink);font-size:.94rem;line-height:1.4}.hero-caption-preview mark{border-radius:5px;padding:1px 4px;color:var(--on-accent)}.floating-card{border-radius:14px;color:var(--teal-dark)}.floating-card-one{left:-16px;top:72px}.floating-card-two{right:16px;bottom:62px;color:#c5c8ff}.home-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--line);box-shadow:var(--shadow-md)}.journey-card{min-height:154px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:12px;padding:24px;background:color-mix(in srgb,var(--surface) 92%,var(--paper))}.journey-card.is-highlighted{background:linear-gradient(135deg,color-mix(in srgb,var(--color-secondary) 62%,var(--surface)),var(--surface))}.journey-card>span{color:var(--muted);font-size:.69rem}.journey-card strong{display:block;margin-top:-3px;font-size:1rem}.journey-card p{margin:5px 0 0;color:var(--muted);font-size:.84rem;line-height:1.45}.section{padding-block:104px}.section-heading h2,.visual-section-heading h2{letter-spacing:-.035em}.learning-home-grid{gap:16px}.review-home-card{min-height:108px;border-color:var(--line);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-raised) 38%,var(--surface)),var(--surface));box-shadow:var(--shadow-sm)}.review-home-card:hover{border-color:var(--coral);background:var(--coral-soft)}.review-home-card>span:first-child{color:#c5c8ff;background:var(--coral-soft)}.review-home-card>span:last-child{color:var(--teal-dark)}.pwa-install-card{border-color:color-mix(in srgb,var(--coral) 42%,var(--line));border-radius:var(--radius-lg);background:linear-gradient(125deg,color-mix(in srgb,var(--color-secondary) 52%,var(--surface)),var(--surface) 62%);box-shadow:var(--shadow-md)}.episode-grid{gap:18px}.episode-card{position:relative;isolation:isolate;overflow:hidden;border-color:var(--line);border-radius:var(--radius-lg);background:linear-gradient(155deg,color-mix(in srgb,var(--surface-raised) 50%,var(--surface)),var(--surface));box-shadow:var(--shadow-md)}.episode-card:before{content:"";width:180px;height:180px;position:absolute;z-index:-1;right:-70px;top:-90px;border-radius:50%;background:var(--color-secondary);opacity:.22;filter:blur(3px);transition:transform var(--motion-base) var(--ease-out),opacity var(--motion-base) ease}.episode-card:hover{border-color:color-mix(in srgb,var(--coral) 55%,var(--line));box-shadow:var(--shadow-lg);transform:translateY(-4px)}.episode-card:hover:before{opacity:.36;transform:scale(1.12)}.episode-card-signal{display:inline-flex;align-items:center;gap:7px;margin-bottom:22px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.episode-card h3{margin-top:22px;font-size:1.55rem}.how-section{border-block:1px solid var(--line);background:color-mix(in srgb,var(--cream) 78%,transparent)}.step-grid{gap:0;border-color:var(--line);border-radius:var(--radius-lg)}.step-grid li{position:relative;min-height:250px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 82%,transparent)}.step-grid li:last-child{border-right:0}.step-grid h3{font-size:1.25rem}.downloads-page,.lesson-shell,.offline-page,.review-page,.sync-page,.visual-dictionary-page,.visual-scene-page{min-height:calc(100dvh - 158px)}.downloads-heading,.lesson-header,.review-page-heading,.sync-page-heading,.visual-dictionary-heading,.visual-scene-heading{position:relative}.downloads-heading h1,.lesson-header h1,.review-page-heading h1,.sync-page-heading h1,.visual-dictionary-heading h1,.visual-scene-heading h1{letter-spacing:-.045em}.downloads-heading-icon,.sync-heading-icon,.visual-heading-icon{color:#c5c8ff;background:var(--coral-soft)}.lesson-sidebar{border-color:var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-md);backdrop-filter:blur(16px)}.lesson-sidebar nav a.active{color:var(--on-accent);background:var(--teal)}.section-number{border:1px solid color-mix(in srgb,var(--teal) 42%,var(--line));background:var(--teal-soft)}.downloaded-card,.question-card,.review-overview>div,.visual-category-card,.vocabulary-card{border-color:var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--surface-raised) 32%,var(--surface)),var(--surface));box-shadow:var(--shadow-sm)}.fill-label input,.manual-meaning-form textarea,.manual-word-search input,.option-button,.review-form textarea{border-color:var(--line-strong);background:var(--cream)}.option-button:hover:not(:disabled){border-color:var(--coral)}.option-button.selected{border-color:var(--teal);background:var(--teal-soft)}.visual-category-card.is-available:hover{border-color:var(--coral);background:var(--coral-soft)}.visual-category-icon{color:#c5c8ff;background:var(--coral-soft)}.visual-category-status.is-live{color:var(--teal-dark);background:var(--teal-soft)}.visual-scene-main{border-color:var(--line)}.visual-scene-main,.visual-word-card{box-shadow:var(--shadow-lg)}.visual-action-strip{background:color-mix(in srgb,var(--coral-soft) 72%,var(--surface))}.visual-action-strip button.is-active,.visual-action-strip button:hover{border-color:var(--coral);color:#d7d9ff;background:var(--coral-soft)}.youtube-player-frame{border-color:color-mix(in srgb,var(--line-strong) 78%,transparent);box-shadow:var(--shadow-lg)}.youtube-study-strip{border-color:var(--line)}.persistent-player{border-color:var(--line-strong);background:color-mix(in srgb,var(--surface-raised) 94%,transparent);box-shadow:0 -18px 52px rgba(0,0,0,.42)}.player-controls .play-button{background:linear-gradient(145deg,#ff9650,var(--teal))}.active-subtitle mark,.transcript-word.active{color:var(--teal-dark)}.global-dictionary-stack{scrollbar-color:var(--line-strong) transparent}.global-dictionary-panel{border-color:var(--line-strong);background:linear-gradient(155deg,var(--surface-raised),var(--surface));box-shadow:var(--shadow-xl)}footer{border-color:var(--line);background:color-mix(in srgb,var(--paper) 90%,transparent)}.footer-inner{min-height:96px}@media (max-width:1060px){.home-hero{grid-template-columns:1fr;gap:54px;padding-top:72px}.hero-copy{text-align:center}.hero-copy h1,.hero-copy p{margin-inline:auto}.hero-copy h1 em{display:inline}.hero-actions-row,.hero-proof{justify-content:center}.hero-visual{width:min(720px,100%);margin-inline:auto}.home-journey{grid-template-columns:1fr}.journey-card{min-height:124px}}@media (max-width:700px){.shell{width:min(100% - 28px,1240px)}body{background-attachment:scroll}.site-header{height:66px}.brand{font-size:.94rem}.home-hero{min-height:auto;gap:44px;padding-block:56px 50px}.hero-copy h1{margin-top:14px;font-size:clamp(3rem,15vw,4.3rem);line-height:.94}.hero-copy p{font-size:1.05rem}.hero-actions-row{display:grid;grid-template-columns:1fr}.hero-actions-row>*{width:100%}.hero-proof{gap:8px 14px}.hero-visual{min-height:420px;overflow:hidden;border-radius:26px}.hero-visual:before{inset:10px;border-radius:19px}.sound-card-main{width:calc(100% - 40px);min-height:292px;padding:20px}.floating-card{display:none}.hero-player-heading{grid-template-columns:auto minmax(0,1fr)}.hero-duration{display:none!important}.home-journey{margin-top:0}.journey-card{grid-template-columns:auto auto minmax(0,1fr);padding:20px 17px}.section{padding-block:76px}.learning-home-grid{gap:12px}.review-home-card{min-height:122px}.episode-card{min-height:300px;padding:22px}.step-grid li{min-height:190px;border-right:0;border-bottom:1px solid var(--line)}.step-grid li:last-child{border-bottom:0}.downloads-heading h1,.lesson-header h1,.review-page-heading h1,.sync-page-heading h1,.visual-dictionary-heading h1,.visual-scene-heading h1{line-height:.98}}@media (prefers-reduced-motion:reduce){.episode-card:before,.hero-player-glow{transition:none!important}}.reader-library-page{padding-block:54px 110px}.reader-library-hero{min-height:430px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:center;gap:clamp(40px,7vw,90px);overflow:hidden;border:1px solid var(--line-strong);border-radius:34px;padding:clamp(34px,5vw,66px);background:radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--teal) 18%,transparent),transparent 17rem),linear-gradient(135deg,color-mix(in srgb,var(--color-secondary) 58%,var(--surface)) 0,var(--surface) 60%,color-mix(in srgb,var(--teal-soft) 55%,var(--surface)) 100%);box-shadow:var(--shadow-xl)}.reader-library-hero h1{max-width:720px;margin:14px 0 20px;font:650 clamp(3rem,6vw,5.4rem)/.95 var(--font-outfit),sans-serif;letter-spacing:-.055em}.reader-library-hero p{max-width:660px;margin:0;color:var(--muted);font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65}.reader-library-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;margin-top:28px}.reader-library-actions>span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.82rem}.reader-import-meanings{width:fit-content;max-width:620px;display:flex;align-items:flex-start;gap:11px;margin-top:17px;color:var(--ink);cursor:pointer}.reader-import-meanings input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--teal)}.reader-import-meanings span{display:grid;gap:2px}.reader-import-meanings strong{font-size:.84rem}.reader-import-meanings small{color:var(--muted);font-size:.75rem;line-height:1.45}.reader-import-error{width:fit-content;margin-top:16px!important;border:1px solid color-mix(in srgb,var(--danger) 50%,transparent);border-radius:12px;padding:10px 13px;color:var(--danger)!important;background:var(--danger-soft);font-size:.86rem!important}.reader-hero-preview{min-height:310px;position:relative;display:grid;place-items:center}.reader-preview-book{width:min(270px,74%);aspect-ratio:.72;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid color-mix(in srgb,white 18%,var(--line));border-radius:10px 25px 25px 10px;padding:28px 24px;color:#171126;background:linear-gradient(150deg,#fff9ea,#e8dcc3);box-shadow:-12px 16px 0 #312e81,0 30px 70px rgba(0,0,0,.34);transform:rotate(-4deg)}.reader-preview-book:after{content:"";position:absolute;inset:0 auto 0 14px;width:1px;background:rgba(58,42,29,.2)}.reader-preview-book span{color:#6f4d34;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.reader-preview-book strong{margin:7px 0 34px;font:650 1.65rem/1.08 var(--font-outfit),sans-serif}.reader-preview-book small{color:#654f3e;font-size:.72rem}.reader-preview-card{min-height:54px;position:absolute;display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:14px;padding:11px 14px;color:var(--ink);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-md);backdrop-filter:blur(18px);font-size:.8rem;font-weight:700}.reader-preview-card:nth-of-type(2){left:-6px;top:58px}.reader-preview-card:nth-of-type(3){right:-2px;bottom:46px}.reader-preview-card svg{color:var(--teal-dark)}.reader-library-section{padding-top:78px}.reader-library-section>header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.reader-library-section h2{margin:5px 0 0;font:650 clamp(2rem,4vw,3.1rem)/1 var(--font-outfit),sans-serif;letter-spacing:-.04em}.reader-library-section>header>span{color:var(--muted);font-size:.85rem}.reader-empty-state{min-height:300px;display:grid;place-items:center;align-content:center;border:1px dashed var(--line-strong);border-radius:26px;padding:34px;text-align:center;background:color-mix(in srgb,var(--surface) 58%,transparent)}.reader-empty-state>span{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:var(--teal-dark);background:var(--teal-soft)}.reader-empty-state h3{margin:16px 0 5px;font-size:1.32rem}.reader-empty-state p{max-width:500px;margin:0 0 20px;color:var(--muted)}.reader-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reader-book-card{min-width:0;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-raised) 45%,var(--surface)),var(--surface));box-shadow:var(--shadow-sm);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-base) ease,transform var(--motion-base) var(--ease-out)}.reader-book-card:hover{border-color:color-mix(in srgb,var(--teal) 52%,var(--line));box-shadow:var(--shadow-md);transform:translateY(-2px)}.reader-book-open{width:100%;min-height:278px;display:grid;grid-template-columns:132px minmax(0,1fr);align-items:stretch;gap:22px;border:0;padding:20px 58px 66px 20px;color:inherit;text-align:left;background:transparent;cursor:pointer}.reader-book-cover{width:132px;min-height:192px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px 17px 17px 8px;color:var(--teal-dark);background:linear-gradient(145deg,var(--color-secondary),var(--surface));box-shadow:-5px 7px 0 color-mix(in srgb,var(--color-secondary) 74%,black),0 18px 32px rgba(0,0,0,.2)}.reader-book-cover img{width:100%;height:100%;display:block;object-fit:cover}.reader-book-details{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding-block:4px}.reader-book-offline{display:inline-flex;align-items:center;gap:5px;color:var(--success);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.reader-book-details>strong{display:-webkit-box;overflow:hidden;margin:12px 0 4px;font:650 1.34rem/1.18 var(--font-outfit),sans-serif;letter-spacing:-.025em;-webkit-box-orient:vertical;-webkit-line-clamp:3}.reader-book-details>small{color:var(--muted);font-size:.84rem}.reader-book-meta{margin-top:auto;color:var(--muted);font-size:.73rem}.reader-book-progress{width:100%;position:relative;display:block;margin-top:14px;padding-top:9px}.reader-book-progress:before,.reader-book-progress>i{content:"";height:4px;position:absolute;left:0;right:0;top:0;border-radius:999px;background:var(--line)}.reader-book-progress>i{right:auto;background:var(--teal);box-shadow:0 0 12px color-mix(in srgb,var(--teal) 28%,transparent)}.reader-book-progress small{color:var(--muted);font-size:.68rem}.reader-book-remove{width:44px;height:44px;position:absolute;z-index:2;right:12px;top:12px;display:grid;place-items:center;border:1px solid transparent;border-radius:12px;color:var(--muted);background:transparent;cursor:pointer;transition:color var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease}.reader-book-remove:hover{border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger);background:var(--danger-soft)}.reader-book-remove:disabled{cursor:not-allowed;opacity:.35}.reader-book-lexicon{min-height:36px;max-width:calc(100% - 40px);position:absolute;z-index:2;right:14px;bottom:14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid color-mix(in srgb,var(--teal) 40%,var(--line));border-radius:11px;padding:0 11px;color:var(--teal-dark);background:color-mix(in srgb,var(--teal-soft) 62%,var(--surface));font-size:.73rem;font-weight:800;cursor:pointer}.reader-book-lexicon:hover:not(:disabled){border-color:var(--teal);background:var(--teal-soft)}.reader-book-lexicon:disabled{cursor:default;opacity:.82}.reader-book-lexicon.is-complete{color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,var(--line));background:color-mix(in srgb,var(--success) 10%,var(--surface))}.reader-loading{min-height:calc(100dvh - 76px);display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.book-reader{--reader-page:#121322;--reader-text:#f6f3eb;--reader-muted:#a9a8b5;height:100dvh;min-height:520px;position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;color:var(--reader-text);background:#090a13}.book-reader.reader-background-paper{--reader-page:#fbf8f0;--reader-text:#27231f;--reader-muted:#6b6259;background:#ded9ce}.book-reader.reader-background-sepia{--reader-page:#ead9ba;--reader-text:#33271c;--reader-muted:#74614e;background:#c8ae83}.book-reader.reader-background-forest{--reader-page:#13241f;--reader-text:#edf5ed;--reader-muted:#a7b9ad;background:#08140f}.book-reader-toolbar{min-height:68px;position:relative;z-index:4;display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr) minmax(220px,1fr);align-items:center;gap:18px;border-bottom:1px solid color-mix(in srgb,var(--reader-text) 14%,transparent);padding:max(10px,env(safe-area-inset-top)) clamp(14px,3vw,38px) 10px;color:var(--reader-text);background:color-mix(in srgb,var(--reader-page) 92%,black 8%)}.book-reader-controls button,.book-reader-toolbar button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid color-mix(in srgb,var(--reader-text) 18%,transparent);border-radius:12px;padding:0 13px;color:var(--reader-text);background:color-mix(in srgb,var(--reader-page) 88%,transparent);cursor:pointer;transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease,color var(--motion-fast) ease}.book-reader-controls button:hover:not(:disabled),.book-reader-toolbar button:hover,.book-reader-toolbar button[aria-expanded=true]{border-color:var(--teal);color:var(--teal-dark);background:color-mix(in srgb,var(--teal-soft) 72%,var(--reader-page))}.book-reader-title{min-width:0;text-align:center}.book-reader-title small,.book-reader-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-reader-title strong{font:650 .95rem/1.25 var(--font-outfit),sans-serif}.book-reader-title small{margin-top:2px;color:var(--reader-muted);font-size:.7rem}.book-reader-toolbar .reader-title-lexicon{min-height:14px;max-width:100%;justify-self:center;gap:4px;overflow:hidden;border:0;border-radius:4px;padding:0 3px;color:var(--teal);background:transparent;font-size:.58rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.book-reader-toolbar .reader-title-lexicon:disabled{cursor:default;opacity:.82}.book-reader-toolbar .reader-title-lexicon.is-complete{color:#7ee9c2}.book-reader-toolbar .reader-title-lexicon:hover{border-color:transparent;color:var(--teal);background:transparent}.book-reader-toolbar .reader-title-lexicon.is-complete:hover{color:#7ee9c2}.book-reader-toolbar-actions{display:flex;justify-content:flex-end;gap:8px}.book-reader-stage{min-height:0;position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;padding:clamp(12px,2vw,24px) clamp(12px,3vw,42px)}.reader-page-viewport{min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--reader-text) 12%,transparent);border-radius:14px;background:var(--reader-page);box-shadow:0 22px 70px rgba(0,0,0,.25);cursor:grab;touch-action:pan-y pinch-zoom;overscroll-behavior:contain;transform-style:preserve-3d;will-change:transform,opacity;transition:background var(--motion-base) ease}.reader-page-viewport:active{cursor:grabbing}.reader-columns{--reader-column-width:700px;--reader-column-gap:42px;width:100%;height:100%;overflow:hidden;column-fill:auto;column-width:var(--reader-column-width);column-gap:var(--reader-column-gap);padding:clamp(24px,3vw,44px) clamp(25px,6vw,88px) clamp(12px,1.5vw,20px);color:var(--reader-text);font-family:var(--font-atkinson),sans-serif;font-size:var(--reader-font-size);line-height:1.68;scroll-behavior:auto;user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.reader-columns h2{margin:0 0 1.2em;color:var(--reader-text);font:650 1.55em/1.15 var(--font-outfit),sans-serif;letter-spacing:-.025em;break-after:avoid-column}.reader-columns p{margin:0 0 1.05em;color:var(--reader-text);text-wrap:pretty}.reader-separator{height:1.2em;break-inside:avoid}.reader-illustration{max-width:100%;height:auto;margin:0 0 1.2em;break-inside:avoid-column;text-align:center}.reader-illustration img{max-width:100%;max-height:62vh;border-radius:8px;object-fit:contain}.reader-sentence{border-radius:.22em;cursor:text;transition:color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.reader-sentence:hover{background:color-mix(in srgb,var(--teal) 11%,transparent)}.reader-sentence.is-selected{color:var(--reader-text);background:color-mix(in srgb,var(--teal) 22%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 34%,transparent)}.book-reader-controls button:disabled{opacity:.35;cursor:not-allowed}.book-reader-controls{min-height:72px;position:relative;z-index:4;display:grid;grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr);align-items:center;gap:18px;border-top:1px solid color-mix(in srgb,var(--reader-text) 14%,transparent);padding:10px max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));color:var(--reader-text);background:color-mix(in srgb,var(--reader-page) 94%,black 6%)}.reader-page-status{min-width:0;min-height:44px;display:grid;grid-template-columns:auto minmax(70px,180px) auto;align-items:center;gap:9px;color:var(--reader-muted);font-size:.7rem;font-variant-numeric:tabular-nums;cursor:pointer}.reader-page-status input{width:100%;height:44px;margin:0;accent-color:var(--teal);cursor:ew-resize;touch-action:manipulation}.reader-page-status input:disabled{opacity:.4;cursor:not-allowed}.reader-page-status input:focus-visible{outline:3px solid color-mix(in srgb,var(--teal) 45%,transparent);outline-offset:2px;border-radius:999px}.reader-page-status output{white-space:nowrap}.reader-listen-navigation{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px}.reader-page-button{width:44px;flex:0 0 44px;padding:0!important}.reader-sentence-audio{min-width:190px;font-weight:750}.reader-sentence-audio.is-ready{color:var(--on-accent);border-color:var(--teal);background:var(--teal);box-shadow:0 8px 24px color-mix(in srgb,var(--teal) 22%,transparent)}.reader-control-end{min-width:0;gap:8px}.reader-control-end,.reader-quick-font{display:flex;align-items:center;justify-content:flex-end}.reader-quick-font{gap:7px}.reader-quick-font button{width:44px;padding:0}.reader-quick-font>span{min-width:28px;color:var(--reader-muted);text-align:center;font-size:.74rem;font-variant-numeric:tabular-nums}.reader-panel-scrim{position:fixed;inset:0;z-index:285;visibility:hidden;border:0;background:rgba(0,0,0,.56);opacity:0;pointer-events:none;transition:visibility 0s linear var(--motion-base),opacity var(--motion-fast) ease;backdrop-filter:blur(3px)}.reader-panel-scrim.is-open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}.reader-panel{width:min(430px,calc(100% - 24px));position:fixed;z-index:290;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line-strong);border-radius:26px;color:var(--ink);background:color-mix(in srgb,var(--surface) 98%,transparent);box-shadow:var(--shadow-xl);opacity:0;pointer-events:none;transform:translateX(calc(100% + 30px));transition:opacity var(--motion-fast) ease,transform var(--motion-base) var(--ease-out)}.reader-panel.is-open{opacity:1;pointer-events:auto;transform:translateX(0)}.reader-panel>header{min-height:76px;position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:14px 16px 14px 20px;background:color-mix(in srgb,var(--surface) 98%,transparent)}.reader-panel>header strong{display:block;margin-top:2px;font-size:1.15rem}.reader-panel>header .reader-panel-close{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:var(--ink);background:var(--cream);cursor:pointer;font-size:.78rem;font-weight:750}.reader-contents{overflow-y:auto;padding:12px;overscroll-behavior:contain}.reader-contents button{width:100%;min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid transparent;border-radius:13px;padding:8px 11px;color:var(--muted);text-align:left;background:transparent;cursor:pointer;transition:border-color var(--motion-fast) ease,color var(--motion-fast) ease,background var(--motion-fast) ease}.reader-contents button.is-active,.reader-contents button:hover{border-color:var(--line);color:var(--ink);background:var(--cream)}.reader-contents button.is-active{border-color:color-mix(in srgb,var(--teal) 45%,var(--line));background:var(--teal-soft)}.reader-contents button>span{font-size:.7rem;font-variant-numeric:tabular-nums}.reader-contents button strong{overflow:hidden;font-size:.86rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.reader-contents button svg{color:var(--teal-dark)}.reader-display-settings{overflow-y:auto;padding:18px;overscroll-behavior:contain}.reader-display-settings>section{border-bottom:1px solid var(--line);padding:4px 0 22px;margin-bottom:20px}.reader-display-settings label,.reader-setting-label{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;color:var(--muted);font-size:.82rem;font-weight:700}.reader-display-settings label strong{color:var(--ink);font-variant-numeric:tabular-nums}.reader-font-stepper{display:grid;grid-template-columns:1fr 58px 1fr;align-items:center;gap:8px}.reader-font-stepper button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--cream);cursor:pointer}.reader-font-stepper button:disabled{opacity:.4;cursor:not-allowed}.reader-font-stepper>span{color:var(--ink);text-align:center;font-size:1.25rem}.reader-font-preview{min-height:154px;overflow:hidden;margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:16px;font-family:var(--font-atkinson),sans-serif;line-height:1.62;transition:color var(--motion-fast) ease,background var(--motion-fast) ease}.reader-font-preview>span{display:block;margin-bottom:10px;opacity:.68;font:750 .64rem/1 var(--font-outfit),sans-serif;letter-spacing:.12em;text-transform:uppercase}.reader-font-preview p{margin:0;color:inherit;font-size:inherit;line-height:inherit}.reader-font-preview.is-midnight{color:#f6f3eb;background:#121322}.reader-font-preview.is-paper{color:#27231f;background:#fbf8f0}.reader-font-preview.is-sepia{color:#33271c;background:#ead9ba}.reader-font-preview.is-forest{color:#edf5ed;background:#13241f}.reader-background-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reader-background-options button{min-height:74px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:9px;border:2px solid transparent;border-radius:13px;padding:8px 10px;color:var(--ink);text-align:left;background:var(--cream);cursor:pointer}.reader-background-options button.is-selected{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 14%,transparent)}.reader-background-options button>span{width:38px;height:46px;display:grid;place-items:center;border-radius:5px 9px 9px 5px;font-family:serif}.reader-background-options .is-midnight>span{color:#f6f3eb;background:#121322}.reader-background-options .is-paper>span{color:#27231f;background:#fbf8f0}.reader-background-options .is-sepia>span{color:#33271c;background:#ead9ba}.reader-background-options .is-forest>span{color:#edf5ed;background:#13241f}.reader-dictionary-tip{display:grid;grid-template-columns:auto 1fr;gap:11px;border:1px solid color-mix(in srgb,var(--teal) 34%,var(--line));border-radius:14px;padding:14px;color:var(--teal-dark);background:var(--teal-soft)}.reader-dictionary-tip p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.reader-dictionary-tip strong{display:block;margin-bottom:2px;color:var(--ink)}.reader-downloads-section{margin-top:26px}.reader-immersive-exit{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid color-mix(in srgb,var(--reader-text) 20%,transparent);border-radius:999px;padding:0 15px;color:var(--reader-text);background:color-mix(in srgb,var(--reader-page) 88%,transparent);cursor:pointer;opacity:.78;transition:opacity var(--motion-fast) ease,background var(--motion-fast) ease}.reader-immersive-exit:focus-visible,.reader-immersive-exit:hover{opacity:1;background:color-mix(in srgb,var(--reader-page) 96%,transparent)}body.reader-book-active{overflow:hidden}body.reader-book-active .menu-scrim,body.reader-book-active .site-header,body.reader-book-active .site-menu{display:none}body.reader-immersive-active{overflow:hidden}body.reader-immersive-active .site-header{display:none}.book-reader.is-immersive{width:100%;height:100dvh;min-height:0;position:fixed;z-index:100;inset:0;grid-template-rows:minmax(0,1fr) auto}.book-reader.is-immersive .book-reader-toolbar{display:none}.book-reader.is-immersive .book-reader-controls{min-height:68px;grid-template-columns:minmax(170px,1fr) auto minmax(0,1fr);padding-block:7px max(7px,env(safe-area-inset-bottom))}.book-reader.is-immersive .reader-page-status{justify-self:start}.book-reader.is-immersive .book-reader-stage{grid-template-columns:minmax(0,1fr);padding:0}.book-reader.is-immersive .reader-page-viewport{border:0;border-radius:0;box-shadow:none}.book-reader.is-immersive .reader-columns{padding-top:max(24px,calc(env(safe-area-inset-top) + 14px));padding-bottom:12px}@media (max-width:1180px){.book-reader-toolbar{grid-template-columns:auto minmax(0,1fr) auto}.book-reader-toolbar button span{display:none}}@media (max-width:980px){.reader-library-hero{grid-template-columns:1fr}.reader-hero-preview{display:none}.reader-book-grid{grid-template-columns:1fr}.book-reader-toolbar{grid-template-columns:auto minmax(0,1fr) auto}.book-reader-toolbar button span{display:none}.book-reader-toolbar-actions{gap:6px}.book-reader-controls{grid-template-columns:minmax(150px,1fr) auto minmax(120px,1fr);gap:12px}.reader-page-status{width:100%}.book-reader.is-immersive .reader-immersive-exit{width:44px;padding:0}.book-reader.is-immersive .reader-immersive-exit span{display:none}}@media (max-width:640px){.reader-library-page{width:min(100% - 24px,1240px);padding-block:18px 72px}.reader-library-hero{min-height:0;border-radius:24px;padding:28px 20px}.reader-library-hero h1{font-size:clamp(2.6rem,14vw,4rem)}.reader-library-actions{align-items:stretch;flex-direction:column}.reader-library-actions .primary-button{width:100%;justify-content:center}.reader-import-meanings{width:100%}.reader-book-lexicon{left:14px;right:auto}.reader-library-section{padding-top:54px}.reader-book-open{min-height:236px;grid-template-columns:94px minmax(0,1fr);gap:16px;padding:16px 52px 62px 16px}.reader-book-cover{width:94px;min-height:146px}.reader-book-details>strong{font-size:1.08rem;-webkit-line-clamp:4}.reader-book-meta{font-size:.66rem}.book-reader{height:100dvh;min-height:460px}.book-reader-toolbar{min-height:58px;gap:8px;padding:7px 8px}.book-reader-toolbar button{width:44px;padding:0}.book-reader-title strong{font-size:.82rem}.book-reader-title small{font-size:.63rem}.book-reader-stage{grid-template-columns:minmax(0,1fr);padding:0}.reader-page-viewport{border:0;border-radius:0}.reader-columns{padding:22px 22px 10px;line-height:1.62}.book-reader-controls{min-height:104px;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.reader-listen-navigation{width:100%;grid-column:1/-1;grid-row:1;justify-self:center}.reader-sentence-audio{min-width:0;min-height:44px;flex:1 1 auto;padding-inline:8px!important}.reader-sentence-audio span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-page-status{grid-template-columns:auto minmax(40px,1fr) auto;grid-column:1;grid-row:2}.reader-control-end{grid-column:2;grid-row:2}.book-reader.is-immersive .book-reader-controls{min-height:104px;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px}.reader-quick-font{gap:4px}.reader-quick-font button{width:44px;min-height:44px}.reader-quick-font>span{min-width:20px}.reader-panel{top:max(8px,env(safe-area-inset-top));right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);border-radius:22px}}@media (max-height:620px) and (orientation:landscape){.book-reader-toolbar{min-height:52px;padding-block:4px}.book-reader-controls{min-height:56px}.reader-columns{padding-block:20px}.reader-sentence-audio{min-height:40px}.book-reader.is-immersive .book-reader-controls{min-height:56px}}@media (prefers-reduced-motion:reduce){.reader-book-card,.reader-font-preview,.reader-immersive-exit,.reader-page-viewport,.reader-panel,.reader-panel-scrim,.reader-sentence{transition:none}}:root,:root[data-theme=dark]{--color-primary:#7c6cff;--color-on-primary:#ffffff;--color-secondary:#9b6dff;--color-on-secondary:#ffffff;--color-accent:#74f2c4;--color-on-accent:#061711;--color-background:#070711;--color-foreground:#f8f7ff;--color-card:#11111d;--color-card-foreground:#f8f7ff;--color-muted:#1c1b2b;--color-muted-foreground:#b4b2c4;--color-border:#353150;--color-ring:#74f2c4;--paper:var(--color-background);--cream:#0d0d18;--surface:var(--color-card);--surface-raised:#171625;--line:#29263e;--line-strong:#454063;--teal:var(--color-accent);--teal-dark:#a0f8d8;--teal-soft:#102e25;--coral:var(--color-secondary);--coral-soft:#251d46;--warm:#ff7a59;--header-bg:rgba(10,10,20,.66);--shadow-sm:0 8px 24px rgba(0,0,0,.16);--shadow-md:0 20px 48px rgba(0,0,0,.24);--shadow-lg:0 30px 70px rgba(0,0,0,.34);--shadow-xl:0 44px 110px rgba(0,0,0,.48);--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--radius-xl:38px;--ease-spring:cubic-bezier(.16,1,.3,1)}:root[data-theme=light]{--color-primary:#5b45e8;--color-on-primary:#ffffff;--color-secondary:#7047d8;--color-on-secondary:#ffffff;--color-accent:#087a59;--color-on-accent:#ffffff;--color-background:#f4f3fb;--color-foreground:#14121d;--color-card:#ffffff;--color-card-foreground:#14121d;--color-muted:#eae7f4;--color-muted-foreground:#575466;--color-border:#d6d0e8;--color-ring:#5b45e8;--paper:var(--color-background);--cream:#efedf6;--surface:var(--color-card);--surface-raised:#ffffff;--line:#ddd8ea;--line-strong:#bdb4d7;--teal:var(--color-accent);--teal-dark:#075e46;--teal-soft:#d8f6e9;--coral:var(--color-secondary);--coral-soft:#ebe4ff;--warm:#d84f31;--header-bg:rgba(255,255,255,.72)}body{font-family:var(--font-atkinson),"Atkinson Hyperlegible",system-ui,sans-serif;background-color:var(--paper);background-image:radial-gradient(circle at 12% -4%,color-mix(in srgb,var(--color-secondary) 24%,transparent),transparent 31rem),radial-gradient(circle at 92% 16%,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 32rem),linear-gradient(color-mix(in srgb,var(--line) 18%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 18%,transparent) 1px,transparent 1px);background-size:auto,auto,64px 64px,64px 64px;background-position:50%,50%,top,top}.brand,.section-heading strong,.visual-word-card h2,h1,h2,h3{font-family:var(--font-outfit),var(--font-atkinson),system-ui,sans-serif}.shell{width:min(1280px,calc(100% - 48px))}.eyebrow{gap:9px;color:var(--teal-dark);font-family:var(--font-outfit),sans-serif;font-weight:700;letter-spacing:.18em}.site-header{height:86px;overflow:visible;border:0;padding-top:10px;background:transparent;backdrop-filter:none;transition:height .32s var(--ease-spring),padding .32s var(--ease-spring)}.header-inner{min-height:62px;max-width:1360px;border:1px solid color-mix(in srgb,var(--line-strong) 72%,transparent);border-radius:22px;padding-inline:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-raised) 82%,transparent),color-mix(in srgb,var(--surface) 68%,transparent));box-shadow:0 16px 46px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(24px) saturate(150%);transition:width .32s var(--ease-spring),min-height .32s var(--ease-spring),border-radius .32s var(--ease-spring)}.brand{left:13px;font-size:1rem;letter-spacing:-.025em}.brand-mark{width:44px;height:44px;border:1px solid color-mix(in srgb,var(--teal) 48%,white 18%);border-radius:15px;color:var(--color-on-accent);background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.56),transparent 28%),linear-gradient(145deg,var(--teal),color-mix(in srgb,var(--teal) 68%,var(--coral)));box-shadow:0 10px 26px color-mix(in srgb,var(--teal) 23%,transparent)}.header-actions{right:13px;gap:9px}.header-actions nav{gap:3px;padding:4px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:15px;background:color-mix(in srgb,var(--cream) 62%,transparent)}.header-actions nav a{min-height:38px;border-radius:11px;padding-inline:14px;font-size:.82rem}.header-actions nav a.active,.header-actions nav a:hover{color:var(--ink);background:color-mix(in srgb,var(--surface-raised) 82%,transparent)}.header-actions nav a.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--coral) 44%,var(--line))}.menu-button,.theme-toggle{border-color:color-mix(in srgb,var(--line-strong) 70%,transparent);background:color-mix(in srgb,var(--surface-raised) 72%,transparent)}.menu-button{min-width:94px}.site-header.is-compact{height:50px;padding-top:6px;border:0;background:transparent;box-shadow:none}.site-header.is-compact .header-inner{width:150px;min-height:36px;border-radius:18px}.site-header.is-compact .brand-mark{width:27px;height:27px}.site-menu{border-color:color-mix(in srgb,var(--line-strong) 74%,transparent);background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--coral) 24%,transparent),transparent 18rem),color-mix(in srgb,var(--surface-raised) 92%,transparent);backdrop-filter:blur(30px) saturate(145%)}.check-button,.primary-button{min-height:52px;border-radius:999px;padding-inline:24px;color:var(--color-on-accent);background:linear-gradient(115deg,var(--teal),color-mix(in srgb,var(--teal) 68%,#9fffdc));box-shadow:0 14px 34px color-mix(in srgb,var(--teal) 20%,transparent),inset 0 1px rgba(255,255,255,.46)}.check-button:hover:not(:disabled),.primary-button:hover{filter:saturate(1.1) brightness(1.04);transform:translateY(-2px)}.remove-download-button,.secondary-button{min-height:52px;border-color:color-mix(in srgb,var(--line-strong) 78%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 70%,transparent);backdrop-filter:blur(14px)}.panel{border-color:color-mix(in srgb,var(--line-strong) 62%,transparent);border-radius:var(--radius-lg);background:linear-gradient(145deg,color-mix(in srgb,var(--surface-raised) 80%,transparent),color-mix(in srgb,var(--surface) 92%,transparent));box-shadow:var(--shadow-md),inset 0 1px rgba(255,255,255,.045);backdrop-filter:blur(18px)}.home-hero{min-height:760px;grid-template-columns:minmax(0,1.04fr) minmax(480px,.96fr);gap:clamp(48px,6.5vw,92px);padding-block:100px 84px}.hero-copy h1{max-width:760px;margin:18px 0 26px;font-size:clamp(4.1rem,7vw,7.25rem);font-weight:560;line-height:.84;letter-spacing:-.075em}.hero-copy h1 em{display:block;padding-right:.08em;color:transparent;background:linear-gradient(98deg,var(--teal) 5%,#a9c8ff 48%,#d2a8ff 92%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}.hero-copy p{max-width:610px;color:color-mix(in srgb,var(--muted) 92%,var(--ink));font-size:clamp(1.08rem,1.45vw,1.24rem)}.hero-proof{margin-top:30px;gap:10px}.hero-proof li{min-height:34px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:999px;padding:4px 12px;background:color-mix(in srgb,var(--surface) 56%,transparent);backdrop-filter:blur(10px)}.hero-proof li>span{background:var(--teal);box-shadow:0 0 14px color-mix(in srgb,var(--teal) 72%,transparent)}.hero-visual{min-height:550px;border-color:color-mix(in srgb,var(--coral) 34%,var(--line-strong));border-radius:46px;background:linear-gradient(145deg,color-mix(in srgb,var(--coral-soft) 82%,var(--surface)) 0,color-mix(in srgb,var(--surface) 94%,transparent) 50%,color-mix(in srgb,var(--teal-soft) 62%,var(--surface)) 100%);box-shadow:0 50px 120px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.09);transform:perspective(1100px) rotateY(-2deg) rotateX(1deg);animation:hero-arrive .7s var(--ease-spring) both}.hero-visual:before{inset:12px;border-color:color-mix(in srgb,var(--line-strong) 60%,transparent);border-radius:35px}.hero-visual:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.08) 44%,transparent 68%);transform:translateX(-100%);animation:glass-sheen 8s ease-in-out 1.2s infinite}.hero-visual-index{position:absolute;left:34px;top:28px;z-index:2;color:color-mix(in srgb,var(--muted) 82%,transparent);font-family:var(--font-outfit),sans-serif;font-size:.67rem;font-weight:700;letter-spacing:.16em}.hero-aurora{position:absolute;z-index:-1;border-radius:50%;filter:blur(32px);opacity:.58}.hero-aurora-one{width:260px;height:260px;right:-44px;top:-48px;background:var(--coral);animation:aurora-float 9s ease-in-out infinite}.hero-aurora-two{width:210px;height:210px;left:-38px;bottom:-30px;background:var(--teal);animation:aurora-float 11s ease-in-out -3s infinite reverse}.hero-player-glow{right:10%;top:22%;background:var(--coral);opacity:.18}.sound-card{border-color:color-mix(in srgb,var(--line-strong) 62%,transparent);background:color-mix(in srgb,var(--surface-raised) 72%,transparent);box-shadow:0 28px 70px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(26px) saturate(145%)}.sound-card-main{width:min(455px,84%);min-height:350px;gap:20px;border-radius:28px;padding:28px}.hero-now-playing{display:inline-flex;align-items:center;gap:5px;color:var(--teal-dark)!important}.hero-now-playing svg{filter:drop-shadow(0 0 6px var(--teal))}.visual-icon{color:var(--color-on-accent)!important;background:linear-gradient(145deg,var(--teal),color-mix(in srgb,var(--teal) 62%,var(--coral)))}.waveform{height:68px}.waveform i{transform-origin:center;background:linear-gradient(180deg,#bba6ff,var(--teal));box-shadow:0 0 18px color-mix(in srgb,var(--teal) 20%,transparent);animation:waveform-breathe 3.6s ease-in-out infinite}.waveform i:nth-child(3n+1){animation-delay:-.8s}.waveform i:nth-child(3n+2){animation-delay:-1.7s}.hero-caption-preview{border-color:color-mix(in srgb,var(--line-strong) 70%,transparent);background:color-mix(in srgb,var(--cream) 76%,transparent)}.hero-caption-preview mark{color:var(--color-on-accent);background:var(--teal);box-shadow:0 0 16px color-mix(in srgb,var(--teal) 20%,transparent)}.hero-learning-path{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:9px;color:var(--muted);font-size:.7rem;font-weight:700}.hero-learning-path span{display:inline-flex;align-items:center;gap:5px}.hero-learning-path span.is-active{color:var(--teal-dark)}.hero-learning-path i{height:1px;background:linear-gradient(90deg,var(--teal),var(--line-strong))}.floating-card{border-radius:18px}.floating-card-one{left:-24px;top:84px}.floating-card-two{right:18px;bottom:54px;color:#d6caff}.home-journey{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.journey-card{min-height:184px;position:relative;isolation:isolate;overflow:hidden;grid-template-columns:auto minmax(0,1fr);gap:18px;border:1px solid color-mix(in srgb,var(--line-strong) 58%,transparent);border-radius:28px;padding:28px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-raised) 88%,transparent),color-mix(in srgb,var(--surface) 92%,transparent));box-shadow:var(--shadow-md),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(18px);transition:transform .3s var(--ease-spring),border-color .22s ease,box-shadow .3s ease}.journey-card:first-child{grid-column:span 5}.journey-card:nth-child(2){grid-column:span 4}.journey-card:nth-child(3){grid-column:span 3}.journey-card:hover{border-color:color-mix(in srgb,var(--teal) 40%,var(--line));transform:translateY(-5px);box-shadow:var(--shadow-lg)}.journey-card.is-highlighted{background:linear-gradient(135deg,color-mix(in srgb,var(--coral) 34%,var(--surface)),color-mix(in srgb,var(--surface) 94%,transparent))}.journey-card>span{position:absolute;right:16px;bottom:-24px;z-index:-1;color:color-mix(in srgb,var(--ink) 7%,transparent);font-family:var(--font-outfit),sans-serif;font-size:7rem;font-weight:700;letter-spacing:-.08em}.journey-card>svg{width:46px;height:46px;border:1px solid color-mix(in srgb,var(--teal) 30%,var(--line));border-radius:15px;padding:11px;color:var(--teal-dark);background:var(--teal-soft)}.journey-card>div{align-self:center}.journey-card strong{font-family:var(--font-outfit),sans-serif;font-size:1.15rem}.section{padding-block:120px}.section-heading h2,.visual-section-heading h2{font-size:clamp(2.8rem,5vw,5.2rem);font-weight:540;line-height:.94;letter-spacing:-.055em}.learning-home-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.review-home-card{min-height:126px;grid-column:span 4;border-radius:24px;padding:24px}.review-home-card:first-child{grid-column:span 4;background:linear-gradient(130deg,color-mix(in srgb,var(--coral) 22%,var(--surface)),var(--surface))}.review-home-card:hover{border-color:color-mix(in srgb,var(--teal) 40%,var(--line));background:color-mix(in srgb,var(--teal-soft) 62%,var(--surface));transform:translateY(-3px)}.pwa-install-card{border-radius:30px;background:linear-gradient(125deg,color-mix(in srgb,var(--coral) 26%,var(--surface)),color-mix(in srgb,var(--surface) 95%,transparent) 58%,color-mix(in srgb,var(--teal) 10%,var(--surface)))}.episode-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.episode-card{min-height:370px;grid-column:span 4;border-color:color-mix(in srgb,var(--line-strong) 56%,transparent);border-radius:30px;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--coral) 24%,transparent),transparent 17rem),linear-gradient(150deg,color-mix(in srgb,var(--surface-raised) 90%,transparent),color-mix(in srgb,var(--surface) 94%,transparent));box-shadow:var(--shadow-md),inset 0 1px rgba(255,255,255,.05);transition:transform .32s var(--ease-spring),border-color .22s ease,box-shadow .32s ease}.episode-card:first-child{grid-column:span 8}.episode-card:before{width:320px;height:320px;right:-130px;top:-150px;background:linear-gradient(145deg,var(--coral),var(--teal));opacity:.12;filter:blur(12px)}.episode-card:hover{border-color:color-mix(in srgb,var(--teal) 44%,var(--line));transform:translateY(-7px)}.episode-card-signal{color:var(--teal-dark)}.episode-card h3{max-width:780px;font-size:clamp(1.65rem,3vw,2.65rem);font-weight:560;line-height:1.04;letter-spacing:-.04em}.episode-card:not(:first-child) h3{font-size:clamp(1.5rem,2.2vw,2rem)}.card-link{color:var(--teal-dark)}.how-section{border:0;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--coral-soft) 30%,transparent),transparent)}.step-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;border:0;background:transparent}.step-grid li{min-height:260px;grid-column:span 3;overflow:hidden;border:1px solid color-mix(in srgb,var(--line-strong) 54%,transparent);border-radius:26px;background:color-mix(in srgb,var(--surface-raised) 74%,transparent);box-shadow:var(--shadow-sm)}.step-grid li:first-child{grid-column:span 4}.step-grid li:nth-child(2){grid-column:span 3}.step-grid li:nth-child(3){grid-column:span 2}.step-grid li:last-child{grid-column:span 3;border:1px solid color-mix(in srgb,var(--line-strong) 54%,transparent)}.step-grid li>span{color:var(--teal-dark);font-family:var(--font-outfit),sans-serif}.downloads-heading,.lesson-header,.review-page-heading,.sync-page-heading,.visual-dictionary-heading,.visual-scene-heading{isolation:isolate;border:1px solid color-mix(in srgb,var(--line-strong) 42%,transparent);border-radius:34px;padding:clamp(28px,5vw,64px);background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--coral) 20%,transparent),transparent 22rem),linear-gradient(145deg,color-mix(in srgb,var(--surface-raised) 72%,transparent),color-mix(in srgb,var(--surface) 58%,transparent));box-shadow:var(--shadow-md),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(18px)}.lesson-header{margin-bottom:clamp(24px,3vw,40px)}.downloads-heading h1,.lesson-header h1,.review-page-heading h1,.sync-page-heading h1,.visual-dictionary-heading h1,.visual-scene-heading h1{max-width:960px;font-weight:540;letter-spacing:-.055em}.lesson-sidebar{border-radius:24px;background:color-mix(in srgb,var(--surface-raised) 76%,transparent);backdrop-filter:blur(24px)}.lesson-sidebar nav a{border-radius:14px}.lesson-sidebar nav a.active{color:var(--color-on-accent);background:linear-gradient(110deg,var(--teal),color-mix(in srgb,var(--teal) 72%,#a8ffdf));box-shadow:0 10px 24px color-mix(in srgb,var(--teal) 16%,transparent)}.section-number{color:var(--teal-dark);background:linear-gradient(145deg,var(--teal-soft),color-mix(in srgb,var(--coral-soft) 48%,var(--teal-soft)))}.downloaded-card,.question-card,.review-overview>div,.visual-category-card,.vocabulary-card{border-color:color-mix(in srgb,var(--line-strong) 55%,transparent);border-radius:24px;background:color-mix(in srgb,var(--surface-raised) 76%,transparent);box-shadow:var(--shadow-sm),inset 0 1px rgba(255,255,255,.045);backdrop-filter:blur(16px)}.question-card:hover,.visual-category-card.is-available:hover,.vocabulary-card:hover{border-color:color-mix(in srgb,var(--teal) 44%,var(--line));box-shadow:var(--shadow-md)}.visual-scene-main,.visual-word-card{border-radius:30px}.downloads-heading-icon,.sync-heading-icon,.visual-category-icon,.visual-heading-icon{border-radius:16px;color:#d9ceff;background:linear-gradient(145deg,color-mix(in srgb,var(--coral) 28%,var(--surface)),var(--coral-soft))}.global-dictionary-panel{border-radius:26px;background:color-mix(in srgb,var(--surface-raised) 90%,transparent);backdrop-filter:blur(28px) saturate(145%)}.persistent-player{left:12px;right:12px;bottom:10px;border:1px solid color-mix(in srgb,var(--line-strong) 74%,transparent);border-radius:24px;background:color-mix(in srgb,var(--surface-raised) 84%,transparent);box-shadow:0 -6px 60px rgba(0,0,0,.44),inset 0 1px rgba(255,255,255,.07);backdrop-filter:blur(28px) saturate(150%)}.player-controls .play-button{color:var(--color-on-accent);background:linear-gradient(145deg,var(--teal),color-mix(in srgb,var(--teal) 62%,var(--coral)));box-shadow:0 12px 28px color-mix(in srgb,var(--teal) 24%,transparent)}.active-subtitle>button.active,.transcript-word.active{color:var(--teal-dark);text-shadow:0 0 18px color-mix(in srgb,var(--teal) 48%,transparent)}@keyframes hero-arrive{0%{opacity:0;transform:perspective(1100px) translateY(24px) rotateY(-5deg) rotateX(2deg) scale(.97)}to{opacity:1;transform:perspective(1100px) rotateY(-2deg) rotateX(1deg)}}@keyframes aurora-float{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-18px,22px,0) scale(1.08)}}@keyframes glass-sheen{0%,62%{transform:translateX(-110%)}84%,to{transform:translateX(110%)}}@keyframes waveform-breathe{0%,to{transform:scaleY(.7);opacity:.74}50%{transform:scaleY(1);opacity:1}}@media (max-width:1060px){.header-actions nav{display:none}.home-hero{grid-template-columns:1fr}.hero-visual{transform:none}.journey-card:first-child,.journey-card:nth-child(2),.journey-card:nth-child(3){grid-column:span 12}.episode-card,.episode-card:first-child,.step-grid li,.step-grid li:first-child,.step-grid li:last-child,.step-grid li:nth-child(2),.step-grid li:nth-child(3){grid-column:span 6}}@media (max-width:700px){.shell{width:min(100% - 24px,1280px)}.site-header{height:74px;padding-top:7px}.header-inner{width:calc(100% - 16px);min-height:58px;border-radius:19px;padding-inline:9px}.brand{left:9px}.header-actions{right:9px}.site-header.is-compact{height:48px;padding-top:5px}.site-header.is-compact .header-inner{width:130px;min-height:36px}.home-hero{gap:46px;padding-block:56px 54px}.hero-copy{text-align:left}.hero-copy h1{font-size:clamp(3.5rem,17vw,5rem);line-height:.88}.hero-copy h1,.hero-copy p{margin-inline:0}.hero-actions-row,.hero-proof{justify-content:flex-start}.hero-visual{min-height:430px;border-radius:30px}.hero-visual:before{border-radius:22px}.hero-visual-index{left:24px;top:20px}.sound-card-main{width:calc(100% - 30px);min-height:310px;border-radius:23px;padding:18px}.hero-learning-path{gap:6px}.hero-aurora-one{right:-100px}.hero-aurora-two{left:-110px}.journey-card{min-height:164px;border-radius:24px;padding:22px}.section{padding-block:82px}.section-heading h2,.visual-section-heading h2{font-size:clamp(2.65rem,13vw,4rem)}.review-home-card,.review-home-card:first-child{grid-column:span 12}.episode-card,.episode-card:first-child{min-height:320px;grid-column:span 12;border-radius:25px}.step-grid li,.step-grid li:first-child,.step-grid li:last-child,.step-grid li:nth-child(2),.step-grid li:nth-child(3){min-height:200px;grid-column:span 12}.downloads-heading,.lesson-header,.review-page-heading,.sync-page-heading,.visual-dictionary-heading,.visual-scene-heading{border-radius:26px;padding:28px 20px}.persistent-player{left:6px;right:6px;bottom:6px;border-radius:20px}}@media (prefers-reduced-motion:reduce){.hero-aurora,.hero-visual,.hero-visual:after,.waveform i{animation:none!important}.hero-visual{transform:none}}.nav-review-link{gap:8px}.review-due-badge{min-width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--teal) 72%,var(--line));border-radius:999px;padding-inline:6px;color:var(--color-on-accent);background:var(--teal);box-shadow:0 5px 16px color-mix(in srgb,var(--teal) 24%,transparent);font-size:.68rem;font-variant-numeric:tabular-nums;font-weight:820;line-height:1}.site-menu-label-row{display:flex;align-items:center;gap:8px}.notification-prompt{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin:0 0 26px;overflow:hidden;border:1px solid color-mix(in srgb,var(--coral) 45%,var(--line));border-radius:22px;padding:16px 68px 16px 18px;background:radial-gradient(circle at 8% 0,color-mix(in srgb,var(--coral) 18%,transparent),transparent 34%),color-mix(in srgb,var(--surface-raised) 94%,transparent);box-shadow:var(--shadow-md)}.notification-prompt-icon,.notification-settings-heading>span,.notification-type-icon,.settings-heading-icon{display:grid;place-items:center;color:#d9ceff;background:linear-gradient(145deg,color-mix(in srgb,var(--coral) 28%,var(--surface)),var(--coral-soft))}.notification-prompt-icon{width:46px;height:46px;border-radius:14px}.notification-prompt strong{display:block;font-size:.98rem}.notification-prompt p{max-width:690px;margin:3px 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}.notification-prompt .secondary-button{min-height:44px;gap:8px;padding-inline:14px;white-space:nowrap}.notification-prompt-close{position:absolute;top:8px;right:8px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:12px;color:var(--muted);background:transparent;cursor:pointer;transition:color var(--motion-fast) ease,background var(--motion-fast) ease}.notification-prompt-close:hover{color:var(--ink);background:var(--color-muted)}.notification-prompt-close:focus-visible{outline:3px solid var(--color-ring);outline-offset:2px}.settings-page{min-height:calc(100dvh - 158px);padding-block:42px 92px}.settings-page-heading{max-width:920px;display:flex;align-items:flex-start;gap:18px;margin-bottom:30px;border:1px solid var(--line);border-radius:32px;padding:34px;background:radial-gradient(circle at 6% 10%,color-mix(in srgb,var(--coral) 20%,transparent),transparent 34%),var(--surface);box-shadow:var(--shadow-lg)}.settings-heading-icon{width:54px;height:54px;flex:0 0 auto;border-radius:17px}.settings-page-heading h1{margin:5px 0 9px;font-size:clamp(2.7rem,6vw,4.6rem);font-weight:540;line-height:.96;letter-spacing:-.055em}.settings-page-heading p{max-width:690px;margin:0;color:var(--muted);font-size:1rem}.notification-settings{max-width:920px;overflow:hidden;padding:0;border-radius:26px}.notification-settings-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px;border-bottom:1px solid var(--line)}.notification-settings-heading>span{width:50px;height:50px;border-radius:15px}.notification-settings-heading h2{margin:3px 0 4px;font-size:1.55rem;letter-spacing:-.03em}.notification-settings-heading p{margin:0;color:var(--muted);font-size:.87rem}.notification-master-switch{align-self:center}.notification-permission-row{min-height:52px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:16px 20px 0;border:1px solid var(--line);border-radius:14px;padding:8px 13px;color:var(--muted);background:var(--cream);font-size:.8rem}.notification-permission-row svg{color:var(--teal-dark)}.notification-permission-row strong{color:var(--ink);font-size:.78rem}.notification-types{margin:18px 20px 0;border:0;padding:0}.notification-types legend{margin-bottom:8px;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.notification-time-field,.notification-type-row{min-height:72px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:color-mix(in srgb,var(--surface-raised) 76%,var(--surface))}.notification-type-icon{width:42px;height:42px;border-radius:13px}.notification-time-field strong,.notification-type-row strong{display:block;font-size:.92rem}.notification-time-field small,.notification-type-row p{display:block;margin:2px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}.notification-time-field:has(input:disabled),.notification-types:disabled .notification-type-row{opacity:.56}.notification-time-field{margin:10px 20px 20px}.notification-time-field input{min-width:118px;min-height:44px;border:1px solid var(--line-strong);border-radius:11px;padding:0 11px;color:var(--ink);background:var(--cream);color-scheme:dark;font:inherit;font-size:.88rem;font-variant-numeric:tabular-nums}:root[data-theme=light] .notification-time-field input{color-scheme:light}.notification-time-field input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-ring) 36%,transparent);outline-offset:2px}.notification-test-button{width:fit-content;min-height:42px;margin:0 20px 18px;gap:8px}.notification-settings-help,.notification-settings-status{display:flex;align-items:center;gap:9px;margin:-4px 20px 20px;border-radius:13px;padding:10px 12px;color:var(--muted);background:var(--cream);font-size:.8rem}.notification-settings-status.is-success{color:var(--success);background:var(--success-soft)}.notification-settings-status.is-error{color:var(--danger);background:var(--danger-soft)}.notification-settings-help{line-height:1.5}.analytics-consent{width:min(900px,calc(100vw - 32px));position:fixed;z-index:140;left:50%;bottom:max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;border:1px solid color-mix(in srgb,var(--teal) 44%,var(--line));border-radius:22px;padding:16px;color:var(--ink);background:color-mix(in srgb,var(--surface-raised) 96%,transparent);box-shadow:0 24px 80px rgba(0,0,0,.48);transform:translateX(-50%);backdrop-filter:blur(22px)}body:has(.persistent-player) .analytics-consent{bottom:104px}.analytics-consent-icon,.analytics-settings-heading>span{display:grid;place-items:center;color:var(--teal-dark);background:linear-gradient(145deg,color-mix(in srgb,var(--teal) 24%,var(--surface)),var(--teal-soft))}.analytics-consent-icon{width:46px;height:46px;border-radius:14px}.analytics-consent strong{display:block;font-size:.96rem}.analytics-consent p{max-width:560px;margin:3px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.analytics-consent-actions{display:flex;gap:8px}.analytics-consent-actions button{min-height:42px;gap:7px;padding-inline:13px;white-space:nowrap}.analytics-settings{max-width:920px;margin-top:18px;overflow:hidden;padding:0;border-radius:26px}.analytics-settings-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px;border-bottom:1px solid var(--line)}.analytics-settings-heading>span{width:50px;height:50px;border-radius:15px}.analytics-settings-heading h2{margin:3px 0 4px;font-size:1.55rem;letter-spacing:-.03em}.analytics-settings-heading p{margin:0;color:var(--muted);font-size:.87rem}.analytics-privacy-note{display:flex;align-items:flex-start;gap:11px;margin:16px 20px 20px;border:1px solid var(--line);border-radius:14px;padding:13px;color:var(--muted);background:var(--cream)}.analytics-privacy-note svg{flex:0 0 auto;color:var(--teal-dark)}.analytics-privacy-note p{margin:0;font-size:.8rem;line-height:1.5}.analytics-privacy-note strong{color:var(--ink)}@media (max-width:700px){.review-due-badge{min-width:24px;height:24px}.notification-prompt{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:15px 60px 15px 15px}.notification-prompt .secondary-button{grid-column:1/-1;justify-content:center}.notification-prompt-close{width:44px;height:44px}.settings-page{padding-block:28px 70px}.settings-page-heading{gap:13px;border-radius:26px;padding:24px 20px}.settings-heading-icon{width:46px;height:46px;border-radius:14px}.settings-page-heading h1{font-size:clamp(2.55rem,13vw,3.8rem)}.notification-settings{border-radius:22px}.notification-settings-heading{grid-template-columns:auto minmax(0,1fr);padding:18px 16px}.notification-master-switch{grid-column:1/-1;justify-self:end}.notification-permission-row{grid-template-columns:auto 1fr;margin-inline:14px}.notification-permission-row strong{grid-column:2}.notification-types{margin-inline:14px}.notification-time-field,.notification-type-row{grid-template-columns:auto 1fr}.notification-time-field input,.notification-type-row .settings-switch{grid-column:2;justify-self:start}.notification-time-field{margin-inline:14px}.notification-test-button{width:calc(100% - 28px);margin-inline:14px;justify-content:center}.notification-settings-help,.notification-settings-status{margin-inline:14px}.analytics-consent{bottom:max(8px,env(safe-area-inset-bottom));grid-template-columns:auto minmax(0,1fr);gap:11px;border-radius:18px;padding:14px}body:has(.persistent-player) .analytics-consent{bottom:144px}.analytics-consent-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.analytics-consent-actions button{justify-content:center;padding-inline:9px;font-size:.76rem}.analytics-settings{border-radius:22px}.analytics-settings-heading{grid-template-columns:auto minmax(0,1fr);padding:18px 16px}.analytics-settings-heading .settings-switch{grid-column:1/-1;justify-self:end}.analytics-privacy-note{margin-inline:14px}}.lessons-page{min-height:calc(100dvh - 158px)}.lesson-library-hero{padding-block:42px 36px}.lesson-library-hero-grid{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:end;gap:50px;margin-top:18px;border:1px solid var(--line-strong);border-radius:34px;padding:clamp(30px,5vw,58px);background:radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--coral) 25%,transparent),transparent 34%),radial-gradient(circle at 12% 120%,color-mix(in srgb,var(--teal) 12%,transparent),transparent 44%),linear-gradient(145deg,color-mix(in srgb,var(--surface-raised) 82%,var(--surface)),var(--surface));box-shadow:var(--shadow-lg)}.lesson-library-hero-grid:after{content:"";width:280px;height:280px;position:absolute;z-index:-1;right:-110px;bottom:-150px;border:1px solid color-mix(in srgb,var(--teal) 25%,transparent);border-radius:50%}.lesson-library-hero h1{max-width:820px;margin:14px 0 18px;font-size:clamp(2.8rem,6vw,5.6rem);font-weight:540;line-height:.94;letter-spacing:-.064em}.lesson-library-hero-grid>div>p{max-width:740px;margin:0;color:var(--muted);font-size:1.04rem;line-height:1.65}.lesson-library-stats{display:grid;gap:9px;margin:0}.lesson-library-stats>div{min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:17px;padding:13px 15px;background:color-mix(in srgb,var(--cream) 84%,transparent);backdrop-filter:blur(14px)}.lesson-library-stats dt{color:var(--muted);font-size:.75rem;font-weight:740;text-transform:uppercase;letter-spacing:.07em}.lesson-library-stats dd{margin:0;color:var(--ink);font-size:1.05rem;font-weight:780;font-variant-numeric:tabular-nums}.lesson-library-stats svg{color:var(--teal-dark)}.lesson-library-section{padding-bottom:96px}.lesson-catalogue{display:grid;gap:30px}.catalogue-controls{position:relative;z-index:2;border:1px solid var(--line);border-radius:25px;padding:16px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-md);backdrop-filter:blur(20px) saturate(125%)}.catalogue-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.catalogue-search{min-width:0;min-height:54px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line-strong);border-radius:15px;padding:0 8px 0 16px;color:var(--muted);background:var(--cream);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.catalogue-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 18%,transparent)}.catalogue-search input{min-width:0;height:52px;border:0;outline:0;color:var(--ink);background:transparent;font:inherit;font-size:1rem}.catalogue-search input::placeholder{color:color-mix(in srgb,var(--muted) 82%,transparent)}.catalogue-search button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:11px;color:var(--muted);background:transparent;cursor:pointer;transition:color var(--motion-fast) ease,background var(--motion-fast) ease}.catalogue-search button:hover{color:var(--ink);background:var(--color-muted)}.catalogue-filter-toggle{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line-strong);border-radius:15px;padding:0 16px;color:var(--ink);background:var(--cream);cursor:pointer;font-weight:740;transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease}.catalogue-filter-toggle.is-open,.catalogue-filter-toggle:hover{border-color:var(--teal);background:var(--teal-soft)}.catalogue-filter-toggle>span{min-width:23px;height:23px;display:grid;place-items:center;border-radius:999px;color:var(--on-accent);background:var(--teal);font-size:.72rem;font-variant-numeric:tabular-nums}.catalogue-filter-toggle>svg:last-child{transition:transform var(--motion-base) var(--ease-out)}.catalogue-filter-toggle.is-open>svg:last-child{transform:rotate(180deg)}.catalogue-filters{display:none;grid-template-columns:1.5fr repeat(4,minmax(135px,1fr));gap:11px;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.catalogue-filters.is-open{display:grid;animation:catalogue-filters-in var(--motion-base) var(--ease-out) both}.catalogue-filters>label,.catalogue-level-filter{min-width:0;display:grid;align-content:end;gap:6px;margin:0;border:0;padding:0}.catalogue-filters>label>span,.catalogue-level-filter legend{color:var(--muted);font-size:.7rem;font-weight:780;letter-spacing:.07em;text-transform:uppercase}.catalogue-filters select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:var(--ink);background:var(--cream);cursor:pointer;font:inherit;font-size:.84rem}.catalogue-level-filter>div{display:flex;flex-wrap:wrap;gap:6px}.catalogue-level-filter button{min-height:46px;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:var(--muted);background:var(--cream);cursor:pointer;font-weight:720;transition:border-color var(--motion-fast) ease,color var(--motion-fast) ease,background var(--motion-fast) ease}.catalogue-level-filter button:hover,.catalogue-level-filter button[aria-pressed=true]{border-color:var(--teal);color:var(--teal-dark);background:var(--teal-soft)}.catalogue-filters .catalogue-offline-filter{display:flex;grid-column:1/-1;align-items:center;justify-content:flex-start;gap:9px;min-height:46px;width:fit-content;cursor:pointer}.catalogue-offline-filter input{width:19px;height:19px;accent-color:var(--teal)}.catalogue-offline-filter>span{display:inline-flex;align-items:center;gap:7px;color:var(--ink)!important;font-size:.83rem!important;letter-spacing:0!important;text-transform:none!important}.catalogue-results-heading{min-height:58px;display:flex;align-items:end;justify-content:space-between;gap:20px}.catalogue-results-heading h2{margin:4px 0 0;font-size:clamp(2rem,3vw,3rem);font-weight:570;letter-spacing:-.045em}.catalogue-results-heading button{min-height:44px;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:12px;padding:0 13px;color:var(--muted);background:transparent;cursor:pointer;font-weight:710;transition:color var(--motion-fast) ease,background var(--motion-fast) ease}.catalogue-results-heading button:hover{color:var(--teal-dark);background:var(--teal-soft)}.catalogue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.catalogue-card{min-width:0;min-height:430px;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:26px;padding:25px;background:linear-gradient(150deg,color-mix(in srgb,var(--surface-raised) 52%,var(--surface)),var(--surface));box-shadow:var(--shadow-md);transition:border-color var(--motion-base) ease,box-shadow var(--motion-base) ease,transform var(--motion-base) var(--ease-out)}.catalogue-card:before{content:"";width:240px;height:240px;position:absolute;z-index:-1;top:-145px;right:-100px;border-radius:50%;background:color-mix(in srgb,var(--coral) 24%,transparent);filter:blur(8px);transition:transform var(--motion-base) var(--ease-out),opacity var(--motion-base) ease}.catalogue-card:hover{border-color:color-mix(in srgb,var(--teal) 45%,var(--line));box-shadow:var(--shadow-lg);transform:translateY(-4px)}.catalogue-card:hover:before{opacity:.8;transform:scale(1.12)}.catalogue-card-signal{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--teal-dark);font-size:.7rem;font-weight:790;letter-spacing:.08em;text-transform:uppercase}.catalogue-card-signal>span{display:inline-flex;align-items:center;gap:7px}.catalogue-card-signal .catalogue-downloaded{min-height:28px;border:1px solid color-mix(in srgb,var(--success) 36%,var(--line));border-radius:999px;padding:0 9px;color:var(--success);background:var(--success-soft);letter-spacing:.03em}.catalogue-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 13px;margin-top:20px;color:var(--muted);font-size:.78rem}.catalogue-card-meta>span:not(.level-pill){display:inline-flex;align-items:center;gap:5px}.catalogue-topic{width:fit-content;margin-top:16px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted);background:var(--cream);font-size:.72rem;font-weight:690}.catalogue-card h3{margin:15px 0 10px;font-size:clamp(1.65rem,3vw,2.35rem);font-weight:570;line-height:1.06;letter-spacing:-.045em}.catalogue-summary{margin:0;color:var(--muted);line-height:1.58}.catalog-search-match{margin-top:17px;border-left:2px solid var(--teal);border-radius:0 12px 12px 0;padding:10px 12px;background:color-mix(in srgb,var(--teal-soft) 62%,transparent)}.catalog-search-match>span{display:inline-flex;align-items:center;gap:6px;color:var(--teal-dark);font-size:.7rem;font-weight:790;letter-spacing:.05em;text-transform:uppercase}.catalog-search-match p{display:-webkit-box;overflow:hidden;margin:4px 0 0;color:var(--ink);font-size:.85rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.catalogue-progress{margin-top:auto;padding-top:21px}.catalogue-progress>div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.75rem}.catalogue-progress>div>span{display:inline-flex;align-items:center;gap:6px}.catalogue-progress small{font-size:.72rem;font-variant-numeric:tabular-nums}.catalogue-progress>i{height:4px;display:block;overflow:hidden;margin-top:8px;border-radius:999px;background:var(--color-muted)}.catalogue-progress>i>span{height:100%;display:block;border-radius:inherit;background:var(--teal);transition:width var(--motion-base) var(--ease-out)}.catalogue-progress.is-completed>div{color:var(--success)}.catalogue-progress.is-completed>i>span{background:var(--success)}.catalogue-card-link{min-height:48px;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;border:1px solid var(--line-strong);border-radius:13px;padding:0 15px;color:var(--ink);background:var(--cream);font-weight:760;transition:border-color var(--motion-fast) ease,color var(--motion-fast) ease,background var(--motion-fast) ease}.catalogue-card-link:hover{border-color:var(--teal);color:var(--on-accent);background:var(--teal)}.catalogue-empty{display:grid;justify-items:center;gap:8px;border:1px dashed var(--line-strong);border-radius:25px;padding:64px 24px;text-align:center;background:var(--surface)}.catalogue-empty>svg{color:var(--teal-dark)}.catalogue-empty h2{margin:6px 0 0;font-size:1.7rem}.catalogue-empty p{margin:0 0 11px;color:var(--muted)}@keyframes catalogue-filters-in{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1050px){.lesson-library-hero-grid{grid-template-columns:1fr;gap:30px}.lesson-library-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-library-stats>div{grid-template-columns:1fr auto}.lesson-library-stats svg{grid-column:2;grid-row:1/span 2}.catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-level-filter{grid-column:1/-1}}@media (max-width:700px){.lesson-library-hero{padding-block:26px 25px}.lesson-library-hero-grid{gap:24px;margin-top:10px;border-radius:27px;padding:26px 20px}.lesson-library-hero h1{font-size:clamp(2.55rem,13vw,4rem)}.lesson-library-hero-grid>div>p{font-size:.96rem}.lesson-library-stats{grid-template-columns:1fr}.lesson-library-stats>div{min-height:62px}.lesson-library-section{padding-bottom:70px}.lesson-catalogue{gap:24px}.catalogue-controls{border-radius:20px;padding:11px}.catalogue-search-row{grid-template-columns:1fr}.catalogue-filter-toggle{width:100%}.catalogue-filters{grid-template-columns:1fr}.catalogue-level-filter{grid-column:auto}.catalogue-level-filter button{flex:1 1 auto}.catalogue-filters .catalogue-offline-filter{grid-column:auto}.catalogue-results-heading{align-items:center}.catalogue-results-heading h2{font-size:2rem}.catalogue-grid{grid-template-columns:1fr}.catalogue-card{min-height:0;border-radius:22px;padding:21px 18px}.catalogue-card h3{font-size:1.8rem}.catalogue-empty{padding:48px 18px}}@media (prefers-reduced-motion:reduce){.catalogue-filters.is-open{animation:none}.catalogue-card,.catalogue-card:before,.catalogue-filter-toggle>svg:last-child,.catalogue-progress>i>span{transition-duration:1ms}}