
:root{
  --bg:#FFFCF6; --bg2:#F8F3E8; --goldbg:#F3E4BC; --gray:#F3F1EC;
  --title:#1C170D; --text:#393124; --muted:#6B604C; --soft:#8A7C61;
  --gold:#C99A27; --bright:#E1BE5B; --warm:#E7C04E; --deep:#9A6E12; --softgold:#FBF0CE;
  --brown:#211B10; --border:rgba(154,110,18,.18); --border2:rgba(201,154,39,.42);
  --shadow:0 14px 36px rgba(61,45,15,.09); --glow:0 14px 32px rgba(201,154,39,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.8;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input{font:inherit}
button,a{touch-action:manipulation}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.shell{width:min(1320px,calc(100% - 32px));margin:0 auto}
.age-line{height:26px;background:var(--brown);color:var(--softgold);font-size:12px;display:flex;align-items:center}
.age-line .shell{display:flex;justify-content:space-between;gap:20px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,252,246,.98);border-bottom:1px solid var(--border2);box-shadow:0 6px 18px rgba(61,45,15,.06)}
.header-grid{min-height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
.header-left,.header-right{display:flex;align-items:center;gap:10px}.header-right{justify-content:flex-end}
.icon-button,.header-link,.close-button,.btn{min-height:44px;border-radius:8px;border:1px solid var(--border2);background:var(--bg);color:var(--deep);padding:0 16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.primary-header-link,.btn.primary{background:var(--gold);color:var(--title);border-color:var(--gold)}
.brand{justify-self:center;display:flex;align-items:center;justify-content:center;min-width:120px}
.brand-logo{height:36px;width:auto;object-fit:contain}.brand-text{font-weight:800;font-size:22px;letter-spacing:.08em}
.stage-index{display:grid;grid-template-columns:1.2fr .9fr 1.1fr 1.2fr 1fr 1fr;gap:0;margin:26px 0 34px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stage-index.compact{grid-template-columns:repeat(4,1fr)}
.stage-index-item{padding:18px 18px 16px;border-right:1px solid var(--border);position:relative;min-width:0}.stage-index-item:last-child{border-right:0}
.stage-index-item .issue{display:block;font-size:12px;color:var(--deep);letter-spacing:.14em}.stage-index-item strong{display:block;color:var(--title);font-size:16px}.stage-index-item small{display:block;color:var(--muted);font-size:13px}
.stage-index-item.is-current:after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:3px;background:var(--deep);pointer-events:none}
main{min-height:60vh}.breadcrumb{font-size:14px;color:var(--muted);margin:8px 0 14px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.hero,.page-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:42px;align-items:center;padding:24px 0 64px}
.hero-media,.media-frame{background:var(--gray);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.hero-media img,.media-frame img{width:100%;height:auto;object-fit:contain;object-position:center}
.media-slot{min-height:260px;background:linear-gradient(135deg,var(--bg2),var(--softgold));border:1px solid var(--border);border-radius:12px}
.hero-copy .eyebrow,.eyebrow{color:var(--deep);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
h1{font-size:clamp(30px,4vw,40px);line-height:1.18;color:var(--title);margin:10px 0 18px}
h2{font-size:clamp(22px,3vw,30px);line-height:1.28;color:var(--title);margin:0 0 14px}
h3{font-size:20px;line-height:1.35;color:var(--title)}
p,li{font-size:16px}
.lead{font-size:18px;color:var(--muted);max-width:780px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn.secondary{background:var(--bg);color:#6E4F12;border-color:rgba(154,110,18,.32)}
.tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.tag{border-top:2px solid var(--gold);padding:7px 2px;color:var(--muted);font-size:14px}
.section{padding:62px 0;border-top:1px solid var(--border)}.section:first-child{border-top:0}
.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;margin-bottom:28px}.section-head p{margin:0;color:var(--muted)}
.split{display:grid;grid-template-columns:2fr 1fr;gap:34px;align-items:start}
.reverse{grid-template-columns:1fr 2fr}
.prose{max-width:900px}.prose p{margin:0 0 18px}.prose ul{padding-left:20px}
.brief-grid,.topic-grid,.link-grid,.faq-home{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.brief,.topic,.link-card{border-top:2px solid var(--gold);padding:18px;background:var(--bg2);border-radius:8px}
.brief strong,.topic strong{display:block;color:var(--title);margin-bottom:5px}
.brief p,.topic p{margin:0;color:var(--muted)}
.tracks{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:18px}.track{padding:26px;background:var(--bg2);border:1px solid var(--border);border-radius:10px}.track.wide{grid-row:span 2}.track.long{grid-column:2/4}
.catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.catalog article{padding:20px;background:var(--gray);border-left:3px solid var(--gold)}
.magazine{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.magazine article:nth-child(2){margin-top:54px}
.task-list{display:grid;gap:0;border-top:1px solid var(--border)}.task{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--border)}.task .num{font-size:30px;color:var(--gold);font-weight:800}
.route{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;position:relative}.route:before{content:"";position:absolute;left:3%;right:3%;top:31px;height:1px;background:var(--border2);pointer-events:none}.route article{position:relative;padding-top:54px}.route article:before{content:"";position:absolute;top:25px;left:0;width:13px;height:13px;border:3px solid var(--gold);border-radius:50%;background:var(--bg);pointer-events:none}
.chapter-list{counter-reset:chap}.chapter{display:grid;grid-template-columns:90px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--border)}.chapter-no{font-size:34px;font-weight:800;color:var(--gold)}
.program{border-top:1px solid var(--border)}.program article{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--border)}
.status{display:inline-block;padding:2px 8px;border:1px solid var(--border2);border-radius:5px;color:var(--deep);font-size:13px}
.callout{padding:26px;background:var(--softgold);border-left:4px solid var(--gold);border-radius:8px}
.dark-section{background:var(--brown);color:#FFFCF6}.dark-section h2,.dark-section h3{color:#FFFCF6}.dark-section p{color:#F2E7CF}
.page-actions{margin-top:42px;padding:26px;border:1px solid var(--border2);background:var(--bg2);border-radius:10px}
.related-links{display:flex;gap:12px;flex-wrap:wrap}.related-links a{border-bottom:1px solid var(--gold);color:var(--deep)}
details{border-bottom:1px solid var(--border);padding:16px 0}summary{cursor:pointer;font-weight:700;color:var(--title);font-size:17px}details p{margin:12px 0 0;color:var(--muted)}
.site-footer{margin-top:70px;background:var(--brown);color:#FFFCF6;padding:44px 0 22px;border-top:1px solid var(--gold)}
.footer-brand-row{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;align-items:start;padding-bottom:30px}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand strong{display:block;font-size:20px}.footer-brand span{color:var(--softgold);font-size:13px}.footer-logo{height:34px;width:auto}
.footer-brand-row p{margin:0;color:#E9DFC9}
.footer-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:30px 0;border-top:1px solid rgba(225,190,91,.25);border-bottom:1px solid rgba(225,190,91,.25)}
.footer-groups h2{color:var(--softgold);font-size:16px}.footer-groups ul{list-style:none;padding:0;margin:0}.footer-groups a{color:#FFFCF6}.footer-bottom{padding-top:20px;color:#CFC3AA;font-size:13px}
.overlay{position:fixed;inset:0;background:rgba(33,27,16,.46);z-index:70}.overlay[hidden]{display:none}
.channel-panel,.search-dialog{position:fixed;inset:104px 0 auto 0;z-index:80;visibility:hidden;opacity:0;pointer-events:none;transition:.18s ease}
.channel-panel.open,.search-dialog.open{visibility:visible;opacity:1;pointer-events:auto}
.channel-panel-inner{width:min(1320px,calc(100% - 32px));max-height:70vh;overflow:auto;margin:0 auto;background:var(--bg);border:1px solid var(--border2);box-shadow:var(--shadow);padding:22px;border-radius:0 0 14px 14px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.panel-brand{display:flex;align-items:center;gap:14px}.panel-logo{height:32px;width:auto}
.channel-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.channel-groups h3{font-size:16px;color:var(--deep);border-bottom:1px solid var(--border);padding-bottom:8px}.channel-groups a{display:block;padding:10px 0}.channel-groups a strong{display:block}.channel-groups a span{display:block;color:var(--muted);font-size:13px;line-height:1.5}
.search-dialog{inset:0;display:grid;place-items:center}.search-card{width:min(680px,calc(100% - 32px));background:var(--bg);border:1px solid var(--border2);box-shadow:var(--shadow);border-radius:14px;padding:24px}
.search-field span{display:block;color:var(--muted);margin-bottom:8px}.search-field input{width:100%;min-height:48px;border:1px solid var(--border2);border-radius:8px;padding:0 14px;background:white}
.search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.search-results a{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg2)}.no-result{color:var(--muted)}
.modal-open{overflow:hidden}
.mobile-nav{display:none}
@media (max-width:1000px){
  .stage-index{grid-template-columns:repeat(3,1fr)}.stage-index.compact{grid-template-columns:repeat(2,1fr)}
  .stage-index-item:nth-child(3n){border-right:0}
  .hero,.page-hero,.split,.reverse,.section-head{grid-template-columns:1fr}.magazine{grid-template-columns:1fr}.magazine article:nth-child(2){margin-top:0}
  .route{grid-template-columns:1fr}.route:before{left:6px;top:0;bottom:0;width:1px;height:auto}.route article{padding:0 0 16px 38px}.route article:before{left:0;top:8px}
  .channel-groups{grid-template-columns:repeat(2,1fr)}.tracks{grid-template-columns:1fr 1fr}.track.wide{grid-row:auto}.track.long{grid-column:1/3}
  .catalog{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  body{padding-bottom:66px}.shell{width:min(100% - 32px,1320px)}
  .age-line{height:auto;min-height:26px}.age-line .shell{font-size:11px}
  .header-grid{min-height:66px;grid-template-columns:1fr auto 1fr;gap:8px}.search-label,.handbook-link{display:none}
  .icon-button{padding:0 12px}.header-right{gap:0}.primary-header-link{min-width:48px;padding:0 10px}.brand-logo{height:30px}
  .stage-index,.stage-index.compact{grid-template-columns:repeat(2,1fr);margin:18px 0 24px}.stage-index-item{padding:14px 12px}.stage-index-item:nth-child(2n){border-right:0}
  .hero,.page-hero{padding:12px 0 38px;gap:24px}.section{padding:44px 0}.brief-grid,.topic-grid,.link-grid,.faq-home,.catalog{grid-template-columns:1fr}.tracks{grid-template-columns:1fr}.track.long{grid-column:auto}
  .task{grid-template-columns:52px 1fr}.program article,.chapter{grid-template-columns:1fr;gap:6px}.chapter-no{font-size:26px}
  .footer-brand-row,.footer-groups{grid-template-columns:1fr}.footer-groups{grid-template-columns:repeat(2,1fr)}
  .channel-panel{inset:auto 0 0 0}.channel-panel-inner{width:100%;max-height:82vh;border-radius:18px 18px 0 0;padding-bottom:80px}.channel-groups{grid-template-columns:1fr}
  .search-dialog{inset:0}.search-results{grid-template-columns:1fr}
  .mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--border2);display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -8px 20px rgba(61,45,15,.08)}
  .mobile-nav a{min-height:58px;display:flex;align-items:center;justify-content:center;position:relative;font-size:13px}.mobile-nav a.active{background:var(--softgold);color:var(--title);font-weight:700}.mobile-nav a.active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:3px;background:var(--gold);pointer-events:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
