:root{--bg: #fdfdfb;--fg: #1a1a1a;--muted: #3d3d3d;--hairline: rgba(0, 0, 0, .12);--accent: #2a5c8a;--highlight: rgba(42, 92, 138, .1);--font-serif: "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", "STSong", "SimSun", "宋体", serif;--font-sans: "Source Han Sans SC", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: var(--font-serif);--code-font: "Kaiti SC", "STKaiti", "KaiTi", "楷体", serif;--code-color: #c8920a;--font-size-base: 16px;--lh: 1.8;--measure: 34em}:root[data-theme=dark]{--bg: #111111;--fg: #e8e8e8;--muted: #a8a8a8;--hairline: rgba(255, 255, 255, .14);--accent: #7fb2e0;--highlight: rgba(120, 170, 220, .14);--code-color: #e0a92a}:root[data-font=sans]{--font-body: var(--font-sans)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);line-height:var(--lh);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;display:flex;flex-direction:column;height:100vh;overflow:hidden}.reader-bar{display:flex;gap:.5rem;align-items:center;padding:.5rem 1rem;font-size:14px;border-bottom:1px solid var(--hairline)}.reader-bar button{font:inherit;background:none;border:none;color:var(--fg);cursor:pointer;padding:.2rem .5rem}.reader-bar button:hover{color:var(--accent)}.layout{display:grid;grid-template-columns:minmax(220px,18%) 1fr 1fr;flex:1 1 auto;min-height:0}.sidebar{border-right:1px solid var(--hairline);overflow:auto;display:flex;flex-direction:column}.panel{padding:.75rem 1rem;border-bottom:1px solid var(--hairline)}.panel>h2{font-size:.8rem;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;letter-spacing:.05em}.sidebar .home-link{display:block;padding:.75rem 1rem;color:var(--fg);text-decoration:none;font-size:14px}.sidebar .home-link:hover{color:var(--accent)}.pane{overflow:auto;min-height:0;padding:1.5rem 2rem}.pane-center{border-right:1px solid var(--hairline)}.tree,.outline{list-style:none;margin:0;padding-left:.75rem}.tree{font-size:14px}.tree li{margin:.15rem 0}.tree a{color:var(--fg);text-decoration:none}.tree a:hover{color:var(--accent)}.tree a.active{color:var(--accent);font-weight:600}.tree details>summary{cursor:pointer;list-style:none}.tree details>summary::-webkit-details-marker{display:none}.tree details>summary:before{content:"▸ ";color:var(--muted)}.tree details[open]>summary:before{content:"▾ "}.outline{font-size:14px}.outline li{margin:.1rem 0}.outline .node{display:block;padding:.1rem .4rem;cursor:pointer;color:var(--fg);border-radius:2px}.outline .node:hover{color:var(--accent)}.outline .node.active{background:var(--highlight)}.outline .lvl-1{padding-left:0}.outline .lvl-2{padding-left:.8rem}.outline .lvl-3{padding-left:1.6rem}.outline .lvl-4{padding-left:2.4rem}.outline .lvl-5{padding-left:3.2rem}.outline .lvl-6,.outline .lvl-7,.outline .lvl-8,.outline .lvl-9,.outline .lvl-10{padding-left:4rem;color:var(--muted)}.prose{max-width:var(--measure);margin-inline:auto;font-size:var(--font-size-base);line-height:var(--lh);counter-reset:para}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6,.prose [role=heading]{font-weight:600;line-height:1.5;margin:1.8em 0 .8em}.prose h1{font-size:1.8rem;text-align:center;margin-top:.5em}.prose h2{font-size:1.4rem}.prose h3{font-size:1.2rem}.prose h4{font-size:1.1rem}.prose h5{font-size:1.05rem}.prose h6{font-size:1rem}.prose .lvl1{font-size:1.8rem;text-align:center;margin-top:.5em}.prose .lvl2{font-size:1.4rem}.prose .lvl3{font-size:1.2rem}.prose .lvl4{font-size:1.1rem}.prose .lvl5{font-size:1.05rem}.prose .lvl6,.prose .lvl7{font-size:1rem}.prose .lvl8{font-size:.95rem}.prose .lvl9{font-size:.92rem}.prose .lvl10{font-size:.9rem}.prose p{margin:0 0 .8em;text-indent:2em;text-align:justify;text-justify:inter-character}:root[data-para-numbers=on] .prose>p:not(.empty-note){text-indent:0}:root[data-para-numbers=on] .prose>p:not(.empty-note):before{counter-increment:para;content:counter(para);display:inline-block;width:2em;color:var(--muted)}.prose .empty-note{color:var(--muted)}.prose ul,.prose ol{padding-left:0;margin:.5em 0}.prose li{margin-bottom:.3em;list-style:none}.prose li p{text-indent:0}.prose blockquote{margin:1em 0;padding-left:1.5em;color:var(--muted);font-style:italic}.prose blockquote>*{margin:0 0 .2em}.prose code{font-family:var(--code-font);font-size:1.05em;font-weight:700;color:var(--code-color);background:none;border:none;padding:0;white-space:normal}.prose pre{font-family:var(--code-font);font-size:1.05em;font-weight:700;color:var(--code-color);background:none;border:none;padding:0;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;line-height:1.8;text-indent:2em;margin:0 0 .8em}.prose pre code{font:inherit;color:inherit}.prose a{color:var(--accent);text-decoration:underline}.prose .fc-anchor{height:0;margin:0;padding:0;overflow:hidden;visibility:hidden;pointer-events:none}.fc-jump-btn{position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;padding:.6rem 1rem;border:1px solid var(--hairline);border-radius:999px;background:var(--bg);color:var(--accent);font:600 .85rem/1 var(--font-serif);box-shadow:0 8px 22px #00000029;cursor:pointer;opacity:1;transition:opacity .18s ease,transform .18s ease}.fc-jump-btn:hover{transform:translateY(-1px)}.fc-jump-btn[hidden]{display:none}@media(max-width:768px){.layout{grid-template-columns:1fr}.sidebar,.app.route-lesson .pane-right,.app.route-fc .pane-center{display:none}.pane-center{border-right:none}.app.route-lesson .fc-jump-btn{display:none}}.player-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--bg);border-top:1px solid var(--hairline);font-size:14px}.player-bar .play{font:inherit;background:none;border:none;color:var(--fg);cursor:pointer;min-width:2.2em;padding:0}.player-bar .play:hover{color:var(--accent)}.player-bar .progress{flex:1;height:4px;background:var(--hairline);cursor:pointer;position:relative}.player-bar .progress-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent)}.player-bar .time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.prose mark{background:none;color:inherit}.prose mark.cue-active{background:var(--highlight)}
