*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:120px}
body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,blockquote,dl,dd,fieldset{margin:0;padding:0}
ul,ol{list-style:none}
img,svg,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit;background:none;border:0}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
table{border-collapse:collapse;width:100%}

:root{
  --ink:#0A1B2A;
  --ink-2:#12293F;
  --ink-3:#08131F;
  --ink-4:#050D16;
  --silver:#DCE8F2;
  --cream:#F4EFE4;
  --spring:#C8F04B;
  --summer:#21D4FD;
  --autumn:#FF7A29;
  --winter:#DCE8F2;
  --rock:#7F8FA0;
  --moss:#7FA65C;
  --clay:#B9704E;
  --line:rgba(220,232,242,.18);
  --line-soft:rgba(220,232,242,.10);
  --shadow:6px 6px 0 rgba(4,10,18,.72);
  --shadow-sm:4px 4px 0 rgba(4,10,18,.65);
  --wrap:1240px;
  --ease:cubic-bezier(.2,.7,.3,1);
  --font-display:"Archivo Black","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --font-body:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;
}

body{
  min-height:100vh;
  background-color:var(--ink);
  background-image:
    linear-gradient(rgba(220,232,242,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(220,232,242,.045) 1px,transparent 1px);
  background-size:64px 64px;
  color:var(--silver);
  font-family:var(--font-body);
  font-size:17px;
  font-weight:400;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

:focus-visible{outline:3px solid var(--summer);outline-offset:2px}
#main-content:focus{outline:none}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ============ 通用排版 ============ */
.container{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.prose{max-width:38em}
.prose p+p{margin-top:1.1em}
.display-title{font-family:var(--font-display);font-weight:900;font-size:clamp(36px,6.2vw,72px);line-height:1.05;letter-spacing:-.02em;color:var(--cream)}
.lead{font-size:clamp(17px,1.6vw,19px);line-height:1.75;color:var(--silver);max-width:38em}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--spring)}
.eyebrow::before{content:"";width:18px;height:2px;background:currentColor;flex:0 0 auto}

/* ============ 画板 ============ */
.slab{position:relative;padding:64px 0;border-top:1px solid var(--line)}
.slab--spring{background:linear-gradient(180deg,rgba(200,240,75,.09),rgba(200,240,75,0) 72%)}
.slab--summer{background:linear-gradient(180deg,rgba(33,212,253,.09),rgba(33,212,253,0) 72%)}
.slab--autumn{background:linear-gradient(180deg,rgba(255,122,41,.09),rgba(255,122,41,0) 72%)}
.slab--winter{background:linear-gradient(180deg,rgba(220,232,242,.09),rgba(220,232,242,0) 72%)}
.slab--cut{clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),0 100%)}
.stack-mark{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--rock)}
.stack-mark__num{color:var(--silver)}
.stack-mark__dot{width:10px;height:10px;border-radius:50%;background:var(--rock);flex:0 0 auto}
.stack-mark__dot--spring{background:var(--spring)}
.stack-mark__dot--summer{background:var(--summer)}
.stack-mark__dot--autumn{background:var(--autumn)}
.stack-mark__dot--winter{background:var(--winter)}
.stack-mark__dot--moss{background:var(--moss)}
.stack-mark__dot--clay{background:var(--clay)}

/* ============ 面板 ============ */
.panel{position:relative;background:var(--ink-2);border:2px solid var(--silver);box-shadow:var(--shadow);padding:28px}
.panel--cream{background:var(--cream);color:var(--ink);border-color:var(--ink);box-shadow:6px 6px 0 var(--autumn)}
.panel--cream .panel__note{color:rgba(10,27,42,.72)}
.panel--cream .panel__head{border-bottom-color:rgba(10,27,42,.22)}
.panel__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;padding-bottom:14px;margin-bottom:20px;border-bottom:2px solid var(--line)}
.panel__index{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--spring)}
.panel__title{font-family:var(--font-display);font-weight:900;font-size:clamp(22px,3vw,32px);line-height:1.12;letter-spacing:-.02em;color:var(--cream)}
.panel--cream .panel__title{color:var(--ink)}
.panel__note{font-size:14px;line-height:1.7;color:var(--rock);max-width:34em}

/* ============ 按钮 ============ */
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border:2px solid var(--silver);background:transparent;color:var(--silver);font-family:var(--font-body);font-size:15px;font-weight:700;letter-spacing:.02em;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}
.btn:hover{border-color:var(--summer);color:var(--summer)}
.btn--primary{background:var(--spring);color:var(--ink);border-color:var(--ink);box-shadow:var(--shadow-sm)}
.btn--primary:hover{background:var(--spring);color:var(--ink);border-color:var(--ink);transform:translate(2px,2px);box-shadow:2px 2px 0 rgba(4,10,18,.65)}
.btn--ghost{background:transparent;color:var(--silver);border-color:var(--rock)}
.btn--ghost:hover{border-color:var(--autumn);color:var(--autumn)}

/* ============ 标签与色点 ============ */
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;padding:3px 9px;border:1px solid currentColor;color:var(--rock);white-space:nowrap}
.chip--spring{color:var(--spring)}
.chip--summer{color:var(--summer)}
.chip--autumn{color:var(--autumn)}
.chip--winter{color:var(--winter)}
.chip--moss{color:var(--moss)}
.chip--clay{color:var(--clay)}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--rock);flex:0 0 auto}
.dot--spring{background:var(--spring)}
.dot--summer{background:var(--summer)}
.dot--autumn{background:var(--autumn)}
.dot--winter{background:var(--winter)}
.dot--moss{background:var(--moss)}
.dot--clay{background:var(--clay)}

/* ============ 网格 ============ */
.grid{display:grid;gap:24px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--7-5{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.grid--8-4{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}

/* ============ 图片容器 ============ */
.img-frame{position:relative;overflow:hidden;background:var(--ink-2);border:2px solid var(--silver);box-shadow:var(--shadow);aspect-ratio:16/9;width:100%}
.img-frame--wide{aspect-ratio:21/9}
.img-frame--tall{aspect-ratio:4/5}
.img-frame img{width:100%;height:100%;object-fit:cover}
.img-frame__ph{position:absolute;inset:0;background-image:linear-gradient(135deg,rgba(200,240,75,.24),rgba(33,212,253,.20) 35%,rgba(255,122,41,.20) 68%,rgba(220,232,242,.18));background-size:cover}
.img-frame__tag{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--spring);border-top:2px solid var(--spring);border-right:2px solid var(--spring);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;padding:6px 10px}
.img-frame__caption{position:absolute;right:0;top:0;background:var(--ink);color:var(--silver);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;padding:5px 9px;border-left:2px solid var(--summer);border-bottom:2px solid var(--summer)}

/* ============ 面包屑 ============ */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--rock)}
.breadcrumb a{color:var(--silver);border-bottom:1px solid var(--line)}
.breadcrumb a:hover{color:var(--summer);border-bottom-color:var(--summer)}
.breadcrumb__sep{color:var(--clay);font-family:var(--font-mono)}

/* ============ 显现协议 ============ */
.is-reveal{opacity:0;transform:translateY(12px);transition:opacity .22s var(--ease),transform .22s var(--ease)}
.is-reveal.is-visible{opacity:1;transform:none}
.is-season-hidden{display:none !important}

/* ============ 跳至正文 ============ */
.skip-link{position:fixed;left:12px;top:-80px;z-index:120;background:var(--spring);color:var(--ink);font-weight:700;font-size:14px;padding:12px 18px;border:2px solid var(--ink);box-shadow:var(--shadow-sm);transition:top .18s var(--ease)}
.skip-link:focus{top:12px}

/* ============ 命令栏 ============ */
.cmd-bar{position:sticky;top:0;z-index:60;background:var(--ink-3);border-bottom:2px solid var(--silver)}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--spring),var(--summer) 34%,var(--autumn) 68%,var(--cream));transform:scaleX(0);transform-origin:0 50%;z-index:90;pointer-events:none}
.cmd-bar__inner{display:flex;align-items:center;gap:18px;max-width:var(--wrap);margin:0 auto;padding:10px 24px;min-height:64px;transition:padding .18s var(--ease),min-height .18s var(--ease)}
.cmd-bar[data-scrolled="true"] .cmd-bar__inner{min-height:54px;padding-top:5px;padding-bottom:5px}
.cmd-bar[data-scrolled="true"] .brand__sub{display:none}

.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand__mark{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;background:var(--spring);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 rgba(33,212,253,.9);font-family:var(--font-mono);font-size:15px;font-weight:700;letter-spacing:.04em}
.brand__text{display:flex;flex-direction:column;line-height:1.2}
.brand__name{font-family:var(--font-display);font-weight:900;font-size:18px;letter-spacing:-.01em;color:var(--cream)}
.brand__sub{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;color:var(--rock);text-transform:uppercase}

.status-chip{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;background:var(--summer);color:var(--ink);border:2px solid var(--ink);padding:4px 10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;white-space:nowrap}
.status-chip__dot{width:8px;height:8px;border-radius:50%;background:var(--ink);animation:chip-pulse 2.4s ease-in-out infinite}
.status-chip__num{font-weight:700}
@keyframes chip-pulse{0%,100%{opacity:1}50%{opacity:.3}}

.cmd-open{display:flex;align-items:center;gap:10px;flex:1 1 auto;max-width:320px;min-width:0;background:var(--ink-2);border:2px solid var(--line);color:var(--rock);padding:8px 12px;font-size:14px;text-align:left;transition:border-color .18s var(--ease),color .18s var(--ease)}
.cmd-open:hover{border-color:var(--summer);color:var(--silver)}
.cmd-open__key{flex:0 0 auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--spring);border:1px solid rgba(200,240,75,.45);padding:1px 5px}
.cmd-open__hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.nav{margin-left:auto}
.nav__list{display:flex;align-items:center;gap:2px}
.nav__item{display:block}
.nav__link{display:block;padding:8px 10px;font-size:13.5px;font-weight:500;letter-spacing:.02em;color:var(--silver);border-bottom:2px solid transparent;transition:color .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease)}
.nav__link:hover{color:var(--spring);border-bottom-color:var(--spring)}
.nav__link[aria-current="page"]{background:var(--spring);color:var(--ink);border-bottom-color:var(--ink)}
.nav__link[aria-current="page"]:hover{color:var(--ink)}

.nav-toggle{display:none;align-items:center;gap:10px;background:var(--ink-2);border:2px solid var(--silver);color:var(--silver);padding:8px 12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em}
.nav-toggle:hover{border-color:var(--spring);color:var(--spring)}
.nav-toggle__bars{display:flex;flex-direction:column;gap:3px;width:16px}
.nav-toggle__bars i{display:block;height:2px;background:currentColor;transition:transform .18s var(--ease),opacity .18s var(--ease)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars i:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.nav-toggle__label{white-space:nowrap}

/* ============ 索引面板 ============ */
.index-panel{display:none;background:var(--ink-2);border-top:2px solid var(--summer)}
.index-panel[data-open]{display:block}
.index-panel__inner{max-width:var(--wrap);margin:0 auto;padding:22px 24px 26px}
.index-panel__title{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--summer);margin-bottom:16px}
.index-panel__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 24px}
.index-panel__item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.index-panel__num{font-family:var(--font-mono);font-size:12px;color:var(--clay)}
.index-panel__link{font-size:15px;font-weight:600;color:var(--silver)}
.index-panel__link:hover{color:var(--spring)}
.index-panel__tag{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--rock);border:1px solid var(--line);padding:1px 6px}

/* ============ 季节筛选轨 ============ */
.season-rail{border-top:1px solid var(--line);background:linear-gradient(90deg,rgba(200,240,75,.12),rgba(33,212,253,.12) 34%,rgba(255,122,41,.12) 68%,rgba(220,232,242,.12))}
.season-rail[hidden]{display:none}
.season-rail__inner{display:flex;align-items:center;gap:16px;max-width:var(--wrap);margin:0 auto;padding:8px 24px}
.season-rail__label{flex:0 0 auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--rock)}
.season-rail__group{display:flex;flex-wrap:wrap;gap:8px}
.season-rail__note{margin-left:auto;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--rock);white-space:nowrap}

.season-btn{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;background:transparent;color:var(--rock);border:2px solid var(--line);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;white-space:nowrap;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}
.season-btn::before{content:"";width:8px;height:8px;flex:0 0 auto;background:var(--rock)}
.season-btn:hover{color:var(--silver);border-color:var(--silver)}
.season-btn--all::before{background:var(--silver)}
.season-btn--spring::before{background:var(--spring)}
.season-btn--summer::before{background:var(--summer)}
.season-btn--autumn::before{background:var(--autumn)}
.season-btn--winter::before{background:var(--winter)}
.season-btn--all[aria-pressed="true"]{background:var(--silver);color:var(--ink);border-color:var(--ink)}
.season-btn--spring[aria-pressed="true"]{background:var(--spring);color:var(--ink);border-color:var(--ink)}
.season-btn--summer[aria-pressed="true"]{background:var(--summer);color:var(--ink);border-color:var(--ink)}
.season-btn--autumn[aria-pressed="true"]{background:var(--autumn);color:var(--ink);border-color:var(--ink)}
.season-btn--winter[aria-pressed="true"]{background:var(--winter);color:var(--ink);border-color:var(--ink)}

/* ============ 页脚 ============ */
.site-foot{position:relative;background:var(--ink-3);border-top:2px solid var(--silver);color:var(--silver)}
.site-foot::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--spring) 0 25%,var(--summer) 25% 50%,var(--autumn) 50% 75%,var(--winter) 75% 100%)}
.foot__inner{max-width:var(--wrap);margin:0 auto;padding:56px 24px 32px}
.foot__brand{display:flex;align-items:center;gap:16px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.foot__mark{display:grid;place-items:center;width:52px;height:52px;flex:0 0 auto;background:var(--ink-2);border:2px solid var(--spring);color:var(--spring);font-family:var(--font-mono);font-size:16px;font-weight:700;letter-spacing:.04em}
.foot__brand-text{display:flex;flex-direction:column;gap:4px;line-height:1.25}
.foot__brand-name{font-family:var(--font-display);font-weight:900;font-size:24px;letter-spacing:-.01em;color:var(--cream)}
.foot__brand-sub{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--rock)}
.foot__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:36px 0}
.foot__col{min-width:0}
.foot__col-title{font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--spring);margin-bottom:14px}
.foot__col:nth-child(2) .foot__col-title{color:var(--summer)}
.foot__col:nth-child(3) .foot__col-title{color:var(--autumn)}
.foot__col:nth-child(4) .foot__col-title{color:var(--winter)}
.foot__list{display:grid;gap:10px}
.foot__link{display:inline-block;font-size:14.5px;color:var(--silver);border-bottom:1px solid transparent;padding-bottom:2px;transition:color .15s var(--ease),border-color .15s var(--ease)}
.foot__link:hover{color:var(--spring);border-bottom-color:var(--spring)}
.foot__contact-item{font-size:13.5px;line-height:1.65;color:var(--rock);word-break:break-word}
.foot__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--rock)}
.foot__legal{color:var(--cream)}
.foot__meta{color:var(--rock)}

.to-top{position:fixed;right:20px;bottom:20px;z-index:70;display:inline-flex;align-items:center;gap:8px;background:var(--autumn);color:var(--ink);border:2px solid var(--ink);box-shadow:var(--shadow-sm);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;padding:10px 14px;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.to-top:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 rgba(4,10,18,.65)}
.to-top[hidden]{display:none}

/* ============ 平板 ============ */
@media (max-width:1180px){
  .cmd-open{max-width:190px}
  .status-chip{font-size:11px;padding:3px 8px}
  .nav__link{padding:8px 7px;font-size:13px}
}

/* ============ 移动 / 窄屏 ============ */
@media (max-width:960px){
  html{scroll-padding-top:96px}
  .cmd-bar__inner{flex-wrap:wrap;gap:10px;padding:10px 16px}
  .brand{flex:1 1 auto}
  .brand__mark{width:36px;height:36px;font-size:13px}
  .brand__name{font-size:17px}
  .nav-toggle{display:inline-flex;order:2;flex:0 0 auto}
  .status-chip{order:3;flex:0 0 auto}
  .status-chip__more{display:none}
  .cmd-open{order:4;flex:1 1 100%;max-width:none}
  .nav{position:absolute;left:0;right:0;top:100%;margin:0;display:none;max-height:calc(100vh - 90px);overflow-y:auto;background:var(--ink-2);border-bottom:2px solid var(--spring);padding:10px 16px 18px;box-shadow:0 14px 0 rgba(4,10,18,.5)}
  .nav[data-open]{display:block}
  .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .nav__item{width:100%}
  .nav__link{padding:14px 8px;font-size:16px;border-bottom:1px solid var(--line-soft);border-left:2px solid transparent}
  .nav__link:hover{border-bottom-color:var(--line-soft);border-left-color:var(--spring)}
  .nav__link[aria-current="page"]{padding-left:14px;border-left-color:var(--ink)}
  .index-panel__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
  .season-rail__inner{padding:8px 16px;gap:10px}
  .season-rail__note{display:none}
  .season-rail__group{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}
  .grid--2,.grid--7-5,.grid--8-4{grid-template-columns:minmax(0,1fr)}
  .foot__inner{padding:40px 16px 26px}
  .foot__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding:28px 0}
  .foot__brand-name{font-size:20px}
  .panel{padding:20px}
  .slab{padding:46px 0}
  .to-top{right:14px;bottom:14px}
}

@media (max-width:560px){
  .container{padding:0 16px}
  .foot__grid{grid-template-columns:minmax(0,1fr)}
  .foot__bottom{flex-direction:column;align-items:flex-start}
  .index-panel__list{grid-template-columns:minmax(0,1fr)}
  .grid{gap:18px}
}

/* ============ 动效偏好 ============ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .is-reveal{opacity:1;transform:none}
}
