:root{
    --bean-light:#F3E6C8;
    --bean-deep:#5A3C16;
    --shell:#8A5A22;
    --sprout:#6A7A38;
    --cream:#FFF8E8;
    --deep-bg:#E4D2A8;
    --soft:#F7EDD4;
    --title:#3A2A12;
    --text:#4A3418;
    --muted:#7A5A28;
    --subtle:#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;overflow-x:hidden}
body{margin:0;background:var(--bean-light);color:var(--text);font-family:"Noto Sans SC","Microsoft YaHei","PingFang SC",Arial,sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden}
body.is-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
img{display:block;max-width:100%;object-fit:contain;object-position:center}
.skip-link{position:fixed;left:12px;top:-70px;z-index:1200;background:var(--cream);color:var(--bean-deep);padding:10px 14px;border:1px solid var(--shell);border-radius:8px}
.skip-link:focus{top:8px}
.sprout-line{position:fixed;top:0;left:0;right:0;height:22px;background:var(--bean-deep);color:var(--cream);z-index:900;font-size:12px}
.bar-wrap{max-width:1080px;margin:0 auto;padding:0 20px;width:100%}
.sprout-line .bar-wrap{height:22px;display:flex;align-items:center;justify-content:space-between}
.plain-control{appearance:none;border:0;background:transparent;color:var(--cream);min-height:22px;padding:0 6px;cursor:pointer}
.pod-bar{position:fixed;top:22px;left:0;right:0;height:56px;background:var(--bean-light);border-bottom:1px solid var(--border-strong);z-index:890}
.pod-inner{height:56px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.brand-home{justify-self:start;display:flex;align-items:center;min-height:44px;max-width:220px}
.brand-logo,.footer-logo,.drawer-logo{height:26px;width:auto;max-width:180px}
.brand-text{font-size:16px;font-weight:800;color:var(--bean-deep)}
.app-shortcut{justify-self:center;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;color:var(--bean-deep);font-weight:700}
.drawer-open{justify-self:end;min-width:64px;min-height:44px;border:1px solid var(--shell);background:var(--cream);color:var(--bean-deep);border-radius:9px;cursor:pointer}
.ridge-tabs{position:fixed;top:78px;left:0;right:0;height:38px;background:var(--cream);border-bottom:1px solid var(--border);z-index:880}
.ridge-inner{height:38px;display:flex;align-items:center;justify-content:space-between}
.ridge-left,.ridge-right{display:flex;align-items:center;gap:8px}
.ridge-tabs a{font-size:13px;padding:5px 12px;border-radius:7px;color:var(--bean-deep);min-height:30px;display:flex;align-items:center}
.ridge-tabs a.is-current{background:var(--bean-deep);color:var(--cream)}
.site-main{padding-top:116px;min-height:70vh}
.section-wrap{max-width:1080px;margin:0 auto;padding:52px 20px}
.hero-intro{max-width:760px;padding-top:68px;padding-bottom:34px}
.kicker{font-size:12px;letter-spacing:.12em;color:var(--muted);font-weight:800}
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:14px}
h3{font-size:16px;line-height:1.45;margin-bottom:8px}
p{margin:0 0 14px}
.lead{font-size:17px;line-height:1.85;color:var(--bean-deep);max-width:760px}
.button-primary,.button-secondary,.text-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:9px;font-size:14px;font-weight:800}
.button-primary{background:linear-gradient(135deg,#8A5A22 0%,#5A3C16 100%);color:var(--cream);border:1px solid var(--bean-deep)}
.button-secondary{background:var(--cream);color:var(--bean-deep);border:1px solid var(--shell)}
.button-primary:hover,.button-primary:focus-visible,.button-secondary:hover,.button-secondary:focus-visible,.drawer-open:hover,.drawer-open:focus-visible,.ridge-tabs a:hover,.ridge-tabs a:focus-visible,.preset-links a:hover,.preset-links a:focus-visible,.mobile-bottom a:hover,.mobile-bottom a:focus-visible{outline:3px solid rgba(106,122,56,.25);outline-offset:2px}
.cover-slot,.image-slot{display:flex;align-items:center;justify-content:center;background:var(--soft);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.cover-slot{height:200px}
.cover-slot img{width:100%;height:100%}
.image-slot.medium{height:180px}
.image-slot.tall{height:320px}
.image-slot.squareish{height:140px}
.image-slot img{width:100%;height:100%}
.soft-section{background:var(--deep-bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cream-section{background:var(--cream)}
.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.home-grid article{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:var(--shadow)}
.home-grid article .image-slot{margin-bottom:14px}
.long-read{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.long-read .marker{display:inline-flex;background:var(--soft);border:1px solid var(--border);padding:2px 10px;border-radius:999px;color:var(--shell);font-size:12px;font-weight:800;margin-bottom:8px}
.timeline{position:relative;margin-top:20px;padding-left:28px}
.timeline::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--border-strong)}
.timeline-item{position:relative;padding:0 0 22px 18px}
.timeline-item::before{content:"";position:absolute;left:-25px;top:7px;width:11px;height:11px;background:var(--sprout);border:3px solid var(--cream);box-shadow:0 0 0 1px var(--border-strong);border-radius:50%}
.timeline-item:last-child{padding-bottom:0}
.note-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.note-card{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:20px}
.theme-bars{display:grid;gap:12px}
.theme-bar{display:grid;grid-template-columns:140px 120px 1fr;gap:16px;align-items:center;background:var(--cream);border:1px solid var(--border);border-left:6px solid var(--shell);border-radius:9px;padding:14px 16px}
.status{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;background:var(--soft);color:var(--bean-deep);font-size:12px;font-weight:800}
.app-row{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:34px;align-items:center}
.app-icon-row{display:flex;align-items:center;gap:12px;margin:16px 0}
.app-mini-icon{width:48px;height:48px}
.tip-list,.plain-list{padding-left:1.25em;margin:0}
.tip-list li,.plain-list li{margin:0 0 10px}
.faq-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.faq-mini article{background:var(--soft);border:1px solid var(--border);border-radius:10px;padding:16px}
.brand-block{background:var(--bean-deep);color:var(--cream);border-radius:12px;padding:28px}
.brand-block h2,.brand-block h3{color:var(--cream)}
.brand-block p{color:#FFF8E8}
.page-head{padding-bottom:22px}
.page-head .lead{max-width:820px}
.prose{max-width:820px}
.prose h2{margin-top:30px}
.prose h3{margin-top:22px}
.prose p{margin-bottom:16px}
.prose .callout{background:var(--cream);border:1px solid var(--border-strong);border-left:6px solid var(--sprout);padding:18px;border-radius:10px;margin:22px 0}
.observation-index{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}
.observation-nav{position:sticky;top:138px;background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:14px}
.observation-nav a{display:block;padding:10px 12px;border-radius:7px;color:var(--bean-deep)}
.observation-nav a:hover{background:var(--soft)}
.observation-body section{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid var(--border)}
.quad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.quad-card{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:20px}
.quad-card.wide{grid-column:1/-1}
.two-column-journal{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.journal-col{background:var(--cream);border-top:5px solid var(--shell);padding:22px;border-radius:8px;box-shadow:var(--shadow)}
.journal-col section+section{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}
.memo-list{display:grid;gap:14px}
.memo-item{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:18px;display:grid;grid-template-columns:110px 1fr;gap:16px}
.method-steps{counter-reset:method;display:grid;gap:18px}
.method-step{position:relative;background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:20px 20px 20px 72px}
.method-step::before{counter-increment:method;content:counter(method);position:absolute;left:20px;top:20px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--bean-deep);color:var(--cream);font-weight:800}
.topic-list{display:grid;gap:16px}
.topic-list article{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:20px}
.cabinet-bars{display:grid;gap:13px}
.cabinet-bar{background:linear-gradient(90deg,var(--cream),var(--soft));border:1px solid var(--border);border-left:8px solid var(--sprout);border-radius:9px;padding:18px}
.product-hero{display:grid;grid-template-columns:320px 1fr;gap:34px;align-items:center}
.feature-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.feature-line{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:18px}
.policy-sections{display:grid;gap:18px}
.policy-sections section{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:20px}
.help-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.help-board article{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:20px}
.faq-list{display:grid;gap:14px}
.faq-list article{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:20px}
.contact-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-paths article{background:var(--cream);border-left:6px solid var(--shell);border-radius:10px;padding:20px}
.about-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.about-sections section{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:20px}
.site-footer{background:#2E220E;color:var(--bean-light);border-top:1px solid rgba(243,230,200,.22);font-size:13px}
.footer-wrap{max-width:1080px;margin:0 auto;padding:40px 20px 82px}
.footer-brand{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;padding-bottom:24px;border-bottom:1px solid rgba(243,230,200,.18)}
.footer-brand p{grid-column:1/-1;max-width:720px;color:#E8D9B8}
.footer-logo-link{display:inline-flex;align-items:center;min-height:44px}
.footer-name{font-size:16px;font-weight:800}
.footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:24px 0}
.footer-links section{display:grid;align-content:start;gap:4px}
.footer-links h2{font-size:14px;color:var(--cream);margin-bottom:8px}
.footer-links a{color:#E8D9B8;padding:4px 0}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--cream);text-decoration:underline}
.footer-note{padding-top:18px;border-top:1px solid rgba(243,230,200,.18);color:#E8D9B8}
.site-mask{position:fixed;inset:0;background:rgba(46,34,14,.48);z-index:970;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
.site-mask.is-active{opacity:1;visibility:visible;pointer-events:auto}
.pod-drawer{position:fixed;top:0;right:0;height:100dvh;width:380px;max-width:88vw;background:var(--cream);z-index:1000;transform:translateX(104%);visibility:hidden;pointer-events:none;transition:transform .24s ease,visibility .24s ease;box-shadow:-18px 0 40px rgba(58,42,18,.16)}
.pod-drawer.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}
.drawer-head{height:74px;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}
.drawer-brand div{display:grid;line-height:1.25}
.drawer-brand span{font-size:11px;color:var(--muted)}
.drawer-close,.search-close{min-width:64px;min-height:44px;background:var(--soft);border:1px solid var(--shell);color:var(--bean-deep);border-radius:8px;cursor:pointer}
.drawer-scroll{height:calc(100dvh - 74px);overflow-y:auto;padding:18px}
.drawer-scroll section+section{margin-top:20px}
.drawer-scroll h2{font-size:13px;color:var(--muted);margin-bottom:8px}
.drawer-scroll a{display:grid;gap:2px;padding:11px 10px;border-radius:8px}
.drawer-scroll a:hover,.drawer-scroll a:focus-visible{background:var(--soft)}
.drawer-scroll a strong{font-size:14px;color:var(--title)}
.drawer-scroll a span{font-size:12px;color:var(--muted)}
.search-panel{position:fixed;top:78px;left:50%;transform:translate(-50%,-14px);width:min(760px,calc(100% - 32px));z-index:995;background:var(--cream);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
.search-panel.is-open{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto}
.search-card{padding:20px}
.search-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.search-head p{font-size:13px;color:var(--muted)}
.preset-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.preset-links a{min-height:44px;display:grid;place-items:center;background:var(--soft);border:1px solid var(--border);border-radius:8px;color:var(--bean-deep);font-weight:800}
.search-note{font-size:13px;color:var(--muted);margin:0}
.mobile-bottom{display:none}
@media (max-width:760px){
    .bar-wrap{padding:0 16px}
    .pod-inner{gap:8px;grid-template-columns:minmax(0,1fr) auto auto}
    .brand-home{max-width:140px;overflow:hidden}
    .brand-logo{max-width:132px}
    .app-shortcut{padding:0 8px;font-size:13px}
    .drawer-open{min-width:58px}
    .ridge-tabs{display:none}
    .site-main{padding-top:78px;padding-bottom:calc(48px + env(safe-area-inset-bottom))}
    .section-wrap{padding:38px 16px}
    .hero-intro{padding-top:46px}
    .home-grid,.note-columns,.quad-grid,.two-column-journal,.faq-mini,.feature-lines,.help-board,.contact-paths,.about-sections{grid-template-columns:1fr}
    .quad-card.wide{grid-column:auto}
    .theme-bar{grid-template-columns:1fr;gap:8px}
    .app-row,.product-hero{grid-template-columns:1fr}
    .app-row .image-slot,.product-hero .image-slot{max-width:360px;width:100%;margin:0 auto}
    .observation-index{grid-template-columns:1fr}
    .observation-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .memo-item{grid-template-columns:1fr}
    .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}
    .footer-wrap{padding-bottom:96px}
    .search-panel{inset:0;top:0;left:0;width:100%;height:100dvh;transform:none;background:var(--bean-deep);border:0;border-radius:0;color:var(--cream);overflow-y:auto}
    .search-panel.is-open{transform:none}
    .search-card{padding:26px 16px}
    .search-head strong,.search-head p,.search-note{color:var(--cream)}
    .search-close{background:var(--cream)}
    .preset-links{grid-template-columns:1fr 1fr}
    .preset-links a{background:#FFF8E8;color:var(--bean-deep)}
    .mobile-bottom{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:calc(48px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--cream);border-top:1px solid var(--border-strong);z-index:930}
    .mobile-bottom a{min-width:0;display:grid;place-items:center;font-size:12px;color:var(--bean-deep)}
    .mobile-bottom a.is-current{background:var(--bean-deep);color:var(--cream)}
}
@media (max-width:420px){
    .sprout-line .bar-wrap span{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .footer-links{grid-template-columns:1fr 1fr}
}
