:root{--paper:#f8f7f0;--ink:#23372c;--muted:#5e6a61;--line:#dce1d5;--card:#fffefa;--accent:#496d4e;--max:1200px;font-family:"Microsoft YaHei UI","PingFang SC",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.wrap{width:min(var(--max),calc(100% - 60px));margin:auto}:focus-visible{outline:3px solid #638c70;outline-offset:4px}.skip{position:fixed;z-index:100;top:-70px;left:16px;padding:12px 18px;background:var(--ink);color:#fff}.skip:focus{top:12px}
.hero{padding:44px 0 26px}.kicker{margin:0 0 14px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.14em}.hero h1{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.2;letter-spacing:-.035em}.hero-lead{max-width:780px;margin:16px 0 0;color:var(--muted);font-size:16px;line-height:1.9}
.catalog{padding:0 0 72px;scroll-margin-top:20px}.search{display:grid;grid-template-columns:140px minmax(0,640px);align-items:center;gap:20px;margin:0;padding:22px 0;border-top:1px solid var(--line)}.search>label{font-size:14px;font-weight:600}.search>div{min-height:50px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;padding-left:15px;border:1px solid #bdcbb9;border-radius:7px;background:#fff}.search svg{width:19px;fill:none;stroke:var(--muted);stroke-width:1.8}.search input{width:100%;min-width:0;min-height:46px;border:0;background:none;font-size:16px}.search button{align-self:stretch;padding:0 20px;border:0;border-radius:0 6px 6px 0;background:var(--accent);color:white;font-size:14px}.search button:hover{background:var(--ink)}
.catalog-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.catalog-filters button{min-height:40px;padding:6px 16px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--muted);font-size:13px}.catalog-filters button:hover{border-color:var(--accent)}.catalog-filters button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.result-meta{margin:0 0 18px;color:var(--muted);font-size:13px;min-height:23px}
.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.asset-card{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .18s,box-shadow .18s}.asset-card:hover{border-color:#a4b79e;box-shadow:0 8px 24px #24392209}.asset-card>a{display:grid;grid-template-columns:48px minmax(0,1fr);height:100%}.asset-number{padding-top:27px;text-align:center;border-right:1px solid var(--line);color:#72856d;font-family:Georgia,serif;font-size:15px}.asset-body{padding:24px 28px;display:flex;flex-direction:column;min-width:0}.asset-tags{display:flex;flex-wrap:wrap;gap:7px}.asset-tags span{padding:3px 8px;background:#eef2e8;color:#51664a;border-radius:3px;font-size:11px}.asset-body h3{margin:20px 0 12px;font-size:26px;line-height:1.45;letter-spacing:-.025em;overflow-wrap:anywhere}.asset-promise{margin:0;color:var(--muted);font-size:14px;line-height:1.9}.asset-body ul{margin:22px 0 0;padding:16px 0 0;border-top:1px solid var(--line);list-style:none}.asset-body li{position:relative;padding-left:16px;margin:6px 0;font-size:13px;line-height:1.8;color:#465a43}.asset-body li::before{content:"";position:absolute;left:0;top:.8em;width:5px;height:2px;background:var(--accent)}.asset-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:24px;flex-wrap:wrap}.asset-depth{color:var(--muted);font-size:12px}.asset-bottom strong{color:var(--accent);font-size:14px}.asset-bottom i{font-style:normal}.asset-card>a.is-disabled{cursor:default}.asset-card:has(a.is-disabled):hover{box-shadow:none;border-color:var(--line)}.asset-card>a.is-disabled .asset-bottom strong{color:var(--muted)}
.state{padding:48px 20px;text-align:center;border:1px dashed #b8c6b0;border-radius:8px}.state h3{margin:0;font-size:24px}.state p{color:var(--muted)}.state button{min-height:44px;padding:10px 20px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink)}.error{background:#fff8ec}
.method{display:grid;grid-template-columns:240px minmax(0,1fr);gap:35px;padding:40px 0 64px;border-top:1px solid var(--line)}.method h2{margin:0;font-size:27px;line-height:1.4}.method ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}.method li{border-left:1px solid var(--line);padding:0 20px}.method li>span{font:italic 16px Georgia,serif;color:var(--accent)}.method h3{margin:12px 0 6px;font-size:16px}.method li p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
@media(max-width:850px){.asset-grid{grid-template-columns:1fr}.search{grid-template-columns:1fr;gap:10px}.method{grid-template-columns:1fr}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.hero{padding:26px 0 22px}.hero h1{font-size:32px}.kicker{margin-bottom:10px}.hero-lead{font-size:14px;margin-top:12px}.search{padding:18px 0}.search>div{gap:8px}.search button{padding:0 15px}.catalog-filters{gap:7px}.catalog-filters button{padding:6px 10px;min-height:44px}.asset-body{padding:20px}.asset-card>a{grid-template-columns:36px minmax(0,1fr)}.asset-body h3{font-size:24px}.asset-number{font-size:13px;padding-top:22px}.asset-grid{gap:16px}.catalog{padding-bottom:45px}.method{padding:28px 0 38px;gap:24px}.method ol{grid-template-columns:1fr;gap:22px}.method li{padding-left:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* ---------- 品牌层：颜色与字体接到 /resources/brand/brand.css ---------- */
:root{--paper:var(--xy-paper);--ink:var(--xy-ink);--muted:var(--xy-ink-2);--line:var(--xy-rule);--card:var(--xy-sheet);--accent:var(--xy-red-ink);font-family:var(--xy-sans)}
body{background:var(--xy-paper)}
.hero h1,.method h2,.asset-card h3{font-family:var(--xy-serif);font-weight:700;letter-spacing:-.01em}
.kicker{color:var(--xy-red-ink)}
.search button{background:var(--xy-ink)}
.search button:hover{background:#2c261d}
:focus-visible{outline-color:var(--xy-ink)}
.method span,.asset-number{color:var(--xy-red);font-family:var(--xy-serif)}
