@charset "UTF-8";
:root{--ink:#172c34;--muted:#586c73;--faint:#7b8d92;--paper:#f7f8f5;--card:#fff;--line:#dce5e2;--accent:#0d6760;--accent-soft:#e7f3ed;--gold:#b26a28;--dark:#112d33;--shadow:0 12px 40px #142f3510;--radius:20px;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba752e;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4.4vw,56px);line-height:1.2;letter-spacing:-1.6px;font-weight:650}h2{font-size:24px;line-height:1.4;letter-spacing:-.5px}h3{font-size:17px;line-height:1.5}p{margin-bottom:14px}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;top:-100px;left:10px;z-index:100;background:white;padding:12px}.skip:focus{top:8px}.topbar{border-bottom:1px solid var(--line);background:#f7f8f5ee;backdrop-filter:blur(16px);position:sticky;top:0;z-index:25}.topbar .wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:11px;font-weight:650;letter-spacing:-.5px;white-space:nowrap}.brand img{width:35px;height:35px}.brand small{font-size:10px;color:var(--muted);letter-spacing:1.6px;display:block;line-height:1.25;margin-top:3px}nav{display:flex;align-items:center;gap:5px}nav a{padding:9px 14px;color:var(--muted);font-size:14px;border-radius:9px}nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}nav a:hover{background:#e9eeeb;color:var(--ink)}.nav-count{font-size:10px;background:var(--accent);color:white;border-radius:5px;padding:1px 5px;margin-left:5px}.menu-toggle{display:none;border:0;background:transparent;padding:10px;font-size:20px}.eyebrow{font:600 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin-bottom:18px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:58px;align-items:center;padding:64px 0 48px}.hero h1{margin-bottom:24px}.hero h1 em{font-style:normal;color:var(--accent)}.lede{font-size:17px;color:var(--muted);line-height:1.85;max-width:570px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:11px;padding:11px 19px;font-size:14px;font-weight:550;min-height:44px}.button:hover{filter:brightness(1.08);transform:translateY(-1px)}.button.secondary{background:white;color:var(--ink);border-color:var(--line)}.button.ghost{background:transparent;color:var(--muted);border-color:var(--line)}.button.small{padding:7px 12px;font-size:12px;min-height:38px}.button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:#aacdbd}.hero-facts{display:flex;gap:28px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.hero-facts b{display:block;font-size:26px;font-weight:550;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.hero-facts span{font-size:12px;color:var(--muted)}.chain-visual{background:var(--dark);border-radius:26px;padding:30px;box-shadow:0 28px 48px #18353f20;color:#e8f4ef;overflow:hidden;position:relative}.chain-visual:before{content:"";position:absolute;width:400px;height:400px;border:1px solid #8ed1bf15;border-radius:50%;right:-180px;top:-180px;box-shadow:0 0 0 50px #8ed1bf08,0 0 0 100px #8ed1bf04;pointer-events:none}.chain-label{color:#93c7ba;font-size:10px;letter-spacing:2px;position:relative}.chain-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:13px;padding:21px 0;border-bottom:1px solid #ffffff14;position:relative}.chain-row:last-of-type{border-bottom:0}.chain-num{font-family:monospace;font-size:11px;color:#7aaca2}.chain-row b{display:block;font-size:19px;font-weight:550}.chain-row small{font-size:11px;color:#b0c7c8}.chain-arrow{color:#b0d9c9;font-size:20px}.chain-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff1c;padding-top:18px;font-size:11px;color:#9dbbb9}.chain-dot{width:6px;height:6px;background:#a8dca1;border-radius:100%;display:inline-block;margin-right:7px}.section{padding:30px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}.section-head h2{margin:0}.section-head p{font-size:13px;color:var(--muted);margin:7px 0 0}.text-link{font-size:13px;color:var(--accent);font-weight:550;white-space:nowrap}.grid{display:grid;gap:16px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}.card.link:hover{border-color:#9bc3b5;box-shadow:var(--shadow)}.card .tag{font-size:10px;letter-spacing:.6px;background:var(--accent-soft);color:var(--accent);padding:4px 7px;border-radius:5px;display:inline-block;margin-bottom:23px}.card h3{margin-bottom:9px}.card p{font-size:13px;color:var(--muted);line-height:1.85}.card-foot{border-top:1px solid var(--line);padding-top:14px;margin-top:18px;display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.card-foot b{color:var(--accent);font-weight:500}.term-card{padding:22px;display:flex;flex-direction:column;min-height:190px}.term-card h3{font-size:19px;letter-spacing:-.2px}.term-card .en{font-size:11px;color:var(--faint);margin-top:-4px;overflow-wrap:anywhere}.term-card p{flex:1;margin-top:8px;margin-bottom:4px;color:#435d66}.term-card small{color:var(--accent);font-size:10px;letter-spacing:.3px}.callout{background:#e9eeea;border:1px solid #d5e1da;border-radius:20px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin:28px 0 50px}.callout h2{font-size:21px;margin-bottom:6px}.callout p{font-size:13px;color:var(--muted);margin:0}.page-heading{padding:48px 0 26px;max-width:850px}.page-heading h1{font-size:38px;margin-bottom:15px}.page-heading .lede{font-size:15px;max-width:750px}.crumb{font-size:12px;color:var(--muted);margin-bottom:24px;display:flex;flex-wrap:wrap;gap:9px}.crumb a{color:var(--accent)}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.searchbox{position:relative;flex:1;min-width:230px}.searchbox input{width:100%;border:1px solid #c9d8d2;border-radius:13px;background:white;padding:15px 46px 15px 20px;font-size:15px;color:var(--ink);box-shadow:0 4px 15px #1c493205}.searchbox span{position:absolute;right:18px;top:14px;color:var(--faint)}select{background:white;border:1px solid var(--line);border-radius:11px;padding:13px;color:var(--ink);max-width:100%}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.chip{border:1px solid var(--line);background:white;border-radius:8px;padding:7px 12px;font-size:12px;color:var(--muted);min-height:36px}.chip[aria-pressed=true],.chip.active{border-color:var(--accent);background:var(--accent);color:white}.count-line{font-size:12px;color:var(--muted);margin:18px 0}.empty{padding:60px 24px;text-align:center;border:1px dashed #c9d8d2;border-radius:18px;color:var(--muted);grid-column:1/-1}.route-steps{counter-reset:step}.module{display:grid;grid-template-columns:60px 270px 1fr;gap:24px;border-top:1px solid var(--line);padding:30px 0;scroll-margin-top:110px}.module-number{font:400 25px ui-monospace,monospace;color:#9cb4ac}.module h2{font-size:20px;margin-bottom:9px}.module p{font-size:13px;color:var(--muted)}.lesson-list{display:grid;gap:8px}.lesson-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:white;border:1px solid var(--line);border-radius:11px}.lesson-row:hover{border-color:#9cbfb4}.lesson-row .check{width:21px;height:21px;flex:none;border:1px solid #b4c8c0;border-radius:50%;font-size:12px;display:grid;place-items:center;color:var(--accent)}.lesson-row.done .check{background:var(--accent);border-color:var(--accent);color:white}.lesson-row b{font-weight:500;font-size:13px;flex:1}.lesson-row small{font-size:11px;color:var(--muted);white-space:nowrap}.progress-wrap{background:white;border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:10px 0 28px}.progress-top{display:flex;justify-content:space-between;gap:15px;font-size:13px}.progress-track{height:5px;background:#edf1ed;border-radius:8px;margin-top:13px;overflow:hidden}.progress-fill{background:var(--accent);width:0;height:100%;transition:width .2s}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px;align-items:start;margin-bottom:60px}.article{min-width:0}.article-header{margin-bottom:24px}.article-header h1{font-size:38px;line-height:1.3;overflow-wrap:anywhere;margin-bottom:15px}.article-en{font-size:14px;color:var(--muted);margin-bottom:18px}.article-meta{font-size:11px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}.definition{font-size:21px;line-height:1.8;padding:28px;background:var(--accent-soft);border:1px solid #cee4d6;border-radius:18px;margin:25px 0}.content-block{background:white;border:1px solid var(--line);border-radius:18px;padding:26px 28px;margin-bottom:17px;scroll-margin-top:100px}.content-block h2{font-size:18px;margin-bottom:17px}.content-block p{font-size:15px;line-height:1.9}.content-block p:last-child{margin-bottom:0}.content-block .step{display:flex;gap:14px;align-items:start;margin:14px 0}.step span{width:25px;height:25px;flex:none;border-radius:7px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font:12px monospace;margin-top:4px}.note{border-left:3px solid #b78045;background:#f8f1e7;color:#79522b;padding:13px 16px;font-size:13px;line-height:1.85;margin-top:18px}.sidebar{position:sticky;top:100px;display:grid;gap:15px}.sidebar .card{padding:22px}.sidebar h3{font-size:14px}.sidebar a.side-link{display:block;font-size:12px;border-top:1px solid var(--line);padding:10px 0;color:var(--muted)}.sidebar a:hover{color:var(--accent)}.sidebar .button{width:100%;margin-top:8px}.mini-label{font:10px monospace;letter-spacing:1px;color:var(--faint);margin-bottom:10px}.script-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.script-head h2{margin-bottom:7px}.script-area{width:100%;min-height:210px;resize:vertical;background:#fbfcf9;border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:18px;line-height:1.9;font-size:15px;margin-top:12px}.script-meta{font-size:11px;color:var(--muted);margin-top:7px;display:flex;justify-content:space-between;gap:12px}.source-list{list-style:none;padding:0;margin:0}.source-list li{border-top:1px solid var(--line);padding:12px 0;font-size:13px}.source-list a{color:var(--accent);display:block;font-weight:500}.source-list small{color:var(--muted);font-size:11px;display:block;margin-top:3px}.faq details{border-bottom:1px solid var(--line);padding:13px 0}.faq summary{cursor:pointer;font-size:14px}.faq details p{padding-top:10px;font-size:13px;color:var(--muted)}.related-inline{display:flex;gap:8px;flex-wrap:wrap}.workbench{display:grid;grid-template-columns:300px minmax(0,1fr);gap:25px;margin-bottom:60px}.queue{display:grid;gap:8px}.queue-item{border:1px solid var(--line);background:white;padding:13px 14px;border-radius:10px;display:flex;gap:8px;align-items:center}.queue-item a{flex:1;font-size:13px}.queue-item button{background:transparent;border:0;color:var(--muted);width:28px;height:28px}.queue-total{font-size:12px;color:var(--muted);margin-bottom:15px}.checklist{display:grid;gap:12px;font-size:13px}.checklist label{display:flex;align-items:start;gap:10px}.checklist input{margin-top:5px;accent-color:var(--accent)}.form-grid{display:grid;gap:20px}.field label{font-size:13px;display:block;font-weight:550;margin-bottom:7px}.field input,.field textarea{width:100%;border:1px solid #c9d8d2;border-radius:10px;padding:11px;background:#fff;color:var(--ink)}.field textarea{min-height:90px}.help{font-size:11px;color:var(--muted);margin-top:5px}.configure-preview{padding:28px;background:var(--dark);color:white;border-radius:20px;min-height:210px}.configure-preview h2{font-size:29px;line-height:1.4}.config-code{background:#eef2ee;border-radius:10px;padding:15px;font-size:11px;white-space:pre-wrap;overflow:auto;max-height:270px}.text-body{max-width:820px;margin:0 auto 60px}.text-body h2{margin-top:35px}.text-body p,.text-body li{font-size:15px;line-height:1.9;color:#445e66}.status-message{min-height:24px;font-size:12px;color:var(--accent);margin-top:12px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--dark);color:white;padding:12px 20px;border-radius:11px;box-shadow:var(--shadow);z-index:60;max-width:calc(100% - 30px);font-size:13px}.toast[hidden]{display:none}.footer{border-top:1px solid var(--line);padding:28px 0 36px;color:var(--muted);font-size:11px}.footer .wrap{display:flex;justify-content:space-between;gap:20px}.footer-links{display:flex;gap:18px}.mobile-action{display:none}[hidden]{display:none!important}.anchor-term{border-bottom:1px dotted #84b9a7;color:var(--accent)}.question-label{font-size:11px;color:var(--accent);letter-spacing:1px}.no-js{padding:10px 20px;background:#fbf0de;font-size:13px}.reading-small{font-size:13px;color:var(--muted)}.list-item{padding:16px;border-bottom:1px solid var(--line)}.list-item h3{font-size:15px;margin-bottom:6px}.section-number{color:var(--faint);font:11px monospace;margin-right:10px}.badge-row{display:flex;gap:8px;flex-wrap:wrap}.data-note{font-size:11px;color:var(--muted);line-height:1.8;margin-top:18px}.error-panel{min-height:55vh;display:grid;align-content:center;justify-items:start}.search-reset{font-size:12px;color:var(--accent);background:transparent;border:0}.route-card-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.hero{gap:30px}.hero h1{font-size:43px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.module{grid-template-columns:40px 220px 1fr;gap:16px}.article-layout{grid-template-columns:minmax(0,1fr) 245px;gap:20px}}
@media(max-width:760px){body{font-size:14px}.wrap{width:calc(100% - 36px)}.topbar .wrap{height:64px;gap:8px}.brand{font-size:15px}.brand img{width:31px;height:31px}.brand small{font-size:8px}.menu-toggle{display:block}nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 18px;flex-wrap:wrap;justify-content:center;box-shadow:var(--shadow)}nav.open{display:flex}nav a{padding:11px;font-size:13px}.hero{grid-template-columns:1fr;padding:36px 0 20px;gap:28px}.hero h1{font-size:38px;line-height:1.23;margin-bottom:20px}.eyebrow{font-size:10px;margin-bottom:14px}.lede{font-size:14px;line-height:1.9}.hero-facts{gap:0;justify-content:space-between;margin-top:24px;padding-top:18px}.hero-facts b{font-size:24px}.chain-visual{padding:24px;border-radius:21px}.chain-row{padding:14px 0;grid-template-columns:28px 1fr auto}.chain-row b{font-size:17px}.chain-row small{font-size:10px}.chain-foot{font-size:10px}.section{padding:24px 0}.section-head{gap:12px;margin-bottom:16px}.section-head h2{font-size:22px}.section-head p{font-size:12px}.grid.four,.grid.three,.grid.two{grid-template-columns:1fr;gap:12px}.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.route-grid .card{padding:18px 15px;border-radius:16px}.route-grid h3{font-size:15px}.route-grid p{font-size:12px;line-height:1.75}.route-grid .tag{margin-bottom:16px;font-size:9px}.route-grid .card-foot{font-size:10px;padding-top:10px;flex-wrap:wrap}.term-card{padding:20px;min-height:0}.term-card p{margin-top:6px}.term-card .en{margin-bottom:8px}.callout{padding:24px;display:block;margin:20px 0 35px}.callout .button{margin-top:18px}.page-heading{padding:30px 0 20px}.page-heading h1{font-size:31px;letter-spacing:-.8px}.page-heading .lede{font-size:13px}.toolbar{gap:8px}.searchbox{width:100%;flex-basis:100%}.searchbox input{padding:14px 44px 14px 15px;font-size:14px}.chips{gap:7px}.chip{font-size:11px;padding:7px 10px;min-height:36px}.module{grid-template-columns:35px 1fr;gap:10px;padding:25px 0}.module-number{font-size:23px}.module .lesson-list{grid-column:1/-1}.module h2{font-size:19px}.module p{margin-bottom:5px}.lesson-row{padding:14px 12px;gap:10px}.lesson-row b{font-size:13px}.lesson-row small{font-size:10px}.progress-wrap{padding:16px}.article-layout{grid-template-columns:1fr;gap:10px;margin-bottom:35px}.sidebar{position:static;grid-template-columns:1fr}.article-header h1{font-size:32px;letter-spacing:-.7px}.article-en{font-size:12px}.definition{padding:22px;font-size:18px;border-radius:16px}.content-block{padding:22px 20px;border-radius:16px}.content-block h2{font-size:18px}.content-block p{font-size:14px}.script-head{display:block}.script-head .button{margin-top:10px}.script-area{font-size:14px;padding:15px;min-height:260px}.script-meta{font-size:10px;flex-wrap:wrap}.workbench{grid-template-columns:1fr;gap:18px}.queue{max-height:300px;overflow:auto}.footer .wrap{display:block}.footer-links{margin-top:15px;gap:15px}.footer{padding-bottom:30px}.crumb{font-size:11px;margin-bottom:20px}.card{padding:21px}.card h3{font-size:16px}.callout h2{font-size:19px}.article-meta{font-size:10px}.reading-small{font-size:12px}.text-body p,.text-body li{font-size:14px}.button{padding:11px 16px}.config-code{font-size:10px}.configure-preview h2{font-size:24px}}
body[data-theme=blue]{--accent:#225b89;--accent-soft:#e7eff7;--dark:#132d45}body[data-theme=amber]{--accent:#845829;--accent-soft:#f5eddf;--dark:#382d24}.queue-item .queue-edit{width:auto;flex:1;text-align:left;color:var(--ink);height:auto;font-size:13px}.config-panel{margin-top:20px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.button:hover{transform:none}}
@media print{.topbar,.footer,.actions,.sidebar,.toolbar,.chips,.toast,.menu-toggle{display:none!important}.wrap{width:100%}.article-layout{display:block}.content-block{break-inside:avoid}.script-area{border:0;resize:none}.hero{display:block}.chain-visual{background:#eee;color:#172c34}body{background:white;color:#172c34}}
