:root {
    --bean-light:#F3E6C8; --bean-deep:#5A3C16; --shell:#8A5A22; --sprout:#6A7A38;
    --warm:#FFF8E8; --layer:#E4D2A8; --secondary:#F7EDD4; --title:#3A2A12;
    --text:#4A3418; --muted:#7A5A28; --soft:#A08048; --border:rgba(90,60,22,.16);
    --border-strong:rgba(90,60,22,.42); --shadow:0 12px 28px rgba(58,42,18,.08);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--bean-light); }
body { margin:0; min-width:320px; overflow-x:hidden; background:var(--bean-light); color:var(--text); font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif; font-size:15px; line-height:1.7; }
body.is-locked { overflow:hidden; }
a { color:inherit; text-decoration:none; }
a:focus-visible, button:focus-visible { outline:3px solid rgba(106,122,56,.55); outline-offset:3px; }
button { font:inherit; }
img { max-width:100%; }
.skip-link { position:fixed; left:12px; top:-60px; z-index:2000; background:var(--warm); color:var(--bean-deep); padding:10px 14px; border-radius:8px; }
.skip-link:focus { top:12px; }
.container, .bar-inner { width:min(1080px, calc(100% - 32px)); margin:0 auto; }
.site-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 { height:22px; display:flex; align-items:center; justify-content:space-between; }
.text-button { border:0; background:transparent; color:var(--warm); min-height:22px; padding:0 4px; cursor:pointer; }
.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; gap:14px; }
.brand-link { justify-self:start; min-height:44px; display:flex; align-items:center; }
.brand-logo { height:26px; width:auto; max-width:160px; object-fit:contain; object-position:center; display:block; }
.brand-fallback { font-size:16px; font-weight:750; color:var(--title); }
.app-open-link { min-height:44px; display:flex; align-items:center; padding:0 16px; border:1px solid var(--shell); border-radius:9px; background:var(--warm); color:var(--bean-deep); font-size:14px; font-weight:700; }
.pod-menu-button { justify-self:end; min-width:64px; min-height:44px; border:0; border-radius:9px; background:linear-gradient(135deg,#8A5A22 0%,#5A3C16 100%); color:var(--warm); cursor:pointer; }
.ridge-tabs { height:38px; background:var(--warm); border-bottom:1px solid var(--border); }
.ridge-tabs-inner { height:38px; display:flex; align-items:center; justify-content:space-between; }
.ridge-left,.ridge-right { display:flex; gap:8px; }
.ridge-link { display:flex; align-items:center; min-height:30px; padding:0 13px; border-radius:7px; color:var(--bean-deep); font-size:13px; }
.ridge-link:hover,.ridge-link.is-active { background:var(--bean-deep); color:var(--warm); }
.site-main { padding-top:116px; min-height:70vh; }
.section { padding:42px 0; }
.section.compact { padding:28px 0; }
.section-dark { background:var(--bean-deep); color:var(--warm); }
.section-layer { background:var(--layer); }
.section-warm { background:var(--warm); }
.eyebrow { margin:0 0 8px; color:var(--shell); font-size:13px; font-weight:800; letter-spacing:.08em; }
.section-dark .eyebrow { color:var(--bean-light); }
h1,h2,h3 { margin:0; color:var(--title); line-height:1.3; }
h1 { font-size:24px; }
h2 { font-size:20px; }
h3 { font-size:16px; }
.section-dark h1,.section-dark h2,.section-dark h3 { color:var(--warm); }
p { margin:0 0 14px; }
.lead { font-size:16px; line-height:1.85; max-width:760px; margin-top:14px; }
.main-action,.secondary-action { min-height:42px; display:inline-flex; align-items:center; justify-content:center; padding:0 18px; border-radius:9px; font-size:14px; font-weight:800; white-space:nowrap; }
.main-action { background:linear-gradient(135deg,#8A5A22 0%,#5A3C16 100%); color:var(--warm); }
.main-action:hover { transform:translateY(-1px); box-shadow:var(--shadow); }
.secondary-action { border:1px solid var(--shell); background:var(--warm); color:var(--bean-deep); }
.image-slot { width:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; background:var(--secondary); border:1px solid var(--border); border-radius:10px; }
.image-slot img { width:100%; height:100%; object-fit:contain; object-position:center; }
.banner-slot { height:200px; }
.tile-slot { height:140px; }
.feature-slot { height:180px; }
.app-slot { height:340px; }
.page-hero { padding:40px 0 30px; background:linear-gradient(180deg,var(--secondary),var(--bean-light)); border-bottom:1px solid var(--border); }
.page-hero .lead { max-width:820px; }
.breadcrumbs { margin-bottom:10px; font-size:13px; color:var(--muted); }
.breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }

/* 首页 */
.home-intro { padding:46px 0 32px; }
.home-intro .intro-copy { max-width:800px; }
.home-intro .main-action { margin-top:12px; }
.cover-trough { padding:0 0 34px; }
.four-square { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.square-card { display:grid; grid-template-columns:160px 1fr; gap:16px; align-items:center; background:var(--warm); border:1px solid var(--border); border-radius:11px; padding:14px; box-shadow:var(--shadow); }
.square-card h3 { margin-bottom:6px; }
.square-card p { margin:0; }
.yakan-feature { display:grid; grid-template-columns:minmax(0,360px) 1fr; gap:26px; align-items:start; }
.ordinal-paras p { padding-left:54px; position:relative; }
.ordinal-paras strong { position:absolute; left:0; color:var(--shell); }
.timeline { margin-top:22px; position:relative; padding-left:32px; }
.timeline:before { content:""; position:absolute; left:9px; top:6px; bottom:6px; width:2px; background:var(--border-strong); }
.timeline-item { position:relative; padding:0 0 22px 18px; }
.timeline-item:before { content:""; position:absolute; left:-28px; top:7px; width:11px; height:11px; border-radius:50%; background:var(--sprout); border:3px solid var(--warm); box-shadow:0 0 0 1px var(--border-strong); }
.timeline-item h3 { margin-bottom:4px; }
.note-split { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.note-panel { background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:20px; }
.topic-strips { display:grid; gap:10px; margin-top:18px; }
.topic-strip { display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center; background:var(--warm); border-left:4px solid var(--shell); padding:14px 16px; border-radius:0 9px 9px 0; }
.status { display:inline-flex; min-height:32px; align-items:center; padding:0 10px; border-radius:999px; background:var(--secondary); color:var(--bean-deep); font-size:13px; border:1px solid var(--border); }
.app-home { display:grid; grid-template-columns:minmax(0,360px) 1fr; gap:28px; align-items:center; }
.app-icon-inline { width:48px; height:48px; object-fit:contain; margin-bottom:12px; }
.home-tail-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.tail-card { background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:20px; }
.faq-mini { display:grid; gap:12px; margin-top:16px; }
.faq-mini details { background:var(--secondary); border:1px solid var(--border); border-radius:9px; padding:10px 14px; }
.faq-mini summary { cursor:pointer; font-weight:800; color:var(--title); }

/* 内页通用内容原件，但各页组合不同 */
.prose { max-width:820px; }
.prose h2 { margin:30px 0 10px; }
.prose h3 { margin:22px 0 8px; }
.prose ul,.prose ol { padding-left:1.2em; }
.prose li { margin:7px 0; }
.callout { background:var(--secondary); border:1px solid var(--border); border-left:4px solid var(--sprout); border-radius:9px; padding:18px; }
.directory-board { display:grid; grid-template-columns:260px 1fr; gap:24px; align-items:start; }
.directory-nav { position:sticky; top:132px; background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:16px; }
.directory-nav a { display:block; padding:9px 10px; border-radius:7px; }
.directory-nav a:hover { background:var(--secondary); }
.directory-content section { background:var(--warm); border:1px solid var(--border); border-radius:11px; padding:22px; margin-bottom:16px; }
.quad-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.quad-grid article { background:var(--warm); border:1px solid var(--border); border-radius:11px; padding:20px; }
.quad-grid article:nth-child(2n) { background:var(--secondary); }
.journal-layout { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.journal-column { background:var(--warm); border:1px solid var(--border); border-radius:11px; padding:22px; }
.journal-entry { padding:16px 0; border-bottom:1px solid var(--border); }
.journal-entry:last-child { border-bottom:0; }
.status-strips { display:grid; gap:12px; }
.status-strip { background:var(--warm); border:1px solid var(--border); border-left:5px solid var(--shell); border-radius:0 10px 10px 0; padding:16px; }
.check-list { display:grid; gap:12px; padding:0; margin:0; list-style:none; }
.check-list li { background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:15px 18px 15px 44px; position:relative; }
.check-list li:before { content:"✓"; position:absolute; left:16px; top:14px; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; background:var(--sprout); color:var(--warm); font-size:12px; }
.method-steps { counter-reset:method; display:grid; gap:14px; }
.method-step { counter-increment:method; background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:18px 18px 18px 66px; position:relative; }
.method-step:before { content:counter(method); position:absolute; left:18px; top:18px; width:32px; height:32px; border-radius:9px; display:grid; place-items:center; background:var(--bean-deep); color:var(--warm); font-weight:800; }
.theme-list { display:grid; gap:14px; }
.theme-row { display:grid; grid-template-columns:180px 1fr; gap:18px; background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:18px; }
.theme-row h2 { font-size:17px; }
.product-hero { display:grid; grid-template-columns:320px 1fr; gap:28px; align-items:center; }
.product-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:22px; }
.product-point { background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:16px; }
.clauses { display:grid; gap:16px; }
.clause { background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:20px; }
.clause h2 { margin-bottom:8px; }
.help-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.help-box { background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:20px; }
.faq-list { display:grid; gap:14px; }
.faq-item { background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:20px; }
.faq-item h2 { margin-bottom:8px; }
.contact-rows { display:grid; gap:14px; }
.contact-row { background:var(--warm); border:1px solid var(--border); border-radius:10px; padding:20px; display:grid; grid-template-columns:190px 1fr; gap:18px; }
.about-manifesto { display:grid; grid-template-columns:1.1fr .9fr; gap:24px; }
.about-side { background:var(--bean-deep); color:var(--warm); border-radius:12px; padding:24px; }
.about-side h2 { color:var(--warm); }

.site-footer { background:#2E220E; color:var(--bean-light); border-top:1px solid rgba(243,230,200,.22); padding:36px 0 72px; font-size:13px; }
.footer-brand-row { display:grid; grid-template-columns:320px 1fr; gap:24px; align-items:start; padding-bottom:24px; border-bottom:1px solid rgba(243,230,200,.16); }
.footer-brand { display:flex; align-items:center; gap:12px; }
.footer-brand strong { display:block; color:var(--warm); font-size:16px; }
.footer-brand span { display:block; color:var(--bean-light); margin-top:2px; }
.footer-note { margin:0; color:var(--bean-light); }
.footer-links-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:24px 0; }
.footer-links-grid h2 { color:var(--warm); font-size:14px; margin-bottom:8px; }
.footer-links-grid a { display:block; padding:3px 0; color:var(--bean-light); }
.footer-links-grid a:hover,.footer-bottom a:hover { color:var(--warm); text-decoration:underline; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:16px; border-top:1px solid rgba(243,230,200,.12); }
.footer-minor-links { display:flex; gap:14px; }
.drawer { position:fixed; z-index:1300; right:0; top:0; bottom:0; width:380px; max-width:88vw; background:var(--warm); box-shadow:-18px 0 44px rgba(46,34,14,.18); transform:translateX(104%); visibility:hidden; pointer-events:none; transition:transform .24s ease, visibility .24s ease; }
.drawer.is-open { transform:translateX(0); visibility:visible; pointer-events:auto; }
.drawer-head { height:70px; display:flex; align-items:center; justify-content:space-between; padding:0 18px; border-bottom:1px solid var(--border); }
.drawer-brand { display:flex; align-items:center; gap:10px; font-weight:800; color:var(--title); }
.drawer-close,.search-card-head button { min-height:44px; border:1px solid var(--shell); background:var(--warm); color:var(--bean-deep); border-radius:8px; padding:0 14px; cursor:pointer; }
.drawer-scroll { height:calc(100% - 70px); overflow-y:auto; padding:10px 18px 30px; }
.drawer-group { padding:12px 0 6px; }
.drawer-group h2 { font-size:14px; color:var(--muted); margin-bottom:6px; }
.drawer-group a { display:block; padding:10px 8px; border-radius:8px; }
.drawer-group a:hover { background:var(--secondary); }
.drawer-group strong { display:block; color:var(--title); }
.drawer-group span { display:block; color:var(--muted); font-size:13px; line-height:1.55; margin-top:2px; }
.search-layer { position:fixed; z-index:1250; left:0; right:0; top:78px; visibility:hidden; pointer-events:none; transform:translateY(-14px); 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; background:var(--warm); border:1px solid var(--border-strong); border-radius:0 0 12px 12px; box-shadow:var(--shadow); padding:18px; }
.search-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.search-card-head strong { display:block; color:var(--title); font-size:17px; }
.search-card-head span { display:block; color:var(--muted); font-size:13px; }
.search-presets { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.search-presets a { min-height:40px; display:flex; align-items:center; padding:0 14px; border-radius:8px; background:var(--secondary); border:1px solid var(--border); color:var(--bean-deep); font-weight:700; }
.site-overlay { position:fixed; inset:0; z-index:1200; background:rgba(46,34,14,.44); opacity:0; visibility:hidden; pointer-events:none; transition:.2s ease; }
.site-overlay.is-visible { opacity:1; visibility:visible; pointer-events:auto; }
.mobile-bottom { display:none; }

@media (max-width: 760px) {
    .container,.bar-inner { width:calc(100% - 32px); }
    .ridge-tabs { display:none; }
    .site-main { padding-top:78px; padding-bottom:62px; }
    .pod-bar-inner { gap:8px; }
    .brand-logo { max-width:116px; }
    .app-open-link { padding:0 10px; }
    .pod-menu-button { min-width:56px; }
    .section { padding:32px 0; }
    .home-intro { padding:34px 0 26px; }
    .four-square,.note-split,.home-tail-grid,.quad-grid,.journal-layout,.help-index,.product-points { grid-template-columns:1fr; }
    .square-card { grid-template-columns:112px 1fr; }
    .yakan-feature,.app-home,.product-hero,.about-manifesto { grid-template-columns:1fr; }
    .directory-board { grid-template-columns:1fr; }
    .directory-nav { position:static; display:flex; overflow-x:auto; gap:6px; padding:10px; }
    .directory-nav a { flex:0 0 auto; }
    .theme-row,.contact-row { grid-template-columns:1fr; gap:8px; }
    .footer-brand-row,.footer-links-grid { grid-template-columns:1fr 1fr; }
    .footer-brand-row { grid-template-columns:1fr; }
    .footer-bottom { flex-direction:column; }
    .site-footer { padding-bottom:86px; }
    .search-layer { top:0; bottom:0; background:var(--bean-deep); transform:none; }
    .search-card { width:100%; min-height:100%; margin:0; border:0; border-radius:0; background:var(--bean-deep); color:var(--warm); padding:22px 16px; }
    .search-card-head strong,.search-card-head span { color:var(--warm); }
    .search-card-head button { background:transparent; border-color:var(--bean-light); color:var(--warm); }
    .search-presets a { background:transparent; color:var(--warm); border-color:rgba(243,230,200,.35); }
    .mobile-bottom { position:fixed; z-index:1100; left:0; right:0; bottom:0; min-height:48px; 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; color:var(--bean-deep); font-size:13px; }
    .mobile-bottom a.is-active { background:var(--bean-deep); color:var(--warm); }
    .drawer { z-index:1300; }
    .banner-slot { height:200px; }
    .app-slot { height:300px; }
}
@media (max-width: 480px) {
    h1 { font-size:22px; }
    .square-card { grid-template-columns:1fr; }
    .tile-slot { height:132px; }
    .footer-links-grid { grid-template-columns:1fr 1fr; gap:22px 14px; }
}
