:root{--paper:#f6f1e7;--paper-deep:#efe7d7;--paper-card:#ffffff8c;--ink:#26221b;--ink-soft:#6b6355;--line:#d8cdb8;--accent:#c94f2e;--accent-deep:#9e3a1f;--accent-wash:#f5ddd2;--x-black:#1a1a1a;--tt-cyan:#0f7c74;--tt-wash:#dceeea;--x-wash:#e6e4df;--serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;--sans:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", system-ui, -apple-system, sans-serif;--display:"Fraunces", "Noto Serif SC", Georgia, serif;--ease:cubic-bezier(.16, 1, .3, 1);--shadow:0 12px 28px -14px #26221b47}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;height:100%}html,body{max-width:100vw;overflow-x:clip}body{background:var(--paper);min-height:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-size:16px;line-height:1.8;display:flex}a{color:inherit;text-decoration:none}img,svg{max-width:100%}::selection{background:var(--accent-wash);color:var(--accent-deep)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}.site-header{background:var(--ink);color:var(--paper);z-index:99;border-bottom:3px solid var(--accent);position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.logo{font-family:var(--serif);letter-spacing:.02em;color:var(--paper);white-space:nowrap;align-items:center;gap:9px;font-size:18px;font-weight:900;display:inline-flex}.logo svg{color:var(--accent);flex:none}.nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.nav-links a{color:#cfc7b8;transition:color .18s var(--ease), background .18s var(--ease);white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:5px 9px;font-size:13.5px;display:inline-flex}.nav-links a svg{opacity:.75;width:14px;height:14px}.nav-links a:hover{color:var(--paper);background:#ffffff12}.nav-links a[aria-current=page]{color:#fff;background:var(--accent)}.nav-links a[aria-current=page] svg{opacity:1}.nav-toggle{width:38px;height:38px;color:var(--paper);cursor:pointer;background:0 0;border:1px solid #4a443a;border-radius:6px;justify-content:center;align-items:center;display:none}.hero{border-bottom:1px solid var(--line);background:var(--paper);position:relative;overflow:hidden}.hero:before{content:"KNOWLEDGE BASE";font-family:var(--display);letter-spacing:.04em;color:#0000;-webkit-text-stroke:1px var(--line);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-size:clamp(70px,13vw,180px);font-weight:900;line-height:1;position:absolute;top:6%;right:-1%}.hero-inner{z-index:1;padding:clamp(46px,7vw,92px) 0 clamp(34px,5vw,60px);position:relative}.hero-kicker{letter-spacing:.2em;color:var(--accent);align-items:center;gap:8px;margin-bottom:18px;font-size:13px;font-weight:700;display:inline-flex}.hero-kicker:before{content:"";background:var(--accent);width:34px;height:2px}.hero h1{font-family:var(--serif);max-width:20em;margin-bottom:18px;font-size:clamp(29px,4.6vw,50px);font-weight:900;line-height:1.26}.hero h1 em{color:var(--accent);font-style:normal}.hero-lead{color:var(--ink-soft);max-width:640px;font-size:clamp(15px,1.5vw,17px)}.hero-tags{flex-wrap:wrap;gap:9px;margin-top:26px;display:flex}.hero-tags span{border:1px solid var(--line);color:var(--ink-soft);background:#ffffff80;border-radius:999px;padding:5px 13px;font-size:12.5px}.section{padding:clamp(38px,6vw,68px) 0}.section+.section{border-top:1px solid var(--line)}.section-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:28px;display:flex}.section-no{font-family:var(--display);letter-spacing:.1em;color:var(--accent);font-size:15px;font-weight:900}.section-title{font-family:var(--serif);align-items:center;gap:9px;font-size:clamp(21px,2.8vw,29px);font-weight:900;line-height:1.3;display:inline-flex}.section-title svg{color:var(--accent);flex:none;width:22px;height:22px}.section-note{color:var(--ink-soft);margin-left:auto;font-size:12.5px}.section-more{color:var(--accent-deep);transition:border-color .18s var(--ease);border-bottom:1px solid #0000;align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.section-more:hover{border-color:var(--accent)}.article-list{gap:0;display:grid}.article-card{border-top:1px solid var(--line);transition:background .24s var(--ease);grid-template-columns:64px minmax(0,1fr) auto;align-items:start;gap:22px;padding:24px 8px;display:grid}.article-list>.article-card:last-child{border-bottom:1px solid var(--line)}.article-card:hover{background:var(--paper-deep)}.article-idx{font-family:var(--display);color:var(--line);transition:color .24s var(--ease);font-size:28px;font-weight:900;line-height:1.1}.article-card:hover .article-idx{color:var(--accent)}.article-main{min-width:0}.article-main h3{font-family:var(--serif);transition:color .2s var(--ease);margin-bottom:6px;font-size:clamp(16.5px,1.9vw,20.5px);font-weight:700;line-height:1.45}.article-card:hover .article-main h3{color:var(--accent-deep)}.article-main p{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:58ch;font-size:14px;line-height:1.75;display:-webkit-box;overflow:hidden}.article-side{flex-direction:column;align-items:flex-end;gap:9px;min-width:132px;display:flex}.tag{letter-spacing:.05em;white-space:nowrap;border-radius:4px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-block}.tag-x{background:var(--x-wash);color:var(--x-black)}.tag-tt{background:var(--tt-wash);color:var(--tt-cyan)}.tag-both{background:var(--accent-wash);color:var(--accent-deep)}.meta{color:var(--ink-soft);white-space:nowrap;font-size:11.5px}.index-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;display:grid}.index-card{background:var(--paper-card);border:1px solid var(--line);min-width:0;transition:transform .24s var(--ease), box-shadow .24s var(--ease), border-color .24s var(--ease);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.index-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.index-card-head{justify-content:space-between;align-items:center;gap:10px;padding:16px 18px 0;display:flex}.ext-badge{letter-spacing:.07em;color:var(--ink-soft);align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.ext-badge svg{width:12px;height:12px}.index-card-body{flex-direction:column;flex:1;min-width:0;padding:8px 18px 18px;display:flex}.index-card h4{font-family:var(--serif);margin:6px 0;font-size:17.5px;font-weight:700;line-height:1.45}.index-card .desc{color:var(--ink-soft);flex:1;font-size:13.5px;line-height:1.75}.index-card .author{border-top:1px dashed var(--line);color:var(--ink-soft);margin:12px 0;padding-top:10px;font-size:11.5px}.btn-out{border:1px solid var(--accent);color:var(--accent-deep);transition:background .2s var(--ease), color .2s var(--ease);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:10px 13px;font-size:13.5px;font-weight:700;display:flex}.btn-out:hover{background:var(--accent);color:#fff}.btn-out svg{transition:transform .2s var(--ease);flex:none}.btn-out:hover svg{transform:translate(3px)}.tool-row{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(235px,1fr));display:grid}.tool-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;transition:background .24s var(--ease);background:#fff6;padding:22px 20px}.tool-card:hover{background:var(--paper-deep)}.tool-card h4{align-items:center;gap:8px;margin-bottom:5px;font-size:16px;font-weight:700;display:flex}.tool-card h4 svg{color:var(--accent);flex:none}.tool-card p{color:var(--ink-soft);font-size:13px;line-height:1.7}.tool-card .tool-meta{color:var(--ink-soft);align-items:center;gap:8px;margin-top:10px;font-size:11.5px;display:flex}.page-wrap{grid-template-columns:minmax(0,1fr) 268px;align-items:start;gap:46px;padding-top:clamp(30px,4.5vw,52px);padding-bottom:clamp(40px,6vw,72px);display:grid}.breadcrumb{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:18px;font-size:12.5px;display:flex}.breadcrumb a{color:var(--accent-deep)}.breadcrumb a:hover{text-decoration:underline}.article-header{border-bottom:3px solid var(--ink);margin-bottom:28px;padding-bottom:22px}.article-header h1{font-family:var(--serif);margin:12px 0 14px;font-size:clamp(25px,3.6vw,37px);font-weight:900;line-height:1.3}.meta-row{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.meta-row .dot{color:var(--line)}.version-tip{background:var(--accent-wash);border-left:3px solid var(--accent);color:var(--accent-deep);border-radius:0 6px 6px 0;margin-top:18px;padding:12px 16px;font-size:13.5px;line-height:1.75}.article-content{min-width:0;font-size:15.8px;line-height:1.85}.article-content>*{max-width:68ch}.article-content p{margin-bottom:17px}.article-content h2{font-family:var(--serif);align-items:baseline;gap:11px;margin:42px 0 13px;scroll-margin-top:86px;font-size:21px;font-weight:900;line-height:1.45;display:flex}.article-content h2:before{content:attr(data-no);font-family:var(--display);color:var(--accent);flex:none;font-size:14px;font-weight:900}.article-content h3{margin:24px 0 8px;scroll-margin-top:86px;font-size:16.5px;font-weight:700}.article-content ul,.article-content ol{margin-bottom:18px;padding-left:4px;list-style:none}.article-content li{margin-bottom:8px;padding-left:20px;position:relative}.article-content ul>li:before{content:"—";color:var(--accent);font-weight:700;position:absolute;left:0}.article-content ol{counter-reset:ol}.article-content ol>li{counter-increment:ol;padding-left:24px}.article-content ol>li:before{content:counter(ol) ".";color:var(--accent);font-weight:700;font-family:var(--display);font-size:13px;position:absolute;left:0}.article-content li:has(>input[type=checkbox]){padding-left:26px;list-style:none}.article-content li:has(>input[type=checkbox]):before{content:""}.article-content input[type=checkbox]{appearance:none;border:1.5px solid var(--accent);background:0 0;border-radius:3px;width:15px;height:15px;position:absolute;top:.52em;left:0}.article-content blockquote{border-left:3px solid var(--line);color:var(--ink-soft);margin:22px 0;padding:12px 18px;font-size:14.5px}.article-content blockquote p:last-child{margin-bottom:0}.article-content strong{color:var(--ink);font-weight:700}.article-content hr{border:none;border-top:1px solid var(--line);margin:32px 0}.article-content a{color:var(--accent-deep);border-bottom:1px solid var(--accent-wash)}.article-content a:hover{border-bottom-color:var(--accent)}.article-content code{background:var(--paper-deep);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.88em}.article-content pre{background:var(--ink);color:#e8e2d5;border-radius:8px;margin:20px 0;padding:16px 18px;font-size:13px;line-height:1.7;overflow-x:auto}.article-content pre code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0}.article-content table{border-collapse:collapse;width:100%;margin:22px 0;font-size:13.5px}.article-content thead th{text-align:left;color:var(--ink);background:var(--paper-deep);border-bottom:2px solid var(--line);white-space:nowrap;padding:9px 12px;font-weight:700}.article-content tbody td{border-bottom:1px solid var(--line);color:var(--ink-soft);vertical-align:top;padding:9px 12px}.article-content tbody tr:hover td{background:#ffffff80}.table-scroll{-webkit-overflow-scrolling:touch;max-width:none;margin:22px 0;overflow-x:auto}.table-scroll table{min-width:460px;margin:0}.callout{border-left:3px solid;border-radius:0 8px 8px 0;margin:24px 0;padding:14px 18px;font-size:14.2px;line-height:1.8}.callout strong{font-weight:700}.callout.warn{color:#6e2314;background:#f8e3dd;border-color:#b3402a}.callout.tip{background:var(--tt-wash);border-color:var(--tt-cyan);color:#0a554e}.callout p{margin-bottom:0}.sidebar{align-self:start;min-width:0;position:sticky;top:84px}.sidebar-card{border-top:3px solid var(--ink);margin-bottom:24px;padding:16px 0 6px}.sidebar-card h4{letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:6px;margin-bottom:11px;font-size:12px;font-weight:700;display:flex}.sidebar-card h4 svg{width:14px;height:14px}.sidebar-card a{color:var(--ink);transition:color .18s var(--ease), border-color .18s var(--ease);border-left:2px solid #0000;padding:5px 0 5px 8px;font-size:13.5px;line-height:1.6;display:block}.sidebar-card a:hover{color:var(--accent-deep)}.sidebar-card a.active{color:var(--accent-deep);border-left-color:var(--accent);font-weight:700}.sidebar-card p{color:var(--ink-soft);font-size:12.8px;line-height:1.7}.sidebar-cta{color:var(--accent-deep);border-bottom:2px solid var(--accent);margin-top:10px;padding-bottom:2px;font-size:12.8px;font-weight:700;display:inline-block}.sidebar-cta:hover{background:var(--accent);color:#fff}.rel-section{border-top:1px solid var(--line);margin-top:52px;padding-top:32px}.rel-section h2{font-family:var(--serif);margin-bottom:18px;font-size:19px;font-weight:900}.rel-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.rel-card{border:1px solid var(--line);min-width:0;transition:border-color .22s var(--ease), transform .22s var(--ease);background:#ffffff73;border-radius:8px;padding:16px 17px}.rel-card:hover{border-color:var(--accent);transform:translateY(-2px)}.rel-card h4{font-family:var(--serif);margin-bottom:5px;font-size:15px;line-height:1.5}.rel-card p{color:var(--ink-soft);font-size:12.5px;line-height:1.7}.site-footer{background:var(--ink);color:#b8b0a1;border-top:3px solid var(--accent);margin-top:auto;padding:44px 0 36px;font-size:12.8px}.footer-grid{border-bottom:1px solid #ffffff1a;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:32px;padding-bottom:26px;display:grid}.site-footer h5{letter-spacing:.16em;text-transform:uppercase;color:#8a8274;margin-bottom:12px;font-size:11.5px;font-weight:700}.site-footer a{color:#cfc7b8;transition:color .18s var(--ease);padding:3px 0;display:block}.site-footer a:hover{color:#fff}.footer-notice{max-width:62ch;line-height:1.9}.footer-notice strong{color:var(--paper)}.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:20px;display:flex}.copyright{font-family:var(--serif);letter-spacing:.05em;color:var(--paper);font-size:13px}.footer-build{color:#8a8274;font-size:11.5px}.page-head{border-bottom:1px solid var(--line);margin-bottom:clamp(26px,4vw,40px);padding:clamp(34px,5vw,56px) 0 clamp(22px,3vw,34px)}.page-head h1{font-family:var(--serif);margin-bottom:12px;font-size:clamp(26px,3.8vw,40px);font-weight:900;line-height:1.28}.page-head p{color:var(--ink-soft);max-width:66ch;font-size:15px}.page-head .hero-kicker{margin-bottom:14px}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;display:flex}.filter-bar .filter-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-right:4px;font-size:12px}.filter-chip{border:1px solid var(--line);color:var(--ink-soft);transition:all .18s var(--ease);background:#ffffff80;border-radius:999px;align-items:center;gap:5px;padding:5px 13px;font-size:13px;display:inline-flex}.filter-chip:hover{border-color:var(--accent);color:var(--accent-deep)}.filter-chip.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.search-panel{max-width:780px;margin:0 auto;padding:clamp(30px,5vw,52px) 0 clamp(40px,6vw,64px)}.search-box{border:2px solid var(--ink);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:13px 18px;display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #c94f2e1f}.search-box svg{color:var(--ink-soft);flex:none}.search-input{min-width:0;font-family:var(--sans);color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:16px}.search-input::placeholder{color:#a9a091}.search-input::-webkit-search-cancel-button{appearance:none}.search-input::-webkit-search-decoration{appearance:none}.search-input::-ms-clear{display:none}.search-clear{background:var(--paper-deep);width:24px;height:24px;color:var(--ink-soft);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.search-clear:hover{background:var(--line)}.search-hint{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:12.5px;display:flex}.search-hint button{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;font-size:12.5px;font-family:var(--sans);background:#fff9;border-radius:999px;padding:3px 11px}.search-hint button:hover{border-color:var(--accent);color:var(--accent-deep)}.search-result-count{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:26px 0 6px;font-size:12.5px}.search-item{border-bottom:1px solid var(--line);transition:background .2s var(--ease);padding:20px 4px;display:block}.search-item:hover{background:var(--paper-deep)}.search-item h3{font-family:var(--serif);margin-bottom:6px;font-size:17.5px;line-height:1.5}.search-item:hover h3{color:var(--accent-deep)}.search-item p{color:var(--ink-soft);font-size:13.5px;line-height:1.75}.search-item mark{background:var(--accent-wash);color:var(--accent-deep);border-radius:2px;padding:0 2px}.search-empty{text-align:center;color:var(--ink-soft);padding:40px 0;font-size:14px}.search-empty strong{font-family:var(--serif);color:var(--ink);margin-bottom:8px;font-size:18px;display:block}.about-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:26px 0;display:grid}.about-card{border:1px solid var(--line);background:var(--paper-card);border-radius:10px;min-width:0;padding:22px}.about-card h3{font-family:var(--serif);align-items:center;gap:8px;margin-bottom:8px;font-size:16.5px;display:flex}.about-card h3 svg{color:var(--accent)}.about-card p{color:var(--ink-soft);font-size:13.5px;line-height:1.8}.legal-block{border:1px solid var(--line);border-left:3px solid var(--accent);color:var(--ink-soft);background:#ffffff73;border-radius:0 8px 8px 0;margin-top:30px;padding:20px 22px;font-size:13.8px;line-height:1.9}.legal-block h2{font-family:var(--serif);color:var(--ink);margin-bottom:10px;font-size:17px}.legal-block strong{color:var(--ink)}.empty-state{text-align:center;border:1px dashed var(--line);color:var(--ink-soft);border-radius:10px;padding:50px 20px}.empty-state strong{font-family:var(--serif);color:var(--ink);margin-bottom:6px;font-size:17px;display:block}@media (max-width:1024px){.nav-links a span{display:none}.nav-links a{padding:6px}}@media (max-width:860px){.page-wrap{grid-template-columns:minmax(0,1fr);gap:30px}.sidebar{border-top:1px solid var(--line);order:2;padding-top:10px;position:static}.sidebar-card{border-top-width:2px}.footer-grid{grid-template-columns:minmax(0,1fr);gap:24px}}@media (max-width:720px){.nav-wrap{position:relative}.nav-toggle{display:inline-flex}.nav-links{background:var(--ink);z-index:100;border:1px solid #4a443a;border-radius:10px;flex-direction:column;align-items:stretch;gap:2px;padding:10px;display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 18px 36px -18px #0009}.nav-links.open{display:flex}.nav-links a{padding:10px 12px;font-size:14px}.nav-links a span{display:inline}.nav-links a svg{width:16px;height:16px}.article-card{grid-template-columns:minmax(0,1fr);gap:8px;padding:20px 4px}.article-idx{font-size:19px}.article-side{flex-direction:row;align-items:center;gap:10px;min-width:0}.article-main p{-webkit-line-clamp:3}.section-note{width:100%;margin-top:-6px;margin-left:0}.index-grid,.tool-row,.rel-grid{grid-template-columns:minmax(0,1fr)}.hero:before{display:none}.footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.site-header,.sidebar,.site-footer,.rel-section{display:none}body{background:#fff}}
