:root{
  --xy-orange:#F5A623;
  --xy-orange-deep:#C97D0A;
  --xy-green:#1F3A2E;
  --xy-green-deep:#12251C;
  --xy-cream:#FBF7EF;
  --xy-apricot:#FFE3B0;
  --xy-warm-gray:#E8E4DA;
  --xy-moss:#5B665E;
  --xy-gold:#F7C66B;
  --xy-teal:#2F5D50;
  --xy-line:rgba(31,58,46,.14);
  --xy-line-strong:rgba(31,58,46,.22);
  --xy-shadow:0 1px 0 rgba(31,58,46,.03),0 18px 34px -28px rgba(31,58,46,.45);
  --xy-radius:14px;
  --xy-radius-sm:10px;
  --xy-gutter:24px;
  --xy-max:1240px;
  --xy-font-display:"Noto Serif SC","Source Han Serif SC","Songti SC",serif;
  --xy-font-body:"HarmonyOS Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --xy-font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--xy-cream);color:var(--xy-green);font-family:var(--xy-font-body);font-size:16px;font-weight:400;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,p,figure,blockquote,ol,ul{margin:0}
ol,ul{padding:0;list-style:none}
a{color:inherit}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0}
[hidden]{display:none !important}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--xy-orange);outline-offset:3px;border-radius:6px}

.xy-skip{position:absolute;top:-64px;left:16px;z-index:200;display:inline-block;padding:10px 16px;border-radius:8px;border:1px solid var(--xy-orange);background:var(--xy-green-deep);color:var(--xy-cream);font-size:14px;text-decoration:none;transition:top .18s ease-out}
.xy-skip:focus{top:12px}

/* ---------- 命令栏 ---------- */
.xy-header{position:sticky;top:0;z-index:90;background:linear-gradient(180deg,#244538,var(--xy-green) 64%);border-bottom:1px solid rgba(247,198,107,.2);box-shadow:0 16px 30px -28px rgba(18,37,28,.95)}
.xy-header::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--xy-orange),var(--xy-gold) 38%,rgba(247,198,107,0) 84%);opacity:.85}
.xy-header__inner{position:relative;display:flex;align-items:center;gap:16px;width:100%;max-width:var(--xy-max);margin:0 auto;padding:0 24px;min-height:72px}

.xy-brand{order:1;display:inline-flex;align-items:center;gap:11px;flex:none;color:var(--xy-cream);text-decoration:none}
.xy-brand__mark{position:relative;display:block;width:34px;height:34px;border-radius:9px;border:1px solid rgba(251,247,239,.36);background:linear-gradient(142deg,var(--xy-gold),var(--xy-orange) 54%,var(--xy-orange-deep));box-shadow:inset 0 -10px 16px -12px rgba(18,37,28,.85)}
.xy-brand__mark::before{content:"";position:absolute;inset:7px;border:1px solid rgba(18,37,28,.42);border-radius:4px}
.xy-brand__mark::after{content:"";position:absolute;top:50%;left:50%;width:1px;height:20px;background:rgba(18,37,28,.4);transform:translate(-50%,-50%) rotate(45deg)}
.xy-brand__pip{position:absolute;right:-3px;bottom:-3px;width:8px;height:8px;border-radius:50%;background:var(--xy-gold);border:2px solid var(--xy-green)}
.xy-brand__text{display:flex;flex-direction:column;gap:1px;line-height:1.15}
.xy-brand__name{font-family:var(--xy-font-display);font-size:18px;font-weight:700;letter-spacing:.05em}
.xy-brand__tag{font-family:var(--xy-font-mono);font-size:10px;letter-spacing:.06em;color:rgba(251,247,239,.58)}

.xy-navtoggle{order:4;display:none;align-items:center;gap:8px;margin-left:0;padding:8px 11px;border-radius:8px;border:1px solid rgba(247,198,107,.42);background:rgba(251,247,239,.07);color:var(--xy-cream);font-size:13px;line-height:1;cursor:pointer;transition:background-color .18s ease-out,border-color .18s ease-out}
.xy-navtoggle:hover{background:rgba(251,247,239,.14);border-color:var(--xy-orange)}
.xy-navtoggle__bars{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:16px}
.xy-navtoggle__bar{display:block;width:100%;height:1.5px;border-radius:2px;background:currentColor;transition:transform .2s ease-out,opacity .2s ease-out}
.xy-navtoggle__label{font-family:var(--xy-font-mono);font-size:11px;letter-spacing:.1em}

.xy-nav{order:2;margin-left:auto;display:flex;align-items:center}
.xy-nav__list{display:flex;align-items:center;gap:2px}
.xy-nav__item{display:flex}
.xy-nav__link{position:relative;display:inline-flex;align-items:center;gap:5px;padding:9px 10px;border-radius:8px;border:1px solid transparent;color:rgba(251,247,239,.8);font-size:15px;line-height:1.2;text-decoration:none;transition:color .18s ease-out,background-color .18s ease-out,border-color .18s ease-out}
.xy-nav__dot{flex:none;width:5px;height:5px;border-radius:50%;background:transparent;border:1px solid rgba(247,198,107,.4);transition:background-color .18s ease-out,border-color .18s ease-out}
.xy-nav__idx{font-family:var(--xy-font-mono);font-size:10px;letter-spacing:.04em;color:var(--xy-orange);opacity:.8;transition:opacity .18s ease-out,color .18s ease-out}
.xy-nav__label{letter-spacing:.01em}
.xy-nav__link:hover{color:var(--xy-cream);background:rgba(251,247,239,.08);border-color:rgba(247,198,107,.34)}
.xy-nav__link:hover .xy-nav__idx{opacity:1}
.xy-nav__link[aria-current="page"]{color:var(--xy-green-deep);background:var(--xy-apricot);border-color:var(--xy-orange);font-weight:600}
.xy-nav__link[aria-current="page"] .xy-nav__idx{color:var(--xy-orange-deep);opacity:1}
.xy-nav__link[aria-current="page"] .xy-nav__dot{background:var(--xy-orange-deep);border-color:var(--xy-orange-deep);animation:xy-pulse 2.6s ease-out infinite}
@keyframes xy-pulse{0%,100%{box-shadow:0 0 0 0 rgba(201,125,10,.55)}55%{box-shadow:0 0 0 4px rgba(201,125,10,0)}}

.xy-cta{order:3;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:9px;border:1px solid var(--xy-orange);background:var(--xy-apricot);color:var(--xy-green-deep);font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;text-decoration:none;transition:background-color .18s ease-out,transform .18s ease-out,box-shadow .18s ease-out}
.xy-cta--bar{margin-left:6px}
.xy-cta:hover{background:var(--xy-orange);transform:translateY(-1px);box-shadow:0 12px 20px -16px rgba(18,37,28,.95)}
.xy-cta__arrow{font-family:var(--xy-font-mono);font-size:12px;transition:transform .18s ease-out}
.xy-cta:hover .xy-cta__arrow{transform:translateX(3px)}

.xy-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;background:rgba(251,247,239,.12);pointer-events:none}
.xy-progress__bar{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--xy-orange-deep),var(--xy-orange) 52%,var(--xy-gold));transition:transform .12s linear}

/* ---------- 页脚 ---------- */
.xy-footer{background:var(--xy-green-deep);color:var(--xy-cream)}
.xy-footer__top{position:relative;background-color:var(--xy-green);background-image:radial-gradient(122% 128% at 88% -22%,rgba(245,166,35,.24),rgba(245,166,35,0) 62%),linear-gradient(180deg,rgba(251,247,239,.06),rgba(251,247,239,0) 46%)}
.xy-footer__top::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--xy-orange),var(--xy-gold) 42%,rgba(247,198,107,0) 86%)}
.xy-footer__inner{width:100%;max-width:var(--xy-max);margin:0 auto;padding:0 24px}
.xy-footer__top .xy-footer__inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start;padding-top:clamp(40px,5vw,62px);padding-bottom:clamp(36px,4.6vw,56px)}

.xy-footer__brand{display:inline-flex;align-items:center;gap:10px;color:var(--xy-cream);text-decoration:none}
.xy-footer__mark{position:relative;display:block;width:26px;height:26px;border-radius:7px;border:1px solid rgba(245,166,35,.6);background:rgba(245,166,35,.16)}
.xy-footer__mark::before{content:"";position:absolute;inset:6px;border:1px solid rgba(251,247,239,.6);border-radius:2px}
.xy-footer__mark::after{content:"";position:absolute;top:50%;left:50%;width:1px;height:16px;background:rgba(251,247,239,.42);transform:translate(-50%,-50%) rotate(45deg)}
.xy-footer__name{font-family:var(--xy-font-display);font-size:22px;font-weight:700;letter-spacing:.07em}
.xy-footer__summary{margin-top:16px;max-width:46ch;font-size:15px;line-height:1.85;color:rgba(251,247,239,.74)}
.xy-footer__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

.xy-footer__kicker{font-family:var(--xy-font-mono);font-size:10px;letter-spacing:.2em;color:var(--xy-gold)}
.xy-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:16px}
.xy-step{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border-radius:var(--xy-radius-sm);border:1px solid rgba(251,247,239,.16);background:rgba(18,37,28,.36)}
.xy-step__idx{font-family:var(--xy-font-mono);font-size:11px;line-height:1.6;color:var(--xy-orange)}
.xy-step__txt{font-size:14px;line-height:1.6;color:rgba(251,247,239,.84)}

.xy-footer__main{border-top:1px solid rgba(251,247,239,.1);background:var(--xy-green-deep)}
.xy-footer__inner--cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,1.1fr);gap:40px;padding-top:40px;padding-bottom:44px}
.xy-footer__col{min-width:0}
.xy-footer__title{margin-bottom:14px;font-family:var(--xy-font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;color:rgba(247,198,107,.92)}
.xy-footer__list{display:grid;gap:10px}
.xy-footer__list--links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
.xy-footer__item{display:grid;gap:2px;min-width:0}
.xy-footer__label{font-family:var(--xy-font-mono);font-size:10px;letter-spacing:.12em;color:rgba(251,247,239,.46)}
.xy-footer__value{font-size:14px;line-height:1.7;color:rgba(251,247,239,.86);overflow-wrap:anywhere}
.xy-footer__link{display:inline-block;font-size:14px;line-height:1.7;color:rgba(251,247,239,.78);text-decoration:none;border-bottom:1px solid transparent;transition:color .18s ease-out,border-color .18s ease-out}
.xy-footer__link:hover{color:var(--xy-orange);border-bottom-color:var(--xy-orange)}
.xy-footer__note{font-size:14px;line-height:1.85;color:rgba(251,247,239,.72);max-width:36ch}

.xy-footer__bottom{border-top:1px solid rgba(251,247,239,.1);background:rgba(8,19,14,.6)}
.xy-footer__inner--bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:18px;padding-bottom:18px}
.xy-footer__copy{font-family:var(--xy-font-mono);font-size:11px;letter-spacing:.06em;color:rgba(251,247,239,.52)}
.xy-footer__legal{display:flex;flex-wrap:wrap;gap:8px 20px}

/* ---------- 基础组件 ---------- */
.xy-container{width:100%;max-width:var(--xy-max);margin:0 auto;padding:0 24px}
.xy-container--narrow{max-width:900px}
.xy-section{padding:clamp(48px,7vw,88px) 0}
.xy-blueprint{background-image:linear-gradient(to right,rgba(31,58,46,.07) 1px,transparent 1px),linear-gradient(to bottom,rgba(31,58,46,.07) 1px,transparent 1px);background-size:48px 48px}
.xy-rule{height:1px;border:0;margin:0;background:var(--xy-warm-gray)}

.xy-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--xy-font-mono);font-size:11px;letter-spacing:.18em;color:var(--xy-orange-deep)}
.xy-eyebrow::before{content:"";width:22px;height:1px;background:var(--xy-orange-deep)}
.xy-display{font-family:var(--xy-font-display);font-weight:700;font-size:clamp(30px,4.6vw,54px);line-height:1.12;letter-spacing:.02em;color:var(--xy-green);text-wrap:balance}
.xy-lede{margin-top:18px;max-width:34em;font-size:clamp(16px,1.6vw,18px);line-height:1.8;color:var(--xy-moss)}

.xy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:var(--xy-radius-sm);border:1px solid transparent;font-family:var(--xy-font-body);font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out,transform .18s ease-out,box-shadow .18s ease-out}
.xy-btn:hover{transform:translateY(-1px)}
.xy-btn--primary{background:var(--xy-orange);color:var(--xy-green-deep);border-color:var(--xy-orange-deep);box-shadow:0 14px 24px -20px rgba(18,37,28,.95)}
.xy-btn--primary:hover{background:var(--xy-gold)}
.xy-btn--quiet{background:var(--xy-apricot);color:var(--xy-green);border-color:rgba(201,125,10,.38)}
.xy-btn--quiet:hover{background:var(--xy-orange);color:var(--xy-green-deep);border-color:var(--xy-orange-deep)}
.xy-btn--ghost{background:transparent;color:var(--xy-cream);border-color:rgba(251,247,239,.34)}
.xy-btn--ghost:hover{background:rgba(251,247,239,.12);border-color:rgba(247,198,107,.62)}
.xy-btn--outline{background:transparent;color:var(--xy-green);border-color:var(--xy-line-strong)}
.xy-btn--outline:hover{background:var(--xy-apricot);border-color:var(--xy-orange);color:var(--xy-green-deep)}

.xy-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;border:1px solid rgba(201,125,10,.32);background:var(--xy-apricot);color:var(--xy-green-deep);font-family:var(--xy-font-mono);font-size:11px;letter-spacing:.06em}
.xy-tag--quiet{background:transparent;border-color:var(--xy-warm-gray);color:var(--xy-moss)}

.xy-card{background:var(--xy-cream);border:1px solid var(--xy-line);border-radius:var(--xy-radius);padding:clamp(20px,3vw,28px);box-shadow:var(--xy-shadow)}
.xy-card--apricot{background:linear-gradient(158deg,var(--xy-apricot),#fffdf8 74%);border-color:rgba(201,125,10,.28)}
.xy-card--dark{background:var(--xy-green);color:var(--xy-cream);border-color:rgba(247,198,107,.26)}
.xy-card--offset{margin-top:clamp(0px,3vw,32px)}

.xy-grid{display:grid;gap:24px}
.xy-grid--12{grid-template-columns:repeat(12,minmax(0,1fr))}
.xy-grid--split{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}
.xy-col-4{grid-column:span 4}
.xy-col-6{grid-column:span 6}
.xy-col-8{grid-column:span 8}
.xy-col-10{grid-column:span 10}
.xy-col-12{grid-column:span 12}

.xy-crumbs{font-family:var(--xy-font-mono);font-size:11px;letter-spacing:.06em}
.xy-crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.xy-crumbs__item{display:inline-flex;align-items:center;gap:8px;color:var(--xy-moss)}
.xy-crumbs__item:not(:first-child)::before{content:"/";color:rgba(91,102,94,.5)}
.xy-crumbs__item[aria-current="page"]{color:var(--xy-green);font-weight:600}
.xy-crumbs__link{color:var(--xy-moss);text-decoration:none;border-bottom:1px solid transparent;transition:color .18s ease-out,border-color .18s ease-out}
.xy-crumbs__link:hover{color:var(--xy-orange-deep);border-bottom-color:var(--xy-orange-deep)}

.xy-prose{max-width:36em;font-size:16px;line-height:1.85;color:var(--xy-green)}
.xy-prose>*+*{margin-top:1.1em}
.xy-prose h2,.xy-prose h3{font-family:var(--xy-font-display);line-height:1.28;letter-spacing:.02em;margin-top:1.8em}
.xy-prose h2{font-size:clamp(22px,2.4vw,28px)}
.xy-prose h3{font-size:clamp(18px,2vw,20px)}
.xy-prose a{color:var(--xy-teal);text-decoration:underline;text-decoration-color:rgba(47,93,80,.36);text-underline-offset:3px}
.xy-prose a:hover{color:var(--xy-orange-deep)}
.xy-prose ul,.xy-prose ol{padding-left:1.3em;list-style:disc}
.xy-prose ol{list-style:decimal}
.xy-prose li+li{margin-top:.4em}
.xy-prose strong{font-weight:600;color:var(--xy-green-deep)}

.xy-media{position:relative;display:block;overflow:hidden;border-radius:var(--xy-radius);border:1px solid var(--xy-line);background:linear-gradient(155deg,var(--xy-apricot) 0%,#fffdf8 46%,var(--xy-warm-gray) 100%)}
.xy-media--wide{aspect-ratio:16/9}
.xy-media--tall{aspect-ratio:4/5}
.xy-media--square{aspect-ratio:1/1}
.xy-media__img{display:block;width:100%;height:100%;object-fit:cover}
.xy-media__caption{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;font-family:var(--xy-font-mono);font-size:11px;letter-spacing:.06em;color:var(--xy-green-deep);background:linear-gradient(0deg,rgba(251,247,239,.94),rgba(251,247,239,0))}

.xy-filter{display:flex;flex-wrap:wrap;gap:8px}
.xy-filter__btn{padding:7px 13px;border-radius:999px;border:1px solid var(--xy-warm-gray);background:var(--xy-cream);color:var(--xy-moss);font-family:var(--xy-font-mono);font-size:12px;letter-spacing:.04em;line-height:1.4;cursor:pointer;transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out}
.xy-filter__btn:hover{border-color:var(--xy-orange-deep);color:var(--xy-green)}
.xy-filter__btn[aria-pressed="true"]{background:var(--xy-apricot);border-color:var(--xy-orange);color:var(--xy-green-deep);font-weight:600}

.xy-reveal{transition:opacity .5s ease-out,transform .5s ease-out}
html.xy-js .xy-reveal{opacity:0;transform:translateY(14px)}
html.xy-js .xy-reveal.is-in{opacity:1;transform:none}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .xy-brand__tag{display:none}
}
@media (max-width:1024px){
  .xy-header__inner{min-height:64px;padding:0 16px;gap:10px}
  .xy-navtoggle{display:inline-flex}
  .xy-cta--bar{margin-left:auto;padding:8px 11px;font-size:13px}
  .xy-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;margin:0;padding:14px 16px 20px;max-height:calc(100vh - 64px);overflow-y:auto;background:var(--xy-green-deep);border-top:1px solid rgba(247,198,107,.24);border-bottom:1px solid rgba(247,198,107,.16);box-shadow:0 28px 44px -32px rgba(0,0,0,.9)}
  .xy-header[data-open="true"] .xy-nav{display:flex;animation:xy-drop .2s ease-out}
  .xy-nav__list{flex-direction:column;align-items:stretch;gap:4px}
  .xy-nav__list::before{content:"栏目索引";display:block;padding:2px 8px 8px;font-family:var(--xy-font-mono);font-size:10px;letter-spacing:.18em;color:rgba(251,247,239,.44)}
  .xy-nav__item{display:block}
  .xy-nav__link{display:flex;padding:12px 10px;font-size:16px;border-radius:6px;border-bottom:1px solid rgba(251,247,239,.08)}
  .xy-nav__link[aria-current="page"] .xy-nav__dot{animation:none}
  .xy-header[data-open="true"] .xy-navtoggle__bar:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
  .xy-header[data-open="true"] .xy-navtoggle__bar:nth-child(2){opacity:0}
  .xy-header[data-open="true"] .xy-navtoggle__bar:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
  @keyframes xy-drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  .xy-grid--12{grid-template-columns:repeat(4,minmax(0,1fr))}
  .xy-grid--split{grid-template-columns:minmax(0,1fr)}
  .xy-col-4,.xy-col-6,.xy-col-8,.xy-col-10{grid-column:span 4}
  .xy-footer__top .xy-footer__inner{grid-template-columns:minmax(0,1fr);gap:32px}
  .xy-footer__inner--cols{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:32px;padding-bottom:36px}
}
@media (max-width:900px){
  .xy-footer__list--links{grid-template-columns:minmax(0,1fr)}
  .xy-footer__note{max-width:60ch}
}
@media (max-width:600px){
  .xy-brand__name{font-size:16px}
  .xy-brand__mark{width:30px;height:30px}
  .xy-steps{grid-template-columns:minmax(0,1fr)}
  .xy-cta--bar{font-size:12px;padding:7px 9px}
  .xy-navtoggle__label{display:none}
  .xy-footer__inner--bottom{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  html.xy-js .xy-reveal{opacity:1;transform:none}
  .xy-btn:hover,.xy-cta:hover{transform:none}
}
