:root{--ink: #1f2937;--ink-soft: #4b5563;--ink-faint: #6b7280;--paper: #fbfaf8;--card: #ffffff;--line: #e7e2d9;--line-soft: #f0ebe2;--accent: #c2410c;--accent-ink: #9a3412;--accent-tint: rgba(194, 65, 12, .08);--radius: 12px;--radius-sm: 8px;--shadow-rest: 0 1px 2px rgba(31, 41, 55, .04);--shadow-hover: 0 10px 28px rgba(31, 41, 55, .09);--font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-serif: "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "STSong", "SimSun", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:#c2410c29}mark{background:#c2410c24;color:var(--ink);padding:0 2px;border-radius:3px}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.container{max-width:1060px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);background:#fbfaf8e6;position:sticky;top:0;z-index:50;backdrop-filter:blur(10px) saturate(1.2);transition:box-shadow .2s ease}.site-header.scrolled{box-shadow:0 2px 14px #1f293712}.nav{display:flex;align-items:center;gap:20px;height:58px;flex-wrap:nowrap}.nav .brand{font-weight:700;font-size:17px;color:var(--ink);margin-right:auto;font-family:var(--font-serif);letter-spacing:.5px;white-space:nowrap}.nav .brand:hover{text-decoration:none;color:var(--accent-ink)}.nav .brand-short{display:none}.nav a{color:var(--ink-soft);font-size:14.5px;white-space:nowrap;letter-spacing:.2px}.nav a.current,.nav a:hover{color:var(--accent);text-decoration:none}.nav a.current{font-weight:600}.hero{padding:62px 0 46px;text-align:center}.hero h1{font-size:40px;margin:0 0 14px;letter-spacing:.5px;font-family:var(--font-serif);font-weight:700}.hero .sub{color:var(--ink-soft);font-size:17.5px;line-height:1.8;max-width:33em;margin:0 auto 10px;text-wrap:pretty}.hero .tag{color:var(--ink-faint);font-size:14px;letter-spacing:.3px;max-width:30em;margin:0 auto 28px}.stats{display:flex;gap:10px 34px;justify-content:center;flex-wrap:wrap;margin-top:26px;color:var(--ink-faint);font-size:13.5px}.stats b{color:var(--ink);font-size:18px;font-family:var(--font-serif);font-weight:700;margin-right:4px}.search{display:flex;max-width:560px;margin:0 auto}.search input{flex:1;border:1.5px solid var(--line);border-right:none;border-radius:10px 0 0 10px;padding:12px 16px;font-size:15px;font-family:var(--font);background:var(--card);outline:none;min-width:0;transition:border-color .15s,box-shadow .15s}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.search button{border:none;background:var(--accent);color:#fff;border-radius:0 10px 10px 0;padding:0 22px;font-size:15px;cursor:pointer;font-family:var(--font);letter-spacing:.5px;transition:background .15s}.search button:hover{background:var(--accent-ink)}.section{margin:50px 0}.section-title{display:flex;align-items:baseline;gap:10px;margin-bottom:20px;flex-wrap:wrap}.section-title h2{font-size:24px;margin:0;font-family:var(--font-serif);font-weight:700;letter-spacing:.3px;display:inline-flex;align-items:center;gap:10px}.section-title h2:before{content:"";width:20px;height:2px;background:var(--accent);opacity:.8;display:inline-block}.section-title .hint{color:var(--ink-faint);font-size:13.5px}.domain-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.domain-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px;border-top:3px solid var(--dc, var(--accent));display:flex;flex-direction:column;color:var(--ink);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;box-shadow:var(--shadow-rest)}.domain-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);text-decoration:none;color:var(--ink)}.dc-title{display:block;font-size:19px;font-weight:700;color:var(--ink);margin-bottom:5px;font-family:var(--font-serif);letter-spacing:.3px}.dc-title:hover{color:var(--accent);text-decoration:none}.domain-card .tagline{color:var(--ink-faint);font-size:13px;margin-bottom:14px}.domain-card .desc{font-size:13.5px;color:var(--ink-soft);margin:0 0 10px}.modules{display:flex;flex-wrap:wrap;gap:8px}.module-chip{font-size:12.5px;background:#f4f1eb;border-radius:999px;padding:3px 11px;color:var(--ink-soft);transition:background .15s,color .15s}.module-chip:hover{background:var(--accent);color:#fff;text-decoration:none}.module-chip b{color:var(--ink-faint);font-weight:600;margin-left:2px}.module-chip:hover b{color:#ffffffd9}.module-chip.more{background:transparent;border:1px dashed var(--line);color:var(--ink-faint)}.module-chip.more:hover{border-color:var(--accent);background:transparent;color:var(--accent)}.thread-grid{display:flex;flex-wrap:wrap;gap:10px}.thread-chip{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 15px;color:var(--ink);font-size:14px;box-shadow:var(--shadow-rest);transition:border-color .15s,color .15s}.thread-chip:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.thread-chip .count{color:var(--ink-faint);font-size:12px}.card-list{display:flex;flex-direction:column;gap:10px}.kcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;display:block;color:var(--ink);box-shadow:var(--shadow-rest);transition:border-color .15s,box-shadow .18s,transform .18s}.kcard:hover{border-color:var(--accent);text-decoration:none;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.kcard h3{margin:0 0 4px;font-size:17.5px;font-family:var(--font-serif);font-weight:700;letter-spacing:.2px}.kcard .meta{font-size:12.5px;color:var(--ink-faint);display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:2px}.kcard .desc{font-size:13.5px;color:var(--ink-soft);margin-top:6px}.badge{display:inline-block;font-size:11.5px;border-radius:5px;padding:1px 8px;border:1px solid var(--line);color:var(--ink-faint)}.badge.difficulty{background:#f4f1eb}.badge.status-draft{color:#b45309;border-color:#fcd34d;background:#fef3c7}.badge.status-review{color:var(--ink-faint);border-color:var(--line);background:#f7f5f1}.badge.status-review:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#b9b2a6;margin-right:5px;vertical-align:1.5px}a.badge:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.pending{color:var(--ink-faint);font-style:italic}.read-progress{position:fixed;top:0;left:0;right:0;height:2.5px;z-index:60;pointer-events:none}.read-progress span{display:block;height:100%;background:linear-gradient(90deg,#c2410c,#d97706);transform:scaleX(0);transform-origin:0 50%}.to-top{position:fixed;right:26px;bottom:30px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fffffff0;color:var(--accent);font-size:17px;line-height:1;cursor:pointer;box-shadow:0 8px 22px #1f29371a;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,border-color .15s;z-index:55;backdrop-filter:blur(6px)}.to-top.show{opacity:1;transform:none;pointer-events:auto}.to-top:hover{border-color:var(--accent);background:#fff}.crumbs{font-size:13px;color:var(--ink-faint);margin:22px 0 4px;letter-spacing:.2px}.crumbs a{color:var(--ink-faint)}.crumbs a:hover{color:var(--accent)}.article{max-width:760px;margin:0 auto;padding:26px 20px 80px}.article h1{font-size:33px;margin:10px 0 8px;line-height:1.34;font-family:var(--font-serif);font-weight:700;letter-spacing:.5px}.article .meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 26px;font-size:13px;color:var(--ink-faint)}.article-body{font-size:16.5px;line-height:1.85}.article-body p{margin:0 0 16px;text-wrap:pretty}.article-body h2,.article-body p:has(>strong:only-child){font-size:20px;font-weight:700;margin:34px 0 13px;color:var(--ink);font-family:var(--font-serif);letter-spacing:.4px}.article-body h2:before,.article-body p:has(>strong:only-child):before{content:"";display:inline-block;width:14px;height:2px;border-radius:1px;background:var(--accent);opacity:.8;margin-right:10px;vertical-align:6px}.article-body>p:nth-of-type(2){font-family:var(--font-serif);font-size:19.5px;line-height:1.9;color:var(--ink);border-left:3px solid var(--accent);padding-left:18px;margin:4px 0 26px;letter-spacing:.3px}.article-body ul,.article-body ol{margin:0 0 16px;padding-left:22px}.article-body li{margin:7px 0}.article-body li::marker{color:var(--accent)}.article-body strong{font-weight:600}.article-body figure.fig{margin:28px 0 32px}.article-body figure.fig .fig-scroll{overflow:visible}.article-body figure.fig img{display:block;width:100%;height:auto;cursor:zoom-in}.article-body figure.fig figcaption{margin-top:11px;font-size:13px;line-height:1.75;color:var(--ink-faint);text-align:center;padding:0 10px}@media(max-width:720px){.article-body figure.fig{margin:24px -20px 30px}.article-body figure.fig .fig-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:0 0 8px}.article-body figure.fig img{width:720px;min-width:720px}.article-body figure.fig figcaption{padding:0 20px}.article-body figure.fig figcaption:before{content:"← 左右滑动看图 · 点击放大（横屏更清楚）→\a";white-space:pre;display:block;color:var(--accent);font-size:12px;margin-bottom:4px}}.fig-lightbox{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;background:#181511f0;cursor:zoom-out}.fig-lightbox img{width:720px;min-width:720px;height:auto;background:#fdfcfa;border-radius:10px;box-shadow:0 24px 60px #0006}.fig-lightbox .fig-lb-hint{position:fixed;left:50%;bottom:14px;transform:translate(-50%);color:#ffffffe6;font-size:12.5px;letter-spacing:.3px;text-align:center;white-space:nowrap;background:#181511e6;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 15px}@media(max-width:720px){.fig-lightbox{align-items:center;justify-content:flex-start;padding:10px}.fig-lightbox img{margin:auto 0;min-width:720px}.fig-lightbox .fig-lb-hint{font-size:12px}}.summary-card{margin:34px 0 20px;border:1px solid var(--line);border-left:4px solid #d97706;background:#fffdf6;border-radius:var(--radius);padding:18px 22px}.summary-card .sc-title{font-weight:700;color:#a1550b;margin-bottom:9px;font-size:14.5px;letter-spacing:.6px;font-family:var(--font-serif)}.summary-card ul{margin:0;padding-left:20px;font-size:14.5px}.summary-card li{margin:6px 0}.summary-card li::marker{color:#d97706}.think-card{margin:0 0 34px;border:1px solid var(--line);border-left:4px solid #059669;background:#f6fdfa;border-radius:var(--radius);padding:18px 22px}.think-card .tc-title{font-weight:700;color:#046c54;margin-bottom:9px;font-size:14.5px;letter-spacing:.6px;font-family:var(--font-serif)}.think-card p{margin:0;font-size:15.5px;line-height:1.85;color:var(--ink)}.sources-block{margin-top:30px;border-top:1px solid var(--line-soft);padding-top:16px;font-size:13.5px;color:var(--ink-faint)}.sources-block .sb-title{font-weight:600;color:var(--ink-soft);margin-bottom:7px;font-size:12.5px;letter-spacing:1px}.sources-block ul{padding-left:20px;margin:0}.sources-block li::marker{color:var(--line)}.panels{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:34px 0 0;align-items:start}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px 18px 16px;box-shadow:var(--shadow-rest)}.panel h4{margin:0 0 10px;font-size:12.5px;color:var(--ink-faint);letter-spacing:1px;font-weight:600}.panel ul{margin:0;padding-left:18px;font-size:14px;list-style:none}.panel li{margin:7px 0;position:relative}.panel li:before{content:"·";position:absolute;left:-14px;color:var(--line);font-weight:700}.panel li a{color:var(--ink-soft)}.panel li a:hover{color:var(--accent)}.path-list{display:flex;flex-direction:column;gap:10px}.path-item{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;box-shadow:var(--shadow-rest)}.path-item .num{flex:none;width:28px;height:28px;border-radius:50%;background:transparent;border:1.5px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.path-item .kcard{border:none;padding:0;background:transparent;box-shadow:none}.path-item .kcard:hover{border:none;transform:none;box-shadow:none}#cy{width:100%;height:660px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-rest)}.legend{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;font-size:13px;color:var(--ink-soft)}.legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}.legend-item{display:inline-flex;align-items:center;gap:2px;font:inherit;color:inherit;background:none;border:1px solid transparent;border-radius:999px;padding:4px 11px 4px 9px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.legend-item:hover{border-color:var(--line);background:var(--card)}.legend-item.active{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink)}.legend-item .cnt{color:var(--ink-faint);font-size:11.5px;margin-left:4px;font-variant-numeric:tabular-nums}.legend-item.active .cnt{color:var(--accent)}.legend-hint{color:var(--ink-faint);font-size:12.5px;margin:-6px 0 14px}.result{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px 18px;margin-bottom:10px;display:block;color:var(--ink);box-shadow:var(--shadow-rest);transition:border-color .15s,box-shadow .18s,transform .18s}.result:hover{border-color:var(--accent);text-decoration:none;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.result h3{margin:0 0 4px;font-size:17px;font-family:var(--font-serif);font-weight:700}.result .meta{font-size:12.5px;color:var(--ink-faint);margin-bottom:7px}.result .snippet{font-size:13.5px;color:var(--ink-soft);line-height:1.75}.empty{text-align:center;color:var(--ink-faint);padding:40px 0}.btn{display:inline-block;background:var(--accent);color:#fff;border-radius:8px;padding:10px 20px;font-size:14.5px;letter-spacing:.3px;transition:background .15s}.btn:hover{text-decoration:none;background:var(--accent-ink)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#f4f1eb;border-radius:4px;padding:1px 5px}.site-footer{border-top:1px solid var(--line);margin-top:70px;padding:28px 0 44px;color:var(--ink-faint);font-size:12.5px;text-align:center;letter-spacing:.2px}.site-footer p{margin:5px 0}.site-footer a{color:var(--ink-faint)}@media(max-width:720px){.nav{gap:13px;height:54px}.nav a{font-size:13px}.nav .brand{font-size:15.5px;letter-spacing:0}.hero{padding:46px 0 38px}.hero h1{font-size:31px}.hero .sub{font-size:16px}.stats{gap:8px 22px}.stats b{font-size:16.5px}.section{margin:40px 0}.section-title h2{font-size:21px}.article h1{font-size:27px}.article-body{font-size:16px;line-height:1.85}.article-body>p:nth-of-type(2){font-size:18px;padding-left:14px}.article-body h2,.article-body p:has(>strong:only-child){font-size:18.5px;margin:30px 0 12px}.summary-card,.think-card{padding:16px 18px}.panels{grid-template-columns:1fr}#cy{height:520px}.to-top{right:14px;bottom:18px;width:38px;height:38px;font-size:15px}.article{padding-bottom:96px}}@media(max-width:480px){.nav{gap:12px}.nav .brand-full{display:none}.nav .brand-short{display:inline}.nav a{font-size:12.5px}.hero h1{font-size:28px}.stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;gap:10px 16px;margin:24px auto 0;text-align:center}.stats>span:first-child{grid-column:1 / -1}.stats b{font-size:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
