@font-face{font-family:Inter;src:url(/fonts/inter-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Mono;src:url(/fonts/jetbrains-mono-400.woff2)format("woff2");font-weight:400;font-display:swap}:root{color:#182523;font-synthesis:none;--ink:#182523;--muted:#66716d;--paper:#fffdf7;--line:#d7d4ca;--green:#2d6b5b;--green-dark:#17473c;--sand:#e8deca;--orange:#d57b3b;--red:#a53e32;--shadow:0 18px 50px #1f2f2a17;background:#f4f1e8;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:#f4f1e8;min-width:320px}body{min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell>main{flex:1}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf8f1eb;border-bottom:1px solid #23383221;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 clamp(20px,5vw,72px);display:grid;position:sticky;top:0}.brand{justify-self:start;align-items:center;gap:12px;display:flex}.brand>span{background:var(--green-dark);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font:600 13px Mono,monospace;display:grid}.brand div{flex-direction:column;line-height:1.15;display:flex}.brand strong{font-size:14px}.brand small{color:var(--green);letter-spacing:.12em;margin-top:4px;font:400 9px Mono,monospace}.site-header nav{gap:8px;display:flex}.site-header nav a{color:var(--muted);border-radius:999px;padding:9px 14px;font-size:14px}.site-header nav a:hover,.site-header nav a.active{color:var(--green-dark);background:#e3e9e3}.ghost-button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;justify-self:end;padding:8px 14px}.hero{background:linear-gradient(90deg,#f2efe5fa 0%,#f2efe5eb 44%,#f2efe540 74%),url(/hero/forest-path-desktop.webp) 50%/cover;min-height:520px;padding:108px clamp(24px,8vw,128px) 72px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:linear-gradient(0deg,#f4f1e8 0,#0000 26%);position:absolute;inset:0}.hero>*{z-index:1;max-width:720px;position:relative}.eyebrow{color:var(--green);letter-spacing:.14em;margin:0 0 16px;font:600 11px/1.4 Mono,monospace}.hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(44px,6vw,76px);line-height:1.08}.hero h1 em{color:var(--green);font-style:normal}.hero>p:not(.eyebrow){color:#4d5a56;max-width:610px;margin:26px 0 0;font-size:18px;line-height:1.8}.hero-actions{gap:12px;margin-top:34px;display:flex}.primary-button,.secondary-button{border-radius:999px;justify-content:center;align-items:center;padding:13px 22px;font-weight:600;display:inline-flex}.primary-button{background:var(--green-dark);color:#fff}.secondary-button{color:var(--green-dark);background:#ffffff8c;border:1px solid #17473c52}.stat-grid,.feature-grid{gap:16px;width:min(1180px,100% - 40px);margin:0 auto;display:grid}.stat-grid{z-index:2;grid-template-columns:repeat(3,1fr);margin-top:-24px;position:relative}.stat-grid article{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:18px;align-items:baseline;gap:12px;padding:24px 28px;display:flex}.stat-grid strong{color:var(--green);font-size:32px}.stat-grid span{color:var(--muted);font-size:13px}.feature-grid{grid-template-columns:repeat(3,1fr);padding:76px 0 100px}.feature-grid a,.content-card{border:1px solid var(--line);background:#fffdf7b8;border-radius:20px;padding:30px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}.feature-grid a:hover,.content-card:hover{box-shadow:var(--shadow);border-color:#9cafaa;transform:translateY(-4px)}.feature-grid span,.content-card>span{color:var(--green);letter-spacing:.1em;font:400 11px Mono,monospace}.feature-grid h2,.content-card h2{margin:30px 0 10px;font-size:24px}.feature-grid p,.content-card p{color:var(--muted);margin:0;line-height:1.75}.question-page{grid-template-columns:minmax(350px,42%) 1fr;height:calc(100vh - 72px);display:grid;overflow:hidden}.question-sidebar{border-right:1px solid var(--line);background:#eeece4;padding:34px clamp(20px,3vw,42px);overflow-y:auto}.panel-heading{justify-content:space-between;align-items:end;display:flex}.panel-heading h1{letter-spacing:-.03em;margin:0;font-size:32px}.panel-heading>span{color:var(--muted);font:12px Mono,monospace}.search-input{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:12px;outline:none;margin:24px 0 14px;padding:12px 15px}.search-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2d6b5b1a}.filter-row{gap:7px;padding-bottom:8px;display:flex;overflow-x:auto}.filter-row button,.score-filter button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:7px 11px;font-size:12px}.filter-row button.active,.score-filter button.active{border-color:var(--green);background:var(--green);color:#fff}.score-filter{border:1px solid var(--line);background:#fffdf7a6;border-radius:14px;margin:8px 0 16px;padding:14px}.score-filter label{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.score-filter input{border:1px solid var(--line);background:#fff;border-radius:8px;width:66px;padding:6px 8px}.score-filter>div{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.question-list{flex-direction:column;gap:9px;display:flex}.question-list>button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;padding:16px;position:relative}.question-list>button:hover,.question-list>button.active{border-color:var(--line);background:var(--paper);box-shadow:0 8px 24px #242f2b0d}.question-list>button>span{color:var(--green);font:10px Mono,monospace}.question-list strong{margin:7px 0 8px;padding-right:72px;font-size:14px;line-height:1.55;display:block}.question-list small{color:var(--muted)}.score-badge{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;line-height:1;display:inline-flex}.question-list .score-badge{position:absolute;top:14px;right:12px}.score-badge.low{color:#873023;background:#f8d8d0}.score-badge.passed{color:#176044;background:#d9eee4}.score-badge.untested{color:#68645a;background:#e4e0d6}.question-reader{background:var(--paper);padding:clamp(36px,6vw,82px);overflow-y:auto}.reader-meta{align-items:center;gap:10px;display:flex}.reader-meta>span,.reader-meta>b{color:var(--green);font:11px Mono,monospace}.question-reader h2{letter-spacing:-.035em;max-width:780px;margin:20px 0 14px;font-size:clamp(28px,3.4vw,46px);line-height:1.35}.source-line,.reader-hint{color:var(--muted);line-height:1.7}.reader-hint{border-left:3px solid var(--green);background:#eff3ed;margin-top:34px;padding:14px 18px}.reveal-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.reveal-buttons button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.reveal-buttons button:hover{border-color:var(--green);background:#f3f6f1}.reveal-buttons span{color:var(--green);font:10px Mono,monospace}.reveal-stack{flex-direction:column;gap:14px;margin-top:22px;display:flex}.reveal-stack>section,.structured-content>section{border:1px solid var(--line);background:#f8f6ef;border-radius:16px;padding:24px}.catalog-page,.detail-page{width:min(1120px,100% - 40px);margin:0 auto;padding:72px 0 110px}.catalog-page>header{max-width:720px;margin-bottom:46px}.catalog-page h1,.detail-page h1{letter-spacing:-.05em;margin:0 0 18px;font-size:clamp(42px,6vw,72px);line-height:1.08}.catalog-page header>p:last-child,.lead{color:var(--muted);font-size:18px;line-height:1.8}.card-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.content-card{flex-direction:column;min-height:270px;display:flex}.content-card h2{margin-top:26px}.content-card>strong{color:var(--green);margin-top:auto;padding-top:24px;font-size:13px}.article-list{flex-direction:column;gap:12px;display:flex}.article-list a{border:1px solid var(--line);background:var(--paper);border-radius:16px;grid-template-columns:72px 1fr;gap:10px;padding:24px;display:grid}.article-list a:hover{border-color:var(--green)}.article-list>a>span{color:var(--green);font:28px Mono,monospace}.article-list small{color:var(--green)}.article-list h2{margin:8px 0}.article-list p{color:var(--muted);margin:0;line-height:1.7}.detail-page>a{color:var(--green);margin-bottom:54px;display:inline-block}.structured-content{flex-direction:column;gap:18px;margin-top:48px;display:flex}.fact-table{gap:10px;display:grid}.fact-table article{background:var(--paper);border-radius:10px;padding:14px 16px}.fact-table p{color:var(--muted);margin:7px 0 0;line-height:1.7}.article-page .markdown{margin-top:54px}.markdown{color:#33403c;overflow-wrap:anywhere;line-height:1.85}.markdown h1,.markdown h2,.markdown h3{color:var(--ink);line-height:1.35}.markdown h2{border-bottom:1px solid var(--line);margin-top:2em;padding-bottom:.4em}.markdown pre{color:#edf4f0;background:#1d2b28;border-radius:12px;padding:18px;overflow-x:auto}.markdown code{font-family:Mono,monospace;font-size:.9em}.markdown :not(pre)>code{background:#e7ebe5;border-radius:5px;padding:2px 5px}.markdown blockquote{border-left:3px solid var(--green);color:var(--muted);margin-left:0;padding:2px 18px}.markdown table{border-collapse:collapse;width:100%;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--line);text-align:left;padding:10px}.tag-list{margin:0;padding-left:20px}.tag-list li{margin:8px 0}.tag-list p{margin:0}.login-page{background:linear-gradient(125deg,#153931db,#15393180),url(/hero/starry-mountains-desktop.webp) 50%/cover;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf7ed;border:1px solid #ffffffa6;border-radius:24px;width:min(440px,100%);padding:42px;box-shadow:0 30px 90px #00000040}.login-brand{margin-bottom:42px}.login-card h1{letter-spacing:-.04em;margin:0 0 12px;font-size:36px}.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.7}.login-card form{flex-direction:column;gap:16px;margin-top:24px;display:flex}.login-card label{color:var(--muted);flex-direction:column;gap:7px;font-size:13px;display:flex}.login-card input{border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;padding:12px 13px}.login-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2d6b5b1a}.login-card button{background:var(--green-dark);color:#fff;cursor:pointer;border:0;border-radius:10px;margin-top:4px;padding:13px;font-weight:600}.login-card button:disabled{opacity:.6;cursor:wait}.alert{color:var(--red);background:#f8d8d0;border-radius:9px;margin-top:16px;padding:10px 12px;font-size:13px}.loading,.empty-state{text-align:center;min-height:60vh;color:var(--muted);place-content:center;gap:10px;display:grid}.loading span{color:var(--green);letter-spacing:.15em;font:10px Mono,monospace}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:24px clamp(20px,5vw,72px);font-size:12px;display:flex}@media (width<=900px){.site-header{grid-template-columns:1fr auto;height:auto;min-height:66px}.site-header nav{order:3;grid-column:1/-1;width:100%;padding:7px 0 10px;overflow-x:auto}.site-header nav a{white-space:nowrap}.question-page{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 112px);overflow:visible}.question-sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:58vh}.question-reader{min-height:600px;overflow:visible}.card-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.brand div{display:none}.site-header{padding-inline:16px}.hero{background-image:linear-gradient(90deg,#f2efe5f2,#f2efe57a),url(/hero/forest-path-mobile.webp);min-height:500px;padding:80px 22px 64px}.hero h1{font-size:43px}.hero-actions{flex-direction:column;align-items:stretch}.stat-grid,.feature-grid,.card-grid{grid-template-columns:1fr}.stat-grid{margin-top:-12px}.feature-grid{padding:48px 0 72px}.question-sidebar{padding:26px 16px}.question-reader{padding:38px 20px 70px}.reveal-buttons{grid-template-columns:1fr}.reader-meta{flex-wrap:wrap}.catalog-page,.detail-page{width:min(100% - 32px,1120px);padding-top:52px}.article-list a{grid-template-columns:1fr}.login-card{padding:30px 24px}footer{flex-direction:column}}
