.resources-v3 { --sm-green:#245f46; }
.sm-shell { width:min(calc(100% - var(--rs-gutter)*2),1440px); margin-inline:auto; }
.sm-sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
/* Initial HTML contains only a neutral placeholder, never an outdated directory. */
.sm-loading { min-height:100svh;padding-block:clamp(36px,6vw,80px);box-sizing:border-box; }
.sm-loading-line { display:block;width:min(78%,760px);height:12px;margin-bottom:18px;border-radius:4px;background:var(--theme-line);opacity:.55; }
.sm-loading-label { width:120px;height:10px;margin-bottom:30px; }
.sm-loading-title { width:min(86%,620px);height:36px;margin-bottom:28px; }
.sm-loading-source { width:min(55%,280px);height:10px; }
.sm-loading-body { margin-top:64px; }
.sm-loading-body .sm-loading-line:last-child { width:min(55%,520px); }
.resources-v3 .sm-hero { min-height:350px; }
.sm-hero-copy { position:relative;z-index:2;padding-block:44px 38px; }
.resources-v3 .sm-hero h1 { margin:16px 0;font-size:clamp(38px,4vw,60px); }
.sm-hero-copy > p:not(.rs-kicker) { color:#dce8dd;font-size:15px;line-height:1.85; }
.sm-hero-stats { display:flex;align-items:center;gap:30px;margin-top:28px; }
.sm-hero-stats > span { color:#d3e2cd;font-size:12px; }
.sm-hero-stats strong { color:#ecf6d7;font:500 28px/1.2 Georgia,serif;margin-right:6px; }
.sm-hero-stats a { display:inline-flex;align-items:center;gap:20px;min-height:40px;padding:6px 0;border-bottom:1px solid #d7ebc3;font-size:13px; }
.sm-hero-stats img { width:16px;height:16px;filter:brightness(0) invert(1); }
.sm-nav { display:flex;align-items:center;gap:32px;min-height:60px;padding-inline:max(var(--rs-gutter),calc((100% - 1440px)/2));background:var(--rs-surface);border-bottom:1px solid var(--rs-line); }
.sm-nav > a,.sm-nav > div { display:flex;align-items:center;gap:12px; }
.sm-nav a { display:inline-flex;align-items:center;gap:10px;min-height:60px;font-size:13px;color:var(--rs-muted); }
.sm-nav > div { margin-left:auto;gap:36px; }
.sm-nav a[aria-current] { color:var(--rs-green);box-shadow:inset 0 -3px var(--rs-green);font-weight:700; }
.sm-nav img { width:15px;height:15px; }
.sm-catalogue { padding-block:36px 52px; }
.sm-section-head { display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px; }
.sm-section-head h2 { margin:10px 0 0;font-size:clamp(26px,2.4vw,34px);line-height:1.3; }
.sm-section-head > p { font-size:13px;color:var(--rs-muted); }
.sm-search { display:flex;align-items:center;gap:14px;padding:6px 6px 6px 18px;min-height:60px;border:1px solid #90ac95;border-radius:6px;background:var(--rs-surface); }
.sm-search img { width:21px;height:21px; }
.sm-search label { flex:none;display:flex; }
.resources-v3 .sm-search input { flex:1;min-width:0;width:auto;min-height:42px;background:none;border:0;padding:8px 0;font-size:15px;color:var(--rs-ink); }
.sm-search > button { flex:none;display:flex;align-items:center;justify-content:center;gap:26px;min-height:46px;padding:8px 22px;border:0;border-radius:4px;color:white;background:var(--sm-green);font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer; }
.sm-search > button img { width:16px;height:16px;filter:brightness(0) invert(1); }
.sm-popular { display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:14px 0 24px;font-size:12px;color:var(--rs-muted); }
.sm-popular a { display:flex;align-items:center;gap:6px;color:var(--rs-green); }
.sm-popular img { width:12px;height:12px; }
.sm-filterbar { border:1px solid var(--rs-line);border-radius:6px;background:var(--rs-surface); }
.sm-categories { display:flex;flex-wrap:wrap;gap:6px;padding:14px; }
.sm-categories button { display:inline-flex;gap:7px;align-items:center;min-height:39px;padding:8px 12px;border:0;border-radius:4px;background:var(--rs-paper);color:var(--rs-muted);font-size:12px;cursor:pointer; }
.sm-categories button[aria-pressed="true"] { background:var(--sm-green);color:#fff; }
.sm-categories button[aria-pressed="true"] img { filter:brightness(0) invert(1); }
.sm-categories small { font-size:10px;opacity:.7; }
.sm-categories img { width:14px;height:14px; }
.sm-filter-bottom { display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--rs-line);padding:12px 16px; }
.sm-filter-bottom label { display:flex;align-items:center;gap:10px;font-size:12px;color:var(--rs-muted); }
.sm-filter-bottom select { max-width:300px;min-width:0;min-height:36px;padding:5px 28px 5px 10px;border:1px solid var(--rs-line);border-radius:4px;background:var(--rs-surface);color:var(--rs-ink);font-size:12px; }
.sm-filter-bottom button { display:inline-flex;align-items:center;gap:7px;min-height:36px;border:0;background:none;color:var(--rs-muted);font-size:12px;cursor:pointer; }
.sm-filter-bottom button[aria-pressed="true"] { color:var(--rs-green);font-weight:700; }
.sm-filter-bottom img { width:15px;height:15px; }
.sm-filter-bottom .sm-page-size { margin-left:auto; }
.sm-results-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 18px;scroll-margin-top:84px; }
.sm-results-heading h2 { font-size:20px;margin:0; }
.sm-results-heading p { color:var(--rs-muted);font-size:12px;margin:0; }
.sm-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.sm-card { min-width:0;display:flex;flex-direction:column;padding:22px 24px;border:1px solid var(--rs-line);border-top:3px solid #477c60;border-radius:6px;background:var(--rs-surface);transition:border-color .2s,transform .2s,box-shadow .2s; }
.sm-card-meta { display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--rs-green);font-size:11px; }
.sm-card-meta > button { display:grid;place-items:center;width:32px;height:32px;flex:none;border:0;border-radius:50%;background:transparent;cursor:pointer; }
.sm-card-meta > button[aria-pressed="true"] { background:#d6e9bf; }
.sm-card-meta img { width:17px;height:17px; }
.sm-card h3 { margin:12px 0;font-size:20px;line-height:1.5; }
.sm-card h3 a { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;color:var(--rs-ink); }
.sm-card-summary { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;line-height:1.8;color:var(--rs-muted);margin:0 0 20px; }
.sm-card-source { display:flex;align-items:start;gap:8px;margin-top:auto;font-size:12px;line-height:1.7;color:var(--rs-muted); }
.sm-card-source img { width:15px;height:15px;flex:none;margin-top:3px; }
.sm-card footer { display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;margin-top:14px;border-top:1px solid var(--rs-line);font-size:11px;color:var(--rs-muted); }
.sm-card footer a { display:flex;align-items:center;gap:10px;color:var(--rs-green);font-size:12px;font-weight:650; }
.sm-card footer img { width:17px;height:17px; }
.sm-pagination { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:28px; }
.sm-pagination button { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;min-height:42px;padding:8px 12px;border:1px solid var(--rs-line);border-radius:4px;background:var(--rs-surface);color:var(--rs-muted);font-size:12px;cursor:pointer; }
.sm-pagination button[aria-current] { background:var(--sm-green);border-color:var(--sm-green);color:#fff; }
.sm-pagination button:disabled { opacity:.4;cursor:default; }
.sm-pagination img { width:14px;height:14px; }
.sm-empty { padding:50px 24px;text-align:center;border:1px solid var(--rs-line);border-radius:6px;background:var(--rs-surface); }
.sm-empty > img { width:28px;height:28px;margin:0 auto 12px; }
.sm-empty h3 { margin:10px 0;font-size:24px; }
.sm-empty p { font-size:14px;color:var(--rs-muted); }
.sm-empty button { margin-top:20px;border:0;padding:12px 20px;background:var(--sm-green);color:#fff;border-radius:4px;cursor:pointer; }
.sm-reader { padding-block:28px 48px; }
.sm-detail-head { padding:30px 36px;background:#e7eedf;border-top:3px solid #407653;border-bottom:1px solid var(--rs-line); }
.sm-detail-kicker { display:flex;align-items:center;justify-content:space-between;gap:16px;color:#52724f;font-size:12px; }
.sm-detail-kicker > span { display:flex;align-items:center;gap:8px; }
.sm-detail-kicker img { width:17px;height:17px; }
.resources-v3 .sm-detail-head h1 { max-width:1100px;margin:20px 0;font-size:clamp(28px,3.2vw,46px);font-family:"Noto Serif SC","Source Han Serif SC","SimSun",serif;line-height:1.45;letter-spacing:-.02em; }
.sm-detail-source { display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:14px;color:#3e634d; }
.sm-detail-source img { width:18px;height:18px; }
.sm-path { margin:0;font-size:12px;line-height:1.8;color:#5b725c; }
.sm-path span { color:#8f9e87;margin-inline:6px; }
.sm-detail-actions { display:flex;align-items:center;gap:10px;margin-top:24px;flex-wrap:wrap; }
.sm-detail-actions :is(a,button),.sm-button { display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;border:1px solid #bccbb4;background:#f5f8ef;color:#31563d;border-radius:4px;padding:9px 16px;font-size:13px;cursor:pointer; }
.sm-detail-actions img,.sm-button img { width:17px;height:17px; }
.sm-detail-actions .sm-button { background:var(--sm-green);border-color:var(--sm-green);color:#fff; }
.sm-detail-actions .sm-button img { filter:brightness(0) invert(1); }
.sm-reading-layout { display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;margin-top:30px;align-items:start; }
.sm-toc { position:sticky;top:84px;min-width:0; }
.sm-toc > strong { display:block;font-size:18px;margin:8px 0 18px; }
.sm-toc nav { display:grid;gap:2px;max-height:calc(100dvh - 260px);overflow:auto;scrollbar-width:thin; }
.sm-toc a { display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;padding:10px 8px;border-left:2px solid transparent;color:var(--rs-muted);font-size:12px;line-height:1.65; }
.sm-toc a[aria-current="true"] { border-color:var(--rs-green);background:#e4eddf;color:var(--rs-green); }
.sm-toc small { font-size:10px; }
.sm-toc > p:last-child { border-top:1px solid var(--rs-line);margin-top:18px;padding-top:14px;color:var(--rs-muted);font-size:11px;line-height:1.8; }
.sm-protocol { min-width:0;background:var(--rs-surface);border:1px solid var(--rs-line);padding:8px 34px 24px; }
.sm-protocol-section { padding:26px 0;border-bottom:1px solid var(--rs-line);scroll-margin-top:78px; }
.sm-protocol-section > header { display:flex;align-items:baseline;gap:16px;margin-bottom:22px; }
.sm-protocol-section > header > span { color:var(--rs-green);font:500 18px/1.4 Georgia,serif;flex:none; }
.sm-protocol-section > header p { color:var(--rs-muted);font-size:10px;letter-spacing:.1em;margin:0 0 7px; }
.sm-protocol-section h2 { font-size:24px;font-family:"Noto Serif SC","Source Han Serif SC","SimSun",serif;line-height:1.5;margin:0; }
.sm-reading-row { display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;margin-block:12px;align-items:baseline;font-size:15px;line-height:1.95; }
.sm-reading-row > div { min-width:0;overflow-wrap:anywhere; }
/* Only this row's marker controls its columns; nested explanations may be unnumbered. */
.sm-reading-row:has(> .sm-step-number:empty) { grid-template-columns:minmax(0,1fr); }
.sm-step-number:empty { display:none; }
.sm-step-number { color:var(--rs-green);font-size:13px; }
.sm-reading-row > small { color:#84917f;font-size:11px;line-height:1.4;text-align:right;white-space:nowrap; }
.sm-reading-note { background:#f0f4e8;padding:12px 14px;border-left:2px solid #9ab57f; }
.sm-inline-heading { font-weight:700;color:var(--rs-green);margin-top:20px; }
.sm-inline-formula { font-family:"Cambria Math","STIX Two Math",serif;font-size:18px; }
.sm-formula { margin:20px 0;padding:18px 20px;background:#f0f4e9;border:1px solid #d9e4cc;overflow:hidden; }
.sm-formula figcaption { display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#527248;margin-bottom:16px; }
.sm-formula figcaption small { font-size:11px; }
.sm-formula > div { overflow:auto;white-space:pre-wrap;font:19px/1.9 "Cambria Math","STIX Two Math",serif;color:#193f29; }
.sm-formula dl { border-top:1px solid #d5dfcb;margin-top:16px;padding-top:12px; }
.sm-formula dl > div { display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;font-size:13px;line-height:1.8;margin-block:8px; }
.sm-formula dd { margin:0; }
.sm-formula p { font-size:12px;line-height:1.8;color:var(--rs-muted); }
.sm-table-scroll { max-width:100%;overflow:auto;margin-block:22px; }
.sm-table-scroll table { width:100%;border-collapse:collapse;font-size:13px;line-height:1.7; }
.sm-table-scroll caption { text-align:left;margin-bottom:10px;color:var(--rs-muted);font-size:12px; }
.sm-table-scroll :is(th,td) { text-align:left;vertical-align:top;border:1px solid var(--rs-line);padding:10px 12px;min-width:80px; }
.sm-table-scroll th { background:var(--rs-paper); }
.sm-method-citation { display:flex;align-items:start;gap:12px;padding-top:24px;font-size:12px;line-height:1.8;color:var(--rs-muted); }
.sm-method-citation img { width:18px;height:18px;flex:none;margin-top:3px; }
.sm-method-citation p { margin:0; }
@media (hover:hover) and (pointer:fine) {
 .sm-card:hover { transform:translateY(-3px);border-color:#96b38a;box-shadow:0 10px 24px #163b260c; }
 .sm-card a:hover,.sm-popular a:hover { color:#318264; }
 .sm-search button:hover,.sm-button:hover { background:#347f5a; }
 .sm-filter-bottom button:hover,.sm-toc a:hover { color:var(--rs-green);background:var(--rs-paper); }
}
@media(max-width:1100px) {
 .sm-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sm-reading-layout { grid-template-columns:190px minmax(0,1fr);gap:24px; }
 .sm-protocol { padding-inline:24px; }
 .sm-filter-bottom { gap:10px 18px; }
}
@media(max-width:760px) {
 .sm-hero-copy { padding-block:34px; }
 .resources-v3 .sm-hero { min-height:310px; }
 .sm-hero-stats { gap:20px;flex-wrap:wrap; }
 .sm-hero-stats strong { font-size:25px; }
 .sm-hero-stats a { margin-left:auto; }
 .sm-nav { min-height:52px;gap:14px; }
 .sm-nav a { min-height:52px;font-size:12px;gap:6px; }
 .sm-nav > div { gap:24px; }
 .sm-catalogue { padding-block:28px 36px; }
 .sm-section-head { display:block;margin-bottom:20px; }
 .sm-section-head > p { margin-top:10px; }
 .sm-search { padding-left:12px;gap:10px; }
 .resources-v3 .sm-search input { font-size:14px; }
 .sm-search > button { padding:8px 13px;gap:8px;font-size:13px; }
 .sm-search > button img { display:none; }
 .sm-popular { gap:8px 14px;font-size:11px; }
 .sm-popular > span { flex-basis:100%; }
 .sm-categories { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:10px; }
 .sm-categories button { min-width:0;justify-content:center;padding:8px 5px;font-size:11px;gap:4px; }
 .sm-categories img { display:none; }
 .sm-filter-bottom { padding:10px 12px;gap:8px 14px; }
 .sm-filter-bottom > label:first-child { flex:1 1 100%; }
 .sm-filter-bottom > label:first-child select { flex:1;width:0;max-width:none; }
 .sm-cards { grid-template-columns:1fr;gap:14px; }
 .sm-card { padding:20px 22px; }
 .sm-card h3 { font-size:21px; }
 .sm-card h3 a { -webkit-line-clamp:2; }
 .sm-pagination { gap:5px; }
 .sm-pagination button { min-width:32px;padding:6px 8px;min-height:38px; }
 .sm-pagination button:first-child,.sm-pagination button:last-child { font-size:0;gap:0;width:38px; }
 .sm-reader { padding-block:18px 32px; }
 .sm-detail-head { padding:22px; }
 .sm-detail-kicker { font-size:11px; }
 .sm-detail-source { align-items:start;font-size:13px;line-height:1.8; }
 .sm-detail-source img { flex:none;margin-top:3px; }
 .sm-path { font-size:11px; }
 .sm-detail-actions { gap:6px;margin-top:18px; }
 .sm-detail-actions :is(a,button) { font-size:12px;padding-inline:11px; }
 .sm-reading-layout { display:block;margin-top:20px; }
 .sm-toc { position:static;margin-bottom:20px;padding:16px;border:1px solid var(--rs-line);background:var(--rs-surface); }
 .sm-toc > .rs-kicker,.sm-toc > p:last-child { display:none; }
 .sm-toc > strong { margin:0 0 10px;font-size:15px; }
 .sm-toc nav { display:flex;flex-wrap:wrap;gap:5px;max-height:180px; }
 .sm-toc a { display:block;border:1px solid var(--rs-line);padding:6px 9px;border-radius:3px;font-size:11px; }
 .sm-toc a small { margin-right:6px; }
 .sm-protocol { padding:0 18px 20px; }
 .sm-protocol-section { padding-block:22px; }
 .sm-protocol-section > header { gap:12px;margin-bottom:18px; }
 .sm-protocol-section h2 { font-size:22px; }
 .sm-protocol-section > header > span { font-size:15px; }
 .sm-reading-row { grid-template-columns:28px minmax(0,1fr);gap:7px;font-size:14px;line-height:1.95; }
 .sm-reading-row:has(> .sm-step-number:empty) { grid-template-columns:minmax(0,1fr); }
 .sm-reading-row > small { font-size:10px; }
 .sm-step-number { font-size:11px; }
 .sm-formula { padding:14px; }
 .sm-formula > div { font-size:17px; }
}
html[data-theme="dark"] .resources-v3 .sm-detail-head { background:#213e2c; }
html[data-theme="dark"] .resources-v3 :is(.sm-detail-source,.sm-detail-kicker,.sm-path) { color:#b7cfb2; }
html[data-theme="dark"] .resources-v3 :is(.sm-formula,.sm-reading-note,.sm-toc a[aria-current="true"]) { background:#253c2a;border-color:#446046; }
html[data-theme="dark"] .resources-v3 .sm-formula :is(div,figcaption) { color:#d6eacb; }
@media(prefers-reduced-motion:reduce) { .sm-card { transition:none; }.sm-card:hover { transform:none; } }
@media print {
 @page { size:A4;margin:15mm; }
 .resources-v3 :is(.site-header,.site-footer,.sm-nav,.sm-toc,.sm-detail-actions,.rs-reading-progress,.site-scroll-progress) { display:none!important; }
 .sm-shell { width:100%;max-width:none; }
 .sm-reader { padding:0; }
 .sm-detail-head { padding:0 0 18px;background:white; }
 .sm-detail-head h1 { font-size:25px!important; }
 .sm-reading-layout { display:block;margin-top:14px; }
 .sm-protocol { border:0;padding:0; }
 .sm-protocol-section { padding-block:16px; }
 .sm-protocol-section > header,.sm-formula { break-inside:avoid; }
 .sm-protocol-section > header { break-after:avoid; }
 .sm-reading-row { font-size:11px;line-height:1.75;break-inside:avoid; }
 .sm-protocol-section h2 { font-size:18px; }
}
