@font-face{font-family:'Atlas Sans';src:url('/shared/fonts/notosanssc.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Atlas Serif';src:url('/shared/fonts/notoserifsc.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:'Atlas Display';src:url('/shared/fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--bg:#f6f7fa;--surface:#fff;--ink:#151b2a;--muted:#606878;--line:#dfe3ea;--accent:#3859e9;--accent-ink:#fff;--soft:#edf0fb;--display-font:'Atlas Display','Atlas Sans',sans-serif;--body-font:'Atlas Sans',sans-serif;--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1);--fast:160ms;--medium:240ms}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body-font);font-size:15px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;padding-bottom:100px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button{color:inherit}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}input,select{caret-color:var(--accent)}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--accent-ink)}*{scrollbar-width:thin;scrollbar-color:var(--muted) transparent}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}svg{max-width:100%}.icon{width:20px;height:20px;flex:0 0 auto;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:8px;left:10px;z-index:500;transform:translateY(-160%);background:var(--accent);color:var(--accent-ink);padding:12px 20px;border-radius:7px}.skip:focus{transform:none}
#designSwitcher{position:fixed;z-index:80;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);color:#f6f7f9;font-family:'Atlas Sans',sans-serif}.design-dock{display:flex;align-items:center;gap:7px;background:#151719;border:1px solid #454748;box-shadow:0 14px 40px #0004;padding:8px;border-radius:16px}.dock-label{font-size:10px;line-height:1.5;color:#bbc0c2;padding:0 10px;white-space:nowrap}.dock-label strong{display:block;color:#fff;font-size:12px;font-weight:500}.design-option{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 13px;text-decoration:none;border-radius:10px;font-size:12px;color:#d5d8db;white-space:nowrap;transition:background var(--fast),color var(--fast),transform var(--fast) var(--ease-out)}.design-option[aria-current=page]{background:#f4f4ee;color:#1e2123}.design-option span:first-child{display:grid;place-items:center;width:23px;height:23px;border:1px solid currentColor;border-radius:50%;font-family:'Atlas Display',sans-serif;font-size:11px}.design-original{color:#b8bdc2;font-size:11px;white-space:nowrap;padding:0 10px;border-left:1px solid #4d5053;text-decoration:none}.design-option:active{transform:scale(.97)}.design-option:focus-visible,.design-original:focus-visible{outline-color:#fff}.dock-motion{display:grid;place-items:center;background:none;color:#d5d8db;border:0;width:36px;height:44px;flex:0 0 auto;border-radius:9px}.dock-motion[aria-pressed=false]{color:#a6b6ff}
.topic-tab{font-family:var(--body-font);border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 15px;min-height:42px;border-radius:8px;display:inline-flex;gap:9px;align-items:center;font-size:12px;transition:background var(--fast),color var(--fast),border-color var(--fast)}.topic-tab[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.topic-tab small{font-size:10px;opacity:.75;font-family:'Atlas Display',sans-serif}#topicNav{display:flex;gap:8px;flex-wrap:wrap}#resultCount{font-size:12px;color:var(--muted);line-height:1.8}#loadMore{display:flex;align-items:center;justify-content:center;gap:10px;margin:32px auto 0;background:transparent;border:1px solid var(--line);border-radius:9px;padding:13px 25px;min-height:48px;font-size:13px}mark{background:var(--soft);color:var(--accent);padding:0 2px}.lesson-card{position:relative;color:var(--ink);text-align:left;cursor:pointer}.card-date{font-family:'Atlas Display',var(--body-font);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.card-title{font-family:var(--display-font);font-weight:650;font-size:21px;line-height:1.6;text-wrap:pretty}.card-summary{color:var(--muted);font-size:13px;line-height:1.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tags{display:flex;gap:6px;flex-wrap:wrap}.card-tags span{font-size:10px;color:var(--muted)}.card-bottom{display:flex;gap:12px;align-items:center;font-size:10px;color:var(--muted)}.card-arrow{margin-left:auto;color:var(--ink);display:grid;place-items:center}.card-state.partial{color:var(--accent)}.saved-mark{display:inline-block;margin-left:7px;color:var(--accent)}
.empty-state{padding:70px 20px;text-align:center;border-block:1px solid var(--line);grid-column:1/-1}.empty-state h3{font-size:22px;font-weight:550}.empty-state p{color:var(--muted);font-size:14px}.empty-state button{padding:12px 20px;border:1px solid var(--line);background:var(--surface);border-radius:8px}.featured-open{font-size:12px;display:inline-flex;gap:10px;align-items:center;background:none;border:0;padding:10px 0;color:var(--accent);min-height:44px}.featured-date{font-size:11px;color:var(--muted);line-height:1.8}.featured-title{font-size:19px;line-height:1.6;margin:12px 0}.featured-summary{font-size:13px;line-height:1.9;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#readingView{max-width:1392px;margin:0 auto;padding:30px 64px 70px;outline:none}.reading-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:45px}.reading-top button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid var(--line);background:transparent;border-radius:9px;font-size:12px}.reading-actions{display:flex;gap:9px}.reading-actions .is-saved{background:var(--soft);color:var(--accent);border-color:var(--accent)}.reading-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:70px}.reading-toc{position:sticky;top:35px;align-self:start;font-size:12px}.reading-toc>p{color:var(--muted);font-size:11px;margin-bottom:15px}.reading-toc nav{display:grid;gap:6px}.reading-toc a{display:block;padding:10px 0;text-decoration:none;color:var(--muted);border-bottom:1px solid transparent;min-height:40px}.reading-toc a:hover{color:var(--accent)}.reading-toc a:first-child{color:var(--accent)}.reading-progress{margin-top:30px;height:2px;background:var(--line);overflow:hidden}.reading-progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.reading-toc small{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:12px}.reading-article{min-width:0;max-width:820px}.reading-date{color:var(--accent);font-size:12px;line-height:1.8}.reading-article h1{font-family:var(--display-font);font-size:clamp(28px,3vw,46px);line-height:1.5;letter-spacing:-.03em;margin:20px 0 24px;font-weight:650}.reading-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.reading-tags button{background:transparent;border:1px solid var(--line);padding:7px 11px;border-radius:6px;min-height:36px;font-size:11px;color:var(--muted)}.reading-intro{font-size:17px;line-height:2;color:var(--ink);padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:22px}.reading-coverage{font-size:12px;line-height:1.9;color:var(--muted);display:flex;gap:10px;margin-bottom:45px}.reading-coverage .icon{width:16px;height:16px;margin-top:3px;color:var(--accent)}.reading-section{scroll-margin-top:28px;margin:0 0 50px}.reading-section>h2{font-family:var(--display-font);font-size:25px;line-height:1.5;margin:48px 0 27px;font-weight:600}.reading-section>h2 small{font-family:var(--body-font);font-size:11px;color:var(--muted);font-weight:400;margin-left:14px}.knowledge-point{border-bottom:1px solid var(--line);padding:0 0 28px;margin:0 0 28px}.knowledge-point h3{font-size:19px;line-height:1.7;font-weight:600;margin:0 0 13px}.knowledge-point p,.rich-text p{font-size:16px;line-height:2;color:var(--ink);margin:0 0 15px}.rich-text li{font-size:16px;line-height:2;margin:10px 0}.rich-text ul,.rich-text ol{padding-left:23px}.rich-text h4{font-size:18px;margin:28px 0 13px}.rich-text blockquote{border-left:1px solid var(--accent);margin:20px 0;padding-left:20px;line-height:2;color:var(--muted)}.rich-text strong{font-weight:650}.knowledge-point .caveat{font-size:13px;color:var(--muted)}.point-class{font-size:10px;color:var(--muted);margin-top:8px}.source-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.source-chip{background:transparent;color:var(--accent);border:1px solid var(--line);border-radius:5px;font-family:'Atlas Display',var(--body-font);font-size:10px;padding:7px 9px;min-height:32px;text-align:left}.reader-chapter{border-block-end:1px solid var(--line)}.reader-chapter summary{display:flex;align-items:center;gap:20px;justify-content:space-between;cursor:pointer;padding:22px 0;font-weight:550;line-height:1.7;font-size:17px;list-style:none}.reader-chapter summary::-webkit-details-marker{display:none}.reader-chapter summary::after{content:'+';font:24px 'Atlas Display';font-weight:300;color:var(--accent);transition:transform var(--medium) var(--ease-out)}.reader-chapter[open] summary::after{transform:rotate(45deg)}.chapter-rich{padding:0 0 30px}.reader-risk{padding:0;list-style:none}.reader-risk li{font-size:14px;line-height:1.9;margin:0 0 15px;padding:0 0 15px;border-bottom:1px solid var(--line);color:var(--muted)}.reader-source{padding:12px 0;font-size:12px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere;border-bottom:1px solid var(--line)}.reader-source strong{color:var(--accent);margin-right:8px;font-weight:500}.reading-footnote{font-size:11px;color:var(--muted);line-height:1.9;border-top:1px solid var(--line);padding-top:25px}.reading-related{display:grid;gap:12px}.reading-related button{border:0;border-bottom:1px solid var(--line);background:transparent;display:flex;align-items:center;gap:22px;text-align:left;padding:16px 0;font-size:14px;line-height:1.7}.reading-related time{color:var(--muted);font-size:11px;white-space:nowrap}.data-table{max-width:100%;overflow:auto;margin:24px 0}.data-table table{border-collapse:collapse;font-size:13px;min-width:450px;line-height:1.8}.data-table td,.data-table th{padding:12px 15px;border:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{background:var(--soft)}
#infoDialog{padding:28px;max-width:680px;width:calc(100vw - 32px);max-height:85dvh;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--surface);box-shadow:0 35px 100px #0004;overflow:auto}#infoDialog::backdrop{background:#080b15b0;backdrop-filter:blur(5px)}.dialog-header{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:23px;margin:0;font-family:var(--display-font)}.dialog-header button{border:0;background:none;width:44px;height:44px;display:grid;place-items:center}#dialogBody h3{font-size:17px;margin:25px 0 13px}#dialogBody p,#dialogBody li{font-size:14px;line-height:1.9;color:var(--muted)}#dialogBody blockquote{margin:20px 0;padding-left:17px;border-left:1px solid var(--accent);line-height:1.9}#dialogBody .copy-url{user-select:all;word-break:break-all}#toast{position:fixed;z-index:100;bottom:100px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);box-shadow:0 12px 30px #0002;border-radius:9px;padding:14px 20px;max-width:calc(100vw - 28px);font-size:13px}
[data-reveal]{opacity:1}body.motion-off *,body.motion-off *::before,body.motion-off *::after{animation-play-state:paused!important;scroll-behavior:auto!important}body.motion-off [data-reveal]{opacity:1!important;transform:none!important}.motion-paused,.motion-paused *{animation-play-state:paused!important}body.page-hidden *,body.page-hidden *::before,body.page-hidden *::after{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){.design-option:hover{background:#2e3235;color:#fff}.design-option[aria-current=page]:hover{background:#fff;color:#17191b}.topic-tab:hover{color:var(--ink);border-color:var(--ink)}.featured-open:hover .icon{transform:translateX(4px)}.featured-open .icon{transition:transform var(--medium) var(--ease-out)}.source-chip:hover{border-color:var(--accent);background:var(--soft)}}
@media(max-width:1000px){#readingView{padding:30px 32px 60px}.reading-layout{grid-template-columns:140px minmax(0,1fr);gap:35px}.reading-top{margin-bottom:30px}}
@media(max-width:700px){body{padding-bottom:90px}#designSwitcher{bottom:12px;width:calc(100vw - 20px)}.design-dock{padding:6px;gap:3px;border-radius:13px;justify-content:center}.dock-label{display:none}.design-option{font-size:11px;padding:7px 8px;gap:5px;flex:1;justify-content:center;min-height:44px}.design-option span:first-child{width:21px;height:21px;font-size:10px}.design-original{font-size:10px;padding:0 8px}.dock-motion{width:29px;flex:0 0 29px}.dock-motion .icon{width:16px}.topic-tab{min-height:42px;font-size:11px;padding:9px 11px}.reading-top{gap:10px;margin-bottom:28px}.reading-actions button{width:42px;height:42px;padding:10px}.reading-actions .tool-label{display:none}#readingView{padding:22px 22px 40px}.reading-layout{display:block}.reading-toc{position:static;margin:0 0 35px;overflow:auto}.reading-toc>p,.reading-toc small,.reading-progress{display:none}.reading-toc nav{display:flex;gap:19px;border-bottom:1px solid var(--line)}.reading-toc a{white-space:nowrap;min-height:44px;font-size:12px}.reading-article h1{font-size:30px;line-height:1.65;margin-top:17px}.reading-intro{font-size:16px;line-height:2}.reading-coverage{margin-bottom:32px}.reading-section>h2{font-size:24px}.knowledge-point h3{font-size:18px}.rich-text p,.knowledge-point p,.rich-text li{font-size:16px;line-height:2}.source-chip{min-height:38px;font-size:10px}.reading-related button{display:block}.reading-related time{display:block;margin-bottom:8px}.reader-chapter summary{font-size:16px}.card-title{font-size:20px}#infoDialog{padding:22px}.dialog-header h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important}}
@media print{#designSwitcher,.site-header,.reading-top,.reading-toc,#toast{display:none!important}body{padding:0;background:white;color:black}#readingView{padding:0}.reading-layout{display:block}.reading-article{max-width:none}}
.lesson-title{view-transition-name:lesson-heading}::view-transition-group(lesson-heading){animation-duration:450ms;animation-timing-function:cubic-bezier(.23,1,.32,1)}::view-transition-old(root){animation-duration:180ms}::view-transition-new(root){animation-duration:260ms}body.motion-off *,body.motion-off *::before,body.motion-off *::after{animation:none!important}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
.design-original{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}@media(max-width:700px){.dock-motion{width:40px;flex-basis:40px}.design-option{padding-inline:6px}.design-original{padding-inline:6px}}
