:root{color-scheme:light;--bg:#fbfbfd;--bg-top:#fff;--bg-elevated:#ffffffe0;--bg-soft:#f4f5f7;--bg-muted:#eff1f4;--surface-glass:#ffffffb8;--surface-glass-strong:#ffffffeb;--fg:#1d1d1f;--fg-strong:#111214;--fg-soft:#4d5562;--fg-faint:#88909d;--muted:var(--fg-soft);--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#2563eb1f;--accent-line:#2563eb42;--border:#11182714;--border-strong:#1118271f;--shadow-soft:0 20px 45px #0f172a0f;--shadow-card:0 10px 30px #0f172a0d;--page-glow:#2563eb14;--focus-ring:#2563eb29;--radius-xs:10px;--radius-sm:16px;--radius-md:22px;--radius-lg:32px;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--text-xs:.78rem;--text-sm:.92rem;--text-base:1rem;--text-md:1.1rem;--text-lg:clamp(1.3rem, 1.1rem + .8vw, 1.75rem);--text-xl:clamp(2.4rem, 1.8rem + 2.2vw, 4.4rem);--text-display:clamp(2.9rem, 2.2rem + 3vw, 5.25rem);--measure:44rem;--maxw:76rem;--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", system-ui, sans-serif}html[data-theme=dark]{color-scheme:dark;--bg:#111418;--bg-top:#171c23;--bg-elevated:#191f27e6;--bg-soft:#1b222b;--bg-muted:#242d38;--surface-glass:#1a2028c2;--surface-glass-strong:#1e252ef0;--fg:#e6eaf0;--fg-strong:#f7f9fc;--fg-soft:#b5becb;--fg-faint:#8b97a7;--accent:#80aaff;--accent-hover:#aac6ff;--accent-soft:#80aaff29;--accent-line:#80aaff57;--border:#e2e8f021;--border-strong:#e2e8f033;--shadow-soft:0 20px 45px #0000004d;--shadow-card:0 10px 30px #00000038;--page-glow:#507dd724;--focus-ring:#80aaff47}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{background:radial-gradient(circle at top, var(--page-glow), transparent 30%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg) 24%, var(--bg) 100%);min-height:100vh;color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.65}::selection{background:var(--accent-soft)}a{color:var(--accent);text-decoration:none;transition:color .18s,border-color .18s,background-color .18s,box-shadow .18s,transform .18s}a:hover{color:var(--accent-hover)}button,input,summary{font:inherit}:focus-visible{box-shadow:0 0 0 4px var(--focus-ring);outline:0}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}.page-shell{width:min(calc(100% - 2rem), var(--maxw));margin:0 auto}.eyebrow{border:1px solid var(--border);color:var(--fg-soft);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(18px);background:#ffffffd1;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .8rem;display:inline-flex}.section-kicker{color:var(--fg-faint);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase}.surface-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);backdrop-filter:blur(16px)}.hairline{border:1px solid var(--border)}.tabular-nums{font-variant-numeric:tabular-nums}.site-nav{max-width:var(--maxw);justify-content:space-between;align-items:center;margin:0 auto;padding:.9rem 1rem;display:flex}.nav-home{color:var(--fg-strong);letter-spacing:-.03em;font-size:1.05rem;font-weight:620}.nav-actions{align-items:center;gap:.75rem;display:flex}.nav-search{border:1px solid var(--accent-line);color:var(--accent);font-size:var(--text-sm);background:var(--accent-soft);border-radius:999px;align-items:center;padding:.45rem .8rem;font-weight:600;display:inline-flex}.nav-search:hover{color:#fff;background:var(--accent);text-decoration:none}.site-menu{position:relative}.site-menu>summary{display:none}.nav-links{gap:1.5rem;display:flex}.nav-links a{color:var(--fg-faint);font-size:.92rem;transition:color .18s}.nav-links a:hover{color:var(--fg-strong);text-decoration:none}.theme-menu{position:relative}.theme-menu>summary{border:1px solid var(--border);color:var(--fg-soft);background:var(--surface-glass);cursor:pointer;font-size:var(--text-sm);border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .65rem;list-style:none;display:inline-flex}.theme-menu>summary::-webkit-details-marker{display:none}.theme-symbol:before{content:"☼";color:var(--accent);font-size:1rem;line-height:1}html[data-theme=dark] .theme-symbol:before{content:"☾"}.theme-options{z-index:20;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);width:max-content;min-width:8rem;box-shadow:var(--shadow-soft);backdrop-filter:blur(16px);gap:.15rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .6rem);right:0}.theme-options button{border-radius:var(--radius-xs);color:var(--fg-soft);cursor:pointer;font:inherit;font-size:var(--text-sm);text-align:left;background:0 0;border:0;padding:.55rem .7rem}.theme-options button:hover,.theme-options button.is-active{color:var(--accent);background:var(--accent-soft)}html[data-theme=dark] .eyebrow,html[data-theme=dark] .book-card,html[data-theme=dark] .search-control,html[data-theme=dark] .search-result,html[data-theme=dark] .list-meta,html[data-theme=dark] .lesson-row,html[data-theme=dark] .zh-toggle,html[data-theme=dark] .site-menu>summary,html[data-theme=dark] .graph-legend{background:var(--surface-glass)}html[data-theme=dark] .zh-toggle:hover,html[data-theme=dark] .search-result:hover,html[data-theme=dark] .lesson-row:hover{background:var(--surface-glass-strong)}html[data-theme=dark] .sentence{border-bottom-color:var(--border)}html[data-theme=dark] .graph-pin{color:#f7d28c;background:#4a3314f0;border-color:#9b6a1c}html[data-theme=dark] .graph-pin strong,html[data-theme=dark] .graph-pin button{color:#ffd58a}html[data-theme=dark] .graph-pin button{background:#2b2114;border-color:#9b6a1c}html[data-theme=dark] .graph-pin button:hover{background:#463319}@media (width<=640px){.site-nav{padding-block:.75rem}.site-menu>summary{border:1px solid var(--border);color:var(--fg-soft);cursor:pointer;font-size:var(--text-sm);background:#ffffffb8;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .7rem;list-style:none;display:inline-flex}.site-menu>summary::-webkit-details-marker{display:none}.site-menu>summary:after{content:"+";color:var(--accent);font-size:1rem;line-height:1}.site-menu[open]>summary:after{content:"−"}.site-menu>.nav-links{z-index:10;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);width:min(14rem,100vw - 2rem);box-shadow:var(--shadow-soft);backdrop-filter:blur(16px);padding:.5rem;display:none;position:absolute;top:calc(100% + .6rem);right:0}.site-menu[open]>.nav-links{gap:.15rem;display:grid}.nav-links a{border-radius:var(--radius-xs);padding:.65rem .75rem}.nav-links a:hover{background:var(--accent-soft)}}.audio-player{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);max-width:36rem;margin:1rem auto 0;overflow:hidden}.ap-controls{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.7rem 1rem;display:flex}.ap-play-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-size:.85rem;transition:background .15s;display:flex}.ap-play-btn:hover{background:#1d4ed8}.ap-time{color:var(--fg-faint);font-variant-numeric:tabular-nums;min-width:3em;font-size:.78rem}.ap-progress-bar{background:var(--bg-muted);cursor:pointer;border-radius:2px;flex:1;height:4px;position:relative}.ap-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .1s linear}.ap-lyrics{max-height:20rem;padding:.5rem 1rem;overflow-y:auto}.ap-line{cursor:pointer;opacity:.6;border-radius:6px;padding:.4rem .6rem;font-size:.95rem;line-height:1.6;transition:background .15s,opacity .15s}.ap-line:hover{background:var(--bg-soft)}.ap-line-active{opacity:1;background:#2563eb14;font-weight:560}.ap-line-zh{color:var(--fg-soft);margin-top:.2rem;font-size:.85rem;display:block}.text-stage .sentences{gap:.85rem;display:grid}.text-stage .sentence{--sentence-accent:#2563eb;--sentence-line:#2563eb57;--sentence-soft:#2563eb1f}.text-stage .sentence:nth-child(3n+2){--sentence-accent:#078173;--sentence-line:#07817357;--sentence-soft:#0781731f}.text-stage .sentence:nth-child(3n){--sentence-accent:#a85b08;--sentence-line:#a85b085c;--sentence-soft:#a85b081f}html[data-theme=dark] .text-stage .sentence{--sentence-accent:#8bb3ff;--sentence-line:#8bb3ff70;--sentence-soft:#6091f22b}html[data-theme=dark] .text-stage .sentence:nth-child(3n+2){--sentence-accent:#62d0bd;--sentence-line:#62d0bd70;--sentence-soft:#29b29c29}html[data-theme=dark] .text-stage .sentence:nth-child(3n){--sentence-accent:#ffc36b;--sentence-line:#ffc36b75;--sentence-soft:#d98f2a2b}.text-stage .sentence{gap:var(--space-4);border:1px solid var(--border);border-left:4px solid var(--sentence-accent);border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--sentence-soft), transparent 62%), var(--bg-elevated);box-shadow:0 1px 0 var(--border);grid-template-columns:auto minmax(0,1fr);padding:1rem 1.15rem;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s;position:relative}.text-stage .sentence:first-child{padding-top:1rem}.text-stage .sentence:hover,.text-stage .sentence:focus-within{border-color:var(--sentence-line);border-left-color:var(--sentence-accent);box-shadow:var(--shadow-card);transform:translate(3px)}.text-stage .tts-btn{width:2.45rem;height:2.45rem;color:var(--sentence-accent);border-color:var(--sentence-line);background:var(--sentence-soft);margin-top:.1rem}.text-stage .sentence-index{border:1px solid var(--sentence-line);min-width:4.5rem;color:var(--sentence-accent);background:var(--sentence-soft);letter-spacing:.1em;border-radius:999px;align-items:center;margin-bottom:.6rem;padding:.17rem .5rem;font-size:.7rem;font-weight:700;line-height:1.35;display:inline-flex}.text-stage .sentence-body .en{font-size:clamp(1.12rem,1.06rem + .28vw,1.28rem);line-height:1.78}.text-stage .sentence-body .zh{padding-left:var(--space-4);border-left:2px solid var(--sentence-line);margin-top:.8rem}@media (width<=640px){.text-stage .sentence{gap:var(--space-3);padding:.9rem}.text-stage .sentence-body .en{font-size:1.08rem;line-height:1.72}}
