:root {
    --bg:#E8F4F0;
    --bg-deep:#C8E4DC;
    --surface:#F4FAF8;
    --surface-2:#DCEEE8;
    --title:#16382E;
    --text:#245044;
    --muted:#4A7468;
    --soft:#6A9488;
    --green:#2A8A72;
    --green-2:#3AA88A;
    --gold:#C4A050;
    --line:rgba(22,56,46,.12);
    --line-strong:rgba(42,138,114,.48);
    --shadow:0 12px 28px rgba(22,56,46,.08);
    --top-h:20px;
    --brand-h:54px;
    --dots-h:48px;
    --max:960px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto;object-fit:contain;object-position:center}
:focus-visible{outline:3px solid rgba(196,160,80,.72);outline-offset:3px}
.skip-link{position:fixed;left:16px;top:-60px;z-index:9999;background:var(--surface);color:var(--title);padding:8px 12px;border-radius:8px;box-shadow:var(--shadow)}
.skip-link:focus{top:10px}
.top-strip{position:fixed;z-index:900;top:0;left:0;right:0;height:var(--top-h);background:var(--green);color:#F4FAF8;font-size:12px}
.top-strip-inner{max-width:var(--max);height:100%;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.text-button{border:0;background:transparent;color:#F4FAF8;padding:0 6px;min-height:20px}
.brand-bar{position:fixed;z-index:890;top:var(--top-h);left:0;right:0;height:var(--brand-h);background:#F4FAF8;border-bottom:1px solid var(--line-strong)}
.brand-inner{max-width:var(--max);height:100%;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand-link{display:flex;align-items:center;gap:10px;min-height:44px;font-size:16px;font-weight:800;color:var(--title)}
.brand-logo-slot{height:24px;min-width:0;display:flex;align-items:center}.brand-logo{height:24px;width:auto}.brand-fallback{display:inline-block}
.brand-logo-slot:not(:empty)+.brand-fallback{display:none}
.brand-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
.app-link,.menu-button{height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:14px}
.app-link{padding:0 15px;background:linear-gradient(135deg,#2A8A72 0%,#3AA88A 100%);color:#F4FAF8;box-shadow:0 6px 18px rgba(42,138,114,.18)}
.menu-button{gap:6px;padding:0 12px;background:#F4FAF8;color:var(--title);border:1px solid var(--line-strong)}
.app-link:hover,.menu-button:hover,.primary-btn:hover,.secondary-btn:hover{transform:translateY(-1px)}
.dot-nav{position:fixed;z-index:880;top:calc(var(--top-h) + var(--brand-h));left:0;right:0;height:var(--dots-h);background:#F4FAF8;border-bottom:1px solid var(--line)}
.dot-nav-inner{max-width:720px;height:100%;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between}
.dot-item{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:7px;min-height:44px;padding:0 8px}
.dot-item.item-2{transform:translateY(-4px)}
.dot-mark{width:10px;height:10px;border-radius:50%;background:var(--green-2);box-shadow:0 0 0 3px rgba(58,168,138,.10)}
.dot-item.is-current{font-weight:800;color:var(--title)}.dot-item.is-current .dot-mark{width:14px;height:14px;background:var(--green);box-shadow:0 0 0 4px rgba(42,138,114,.12)}
.site-main{max-width:var(--max);margin:0 auto;padding:calc(var(--top-h) + var(--brand-h) + var(--dots-h) + 24px) 16px 60px;min-height:70vh}
.overlay{position:fixed;inset:0;z-index:950;background:rgba(13,39,32,.34);opacity:0;pointer-events:none;transition:opacity .18s ease}.overlay.is-visible{opacity:1;pointer-events:auto}.overlay[hidden]{display:block;visibility:hidden}
body.is-locked{overflow:hidden}
.nav-drawer{position:fixed;z-index:980;top:12px;left:12px;width:min(420px,36vw);min-width:300px;max-height:calc(100vh - 24px);overflow:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 18px 52px rgba(22,56,46,.18);padding:14px;transform:translateX(calc(-100% - 28px));visibility:hidden;pointer-events:none;transition:transform .22s ease,visibility .22s}
.nav-drawer.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}.drawer-head{position:sticky;top:-14px;background:var(--surface);padding:6px 0 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.drawer-brand{display:flex;align-items:center;gap:8px;color:var(--title)}.drawer-logo-slot{height:24px;display:flex;align-items:center}.drawer-logo{height:24px;width:auto}
.close-button{min-height:40px;padding:0 12px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--title)}
.drawer-group{padding:10px 0;border-bottom:1px solid var(--line)}.drawer-group:last-child{border-bottom:0}.drawer-group h2{font-size:13px;margin:0 0 7px;color:var(--green)}
.drawer-group a{display:grid;grid-template-columns:82px 1fr;gap:8px;padding:8px 6px;border-radius:9px}.drawer-group a:hover{background:var(--surface-2)}.drawer-group strong{color:var(--title);font-size:14px}.drawer-group span{font-size:12px;color:var(--muted)}
.search-panel{position:fixed;z-index:970;top:calc(var(--top-h) + var(--brand-h));left:50%;width:min(640px,calc(100vw - 32px));transform:translate(-50%,-18px);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease}.search-panel.is-open{transform:translate(-50%,10px);opacity:1;visibility:visible;pointer-events:auto}
.search-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow);padding:18px}.search-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.search-head strong{color:var(--title);font-size:18px}.search-head p{margin:2px 0 0;color:var(--muted);font-size:13px}.search-card label{display:block;margin:14px 0 5px;color:var(--title);font-weight:700}.search-card input{width:100%;height:44px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--title);padding:0 12px}.search-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.search-presets a{min-height:44px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:9px;color:var(--title);font-weight:700}.search-empty{color:var(--muted);font-size:13px}
.page-hero{margin-bottom:24px}.page-kicker{color:var(--green);font-weight:800;font-size:13px;letter-spacing:.04em}.page-hero h1,.home-intro h1{font-size:24px;line-height:1.3;color:var(--title);margin:8px 0 10px}.page-hero p,.home-intro p{margin:0;max-width:780px}.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.primary-btn,.secondary-btn{height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border-radius:10px;font-size:14px;font-weight:700;transition:.16s ease}.primary-btn{background:linear-gradient(135deg,#2A8A72 0%,#3AA88A 100%);color:#F4FAF8}.secondary-btn{background:var(--surface);border:1px solid var(--line-strong);color:var(--title)}
.media-slot{background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-slot img{width:100%;height:100%;object-fit:contain}.media-slot.is-164{height:164px}.media-slot.is-200{height:200px}.media-slot.is-260{height:260px}.media-slot.is-320{height:320px}.media-slot.is-120{height:120px}
.section-title{font-size:20px;color:var(--title);line-height:1.4;margin:0 0 12px}.sub-title{font-size:16px;color:var(--title);margin:0 0 6px}.muted{color:var(--muted)}
.home-index{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.home-index a{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);padding:7px 10px;background:var(--surface);border-radius:999px;border:1px solid var(--line)}.home-index i{width:9px;height:9px;border-radius:50%;background:var(--green-2);display:block}
.home-intro{padding:4px 0 26px}.lead-line{font-size:18px;color:var(--title);font-weight:800;margin:0 0 8px}
.split-ribbon{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:0 0 30px}.split-ribbon>div{padding:22px}.split-ribbon .media-side{padding:10px;background:var(--surface-2)}
.vertical-records{position:relative;margin:0 0 30px;padding-left:24px}.vertical-records:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--green-2)}.record{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:12px}.record:before{content:"";position:absolute;left:-23px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--green)}.record-grid{display:grid;grid-template-columns:200px 1fr;gap:16px}.record-grid .media-slot{height:150px}.insert-pages{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:30px}.insert-page{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.insert-page:first-child{transform:rotate(-.35deg)}.insert-page:last-child{transform:rotate(.35deg)}.insert-page .media-slot{height:180px;margin-bottom:14px}
.archive-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:30px}.archive-head{grid-column:1/-1;background:var(--surface-2);border-radius:14px;padding:12px}.archive-head .media-slot{height:170px}.archive-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}
.period-row{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:stretch;margin-bottom:30px}.period-row .media-slot{height:220px}.periods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.periods article{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px}.periods span{display:inline-block;font-weight:800;color:var(--green);margin-bottom:4px}
.status-panel{display:grid;grid-template-columns:220px 1fr;gap:18px;margin-bottom:30px}.status-panel .media-slot{height:220px}.status-list{display:grid;gap:9px}.status-item{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 14px}.status-badge{display:inline-flex;justify-content:center;border-radius:999px;padding:4px 8px;font-size:12px;background:var(--surface-2);color:var(--title);font-weight:800}
.app-feature{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:30px}.app-art{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:end}.app-icon-slot{width:64px;height:64px;border-radius:14px;background:var(--surface-2);display:flex;align-items:center;justify-content:center}.app-icon-slot img{width:48px;height:48px}.app-shot{height:300px}
.info-band{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:20px;margin:0 0 24px}.info-band p:last-child{margin-bottom:0}.faq-mini{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 28px}.faq-mini article{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.faq-mini h3{font-size:16px;color:var(--title);margin:0 0 6px}.faq-mini p{margin:0}
.brand-home{display:grid;grid-template-columns:1fr 220px;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}.brand-home .media-slot{height:180px}
/* internal layouts */
.index-dots{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.index-dots a{font-size:13px;padding:6px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.page-vertical{position:relative;padding-left:28px}.page-vertical:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:rgba(42,138,114,.34)}.page-vertical article{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}.page-vertical article:before{content:"";position:absolute;left:-27px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--green)}.page-vertical .media-slot{height:210px;margin:10px 0 14px}
.open-strips{display:grid;gap:14px}.open-strip{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.open-strip .text{padding:20px}.open-strip .tone{background:var(--surface-2);padding:20px}.open-strip .media-slot{height:200px;margin:8px 0}
.clipped-pages{display:grid;grid-template-columns:1fr 1fr;gap:18px}.clip-page{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);position:relative}.clip-page:nth-child(odd){transform:translateY(5px)}.clip-page .media-slot{height:210px;margin:0 0 14px}.clip-page:after{content:"";position:absolute;top:-6px;right:28px;width:38px;height:14px;border-radius:4px;background:rgba(196,160,80,.22)}
.single-flow{max-width:760px;margin:0 auto}.single-flow section{padding:22px 0;border-bottom:1px solid var(--line)}.single-flow section:last-child{border-bottom:0}.single-flow .media-slot{height:240px;margin:14px 0}
.three-periods{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.three-periods article{background:var(--surface);border-top:4px solid var(--green);border-radius:12px;padding:18px}.three-periods .media-slot{height:160px;margin:10px 0}
.timeline-status{display:grid;gap:12px}.timeline-status article{display:grid;grid-template-columns:120px 1fr;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.timeline-status .media-slot{grid-column:1/-1;height:180px}.timeline-status .state{font-weight:800;color:var(--green)}
.memo-list{counter-reset:memo;display:grid;gap:12px}.memo-list article{counter-increment:memo;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 18px 18px 62px;position:relative}.memo-list article:before{content:counter(memo,decimal-leading-zero);position:absolute;left:16px;top:16px;font-size:19px;font-weight:800;color:var(--green)}.memo-list .media-slot{height:190px;margin-top:12px}
.method-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px}.method-step{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}.method-step strong{display:block;color:var(--green);font-size:13px;margin-bottom:4px}
.topic-list{display:grid;gap:12px}.topic-item{display:grid;grid-template-columns:170px 1fr auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.topic-item .tag{color:var(--green);font-weight:800}.topic-item a{min-width:88px}
.center-cards{max-width:760px;margin:0 auto;display:grid;gap:16px}.center-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}.center-card .media-slot{height:210px;margin:0 auto 14px}.center-card p{max-width:640px;margin:0 auto}
.app-page{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start}.app-copy{display:grid;gap:12px}.app-copy section{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:17px}.app-visual{position:sticky;top:146px}.app-visual .media-slot{height:320px}.app-icon-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:10px}.app-icon-row .media-slot{width:64px;height:64px;flex:0 0 64px}.app-icon-row img{width:48px;height:48px}
.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.guide-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}.guide-card ol,.guide-card ul{padding-left:20px;margin-bottom:0}
.term-stack{display:grid;gap:14px}.term-block{background:var(--surface);border-left:4px solid var(--green);border-radius:0 12px 12px 0;padding:18px}.term-block h2{font-size:18px;color:var(--title);margin:0 0 8px}.term-block p:last-child{margin-bottom:0}
.help-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.help-path{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:17px}.help-path a{color:var(--green);font-weight:800}
.faq-list{display:grid;gap:12px}.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}.faq-item h2{font-size:16px;color:var(--title);margin:0 0 8px}.faq-item p{margin:0}
.contact-lanes{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-lane{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:19px}.contact-lane a{display:inline-flex;margin-top:8px;color:var(--green);font-weight:800}
.about-banner{height:200px;margin:0 0 22px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.about-columns section{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}.about-wide{grid-column:1/-1}.notice-box{padding:16px 18px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line-strong);margin:18px 0}
.site-footer{background:#16382E;color:#E8F4F0;border-top:1px solid rgba(244,250,248,.35);font-size:13px}.footer-inner{max-width:var(--max);margin:0 auto;padding:28px 16px 30px}.footer-brand-row{padding-bottom:14px;border-bottom:1px solid rgba(244,250,248,.18)}.footer-brand{display:flex;align-items:center;gap:9px}.footer-logo-slot{height:24px;display:flex;align-items:center}.footer-logo{height:24px;width:auto}.footer-brand strong{font-size:16px}.footer-brand span:last-child{color:#C8E4DC}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:18px 0}.footer-grid h2{font-size:13px;margin:0 0 7px;color:#F4FAF8}.footer-grid a{display:block;color:#C8E4DC;padding:3px 0}.footer-grid a:hover{color:#F4FAF8}.footer-note{padding-top:14px;border-top:1px solid rgba(244,250,248,.18);color:#C8E4DC}.copyright{margin-bottom:0;color:#E8F4F0}.mobile-bottom{display:none}
@media (max-width:760px){
    :root{--dots-h:0px}.dot-nav{display:none}.site-main{padding-top:calc(var(--top-h) + var(--brand-h) + 18px);padding-bottom:82px}.brand-inner{padding:0 10px}.brand-actions{gap:6px}.app-link{padding:0 10px}.menu-button{padding:0 9px}.brand-fallback{font-size:15px}.nav-drawer{left:8px;top:8px;min-width:0;width:min(340px,86vw);max-height:calc(100vh - 16px)}
    .search-panel{inset:0;width:auto;transform:none;background:var(--green);padding:calc(var(--top-h) + 16px) 16px 80px;overflow:auto}.search-panel.is-open{transform:none}.search-card{background:transparent;border:0;box-shadow:none;padding:0;color:#F4FAF8}.search-head strong,.search-head p,.search-card label{color:#F4FAF8}.search-card input{background:#F4FAF8}.search-presets{grid-template-columns:1fr 1fr}.search-presets a{background:#F4FAF8;color:var(--title)}.search-card .close-button{background:transparent;color:#F4FAF8;border-color:rgba(244,250,248,.6)}
    .mobile-bottom{position:fixed;z-index:920;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;min-height:48px;padding-bottom:env(safe-area-inset-bottom);background:#F4FAF8;border-top:1px solid var(--line-strong)}.mobile-bottom a{min-height:48px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--title)}.mobile-bottom a.is-current{background:var(--green);color:#F4FAF8;font-weight:800}
    .site-footer{padding-bottom:calc(48px + env(safe-area-inset-bottom))}.split-ribbon,.open-strip,.app-feature,.app-page,.brand-home{grid-template-columns:1fr}.split-ribbon .media-side{order:2}.record-grid{grid-template-columns:1fr}.insert-pages,.archive-cards,.clipped-pages,.method-steps,.guide-grid,.contact-lanes,.about-columns,.faq-mini{grid-template-columns:1fr}.archive-head,.about-wide{grid-column:auto}.period-row,.status-panel{grid-template-columns:1fr}.periods,.three-periods{grid-template-columns:1fr}.status-item{grid-template-columns:92px 1fr}.topic-item{grid-template-columns:1fr}.topic-item a{width:max-content}.help-paths{grid-template-columns:1fr}.app-visual{position:static}.footer-grid{grid-template-columns:1fr 1fr}.app-art{grid-template-columns:64px 1fr}.page-hero h1,.home-intro h1{font-size:24px}.brand-home .media-slot{height:160px}
}
@media (max-width:420px){.menu-button span:last-child{display:none}.app-link{font-size:13px}.footer-grid{grid-template-columns:1fr 1fr}.drawer-group a{grid-template-columns:70px 1fr}.status-item{grid-template-columns:1fr}.top-strip-inner{padding:0 10px}}
