:root{
  --bg:#F6F0DC;--deep:#E6DCC0;--panel:#FBF7EA;--soft:#EFE6CE;--ink:#18140A;--text:#2A2414;
  --muted:#5A4E30;--assist:#7A6E48;--gold:#6E5418;--honey:#C9A03A;--line:rgba(24,20,10,.12);
  --focus:rgba(110,84,24,.50);--shadow:0 12px 28px rgba(24,20,10,.08);--radius:18px;--max:960px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto;object-fit:contain;object-position:center}
button,input{font:inherit}
button{cursor:pointer}
.skip-link{position:fixed;left:12px;top:-60px;z-index:200;background:var(--ink);color:var(--panel);padding:8px 12px;border-radius:8px}
.skip-link:focus{top:8px}
.top-strip{position:fixed;z-index:80;top:0;left:0;right:0;height:20px;background:var(--ink);color:var(--honey);font-size:12px}
.top-strip-inner,.brand-bar-inner,.leaf-nav-inner,.site-main,.footer-inner{width:min(calc(100% - 32px),var(--max));margin:0 auto}
.top-strip-inner{height:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.text-button{border:0;background:transparent;color:var(--honey);min-height:20px;padding:0 4px}
.brand-bar{position:fixed;z-index:79;top:20px;left:0;right:0;height:54px;background:var(--panel);border-bottom:1px solid var(--line)}
.brand-bar-inner{height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand-home{display:flex;align-items:center;min-height:44px;min-width:44px}
.brand-logo,.footer-logo{height:24px;width:auto;max-width:210px;object-fit:contain}
.brand-text{font-weight:800;font-size:16px;color:var(--ink)}
.brand-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.compact-link,.menu-button{height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:12px;font-size:14px;white-space:nowrap}
.compact-link{background:linear-gradient(135deg,#18140A 0%,#C9A03A 100%);color:var(--panel)}
.menu-button{border:1px solid var(--focus);background:var(--panel);color:var(--ink)}
.leaf-nav{position:fixed;z-index:78;top:74px;left:0;right:0;height:46px;background:var(--panel);border-bottom:1px solid var(--line)}
.leaf-nav-inner{height:46px;display:flex;align-items:center;gap:28px}
.leaf-item{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--muted);font-size:13px}
.leaf-shape{display:block;width:22px;height:14px;border:1.5px solid var(--gold);border-radius:10px 8px 10px 2px;background:transparent;transform:rotate(-8deg)}
.leaf-item.active{color:var(--ink);font-weight:700}.leaf-item.active .leaf-shape{background:var(--honey);border-color:var(--honey)}
.site-main{padding-top:148px;padding-bottom:56px;min-height:70vh}
.page-head{margin:0 0 28px}.page-kicker{display:inline-block;color:var(--gold);font-size:13px;font-weight:700;margin-bottom:8px}
h1{font-size:24px;line-height:1.3;color:var(--ink);margin:0 0 12px;letter-spacing:-.02em}
h2{font-size:20px;line-height:1.45;color:var(--ink);margin:0 0 12px}
h3{font-size:16px;line-height:1.5;color:var(--ink);margin:0 0 8px}
p{margin:0 0 14px}.lead{font-size:16px;color:var(--muted);max-width:760px}.small-note{font-size:13px;color:var(--assist)}
.section{margin:30px 0}.section-tight{margin:22px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title p{margin:0;color:var(--assist);font-size:13px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
.soft-card{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.dark-card{background:var(--ink);color:var(--bg);border-radius:var(--radius);padding:22px}.dark-card h2,.dark-card h3{color:var(--honey)}.dark-card p{color:var(--bg)}
.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:12px;font-size:14px;font-weight:700;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#18140A 0%,#C9A03A 100%);color:var(--panel)}.btn-secondary{background:var(--panel);border:1px solid var(--focus);color:var(--ink)}
a:hover{opacity:.88}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(201,160,58,.45);outline-offset:3px}
.image-slot{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;overflow:hidden}.image-slot img{width:100%;height:100%;object-fit:contain;object-position:center}.slot-wide{height:220px}.slot-tall{height:300px}.slot-banner{height:200px}
.intro-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.intro-index a{min-height:44px;display:flex;align-items:center;gap:9px;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:13px}.intro-index i{width:18px;height:12px;border:1.5px solid var(--gold);border-radius:10px 8px 10px 2px;display:inline-block;flex:0 0 auto}
.home-hero{padding:24px;background:linear-gradient(145deg,var(--panel),var(--soft));border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.hero-line{font-size:18px;font-weight:800;color:var(--gold);margin-bottom:10px}
.vertical-cut{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:22px;align-items:stretch}.vertical-cut .image-slot{height:200px}.vertical-cut .copy{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.dual-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.dual-grid article{min-width:0}.dual-grid .image-slot{height:210px;margin-bottom:14px}
.return-layout{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto auto;gap:16px}.return-layout .return-main{grid-row:1 / span 2}.return-layout .image-slot{height:220px;margin-bottom:14px}.return-side{display:flex;align-items:center}
.archive-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.archive-cards .image-slot{height:190px;margin-bottom:14px}
.phase-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.phase-row article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.phase-image{height:210px;margin-bottom:14px}
.status-list{display:grid;gap:12px}.status-item{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}.status-label{display:inline-flex;justify-content:center;align-items:center;min-height:36px;border-radius:999px;background:var(--ink);color:var(--honey);font-size:13px;font-weight:700;padding:0 10px}
.app-sandwich{display:grid;gap:18px}.app-visual{display:grid;grid-template-columns:minmax(180px,1fr) 80px;gap:16px;align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.app-visual .app-shot{height:300px}.app-icon-slot{width:64px;height:64px;background:var(--panel);border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;justify-content:center}.app-icon-slot img{width:48px;height:48px}
.read-points{display:grid;grid-template-columns:1fr 1fr;gap:16px}.faq-mini{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-mini article{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}.faq-mini p{margin:0;color:var(--muted)}
.center-card{max-width:760px;margin:0 auto;text-align:center}.center-card .image-slot{height:250px;margin-bottom:18px}.center-card p{text-align:left}.center-card .button-row{justify-content:center}
.list-cards{display:grid;gap:14px}.list-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;grid-template-columns:160px 1fr;gap:18px}.list-card .tag{font-weight:800;color:var(--gold)}
.memo-list{counter-reset:memo;display:grid;gap:12px}.memo-item{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 18px 18px 66px}.memo-item:before{counter-increment:memo;content:counter(memo);position:absolute;left:18px;top:18px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--honey);font-weight:800}
.method-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.method-flow article{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}.method-flow article:nth-child(2n){background:var(--soft)}
.topic-list{display:grid;gap:14px}.topic-item{display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:center;padding:18px;border-radius:18px;background:var(--panel);border:1px solid var(--line)}.topic-item strong{color:var(--gold);font-size:16px}
.clause-list{display:grid;gap:16px}.clause{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}.clause h2{font-size:18px}.clause ul{margin:10px 0 0;padding-left:20px}.clause li{margin:6px 0}
.faq-list{display:grid;gap:14px}.faq-item{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}.faq-item h2{font-size:17px;margin-bottom:10px}.faq-item p{margin:0;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-grid article{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}
.about-banner{height:200px;margin-bottom:20px}.about-stack{display:grid;gap:16px}.about-cover{height:260px}
.site-footer{background:var(--ink);color:var(--bg);border-top:1px solid var(--honey);font-size:13px;padding:30px 0 calc(30px + env(safe-area-inset-bottom))}.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.footer-brand strong{display:block;color:var(--honey);font-size:16px}.footer-brand span{display:block;color:var(--bg);font-size:12px;letter-spacing:.12em}.footer-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.footer-groups section{display:flex;flex-direction:column;gap:6px}.footer-groups h2{color:var(--honey);font-size:14px;margin:0 0 4px}.footer-groups a{color:var(--bg)}.footer-note{margin-top:22px;color:#e9dfc5}.footer-copy{margin:8px 0 0;color:#cbbf9e}
.overlay{position:fixed;z-index:110;inset:0;background:rgba(24,20,10,.48);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.overlay.active{opacity:1;visibility:visible;pointer-events:auto}
.site-drawer{position:fixed;z-index:120;right:18px;top:84px;width:300px;max-height:350px;background:var(--panel);border:1px solid var(--focus);border-radius:18px;box-shadow:0 20px 50px rgba(24,20,10,.22);transform:translateY(-18px);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease;overflow:hidden}.site-drawer.open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.drawer-head{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line)}.drawer-brand{display:flex;align-items:center;gap:8px}.drawer-brand img{height:24px;max-width:140px}.close-button{min-height:44px;border:0;background:transparent;color:var(--gold);font-weight:700}.drawer-scroll{max-height:295px;overflow:auto;padding:12px}.drawer-scroll section{margin-bottom:14px}.drawer-scroll h2{font-size:13px;color:var(--gold);margin:0 0 6px}.drawer-scroll a{display:grid;grid-template-columns:62px 1fr;gap:8px;padding:8px;border-radius:10px}.drawer-scroll a:hover{background:var(--soft)}.drawer-scroll b{font-size:13px;color:var(--ink)}.drawer-scroll span{font-size:12px;color:var(--muted)}
.search-panel{position:fixed;z-index:121;top:84px;left:50%;width:min(calc(100% - 32px),760px);transform:translate(-50%,-14px);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease}.search-panel.open{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto}.search-card{background:var(--panel);border:1px solid var(--focus);border-radius:18px;box-shadow:0 20px 50px rgba(24,20,10,.22);padding:18px}.search-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.search-head strong{font-size:16px;color:var(--ink)}.search-card label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}.search-card input{width:100%;height:44px;border:1px solid var(--focus);border-radius:12px;background:var(--bg);padding:0 12px;color:var(--ink)}.search-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.search-presets a{min-height:40px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--soft);font-size:13px}
.mobile-bottom{display:none}
@media (max-width:720px){
  .top-strip-inner,.brand-bar-inner,.site-main,.footer-inner{width:calc(100% - 32px)}
  .leaf-nav{display:none}.site-main{padding-top:104px;padding-bottom:86px}
  .brand-bar-inner{gap:8px}.brand-logo{max-width:145px}.compact-link,.menu-button{padding:0 10px}.brand-actions{gap:4px}
  .vertical-cut,.dual-grid,.return-layout,.archive-cards,.phase-row,.read-points,.faq-mini,.contact-grid,.method-flow{grid-template-columns:1fr}.return-layout{grid-template-rows:auto}.return-layout .return-main{grid-row:auto}.vertical-cut .image-slot{height:200px}.phase-row{gap:10px}.status-item{grid-template-columns:1fr}.list-card,.topic-item{grid-template-columns:1fr}.app-visual{grid-template-columns:1fr}.app-icon-slot{margin:0 auto}.intro-index{grid-template-columns:1fr 1fr 1fr}.footer-groups{grid-template-columns:1fr 1fr}.site-drawer{right:6%;top:78px;width:88%;max-height:calc(100vh - 150px)}.drawer-scroll{max-height:calc(100vh - 210px)}
  .search-panel{top:0;left:0;width:100%;height:100%;transform:none;background:var(--ink);padding:88px 16px 70px}.search-panel.open{transform:none}.search-card{background:var(--ink);border-color:var(--honey);color:var(--bg)}.search-head strong,.search-card label{color:var(--honey)}.search-card input{background:var(--panel);color:var(--ink)}.search-presets a{background:transparent;border-color:var(--honey);color:var(--bg)}.search-card .close-button{color:var(--honey)}
  .mobile-bottom{position:fixed;z-index:90;left:0;right:0;bottom:0;height:calc(48px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.mobile-bottom a{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:13px}.mobile-bottom a.active{background:var(--honey);color:var(--ink);font-weight:800}
}
@media (max-width:420px){.intro-index{grid-template-columns:1fr}.footer-groups{grid-template-columns:1fr 1fr}.home-hero{padding:18px}.card{padding:18px}.app-visual .app-shot{height:280px}}
