:root{color:#21352d;font-synthesis:none;--canvas:#f2f5f0;--surface:#fffef9;--surface-strong:#fff;--surface-soft:#e9efea;--ink:#21352d;--muted:#63746c;--forest:#174d3b;--forest-light:#2d755a;--forest-soft:#e5f0e9;--gold:#e9b949;--highlight:#f9d97f;--border:#dbe4dc;--danger:#a43b33;--focus:#1f78d1;--shadow:0 1.25rem 3.5rem #253d2f1a;--reader-font-scale:1.1;background:#f2f5f0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}:root[data-reader-theme=dark]{color:#f4f8f5;--canvas:#101c18;--surface:#172720;--surface-strong:#1d3028;--surface-soft:#22352d;--ink:#f4f8f5;--muted:#c5d1cb;--forest:#86d6b5;--forest-light:#70c6a2;--forest-soft:#253d33;--gold:#f0c964;--highlight:#7c6019;--border:#354b41;--danger:#ffaaa1;--focus:#8bc7ff;--shadow:0 1.25rem 3.5rem #00000047;background:#101c18}@media (prefers-color-scheme:dark){:root:not([data-reader-theme=light]){color:#f4f8f5;--canvas:#101c18;--surface:#172720;--surface-strong:#1d3028;--surface-soft:#22352d;--ink:#f4f8f5;--muted:#c5d1cb;--forest:#86d6b5;--forest-light:#70c6a2;--forest-soft:#253d33;--gold:#f0c964;--highlight:#7c6019;--border:#354b41;--danger:#ffaaa1;--focus:#8bc7ff;--shadow:0 1.25rem 3.5rem #00000047;background:#101c18}}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--canvas);margin:0}button,select,input{color:inherit;font:inherit}button,a,select,input{outline-offset:3px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus)}button{cursor:pointer}a{color:var(--forest)}img{max-width:100%}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;color:#fff;background:#153e31;border-radius:.6rem;padding:.7rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:#99680b;letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.reader-app{grid-template-columns:242px minmax(0,1fr);min-height:100vh;display:grid}.reader-rail{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;height:100vh;padding:1.35rem 1rem;display:flex;position:sticky;top:0}.reader-brand{color:var(--forest);align-items:center;gap:.7rem;font-size:1.05rem;text-decoration:none;display:inline-flex}.reader-brand>span{color:#fff;background:#174d3b;border-radius:.72rem;place-items:center;width:2.35rem;height:2.35rem;font-size:1.1rem;font-weight:900;display:grid}.reader-brand--rail{padding:0 .55rem 1.75rem}.reader-brand--compact{display:none}.reader-rail nav{gap:.28rem;display:grid}.nav-item{min-height:46px;color:var(--muted);border-radius:.72rem;align-items:center;gap:.8rem;padding:.65rem .75rem;text-decoration:none;display:flex}.nav-item>span{place-items:center;width:1.8rem;font-size:1rem;display:grid}.nav-item>strong{font-size:.86rem}.nav-item:hover,.nav-item--active{color:var(--forest);background:var(--forest-soft)}.rail-help{color:var(--muted);margin-top:auto;padding:.8rem;font-size:.75rem;font-weight:700;text-decoration:none}.reader-stage{min-width:0}.app-header{z-index:20;min-height:calc(66px + env(safe-area-inset-top));padding:calc(.75rem + env(safe-area-inset-top)) clamp(1rem, 4vw, 3rem) .75rem;border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--canvas) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:flex-end;align-items:center;display:flex;position:sticky;top:0}.header-actions{align-items:center;gap:.55rem;display:flex}.connection-chip,.mode-chip{border:1px solid var(--border);min-height:34px;color:var(--muted);background:var(--surface);border-radius:99px;align-items:center;gap:.4rem;padding:.42rem .7rem;font-size:.7rem;font-weight:750;text-decoration:none;display:inline-flex}.connection-chip>span{color:#2b8a5b}.connection-chip--offline>span{color:var(--danger)}.availability-badge{border-color:color-mix(in srgb, #2b8a5b 35%, var(--border))!important;color:#1f6f49!important;background:color-mix(in srgb, #d8f3e5 72%, var(--surface))!important}.availability-badge--remote{border-color:var(--border)!important;color:var(--muted)!important;background:var(--surface)!important}.availability-badge--update_available{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))!important;color:var(--accent-strong)!important;background:color-mix(in srgb, var(--accent-soft) 70%, var(--surface))!important}.availability-badge--incompatible,.availability-badge--failed{color:var(--danger)!important}.app-main{width:min(100% - 2rem,1180px);min-height:calc(100vh - 66px);margin:0 auto;padding:clamp(1.5rem,4vw,3.25rem) 0 5rem}.reader-bottom-nav{display:none}.page-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem;display:flex}.page-heading h1{max-width:760px;color:var(--ink);letter-spacing:-.045em;margin:.35rem 0 .45rem;font-size:clamp(2.1rem,5vw,4.3rem);line-height:1}.page-heading p:not(.eyebrow){max-width:650px;color:var(--muted);margin:0;font-size:1rem;line-height:1.65}.page-heading--home{min-height:180px}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.section-heading h2{letter-spacing:-.03em;margin:.25rem 0 0;font-size:clamp(1.45rem,3vw,2.15rem)}.section-heading>span,.section-heading>a{color:var(--muted);font-size:.78rem;font-weight:700}.primary-action,.secondary-action,.quiet-button{border-radius:.68rem;justify-content:center;align-items:center;gap:.8rem;min-height:42px;padding:.68rem .9rem;font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex}.primary-action{color:#fff;background:#174d3b;border:1px solid #174d3b}.secondary-action{border:1px solid var(--border);color:var(--forest);background:var(--surface)}.quiet-button{border:1px solid var(--border);color:var(--muted);background:0 0}.continue-section,.featured-section,.mode-overview{margin-top:2.5rem}.continue-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:1.2rem;grid-template-columns:minmax(220px,.6fr) minmax(280px,1.4fr);display:grid;overflow:hidden}.continue-card img{object-fit:cover;width:100%;height:210px}.continue-card>div{flex-direction:column;justify-content:center;gap:.85rem;padding:clamp(1.2rem,4vw,2rem);display:flex}.continue-card>div>span{color:var(--muted);font-size:.76rem;font-weight:700}.completion-track{background:var(--surface-soft);border-radius:99px;width:100%;height:7px;overflow:hidden}.completion-track i{border-radius:inherit;background:var(--forest-light);height:100%;display:block}.content-card{border:1px solid var(--border);background:var(--surface);min-height:430px;box-shadow:var(--shadow);border-radius:1.3rem;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);display:grid;overflow:hidden}.content-card--compact{flex-direction:column;min-height:0;display:flex}.content-card__cover{min-height:100%;display:block}.content-card__cover img{object-fit:cover;width:100%;height:100%;min-height:360px;display:block}.content-card--compact .content-card__cover img{aspect-ratio:1.45;min-height:240px}.content-card__body{flex-direction:column;justify-content:center;padding:clamp(1.35rem,4vw,2.6rem);display:flex}.content-card--compact .content-card__body{flex:1;padding:1.25rem}.story-meta{color:var(--muted);justify-content:space-between;gap:1rem;font-size:.7rem;font-weight:750;display:flex}.content-card h3{letter-spacing:-.035em;margin:.75rem 0 .55rem;font-size:clamp(1.65rem,3vw,2.8rem);line-height:1.05}.content-card--compact h3{font-size:1.55rem}.content-card h3 a{color:var(--ink);text-decoration:none}.content-card p{color:var(--muted);margin:0;line-height:1.6}.story-tags{flex-wrap:wrap;gap:.4rem;margin:1.1rem 0;display:flex}.story-tags span{color:var(--forest);background:var(--forest-soft);border-radius:99px;padding:.35rem .58rem;font-size:.68rem;font-weight:750}.card-actions,.detail-actions{align-items:center;gap:.6rem;display:flex}.favorite-button{border:1px solid var(--border);width:43px;height:43px;color:var(--danger);background:var(--surface);border-radius:50%;place-items:center;font-size:1.15rem;display:grid}.library-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.filter-panel{border:1px solid var(--border);background:var(--surface);border-radius:1rem;grid-template-columns:minmax(220px,1fr) 180px 180px;gap:.75rem;margin-bottom:1rem;padding:1rem;display:grid}.filter-panel label,.settings-form>fieldset>label{gap:.35rem;display:grid}.filter-panel label>span,.settings-form label>span{color:var(--muted);font-size:.72rem;font-weight:750}.filter-panel input,.filter-panel select,.settings-form select{border:1px solid var(--border);width:100%;min-height:44px;color:var(--ink);background:var(--surface-strong);border-radius:.62rem;padding:.6rem .75rem}.category-chips{gap:.45rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.category-chips button{border:1px solid var(--border);min-height:38px;color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:99px;padding:.45rem .8rem}.category-chips button.active{color:#fff;background:#174d3b;border-color:#174d3b}.result-count{border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:99px;padding:.5rem .7rem;font-size:.72rem;font-weight:750}.state-panel{border:1px solid var(--border);min-height:260px;color:var(--muted);background:var(--surface);text-align:center;border-radius:1.1rem;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.state-panel h2{color:var(--ink);margin:.7rem 0 .25rem}.state-panel p{max-width:540px;margin:.4rem 0 1rem;line-height:1.6}.state-panel--error{border-color:color-mix(in srgb, var(--danger) 28%, var(--border))}.state-symbol{color:#fff;background:#174d3b;border-radius:1rem;place-items:center;width:3.6rem;height:3.6rem;font-size:1.35rem;font-weight:900;display:grid}.state-symbol--loading{animation:1.2s ease-in-out infinite alternate gentle-pulse}@keyframes gentle-pulse{to{opacity:.55}}.mode-grid{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}.mode-grid article{border:1px solid var(--border);background:var(--surface);border-radius:1rem;padding:1.25rem}.mode-grid article>span{width:2.8rem;height:2.8rem;color:var(--forest);background:var(--forest-soft);border-radius:.8rem;place-items:center;font-weight:900;display:grid}.mode-grid h3{margin:.85rem 0 .25rem}.mode-grid p{color:var(--muted);margin:0;line-height:1.5}.back-link{color:var(--muted);margin-bottom:1.1rem;font-size:.78rem;font-weight:750;text-decoration:none;display:inline-flex}.detail-layout{border:1px solid var(--border);background:var(--surface);min-height:610px;box-shadow:var(--shadow);border-radius:1.3rem;grid-template-columns:minmax(320px,.88fr) minmax(400px,1.12fr);display:grid;overflow:hidden}.detail-cover img{object-fit:cover;width:100%;height:100%;min-height:610px;display:block}.detail-copy{flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,4.5rem);display:flex}.detail-copy h1{letter-spacing:-.055em;margin:.5rem 0 .8rem;font-size:clamp(2.7rem,6vw,5.2rem);line-height:.98}.detail-summary{color:var(--muted);margin:0;font-size:1.05rem;line-height:1.7}.detail-facts{grid-template-columns:repeat(2,1fr);gap:.7rem;margin:1.6rem 0;display:grid}.detail-facts div{border:1px solid var(--border);background:var(--surface-soft);border-radius:.72rem;padding:.8rem}.detail-facts dt{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:750}.detail-facts dd{margin:.22rem 0 0;font-size:.86rem;font-weight:750}.detail-progress{margin:.5rem 0 1.2rem}.detail-progress strong{margin-bottom:.5rem;font-size:.76rem;display:block}.download-status{border:1px solid color-mix(in srgb, #2b8a5b 35%, var(--border));color:#1f6f49;background:color-mix(in srgb, #d8f3e5 65%, var(--surface));border-radius:14px;max-width:720px;margin:1rem 0;padding:.85rem 1rem;font-weight:700}.download-status--error{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--surface))}.page-heading--downloads{align-items:center}.storage-summary{border:1px solid var(--border);background:var(--surface);min-width:150px;box-shadow:var(--shadow-soft);border-radius:18px;padding:1rem 1.2rem;display:grid}.storage-summary strong{color:var(--ink);font-family:var(--font-display);font-size:1.7rem}.storage-summary span{color:var(--muted);font-size:.78rem;font-weight:700}.downloads-grid{gap:1rem;display:grid}.download-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:20px;grid-template-columns:116px 1fr;align-items:center;gap:1.2rem;padding:1rem;display:grid}.download-card img{aspect-ratio:4/5;object-fit:cover;border-radius:14px;width:116px}.download-card h2{font-family:var(--font-display);margin:.3rem 0}.download-card p{color:var(--muted);margin:0 0 .8rem}.download-card__state{color:#1f6f49;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:800}.download-card__actions{flex-wrap:wrap;gap:.55rem;display:flex}.history-list{gap:.75rem;display:grid}.history-card{border:1px solid var(--border);background:var(--surface);border-radius:1rem;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.7rem;display:grid}.history-card>img{object-fit:cover;border-radius:.65rem;width:150px;height:105px}.history-card span,.history-card p{color:var(--muted);font-size:.72rem}.history-card h2{margin:.18rem 0 .55rem;font-size:1.2rem}.history-card p{margin:.4rem 0 0}.history-actions{flex-direction:column;gap:.35rem;display:flex}.vocabulary-grid{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}.vocabulary-card{border:1px solid var(--border);background:var(--surface);min-height:360px;box-shadow:var(--shadow-soft);border-radius:1rem;flex-direction:column;padding:1.3rem;display:flex;position:relative}.vocabulary-card>span{color:#0f766e;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:800}.vocabulary-card h2{font-family:var(--font-display);margin:.45rem 0 .1rem;font-size:2.15rem}.vocabulary-card__translation{color:var(--muted);margin:0 0 .9rem;font-size:1.03rem;font-weight:700}.vocabulary-card__top{justify-content:space-between;align-items:center;margin-bottom:.7rem;display:flex}.word-status{color:#36594f;background:#e6f5ef;border-radius:99px;padding:.32rem .55rem;font-size:.65rem;font-weight:800}.word-status--learning{color:#875e12;background:#fff1c9}.word-status--mastered{color:#1f6f49;background:#d8f3e5}.word-favorite{border:1px solid var(--border);width:38px;height:38px;color:var(--muted);background:var(--surface-soft);border-radius:50%;font-size:1.1rem}.word-favorite.active{color:#b44b57;background:#fff0ef;border-color:#efb6b1}.vocabulary-card blockquote{background:color-mix(in srgb, #d9f3ee 45%, var(--surface));border:0;border-left:3px solid #6cc5bb;gap:.3rem;margin:.2rem 0 1rem;padding:.8rem .9rem;display:grid}.vocabulary-card blockquote span{color:#0f766e;text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;font-weight:800}.vocabulary-card blockquote q{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:.82rem;line-height:1.45}.vocabulary-card blockquote small{color:var(--muted);font-size:.7rem;line-height:1.4}.vocabulary-card__actions{flex-wrap:wrap;gap:.4rem;margin-top:auto;display:flex}.vocabulary-card__actions select{border:1px solid var(--border);min-height:38px;color:var(--ink);background:var(--surface);border-radius:.6rem;padding:0 .5rem;font-weight:700}.vocabulary-card__reviews{color:var(--muted);margin-top:.7rem}.page-heading--learning{border:1px solid color-mix(in srgb, #0f766e 25%, var(--border));color:#effdfa;background:radial-gradient(circle at 83% 20%,#ffffff21 0 12%,#0000 13%),linear-gradient(125deg,#123f3a,#0f766e);border-radius:24px;min-height:180px;padding:clamp(1.5rem,4vw,2.6rem)}.page-heading--learning h1,.page-heading--learning .eyebrow{color:#fff}.page-heading--learning p:not(.eyebrow){color:#cdece7}.page-heading--learning .primary-action{color:#0d5b54;background:#fff}.learning-overview{grid-template-columns:1.65fr repeat(4,minmax(110px,.65fr));gap:.75rem;margin:1.2rem 0;display:grid}.learning-goal,.learning-stat{border:1px solid var(--border);background:var(--surface);min-height:115px;box-shadow:var(--shadow-soft);border-radius:18px;padding:1rem}.learning-goal{justify-content:space-between;align-items:center;gap:1rem;display:flex}.learning-goal>div:first-child{gap:.35rem;display:grid}.learning-goal span,.learning-stat span{color:var(--muted);font-size:.7rem;font-weight:750}.learning-goal strong{color:var(--ink);font-family:var(--font-display);font-size:1.15rem}.learning-goal__ring{color:#0f766e;background:radial-gradient(circle, var(--surface) 54%, transparent 56%), conic-gradient(#27a597 var(--learning-progress), #dcece9 0);border-radius:50%;place-items:center;width:72px;height:72px;font-size:.78rem;font-weight:850;display:grid}.learning-stat{background:#f0fbf8;align-content:center;gap:.2rem;display:grid}.learning-stat strong{color:#0f766e;font-family:var(--font-display);font-size:2rem}.learning-stat--gold{background:#fff8e5}.learning-stat--gold strong{color:#a06b0b}.learning-stat--green{background:#eaf8ee}.learning-stat--green strong{color:#2d7b48}.learning-stat--rose{background:#fff0ef}.learning-stat--rose strong{color:#b44b57}.vocabulary-tools{border:1px solid var(--border);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:.75rem;display:flex}.vocabulary-search{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;align-items:center;gap:.5rem;min-width:250px;min-height:42px;padding:0 .8rem;display:flex}.vocabulary-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.vocabulary-filters{flex-wrap:wrap;gap:.35rem;display:flex}.vocabulary-filters button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:99px;padding:.35rem .65rem;font-size:.7rem;font-weight:750}.vocabulary-filters button.active{color:#0f766e;background:#dff4ef}.vocabulary-no-results{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:16px;margin:1rem 0;padding:2rem}.learning-history{margin-top:2rem}.learning-history__list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.learning-history__list>div{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:1fr auto;gap:.2rem .7rem;padding:.85rem;display:grid}.learning-history__list span{color:var(--ink);font-size:.9rem;font-weight:800}.learning-history__list strong{color:#0f766e;font-size:.8rem}.learning-history__list small{color:var(--muted);grid-column:1/-1;font-size:.65rem}.settings-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:1rem;display:grid}.settings-form{gap:1rem;display:grid}.settings-form fieldset{border:1px solid var(--border);background:var(--surface);border-radius:1rem;gap:1rem;margin:0;padding:1.25rem;display:grid}.settings-form legend{padding:0 .45rem;font-size:.92rem;font-weight:800}.mode-selector{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.mode-selector label{border:1px solid var(--border);border-radius:.75rem;align-content:start;gap:.3rem;min-height:120px;padding:.8rem;display:grid}.mode-selector label.selected{border-color:var(--forest-light);background:var(--forest-soft)}.mode-selector input{width:1.1rem;height:1.1rem;accent-color:var(--forest-light)}.mode-selector label span{color:var(--muted);font-size:.72rem;line-height:1.45}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid legend{grid-column:1/-1}.settings-form input[type=range]{width:100%;accent-color:var(--forest-light)}.switch-setting{justify-content:space-between;align-items:center;gap:1rem;min-height:58px;padding:.6rem 0;display:flex}.switch-setting>span{flex-direction:column;display:flex}.switch-setting small{color:var(--muted);margin-top:.15rem;line-height:1.4}.switch-setting input{width:2.7rem;height:1.45rem;accent-color:var(--forest-light);flex:none}.settings-preview{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:1rem;padding:2rem;position:sticky;top:86px}.settings-preview h2{margin:.5rem 0 1.2rem}.settings-preview>p:not(.eyebrow){font-family:Georgia,Times New Roman,serif;line-height:1.8}.preview-highlight{background:var(--highlight);border-radius:.25rem;padding:.1rem .22rem}.settings-preview small{color:var(--muted);margin-top:1.25rem;display:block}.docs-card{border:1px solid var(--border);background:var(--surface);width:min(100%,790px);box-shadow:var(--shadow);border-radius:1rem;margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem)}.docs-card h1{color:var(--ink);margin:.5rem 0 1.5rem;font-size:clamp(2rem,5vw,3.4rem)}.docs-card code{overflow-wrap:anywhere;font-weight:700}.docs-card li{margin:.45rem 0;line-height:1.55}.reading-room{min-height:100vh;padding-bottom:calc(152px + env(safe-area-inset-bottom));background:var(--canvas)}.reading-header{z-index:20;min-height:calc(72px + env(safe-area-inset-top));padding:calc(.65rem + env(safe-area-inset-top)) clamp(1rem, 3vw, 2rem) .65rem;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.8rem;display:grid;position:sticky;top:0}.reading-header>a{border:1px solid var(--border);width:2.5rem;height:2.5rem;color:var(--forest);border-radius:50%;place-items:center;text-decoration:none;display:grid}.reading-header>div:nth-child(2){flex-direction:column;min-width:0;display:flex}.reading-header strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reading-header span{color:var(--muted);font-size:.7rem}.reading-header__actions{align-items:center;gap:.4rem;display:flex}.reading-connection{border:1px solid color-mix(in srgb, #2b8a5b 35%, var(--border));background:color-mix(in srgb, #d8f3e5 65%, var(--surface));white-space:nowrap;border-radius:99px;padding:.38rem .55rem;font-weight:800;color:#1f6f49!important}.reading-connection--offline{border-color:color-mix(in srgb, var(--danger) 30%, var(--border));background:color-mix(in srgb, var(--danger) 7%, var(--surface));color:var(--danger)!important}.language-toggle{background:var(--surface-soft);border-radius:.65rem;grid-template-columns:1fr 1fr;padding:.22rem;display:grid}.language-toggle button{min-width:42px;min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:.5rem;font-size:.72rem;font-weight:800}.language-toggle button.active{color:var(--forest);background:var(--surface-strong);box-shadow:0 2px 8px #2340331a}.reader-settings-link{border:1px solid var(--border);border-radius:.55rem;place-items:center;width:36px;height:36px;text-decoration:none;display:grid}.narration-warning{border:1px solid color-mix(in srgb, var(--gold) 60%, var(--border));width:min(100% - 2rem,1280px);color:var(--ink);background:color-mix(in srgb, var(--gold) 17%, var(--surface));border-radius:.65rem;align-items:center;gap:.55rem;margin:.75rem auto 0;padding:.65rem .85rem;font-size:.78rem;display:flex}.reading-layout{grid-template-columns:minmax(280px,.75fr) minmax(440px,1.25fr);align-items:start;gap:1.25rem;width:min(100% - 2rem,1280px);margin:1.25rem auto;display:grid}.story-visual{top:calc(92px + env(safe-area-inset-top));box-shadow:var(--shadow);background:#183d31;border-radius:1rem;position:sticky;overflow:hidden}.story-visual img{aspect-ratio:1.3;object-fit:cover;width:100%;display:block}.story-visual>div{color:#dcebe4;justify-content:space-between;padding:.8rem 1rem;font-size:.72rem;display:flex}.story-visual strong{color:#fff}.reading-page{border:1px solid var(--border);background:var(--surface);min-height:72vh;box-shadow:var(--shadow);border-radius:1rem;padding:clamp(2rem,6vw,5rem)}.reading-page h1{color:var(--ink);margin:.5rem 0 2rem;font-size:clamp(2rem,5vw,3.75rem);line-height:1.08}.story-copy{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:calc(clamp(1.22rem, 2.2vw, 1.68rem) * var(--reading-scale,1));line-height:2.05}.story-copy p{margin:0 0 1.4rem}.story-word{color:inherit;font:inherit;text-align:inherit;background:0 0;border:0;border-radius:.22rem;padding:0;transition:color .14s,background .14s;display:inline;position:relative}button.story-word{cursor:pointer}button.story-word:hover{text-decoration:underline;-webkit-text-decoration-color:var(--forest-light);text-decoration-color:var(--forest-light);text-decoration-thickness:2px}.story-word--active{color:var(--ink);background:var(--highlight);box-shadow:0 0 0 .18em var(--highlight)}.reading-hand{z-index:2;filter:drop-shadow(0 2px 2px #5a330c2e);pointer-events:none;width:auto;font-family:Segoe UI Emoji,Apple Color Emoji,sans-serif;font-size:.88em;line-height:1;animation:.8s ease-in-out infinite alternate hand-nudge;position:absolute;bottom:-1.28em;left:50%}@keyframes hand-nudge{0%{transform:translate(-50%)}to{transform:translate(-50%,.16em)}}.reader-controls{z-index:30;padding:.75rem clamp(1rem, 3vw, 2rem) calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -.7rem 2rem #263c3017}.progress-row,.control-row{align-items:center;gap:.7rem;width:min(100%,1080px);margin:0 auto;display:flex}.progress-row{color:var(--muted);font-size:.7rem}.progress-row label{flex:1}.progress-row input{width:100%;accent-color:var(--forest-light)}.progress-row strong{min-width:2.6rem;color:var(--forest)}.control-row{justify-content:center;margin-top:.45rem}.control-row button,.speed-control select{border:1px solid var(--border);min-width:44px;min-height:40px;color:var(--ink);background:var(--surface);border-radius:.65rem;padding:.45rem .65rem;font-size:.73rem;font-weight:800}.control-row .play-control{color:#fff;background:#174d3b;border:0;border-radius:50%;width:54px;height:54px;font-size:1rem}.speed-control{color:var(--muted);align-items:center;gap:.4rem;margin-left:.5rem;font-size:.68rem;font-weight:700;display:flex}.playback-note{color:var(--muted);text-align:center;margin:.4rem 0 0;font-size:.66rem}.reading-room[data-mode=children] .control-row button,.reading-room[data-mode=children] .speed-control select{min-width:48px;min-height:46px}.reading-room[data-mode=children] .advanced-control{display:none}.reading-room[data-mode=learning] .story-word{cursor:pointer}.reading-room[data-mode=learning] button.story-word{margin-inline-end:.25em}.reading-room[data-mode=learning]{--learning-accent:#0f766e;background:linear-gradient(180deg, #0f766e0d, transparent 420px), var(--canvas)}.learning-toolbar{border:1px solid color-mix(in srgb, var(--learning-accent) 28%, var(--border));color:#dff8f4;background:linear-gradient(125deg,#123f3a,#0f766e);border-radius:16px;grid-template-columns:minmax(250px,1.4fr) auto auto;align-items:center;gap:1rem;width:min(100% - 2rem,1280px);margin:.85rem auto 0;padding:.8rem 1rem;display:grid;box-shadow:0 .8rem 2rem #0f504824}.learning-toolbar__identity{align-items:center;gap:.75rem;min-width:0;display:flex}.learning-toolbar__identity>span{color:#0f5f58;background:#d5f6ef;border-radius:12px;place-items:center;width:42px;height:42px;font-family:Georgia,Times New Roman,serif;font-weight:900;display:grid}.learning-toolbar__identity div{gap:.18rem;min-width:0;display:grid}.learning-toolbar__identity strong{color:#fff;font-size:.82rem}.learning-toolbar__identity small{color:#bce8e1;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.learning-toolbar__progress{gap:.75rem;display:flex}.learning-toolbar__progress span{color:#bce8e1;text-align:center;font-size:.6rem;display:grid}.learning-toolbar__progress strong{color:#fff;font-size:.9rem}.learning-toolbar__actions{align-items:center;gap:.55rem;display:flex}.learning-toolbar__actions a,.learning-toggle{color:#eafffb;background:#ffffff12;border:1px solid #ffffff38;border-radius:9px;min-height:36px;padding:.45rem .65rem;font-size:.67rem;font-weight:800;text-decoration:none}.learning-toggle.active{color:#0b5b54;background:#d5f6ef}.story-paragraph{margin:0 0 1.4rem}.story-paragraph>p:first-child{margin:0}.paragraph-translation{color:#496860;background:color-mix(in srgb, #d9f3ee 45%, var(--surface));font-family:var(--font-sans);font-size:calc(.8rem * var(--reading-scale,1));border-left:3px solid #52b6aa;border-radius:0 10px 10px 0;padding:.8rem 1rem;line-height:1.55;position:relative;margin:.8rem 0 0!important}.paragraph-translation>span{color:#0f766e;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem;font-size:.58rem;font-weight:850;display:block}.learning-panel{z-index:40;right:1rem;bottom:calc(148px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, #0f766e 30%, var(--border));width:min(100% - 2rem,430px);max-height:min(660px,100vh - 180px);color:var(--ink);background:var(--surface-strong);border-radius:20px;padding:1.5rem;position:fixed;overflow-y:auto;box-shadow:0 1.5rem 4rem #14281f3d}.learning-panel h2{font-family:var(--font-display);margin:.4rem 0 .1rem;font-size:2.5rem}.learning-panel__translation{color:#0f766e;margin:0 0 .8rem;font-size:1.1rem;font-weight:800}.learning-panel__meaning{color:var(--muted);margin:0 0 1rem;font-size:.82rem;line-height:1.5}.learning-example{border:1px solid color-mix(in srgb, #0f766e 18%, var(--border));background:color-mix(in srgb, #d9f3ee 42%, var(--surface));border-radius:12px;padding:.9rem;gap:.35rem!important;display:grid!important}.learning-example>span{color:#0f766e;text-transform:uppercase;letter-spacing:.07em;font-size:.6rem;font-weight:850}.learning-example q{font-family:Georgia,Times New Roman,serif;font-size:.9rem;line-height:1.45}.learning-example small{color:var(--muted);line-height:1.4}.learning-panel__audio,.learning-panel__study{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.learning-panel__audio>button,.learning-panel__study>button{flex:1}.favorite-word{color:#a64c57;background:#fff5f4;border:1px solid #efc5c1;border-radius:10px;min-height:42px;padding:.55rem .8rem;font-weight:800}.favorite-word.active{color:#fff;background:#ae4e59}.learning-status{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.7rem;margin-top:.8rem;padding-top:.8rem;display:flex}.learning-status span{color:var(--muted);font-size:.7rem;font-weight:750}.learning-status select{border:1px solid var(--border);min-height:40px;color:var(--ink);background:var(--surface);border-radius:9px;padding:0 .6rem;font-weight:750}.learning-panel__close{border:1px solid var(--border);width:38px;height:38px;color:var(--muted);background:var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;top:.7rem;right:.7rem}.reader-loading{min-height:100vh;color:var(--muted);background:var(--canvas);text-align:center;align-content:center;place-items:center;padding:2rem;display:grid}.reader-loading>span{color:#fff;background:#174d3b;border-radius:1.2rem;place-items:center;width:4rem;height:4rem;font-size:1.8rem;font-weight:900;display:grid}.reader-loading h1{color:var(--ink);margin-bottom:.3rem}.reader-loading p{max-width:480px}@media (width<=1060px){.reader-app{grid-template-columns:80px minmax(0,1fr)}.reader-brand--rail strong,.reader-rail .nav-item strong,.rail-help{display:none}.reader-brand--rail{padding-inline:.2rem}.reader-rail .nav-item{justify-content:center}.library-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-overview{grid-template-columns:1.5fr repeat(2,1fr)}.learning-goal{grid-row:span 2}.learning-toolbar{grid-template-columns:1fr auto}.learning-toolbar__progress{display:none}}@media (width<=860px){.content-card,.detail-layout,.reading-layout,.settings-layout{grid-template-columns:1fr}.content-card__cover img{aspect-ratio:1.55;min-height:310px}.detail-cover img{aspect-ratio:1.45;min-height:320px}.story-visual,.settings-preview{position:static}.filter-panel{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.vocabulary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-tools{flex-direction:column;align-items:stretch}.learning-history__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.reader-app{display:block}.reader-rail{display:none}.app-header{justify-content:space-between}.reader-brand--compact{display:inline-flex}.reader-brand--compact strong{display:none}.mode-chip,.connection-chip{padding-inline:.55rem}.mode-chip{text-overflow:ellipsis;white-space:nowrap;max-width:115px;overflow:hidden}.app-main{min-height:calc(100vh - 130px);padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.reader-bottom-nav{z-index:30;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:block;position:fixed;bottom:0;left:0;right:0}.reader-bottom-nav nav{grid-template-columns:repeat(5,1fr);display:grid}.reader-bottom-nav .nav-item{border-radius:0;flex-direction:column;justify-content:center;gap:.12rem;min-height:58px;padding:.35rem .15rem}.reader-bottom-nav .nav-item>span{font-size:.92rem}.reader-bottom-nav .nav-item>strong{font-size:.58rem}.reader-bottom-nav .nav-item:nth-child(6),.reader-bottom-nav .nav-item:nth-child(7){display:none}.page-heading{flex-direction:column;align-items:flex-start}.page-heading--home{min-height:0}.continue-card{grid-template-columns:1fr}.continue-card img{height:220px}.library-card-grid,.mode-grid,.vocabulary-grid,.mode-selector,.settings-grid{grid-template-columns:1fr}.learning-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-goal{grid-area:auto/1/auto/-1}.learning-toolbar{grid-template-columns:1fr;width:min(100% - .75rem,1280px)}.learning-toolbar__identity small{white-space:normal}.learning-toolbar__actions{justify-content:space-between}.filter-panel{grid-template-columns:1fr}.search-field{grid-column:auto}.history-card{grid-template-columns:88px minmax(0,1fr)}.history-card>img{width:88px;height:88px}.history-actions{flex-direction:row;grid-column:1/-1}.download-card{grid-template-columns:82px minmax(0,1fr);align-items:start}.download-card img{width:82px}.download-card__actions{grid-column:1/-1}.reading-room{padding-bottom:calc(196px + env(safe-area-inset-bottom))}.reading-header{grid-template-columns:2.6rem minmax(0,1fr) auto}.reader-settings-link{display:none}.reading-page{padding:2rem 1.25rem}.control-row{flex-wrap:wrap;gap:.35rem}.speed-control{justify-content:center;width:100%;margin:.25rem 0 0}.learning-panel{bottom:calc(190px + env(safe-area-inset-bottom));max-height:calc(100vh - 215px)}}@media (width<=420px){.app-header{padding-inline:.75rem}.connection-chip,.reading-connection:not(.reading-connection--offline){display:none}.app-main{width:min(100% - 1rem,1180px)}.detail-copy{padding:1.5rem 1.1rem}.detail-facts{grid-template-columns:1fr}.detail-actions{flex-direction:column;align-items:stretch}.reading-layout{width:min(100% - .75rem,1280px)}.story-visual{display:none}.learning-overview{grid-template-columns:1fr 1fr}.learning-history__list{grid-template-columns:1fr}.learning-panel{width:calc(100% - 1rem);padding:1.15rem;right:.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.reader-reduced-motion *,.reader-reduced-motion :before,.reader-reduced-motion :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.route-loading,.fatal-error{background:var(--page-bg,#fbf7ef);place-items:center;min-height:100dvh;padding:2rem;display:grid}.route-loading p,.fatal-error__card{background:#fff;border:1px solid #43382a24;border-radius:1.5rem;box-shadow:0 1.25rem 3rem #43382a1a}.route-loading p{padding:1rem 1.25rem;font-weight:700}.fatal-error__card{width:min(36rem,100%);padding:clamp(1.5rem,5vw,3rem)}.fatal-error__eyebrow{color:#815500;letter-spacing:.09em;text-transform:uppercase;font-size:.78rem;font-weight:800}.fatal-error__card h1{margin-block:.5rem 1rem}.fatal-error__card button{color:#fff;background:#145c47;border:0;border-radius:999px;margin-top:1rem;padding:.85rem 1.25rem;font-weight:800}
