:root{color-scheme:light;--bg:#f6f4ef;--paper:#fffefb;--ink:#222920;--muted:#68736a;--line:#e5e8df;--green:#275e43;--green-soft:#e8f1e8;--accent:#d9a554;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--green)}[hidden]{display:none!important}.shell{max-width:1440px;margin:auto}.site-header{height:78px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:var(--green);color:white;font-size:24px;font-weight:700;line-height:1}.brand strong{display:block;font-size:17px;letter-spacing:.02em}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.icon-button{border:1px solid var(--line);background:white;border-radius:11px;min-width:54px;min-height:44px;color:var(--green);font-size:14px}
.finder{padding:30px clamp(20px,4vw,64px) 25px;background:var(--paper)}.finder-label{font-size:27px;font-weight:750;letter-spacing:-.03em;margin-bottom:17px}.search-box{height:58px;max-width:800px;display:flex;align-items:center;gap:12px;background:#f5f7f2;border:1.5px solid #cad8cc;border-radius:14px;padding:0 15px;box-shadow:0 4px 16px #203d2608}.search-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #275e4320}.search-box svg{width:21px;height:21px;fill:none;stroke:var(--green);stroke-width:2}.search-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;color:var(--ink)}.search-box input::placeholder{color:#8b958c}.search-box kbd{font-size:11px;color:#9ba59b;border:1px solid #d9e0d6;border-radius:5px;padding:3px 5px}.quick-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:13px}.quick-links button{border:0;border-radius:99px;background:var(--green-soft);color:var(--green);padding:7px 12px;min-height:35px}
.tabs{display:flex;gap:5px;padding:0 clamp(20px,4vw,64px);background:var(--paper);border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:none}.tabs button{flex:none;padding:14px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:600;min-height:48px}.tabs button.active{color:var(--green);border-bottom-color:var(--green)}
.content-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:28px;padding:30px clamp(20px,4vw,64px) 80px}.sidebar{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;align-self:start;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.section-head h2{font-size:17px;margin:0}.section-head span{font-size:12px;color:var(--muted)}.outline-link,.chapter-nav button{width:100%;min-height:44px;display:flex;align-items:center;gap:10px;text-align:left;border:0;border-radius:9px;background:transparent;color:var(--ink);padding:9px 10px;font-size:13px;line-height:1.4}.outline-link{justify-content:space-between;color:var(--green);font-weight:700;background:var(--green-soft);margin-bottom:8px}.chapter-nav button:hover,.chapter-nav button.active{background:#f1f5ef;color:var(--green)}.chapter-no{flex:none;color:#9ca99a;font-size:11px;font-variant-numeric:tabular-nums}.sidebar-note{margin-top:18px;padding-top:15px;border-top:1px solid var(--line);font-size:12px;line-height:1.65;color:var(--muted)}
.results{min-width:0}.results-top{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:17px}.eyebrow{color:var(--green);font-size:12px;font-weight:750;letter-spacing:.1em;margin:0 0 7px}.results-top h1{font-size:25px;line-height:1.28;margin:0;letter-spacing:-.02em}.results-top>span{font-size:12px;color:var(--muted);white-space:nowrap}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:17px}.filters label{display:flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:0 8px 0 12px;min-height:43px;color:var(--muted);font-size:12px}.filters select{border:0;outline:0;background:transparent;color:var(--ink);font-size:13px;min-height:40px;max-width:110px}.result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:14px;min-width:0;transition:border-color .15s,box-shadow .15s}.card:hover{border-color:#bfd3c0;box-shadow:0 7px 20px #203d260b}.card-main{display:block;width:100%;min-height:190px;border:0;background:transparent;text-align:left;padding:18px 19px 17px;color:inherit}.card-top{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding-right:25px;margin-bottom:10px}.card-section{color:var(--green);background:#eaf2e8;padding:4px 7px;border-radius:5px;font-size:11px;font-weight:700;line-height:1.3}.evidence{font-size:11px;color:#687569}.card h3{font-size:17px;line-height:1.45;margin:0 0 8px;font-weight:700}.card p{font-size:13px;line-height:1.65;color:#5e695f;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 13px}.card-read{font-size:12px;color:var(--green);font-weight:750}.card-save{position:absolute;top:12px;right:10px;border:0;background:transparent;color:#9ba99a;min-width:44px;min-height:44px;font-size:22px}.card-save.is-saved{color:#c68329}.more-button{display:block;margin:22px auto 0;min-height:46px;border:1px solid #c8d5c7;border-radius:10px;padding:0 20px;background:white;color:var(--green);font-weight:700}.empty{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:40px 24px;text-align:center;grid-column:1/-1}.empty strong{font-size:17px}.empty p{color:var(--muted)}.empty button{border:0;border-radius:9px;background:var(--green);color:white;padding:10px 17px;min-height:44px}
footer{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding:20px clamp(20px,4vw,64px) 35px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}footer a{text-decoration:none}
.reader-open{overflow:hidden}.reader{position:fixed;inset:0;z-index:10;display:flex;justify-content:flex-end}.reader-scrim{position:absolute;inset:0;background:#18251db3}.reader-panel{position:relative;width:min(840px,100%);height:100%;background:var(--paper);display:flex;flex-direction:column;box-shadow:-12px 0 40px #13221930}.reader-toolbar{height:68px;flex:none;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 clamp(18px,4vw,38px)}.reader-toolbar button{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--green);font-size:16px;font-weight:700}.reader-actions{display:flex;align-items:center;gap:2px}.reader-actions button:last-child{font-size:24px}.reader-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain}.reader-inner{max-width:760px;margin:auto;padding:34px clamp(22px,5vw,58px) 65px}.reader-inner>h1{font-size:clamp(27px,4vw,37px);line-height:1.3;letter-spacing:-.03em;margin:0 0 15px}.reader-meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.reader-meta span{font-size:12px;background:var(--green-soft);color:var(--green);border-radius:6px;padding:5px 8px}.prose{font-size:18px;line-height:1.85;overflow-wrap:anywhere;color:#29342c}.prose h1,.prose h2,.prose h3,.prose h4{line-height:1.4;letter-spacing:-.02em;scroll-margin-top:20px}.prose h1{font-size:1.55em;margin:1.4em 0 .6em}.prose h2{font-size:1.35em;margin:1.8em 0 .7em;padding-bottom:.25em;border-bottom:1px solid var(--line)}.prose h3{font-size:1.16em;margin:1.6em 0 .55em}.prose p,.prose ul,.prose ol{margin:0 0 1.1em}.prose li{margin:.25em 0}.prose blockquote{border-left:3px solid #9fbea4;margin:1.3em 0;padding:.25em 1em;color:#556159;background:#f5f8f3}.prose a{overflow-wrap:anywhere;text-decoration-thickness:1px;text-underline-offset:3px}.prose img{max-width:100%;height:auto}.prose table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:.85em;margin:1.2em 0}.prose th,.prose td{min-width:95px;border:1px solid #dfe6dc;padding:9px 11px;vertical-align:top;text-align:left}.prose th{background:#f2f6f0}.prose pre{max-width:100%;overflow:auto;background:#f2f4ef;padding:15px;border-radius:9px;font-size:.8em;line-height:1.5}.prose code{overflow-wrap:anywhere}.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}.prose details{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:1.2em 0}.prose summary{cursor:pointer;font-weight:700}.reader-source{display:flex;gap:12px;flex-wrap:wrap;margin-top:45px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}
.prose .source-heading{height:0;max-height:0;overflow:hidden;font-size:0;line-height:0;margin:0;padding:0;border:0}
:focus-visible{outline:3px solid #78aa7e;outline-offset:2px}
@media(max-width:900px){.content-layout{grid-template-columns:210px minmax(0,1fr);gap:18px}.result-list{grid-template-columns:1fr}.card-main{min-height:0}}
@media(max-width:680px){.site-header{height:67px}.finder{padding-top:23px;padding-bottom:18px}.finder-label{font-size:23px}.search-box{height:54px}.search-box kbd{display:none}.tabs{gap:0}.tabs button{padding:12px 14px;font-size:13px}.content-layout{display:block;padding-top:21px}.sidebar{position:static;max-height:none;padding:0 0 16px;border:0;background:transparent;margin-bottom:18px;border-bottom:1px solid var(--line);border-radius:0}.section-head,.sidebar-note{display:none}.outline-link{min-height:44px;margin-bottom:8px;padding:9px 12px}.chapter-nav{display:flex;gap:7px;overflow:auto;padding-bottom:2px;scrollbar-width:thin}.chapter-nav button{flex:none;width:auto;max-width:210px;min-height:40px;background:var(--paper);border:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-nav button span:last-child{overflow:hidden;text-overflow:ellipsis}.results-top h1{font-size:21px}.result-list{gap:10px}.card-main{padding:16px}.card h3{font-size:16px}.card p{font-size:13px}.reader-toolbar{height:59px;padding:0 13px}.reader-inner{padding-top:24px}.reader-inner>h1{font-size:26px}.prose{line-height:1.8}}
@media(max-width:360px){.brand strong{font-size:15px}.brand small{font-size:10px}.icon-button{min-width:47px}.tabs button{padding:12px 11px}.filters{gap:6px}.filters label{padding-left:8px}}
