:root {
    --bean-light: #F3E6C8;
    --bean-deep: #5A3C16;
    --shell: #8A5A22;
    --sprout: #6A7A38;
    --warm: #FFF8E8;
    --deep-bg: #E4D2A8;
    --soft-bg: #F7EDD4;
    --title: #3A2A12;
    --text: #4A3418;
    --muted: #7A5A28;
    --soft-text: #A08048;
    --border: rgba(90,60,22,.16);
    --border-strong: rgba(90,60,22,.42);
    --shadow: 0 12px 28px rgba(58,42,18,.08);
    --max: 1080px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bean-light); }
body { margin: 0; color: var(--text); background: var(--bean-light); font: 15px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--shell); }
button,input { font: inherit; }
button { color: inherit; }
img { display:block; max-width:100%; }
.skip-link { position: fixed; left: 12px; top: -60px; z-index: 9999; background: var(--warm); color: var(--title); padding: 10px 14px; border-radius: 8px; border: 1px solid var(--border-strong); }
.skip-link:focus { top: 10px; }
.fixed-head { position: fixed; inset: 0 0 auto 0; z-index: 1000; }
.sprout-line { height: 22px; background: var(--bean-deep); color: var(--warm); font-size: 12px; }
.sprout-line-inner,.pod-bar-inner,.ridge-tags-inner { width: min(var(--max), calc(100% - 32px)); margin: 0 auto; }
.sprout-line-inner { height:22px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.text-control,.close-control,.pod-drawer-button { appearance:none; border:0; background:none; cursor:pointer; min-height:44px; }
.text-control { min-height:22px; padding:0 4px; color: var(--warm); font-size:12px; }
.pod-bar { height:56px; background: var(--bean-light); border-bottom:1px solid var(--border-strong); }
.pod-bar-inner { height:56px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.brand-link { justify-self:start; min-height:44px; display:flex; align-items:center; max-width:190px; }
.site-logo-img { height:26px; width:auto; max-width:180px; object-fit:contain; object-position:center; }
.site-logo-text { font-weight:800; font-size:16px; color:var(--title); white-space:nowrap; }
.app-quick-link { justify-self:center; min-height:44px; display:flex; align-items:center; padding:0 18px; font-size:14px; font-weight:700; color:var(--bean-deep); border-radius:9px; }
.app-quick-link:hover,.app-quick-link:focus-visible { background:var(--warm); }
.pod-drawer-button { justify-self:end; min-width:56px; padding:0 10px; font-size:14px; font-weight:700; border:1px solid var(--border-strong); border-radius:9px; background:var(--warm); }
.ridge-tags { height:38px; background:var(--warm); border-bottom:1px solid var(--border); }
.ridge-tags-inner { height:38px; display:flex; align-items:center; justify-content:space-between; }
.ridge-left,.ridge-right { display:flex; align-items:center; gap:8px; }
.ridge-tags a { height:30px; min-width:54px; padding:0 12px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--bean-deep); }
.ridge-tags a.is-current { background:var(--bean-deep); color:var(--warm); }
.site-main { padding-top:140px; min-height:70vh; }
.content-wrap { width:min(var(--max), calc(100% - 32px)); margin:0 auto 34px; }
.eyebrow { margin:0 0 8px; color:var(--shell); font-size:13px; font-weight:800; letter-spacing:.08em; }
h1,h2,h3 { color:var(--title); margin-top:0; }
h1 { font-size:24px; line-height:1.3; margin-bottom:14px; }
h2 { font-size:20px; line-height:1.4; margin-bottom:10px; }
h3 { font-size:16px; line-height:1.5; margin-bottom:8px; }
p { margin:0 0 14px; }
.lead { max-width:820px; font-size:16px; line-height:1.8; color:var(--text); }
.section-heading { margin-bottom:18px; }
.section-heading > p { margin:0 0 4px; color:var(--muted); font-weight:700; }
.section-heading h2 { margin:0; }
.media-slot { display:flex; align-items:center; justify-content:center; overflow:hidden; background:var(--soft-bg); border:1px solid var(--border); border-radius:10px; }
.media-slot img { width:100%; height:100%; object-fit:contain; object-position:center; }
.banner-slot { width:100%; height:200px; background:var(--deep-bg); }
.grid-image { height:140px; }
.wide-media,.article-media { height:180px; margin-bottom:20px; }
.strip-media { height:150px; margin-bottom:20px; }
.app-portrait { height:340px; max-width:360px; }
.brand-media { height:230px; }
.button { min-height:42px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; font-size:14px; font-weight:800; border:1px solid transparent; white-space:nowrap; }
.button-primary { background:linear-gradient(135deg,#8A5A22 0%,#5A3C16 100%); color:var(--warm); }
.button-primary:hover,.button-primary:focus-visible { color:#fff; filter:brightness(1.06); }
.button-secondary { background:var(--warm); border-color:var(--shell); color:var(--bean-deep); }
.button-secondary:hover,.button-secondary:focus-visible { background:var(--soft-bg); color:var(--title); }
.button-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:3px solid rgba(106,122,56,.55); outline-offset:2px; }
.home-intro { padding:22px 0 8px; }
.home-intro h1 { max-width:650px; font-size:34px; }
.home-intro .button { margin-top:8px; }
.banner-section { margin-bottom:40px; }
.home-grid { background:var(--warm); padding:24px; border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow); }
.four-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.four-grid article { border:1px solid var(--border); background:var(--soft-bg); border-radius:10px; overflow:hidden; }
.four-grid article h3,.four-grid article p { margin-left:16px; margin-right:16px; }
.four-grid article h3 { margin-top:14px; }
.four-grid article p { margin-bottom:16px; }
.article-panel { background:var(--warm); padding:28px; border-radius:12px; border:1px solid var(--border); }
.numberless-sections { display:grid; gap:4px; }
.numberless-sections p { padding:14px 0; border-bottom:1px dashed var(--border); margin:0; }
.numberless-sections p:last-child { border-bottom:0; }
.numberless-sections strong { color:var(--bean-deep); margin-right:8px; }
.timeline { list-style:none; margin:0; padding:0 0 0 26px; border-left:2px solid var(--border-strong); }
.timeline li { position:relative; display:grid; grid-template-columns:110px 1fr; gap:18px; padding:0 0 26px 18px; }
.timeline li:before { content:""; position:absolute; width:12px; height:12px; border-radius:50%; background:var(--sprout); left:-33px; top:5px; border:3px solid var(--bean-light); box-shadow:0 0 0 1px var(--border-strong); }
.timeline span { color:var(--bean-deep); font-weight:800; }
.timeline p { margin:0; }
.memo-split { background:var(--deep-bg); padding:26px; border-radius:12px; }
.split-notes { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.split-notes article { background:var(--warm); padding:20px; border-radius:10px; border:1px solid var(--border); }
.theme-bars { display:grid; gap:12px; }
.theme-bars .section-heading,.theme-bars .strip-media { grid-column:1/-1; }
.theme-bar { display:grid; grid-template-columns:190px 90px 1fr; gap:16px; align-items:center; padding:16px 18px; border:1px solid var(--border); background:var(--warm); border-radius:10px; }
.theme-bar span { justify-self:start; border:1px solid var(--border-strong); border-radius:999px; padding:3px 9px; color:var(--bean-deep); font-size:13px; }
.theme-bar p { margin:0; }
.app-feature { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:34px; align-items:center; background:var(--warm); border-radius:12px; border:1px solid var(--border); padding:28px; }
.app-visual { position:relative; min-width:0; }
.app-icon { width:48px; height:48px; object-fit:contain; object-position:center; border-radius:10px; background:var(--warm); border:1px solid var(--border); padding:4px; }
.app-visual .app-icon { position:absolute; right:12px; bottom:12px; }
.reading-points { border-top:1px solid var(--border-strong); border-bottom:1px solid var(--border-strong); padding:24px 0; }
.faq-preview { background:var(--soft-bg); border:1px solid var(--border); border-radius:12px; padding:24px; }
details { border-bottom:1px solid var(--border); padding:12px 0; }
details:last-of-type { border-bottom:0; }
summary { cursor:pointer; font-weight:800; color:var(--title); }
details p { margin:10px 0 0; }
.text-link { display:inline-flex; margin-top:16px; color:var(--bean-deep); font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.brand-story { display:grid; grid-template-columns:.8fr 1.2fr; gap:28px; align-items:center; }
.long-article,.policy-page,.about-page { max-width:880px; }
.article-head { margin-bottom:20px; }
.long-article section,.policy-page section,.about-page > section { padding:20px 0; border-bottom:1px solid var(--border); }
.long-article section:last-of-type,.policy-page section:last-of-type,.about-page > section:last-of-type { border-bottom:0; }
.article-next,.policy-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; }
.observation-head { display:grid; grid-template-columns:1fr .9fr; gap:30px; align-items:end; margin-bottom:22px; }
.observation-media { height:210px; margin-bottom:24px; }
.observation-directory { display:grid; gap:16px; }
.observation-directory article { display:grid; grid-template-columns:140px 1fr; column-gap:24px; background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:22px; }
.observation-directory article h2,.observation-directory article p { grid-column:2; }
.dir-index { grid-row:1/3; color:var(--bean-deep); font-weight:900; letter-spacing:.05em; }
.observation-note { margin-top:24px; background:var(--deep-bg); border-radius:12px; padding:24px; }
.compact-hero { max-width:800px; padding-bottom:18px; }
.grid-page-media { height:200px; margin-bottom:20px; }
.julong-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.julong-grid article { background:var(--warm); border:1px solid var(--border); padding:22px; border-radius:10px; }
.julong-grid article:nth-child(2),.julong-grid article:nth-child(3) { background:var(--soft-bg); }
.grid-page-bottom { margin-top:20px; background:var(--bean-deep); color:var(--warm); padding:24px; border-radius:12px; }
.grid-page-bottom h2 { color:var(--warm); }
.grid-page-bottom .button-secondary { border-color:var(--warm); }
.split-page-head { display:grid; grid-template-columns:1.1fr .9fr; gap:30px; align-items:end; }
.split-page-media { height:190px; margin:20px 0; }
.two-column-notebook { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.notebook-column { background:var(--warm); border:1px solid var(--border); border-radius:12px; padding:22px; }
.notebook-column section { padding:14px 0; border-bottom:1px solid var(--border); }
.notebook-column section:last-child { border-bottom:0; }
.notebook-dark { background:var(--bean-deep); color:var(--warm); }
.notebook-dark h2 { color:var(--warm); }
.notebook-dark section { border-color:rgba(255,248,232,.18); }
.notebook-tail { margin-top:18px; padding:22px; background:var(--soft-bg); border-radius:10px; }
.sequence-page > header { max-width:780px; }
.sequence-media { height:185px; margin:20px 0 28px; }
.sequence-axis { position:relative; margin-left:24px; padding-left:36px; border-left:2px solid var(--border-strong); }
.sequence-axis article { position:relative; padding:0 0 28px; }
.axis-dot { position:absolute; left:-44px; top:4px; width:14px; height:14px; border-radius:50%; background:var(--sprout); border:3px solid var(--bean-light); box-shadow:0 0 0 1px var(--border-strong); }
.axis-time { color:var(--shell); font-weight:900; margin-bottom:5px; }
.sequence-axis p { max-width:820px; }
.sequence-summary { background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:20px; }
.ledger-head { display:grid; grid-template-columns:1fr .8fr; gap:30px; }
.ledger-media { height:170px; margin:18px 0 24px; }
.ledger-bars { display:grid; gap:10px; }
.ledger-row { display:grid; grid-template-columns:280px 1fr; gap:20px; align-items:start; background:var(--warm); border-left:5px solid var(--shell); border-radius:8px; padding:18px 20px; box-shadow:var(--shadow); }
.ledger-row h2 { margin:6px 0 0; font-size:17px; }
.status { display:inline-flex; padding:2px 8px; border-radius:999px; font-size:12px; font-weight:900; border:1px solid var(--border-strong); }
.status-working { background:var(--soft-bg); }
.status-pending { background:var(--deep-bg); }
.status-done { background:#f1edd9; color:#465326; }
.ledger-explain { margin-top:24px; padding:24px; background:var(--deep-bg); border-radius:12px; }
.checklist-media { height:180px; margin:18px 0 24px; }
.checklist-board { background:var(--warm); border:1px solid var(--border); border-radius:12px; padding:8px 24px; }
.checklist-board section { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:20px 0; border-bottom:1px solid var(--border); }
.checklist-board section:last-child { border-bottom:0; }
.check-mark { width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--sprout); color:var(--warm); font-weight:900; }
.checklist-aside { margin-top:20px; border:1px solid var(--border-strong); padding:22px; border-radius:10px; }
.methods-intro { max-width:780px; }
.method-band { display:grid; grid-template-columns:150px 1fr; gap:28px; padding:28px; margin:18px 0; background:var(--warm); border:1px solid var(--border); border-radius:12px; }
.method-band.reverse { background:var(--deep-bg); }
.method-number { color:var(--bean-deep); font-size:30px; font-weight:900; line-height:1.2; }
.methods-summary { padding:26px; background:var(--bean-deep); color:var(--warm); border-radius:12px; }
.methods-summary h2 { color:var(--warm); }
.collection-list { display:grid; gap:14px; }
.collection-list article { display:grid; grid-template-columns:180px 1fr; gap:24px; padding:22px; background:var(--warm); border:1px solid var(--border); border-radius:10px; }
.collection-label { color:var(--bean-deep); font-weight:900; font-size:18px; }
.collection-footer { margin-top:22px; padding:24px; background:var(--soft-bg); border-radius:12px; }
.cabinet-media { height:180px; margin:20px 0; }
.cabinet-bars { display:grid; gap:10px; }
.cabinet-bars article { display:grid; grid-template-columns:140px 1fr 100px; gap:20px; align-items:center; padding:18px; background:var(--warm); border:1px solid var(--border); border-radius:10px; }
.cabinet-key { color:var(--bean-deep); font-weight:900; }
.cabinet-bars h2 { font-size:17px; margin-bottom:5px; }
.cabinet-bars p { margin:0; }
.cabinet-bars a { min-height:44px; display:flex; align-items:center; justify-content:center; border:1px solid var(--shell); border-radius:8px; font-weight:800; color:var(--bean-deep); background:var(--soft-bg); }
.cabinet-principles { margin-top:24px; padding:24px; border-top:2px solid var(--border-strong); border-bottom:2px solid var(--border-strong); }
.product-hero { display:grid; grid-template-columns:1.2fr .8fr; gap:34px; align-items:center; background:var(--warm); border:1px solid var(--border); border-radius:12px; padding:28px; }
.product-visual { position:relative; display:flex; justify-content:center; }
.app-icon.large { position:absolute; right:4px; bottom:4px; width:48px; height:48px; }
.product-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:22px; }
.product-sections section { background:var(--soft-bg); border:1px solid var(--border); padding:22px; border-radius:10px; }
.product-note { margin-top:22px; padding:24px; background:var(--deep-bg); border-radius:12px; }
.install-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:22px; }
.install-steps section { padding:22px; background:var(--warm); border:1px solid var(--border); border-radius:10px; }
.install-steps span { color:var(--shell); font-weight:900; font-size:13px; }
.install-end { margin-top:20px; padding:24px; background:var(--bean-deep); color:var(--warm); border-radius:12px; }
.install-end h2 { color:var(--warm); }
.policy-page header { padding-bottom:18px; border-bottom:2px solid var(--border-strong); }
.grade-page section:nth-of-type(even),.privacy-page section:nth-of-type(even) { background:var(--soft-bg); margin-left:-18px; margin-right:-18px; padding-left:18px; padding-right:18px; }
.help-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:22px; }
.help-columns section { padding:22px; background:var(--warm); border:1px solid var(--border); border-radius:10px; }
.help-columns section a { font-weight:800; color:var(--bean-deep); text-decoration:underline; text-underline-offset:4px; }
.help-faq-link { margin-top:22px; padding:24px; background:var(--deep-bg); border-radius:12px; }
.faq-list { margin-top:20px; background:var(--warm); border:1px solid var(--border); border-radius:12px; padding:4px 22px; }
.faq-list details { padding:16px 0; }
.faq-list summary { font-size:16px; }
.contact-paths { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px; }
.contact-paths section { padding:22px; background:var(--warm); border-top:4px solid var(--shell); border-radius:8px; box-shadow:var(--shadow); }
.contact-notice { margin-top:22px; padding:24px; background:var(--soft-bg); border:1px solid var(--border-strong); border-radius:12px; }
.about-hero { display:grid; grid-template-columns:1.2fr .8fr; gap:28px; align-items:center; padding-bottom:24px; border-bottom:2px solid var(--border-strong); }
.about-media { height:220px; }
.site-footer { margin-top:50px; background:#2E220E; color:var(--bean-light); border-top:1px solid rgba(243,230,200,.35); font-size:13px; }
.footer-inner { width:min(var(--max), calc(100% - 32px)); margin:0 auto; padding:30px 0 24px; }
.footer-brand { display:flex; align-items:center; gap:14px; padding-bottom:20px; border-bottom:1px solid rgba(243,230,200,.18); }
.footer-logo-link { min-height:44px; display:flex; align-items:center; }
.footer-brand strong { display:block; color:var(--warm); font-size:16px; }
.footer-brand span { display:block; color:var(--bean-light); opacity:.8; }
.footer-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:22px 0; }
.footer-columns h2 { color:var(--warm); font-size:14px; margin-bottom:8px; }
.footer-columns a { display:block; color:var(--bean-light); min-height:32px; }
.footer-columns a:hover,.footer-columns a:focus-visible { color:#fff; }
.footer-notice { color:var(--bean-light); padding-top:16px; border-top:1px solid rgba(243,230,200,.18); }
.copyright { color:rgba(243,230,200,.72); margin-bottom:0; }
.site-overlay { position:fixed; inset:0; z-index:1090; background:rgba(46,34,14,.48); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease,visibility .2s ease; }
.site-overlay.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.site-drawer { position:fixed; top:0; right:0; z-index:1100; width:min(380px,88vw); height:100dvh; background:var(--warm); box-shadow:-18px 0 42px rgba(46,34,14,.2); transform:translateX(103%); visibility:hidden; pointer-events:none; transition:transform .22s ease,visibility .22s ease; overflow-y:auto; overscroll-behavior:contain; }
.site-drawer.is-open { transform:translateX(0); visibility:visible; pointer-events:auto; }
.drawer-head { min-height:72px; padding:12px 16px; position:sticky; top:0; z-index:2; background:var(--warm); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--border); }
.drawer-brand { display:flex; align-items:center; gap:10px; font-weight:900; }
.close-control { min-width:54px; padding:0 10px; border:1px solid var(--border-strong); border-radius:8px; background:var(--soft-bg); }
.drawer-groups { padding:10px 16px 28px; }
.drawer-groups section { padding:14px 0; border-bottom:1px solid var(--border); }
.drawer-groups h2 { font-size:14px; color:var(--shell); margin-bottom:8px; }
.drawer-groups a { display:block; padding:9px 8px; border-radius:8px; }
.drawer-groups a:hover,.drawer-groups a:focus-visible { background:var(--soft-bg); }
.drawer-groups strong { display:block; color:var(--title); font-size:15px; }
.drawer-groups span { display:block; color:var(--muted); font-size:12px; line-height:1.55; margin-top:2px; }
.search-layer { position:fixed; top:78px; left:0; right:0; z-index:1110; visibility:hidden; pointer-events:none; transform:translateY(-16px); opacity:0; transition:.2s ease; }
.search-layer.is-open { visibility:visible; pointer-events:auto; transform:translateY(0); opacity:1; }
.search-card { width:min(760px,calc(100% - 32px)); margin:0 auto; padding:20px; background:var(--warm); border:1px solid var(--border-strong); border-radius:0 0 12px 12px; box-shadow:var(--shadow); }
.search-head { display:flex; justify-content:space-between; gap:20px; align-items:start; }
.search-head strong,.search-head span { display:block; }
.search-head span { color:var(--muted); font-size:13px; }
.search-label { display:block; color:var(--muted); font-size:13px; margin:12px 0 5px; }
.search-card input { width:100%; min-height:44px; border:1px solid var(--border-strong); border-radius:8px; background:#fffdf7; color:var(--title); padding:0 12px; }
.search-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:12px; }
.search-presets a { padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--soft-bg); font-weight:800; }
.search-presets a span { display:block; font-weight:400; color:var(--muted); font-size:12px; }
.search-empty { margin:12px 0 0; color:var(--muted); }
body.layer-open { overflow:hidden; }
.mobile-bottom { display:none; }
[hidden] { display:none !important; }
@media (max-width: 760px) {
    body { padding-bottom:calc(48px + env(safe-area-inset-bottom)); }
    .sprout-line-inner,.pod-bar-inner,.footer-inner,.content-wrap { width:calc(100% - 32px); }
    .ridge-tags { display:none; }
    .site-main { padding-top:98px; }
    .pod-bar-inner { grid-template-columns:minmax(0,1fr) auto auto; gap:6px; }
    .brand-link { min-width:0; max-width:150px; overflow:hidden; }
    .site-logo-img { max-width:145px; }
    .app-quick-link { padding:0 10px; }
    .pod-drawer-button { min-width:52px; padding:0 8px; }
    .home-intro { padding-top:12px; }
    .home-intro h1 { font-size:28px; }
    .four-grid,.split-notes,.julong-grid,.two-column-notebook,.product-sections,.install-steps,.help-columns,.contact-paths { grid-template-columns:1fr; }
    .home-grid,.article-panel,.memo-split,.app-feature,.product-hero { padding:18px; }
    .theme-bar { grid-template-columns:1fr auto; }
    .theme-bar p { grid-column:1/-1; }
    .app-feature,.brand-story,.observation-head,.split-page-head,.ledger-head,.about-hero,.product-hero { grid-template-columns:1fr; }
    .app-feature .app-visual,.product-visual { order:0; }
    .app-feature .app-copy { order:1; }
    .app-portrait { max-width:100%; margin:0 auto; }
    .timeline li { grid-template-columns:78px 1fr; gap:10px; }
    .observation-directory article { grid-template-columns:1fr; }
    .observation-directory article h2,.observation-directory article p { grid-column:1; }
    .dir-index { grid-row:auto; margin-bottom:6px; }
    .ledger-row { grid-template-columns:1fr; gap:8px; }
    .method-band,.collection-list article { grid-template-columns:1fr; gap:10px; padding:20px; }
    .method-number { font-size:22px; }
    .cabinet-bars article { grid-template-columns:1fr; gap:8px; }
    .cabinet-bars a { width:100%; }
    .checklist-board { padding:4px 16px; }
    .checklist-board section { grid-template-columns:34px 1fr; gap:10px; }
    .footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .search-layer { top:0; bottom:0; background:var(--bean-deep); color:var(--warm); }
    .search-card { width:100%; height:100%; border:0; border-radius:0; background:var(--bean-deep); color:var(--warm); box-shadow:none; padding:24px 16px calc(70px + env(safe-area-inset-bottom)); overflow-y:auto; }
    .search-head strong { color:var(--warm); font-size:18px; }
    .search-head span,.search-label { color:var(--bean-light); }
    .search-card .close-control { color:var(--warm); border-color:rgba(255,248,232,.35); background:rgba(255,248,232,.08); }
    .search-card input { background:var(--warm); }
    .search-presets { grid-template-columns:1fr; }
    .search-presets a { background:var(--warm); color:var(--title); }
    .search-presets a span { color:var(--muted); }
    .mobile-bottom { position:fixed; left:0; right:0; bottom:0; z-index:1005; height:calc(48px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); display:grid; grid-template-columns:repeat(5,1fr); background:var(--warm); border-top:1px solid var(--border-strong); }
    .mobile-bottom a { min-height:48px; display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--bean-deep); }
    .mobile-bottom a.is-current { background:var(--bean-deep); color:var(--warm); }
    .site-overlay { z-index:1090; }
    .site-drawer { z-index:1100; }
    .site-footer { margin-bottom:0; }
}
@media (max-width: 430px) {
    .sprout-line-inner { width:calc(100% - 20px); }
    .sprout-line-inner > span { max-width:74%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .pod-bar-inner { width:calc(100% - 24px); }
    .site-logo-img { max-width:118px; }
    .site-logo-text { font-size:15px; }
    .app-quick-link,.pod-drawer-button { font-size:13px; }
    .content-wrap,.footer-inner { width:calc(100% - 32px); }
    .footer-columns { grid-template-columns:1fr 1fr; gap:16px; }
}
.page-afterword { margin-top: 22px; padding: 22px 24px; background: var(--soft-bg); border: 1px solid var(--border); border-radius: 10px; }
.page-afterword p:last-child { margin-bottom: 0; }
