:root{--ink:#1c252b;--muted:#65727a;--line:#cfd6d8;--paper:#fbfaf7;--panel:#fff;--accent:#8d2e2e;--accent-soft:#f6e9e4;--green:#315d50;--gold:#b68442;--shadow:0 12px 36px rgba(24,37,43,.08)}
.home-link{display:inline-block;margin-bottom:18px;padding:7px 12px;border:1px solid rgba(255,255,255,.42);border-radius:999px;color:inherit;text-decoration:none;font:700 .82rem/1.4 ui-sans-serif,system-ui,sans-serif}.home-link:hover{background:rgba(255,255,255,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 8% 0%,rgba(182,132,66,.12),transparent 29rem),var(--paper);font:16px/1.65 Georgia,"Noto Serif SC","Songti SC",serif}button{font:inherit}.hero{padding:54px clamp(22px,5vw,76px) 42px;color:#fff;background:linear-gradient(125deg,#172b32 0%,#27454a 62%,#8d4e3d 140%);border-bottom:5px solid var(--gold)}.eyebrow{margin:0 0 8px;color:#e5c99e;font:700 .78rem/1.2 ui-sans-serif,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1.05}.hero .cn{margin:12px 0 0;color:#e9efed;font-size:1.15rem}.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hero-meta span{padding:5px 11px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#e6ecea;background:rgba(255,255,255,.06);font:600 .78rem/1.4 ui-sans-serif,system-ui,sans-serif}.layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;max-width:1700px;margin:0 auto;padding:32px clamp(16px,3vw,44px) 70px}.toc{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);overflow:auto;padding:20px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}.toc h2{margin:0 0 12px;font:700 1rem ui-sans-serif,system-ui,sans-serif}.toc a{display:block;padding:8px 10px;color:#34444b;border-left:2px solid #d8ddda;text-decoration:none;font:600 .84rem/1.35 ui-sans-serif,system-ui,sans-serif}.toc a.sub{padding-left:23px;color:var(--muted);font-weight:500}.toc a:hover,.toc a.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-soft)}.controls{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.controls button{padding:7px 10px;color:#35464c;background:#f6f6f3;border:1px solid #d7dcda;border-radius:7px;cursor:pointer}.controls button:hover{background:#eceeea}main{min-width:0}.chapter-intro{margin-bottom:24px;padding:20px 24px;border-left:4px solid var(--gold);background:#fff;box-shadow:var(--shadow)}.chapter-intro strong{color:var(--accent)}.column-head,.sentence-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(370px,1.55fr)}.column-head{position:sticky;top:0;z-index:5;color:#fff;background:#253d43;border-radius:10px 10px 0 0;overflow:hidden;font:700 .92rem/1.2 ui-sans-serif,system-ui,sans-serif;box-shadow:0 7px 20px rgba(24,37,43,.15)}.column-head div{padding:13px 18px;text-align:center;border-right:1px solid rgba(255,255,255,.22)}.section-heading{scroll-margin-top:60px;margin:34px 0 10px;padding:20px 24px;color:#fff;background:linear-gradient(110deg,var(--accent),#ad5a43);border-radius:10px;box-shadow:var(--shadow)}.section-heading.subsection{margin:27px 0 10px;padding:15px 21px;background:linear-gradient(110deg,#315d50,#537d6f)}.section-heading small{display:block;opacity:.8;font:700 .72rem/1.2 ui-sans-serif,system-ui,sans-serif;letter-spacing:.12em}.section-heading h2{margin:4px 0 0;font-size:1.55rem}.section-heading.subsection h2{font-size:1.25rem}.paragraph{margin:0 0 22px;border:1px solid #aeb8ba;border-radius:10px;overflow:clip;background:var(--panel);box-shadow:var(--shadow)}.paragraph-marker{display:flex;align-items:center;gap:10px;padding:7px 14px;color:#536168;background:#ecece7;border-bottom:1px solid #c8cece;font:700 .72rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}.paragraph-marker:after{content:"";height:1px;flex:1;background:#c4c9c7}.sentence-row{scroll-margin-top:50px;border-bottom:1px solid var(--line)}.sentence-row:last-child{border-bottom:0}.cell{min-width:0;padding:17px 18px;border-right:1px solid var(--line)}.cell:last-child{border-right:0}.original{font-size:1.01rem;line-height:1.72}.translation{color:#273d44;line-height:1.8}.sentence-no{float:left;min-width:28px;margin:3px 9px 0 0;padding:1px 5px;color:var(--accent);background:var(--accent-soft);border-radius:4px;text-align:center;font:700 .66rem/1.5 ui-sans-serif,system-ui,sans-serif}.focus-vocab{display:flex;flex-wrap:wrap;gap:7px 12px;margin-bottom:10px}.focus-vocab span{font-size:.9rem}.focus-vocab b{color:#172d34}.explanation details{margin-top:8px;border:1px solid #d7dcda;border-radius:7px;background:#f7f8f6}.explanation summary{padding:8px 11px;cursor:pointer;color:#263b42;font:700 .84rem/1.4 ui-sans-serif,system-ui,sans-serif;list-style:none}.explanation summary::-webkit-details-marker{display:none}.explanation summary:before{content:"▸";display:inline-block;margin-right:8px;color:var(--accent);transition:transform .16s}.explanation details[open] summary:before{transform:rotate(90deg)}.explanation details[open] summary{border-bottom:1px solid #d7dcda}.detail-body{padding:10px 13px 12px;color:#536168;font-size:.9rem;line-height:1.68}.detail-body p{margin:0 0 9px}.analysis-label{display:inline-block;margin-right:6px;color:var(--accent);font:700 .75rem/1.3 ui-sans-serif,system-ui,sans-serif}.analysis-list{margin:7px 0 0;padding-left:1.25rem}.analysis-list li{margin:5px 0}.syntax-flow{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.syntax-flow span{padding:4px 8px;color:#31464c;background:#fff;border:1px solid #d6dcda;border-radius:5px}.word-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.word-entry{padding:8px 9px;background:#fff;border:1px solid #dce1df;border-radius:5px}.word-entry b{color:#1e353c}.word-entry.contextual{border-left:3px solid var(--accent);background:#fffaf8}.word-entry em{display:block;color:var(--accent);font:600 .7rem ui-sans-serif,system-ui,sans-serif}.phonetic{margin-left:6px;color:var(--green);font-family:"Charis SIL","Doulos SIL","Times New Roman",serif;white-space:nowrap}.phrase-card{margin:7px 0;padding:8px 10px;background:#fff;border-left:3px solid var(--gold)}.phrase-card b{display:block;color:#21383f}.study-note{margin-top:9px;padding:8px 10px;color:#43545a;background:#edf3f0;border-radius:5px}footer{padding:34px;color:#68767b;text-align:center;font:.8rem ui-sans-serif,system-ui,sans-serif}
.read-aloud{display:block;margin:13px 0 0;padding:6px 11px;border:1px solid #c6d4d1;border-radius:999px;color:var(--green);background:#f1f6f4;cursor:pointer;font:700 .76rem/1.35 ui-sans-serif,system-ui,sans-serif;transition:background .15s,color .15s,border-color .15s}.read-aloud:hover{color:#fff;background:var(--green);border-color:var(--green)}.read-aloud.speaking{color:#fff;background:var(--accent);border-color:var(--accent)}.read-aloud:disabled{opacity:.55;cursor:not-allowed}
.speech-rate-control{display:grid;gap:9px;margin-top:8px;padding:12px 10px;border:1px solid #d7dcda;border-radius:9px;background:#f9faf7;font:600 .75rem/1.35 ui-sans-serif,system-ui,sans-serif}.speech-rate-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.speech-rate-header strong{color:#30444a}.speech-rate-value{min-width:46px;padding:2px 7px;border-radius:999px;color:#fff;background:var(--green);text-align:center;font-weight:800}.speech-rate-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.controls .speech-rate-preset{min-width:0;padding:5px 3px;font-size:.7rem}.controls .speech-rate-preset.active,.controls .speech-rate-preset[aria-pressed="true"]{color:#fff;background:var(--accent);border-color:var(--accent)}.speech-rate-slider{display:grid;gap:5px;color:var(--muted)}.speech-rate-slider input{width:100%;margin:0;cursor:pointer;accent-color:var(--accent)}
@media(max-width:1100px){.layout{grid-template-columns:1fr}.toc{position:relative;top:0;max-height:none}.toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.column-head{display:none}.sentence-row{display:block}.cell{border-right:0;border-bottom:1px dashed var(--line)}.cell:before{display:block;margin-bottom:5px;color:var(--muted);font:700 .7rem ui-sans-serif,system-ui,sans-serif;letter-spacing:.1em}.original:before{content:"原文"}.translation:before{content:"翻译"}.explanation:before{content:"详解"}.word-grid,.toc nav{grid-template-columns:1fr}}
@media print{.toc,.controls{display:none}.layout{display:block;padding:0}.column-head{position:static}.paragraph{box-shadow:none}.explanation details{break-inside:avoid}}
