/* ============================================================
   开云下单平台 · 共享样式  /assets/site.css
   天山夜轨 × 战术板数据流 —— 侧边轨道 / 粗边框 / 硬阴影
   ============================================================ */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --ky-night:#0B1733;
  --ky-deep:#14264D;
  --ky-cyan:#21E6C1;
  --ky-gold:#E8B45A;
  --ky-signal:#FF5A3C;
  --ky-paper:#F4E9D8;
  --ky-ink:#1A1410;
  --ky-mist:#8FA3B8;
  --ky-line:rgba(143,163,184,.30);
  --ky-line-soft:rgba(143,163,184,.15);
  --ky-rail:92px;
  --ky-maxw:1200px;
  --ky-ease:cubic-bezier(.22,.78,.30,1);
  --ky-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans CJK SC","Segoe UI",system-ui,-apple-system,sans-serif;
  --ky-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono","Courier New",monospace;
}

/* ---------- 2. Reset & 基础排版 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:var(--ky-sans);
  font-size:17px;
  line-height:1.75;
  letter-spacing:.01em;
  color:var(--ky-paper);
  background-color:var(--ky-night);
  background-image:
    radial-gradient(1100px 640px at 84% -12%, rgba(33,230,193,.12), transparent 62%),
    radial-gradient(900px 520px at 6% 106%, rgba(232,180,90,.10), transparent 60%);
  background-repeat:no-repeat;
}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4,h5,h6{font-weight:800;line-height:1.14;letter-spacing:-.005em}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,svg,video{display:block;max-width:100%}
strong{font-weight:800;color:var(--ky-paper)}
::selection{background:var(--ky-cyan);color:var(--ky-ink)}
:focus-visible{outline:2px solid var(--ky-cyan);outline-offset:3px}
[hidden]{display:none !important}

/* ---------- 3. 通用排版件 ---------- */
.ky-container{
  width:100%;
  max-width:var(--ky-maxw);
  margin-inline:auto;
  padding-inline:18px;
}
@media (min-width:768px){.ky-container{padding-inline:28px}}
@media (min-width:1024px){.ky-container{padding-inline:36px}}

.ky-section{padding-block:56px;position:relative}
@media (min-width:1024px){.ky-section{padding-block:92px}}

.ky-section__head{display:grid;gap:14px;margin-bottom:30px;max-width:70ch}
.ky-section__head--split{grid-template-columns:1fr}
@media (min-width:900px){
  .ky-section__head--split{grid-template-columns:1.4fr .9fr;align-items:end;max-width:none}
}

.ky-eyebrow{
  font-family:var(--ky-mono);
  font-size:11.5px;
  letter-spacing:.30em;
  text-transform:uppercase;
  color:var(--ky-cyan);
}
.ky-title{
  font-size:clamp(2rem,5.6vw,3.55rem);
  font-weight:900;
  line-height:1.04;
  letter-spacing:-.015em;
}
.ky-title--sm{font-size:clamp(1.45rem,3.2vw,2.05rem);line-height:1.16}
.ky-lead{
  font-size:clamp(1rem,1.5vw,1.14rem);
  color:rgba(244,233,216,.80);
  max-width:64ch;
}
.ky-mono{font-family:var(--ky-mono);letter-spacing:.08em}
.ky-divider{height:2px;border:0;background:var(--ky-line-soft);margin:0}
.ky-anno{
  font-family:var(--ky-mono);
  font-size:11px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--ky-mist);
  writing-mode:vertical-rl;
  text-orientation:upright;
}

/* ---------- 4. 跳转链接 ---------- */
.ky-skip{
  position:fixed;
  top:10px;
  left:10px;
  z-index:400;
  padding:11px 18px;
  background:var(--ky-cyan);
  color:var(--ky-ink);
  font-weight:800;
  font-size:14px;
  letter-spacing:.06em;
  border:2px solid var(--ky-ink);
  box-shadow:5px 5px 0 rgba(232,180,90,.85);
  transform:translateY(-190%);
  transition:transform .2s var(--ky-ease);
}
.ky-skip:focus-visible{transform:translateY(0)}

/* ---------- 5. 按钮 ---------- */
.ky-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 20px;
  border:2px solid var(--ky-cyan);
  background:var(--ky-cyan);
  color:var(--ky-ink);
  font-size:15px;
  font-weight:800;
  letter-spacing:.05em;
  line-height:1.2;
  text-align:center;
  box-shadow:5px 5px 0 rgba(33,230,193,.22);
  transition:transform .16s var(--ky-ease),box-shadow .16s var(--ky-ease),background .16s linear,color .16s linear,border-color .16s linear;
}
.ky-btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 rgba(33,230,193,.34)}
.ky-btn:active{transform:translate(0,0);box-shadow:2px 2px 0 rgba(33,230,193,.30)}
.ky-btn--ghost{background:transparent;color:var(--ky-cyan);box-shadow:5px 5px 0 rgba(20,38,77,.95)}
.ky-btn--ghost:hover{background:rgba(33,230,193,.10);box-shadow:8px 8px 0 rgba(20,38,77,.95)}
.ky-btn--gold{background:var(--ky-gold);border-color:var(--ky-gold);box-shadow:5px 5px 0 rgba(232,180,90,.26)}
.ky-btn--gold:hover{box-shadow:8px 8px 0 rgba(232,180,90,.4)}
.ky-btn--signal{background:var(--ky-signal);border-color:var(--ky-signal);color:#fff;box-shadow:5px 5px 0 rgba(255,90,60,.26)}
.ky-btn--sm{padding:9px 14px;font-size:13px;box-shadow:3px 3px 0 rgba(33,230,193,.2)}
.ky-btn--sm:hover{box-shadow:5px 5px 0 rgba(33,230,193,.3)}

/* ---------- 6. 页头（移动端优先：顶栏 + 抽屉） ---------- */
.ky-header{
  position:sticky;
  top:0;
  z-index:220;
  background:#0D1B3A;
  border-bottom:2px solid var(--ky-deep);
  color:var(--ky-paper);
}
.ky-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  max-width:var(--ky-maxw);
  margin-inline:auto;
  padding:9px 16px;
}
.ky-brand{display:flex;align-items:center;gap:11px}
.ky-brand__mark{
  flex:none;
  font-family:var(--ky-mono);
  font-size:15px;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--ky-ink);
  background:var(--ky-cyan);
  padding:6px 9px;
  border:2px solid var(--ky-night);
  box-shadow:3px 3px 0 rgba(232,180,90,.9);
}
.ky-brand__text{display:flex;flex-direction:column;line-height:1.25;gap:1px}
.ky-brand__name{font-size:16px;font-weight:800;letter-spacing:.03em}
.ky-brand__tag{font-size:11px;color:var(--ky-mist);letter-spacing:.06em}
@media (max-width:430px){.ky-brand__tag{display:none}}

.ky-nav-toggle{
  position:relative;
  z-index:260;
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 13px;
  border:2px solid var(--ky-cyan);
  color:var(--ky-cyan);
  font-size:13px;
  font-weight:800;
  letter-spacing:.14em;
  background:#0D1B3A;
  transition:background .16s linear,color .16s linear;
}
.ky-nav-toggle:hover{background:rgba(33,230,193,.12)}
.ky-nav-toggle__bars{display:flex;flex-direction:column;gap:4px;width:18px}
.ky-nav-toggle__bars i{display:block;height:2px;background:currentColor;transition:transform .2s var(--ky-ease),opacity .2s linear}
.ky-nav-toggle[aria-expanded="true"]{background:var(--ky-cyan);color:var(--ky-ink)}
.ky-nav-toggle[aria-expanded="true"] .ky-nav-toggle__bars i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.ky-nav-toggle[aria-expanded="true"] .ky-nav-toggle__bars i:nth-child(2){opacity:0}
.ky-nav-toggle[aria-expanded="true"] .ky-nav-toggle__bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.ky-nav-toggle__text{display:none}
@media (min-width:400px){.ky-nav-toggle__text{display:inline}}

/* 移动端抽屉 */
.ky-nav{
  position:fixed;
  top:0;
  left:0;
  bottom:0;
  z-index:250;
  width:min(86vw,340px);
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:82px 20px 26px;
  overflow-y:auto;
  background:linear-gradient(180deg,#102046 0%,#0B1733 100%);
  border-right:2px solid var(--ky-cyan);
  box-shadow:14px 0 0 rgba(6,13,28,.55);
  transform:translateX(-104%);
  opacity:0;
  visibility:hidden;
  transition:transform .3s var(--ky-ease),opacity .24s linear,visibility .3s linear;
}
.ky-nav[data-open]{transform:translateX(0);opacity:1;visibility:visible}
.ky-nav__eyebrow{
  font-family:var(--ky-mono);
  font-size:11px;
  letter-spacing:.32em;
  color:var(--ky-cyan);
}
.ky-nav__list{display:flex;flex-direction:column}
.ky-nav__item{border-bottom:1px solid var(--ky-line-soft)}
.ky-nav__link{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 10px 14px 14px;
  font-size:17px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--ky-paper);
  transition:color .16s linear,background .16s linear;
}
.ky-nav__link::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:3px;
  height:0;
  background:var(--ky-cyan);
  transform:translateY(-50%);
  transition:height .22s var(--ky-ease);
}
.ky-nav__link:hover,.ky-nav__link:focus-visible{color:var(--ky-cyan);background:rgba(33,230,193,.07)}
.ky-nav__link:hover::before,.ky-nav__link:focus-visible::before{height:68%}
.ky-nav__link[aria-current="page"]{color:var(--ky-cyan);background:rgba(33,230,193,.10)}
.ky-nav__link[aria-current="page"]::before{height:68%}
.ky-nav__index{font-family:var(--ky-mono);font-size:12px;letter-spacing:.1em;color:var(--ky-mist);min-width:22px}
.ky-nav__link[aria-current="page"] .ky-nav__index{color:var(--ky-gold)}
.ky-nav__label{line-height:1.2}
.ky-nav__cue{display:none}
.ky-nav__foot{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:18px;border-top:1px dashed var(--ky-line)}

/* ---------- 7. 页头（桌面：左侧常驻轨道） ---------- */
@media (min-width:1024px){
  body{padding-left:var(--ky-rail)}
  .ky-header{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:var(--ky-rail);
    height:100vh;
    border-bottom:0;
    border-right:2px solid var(--ky-deep);
    background:linear-gradient(180deg,#0B1733 0%,#12224A 52%,#0B1733 100%);
    z-index:230;
  }
  .ky-header__inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    max-width:none;
    height:100%;
    padding:18px 8px 16px;
  }
  .ky-nav-toggle{display:none}

  .ky-brand{
    flex-direction:column;
    align-items:center;
    gap:12px;
    width:100%;
    padding-bottom:14px;
    border-bottom:1px dashed var(--ky-line);
  }
  .ky-brand__text{align-items:center}
  .ky-brand__name{
    writing-mode:vertical-rl;
    text-orientation:upright;
    font-size:14px;
    font-weight:800;
    letter-spacing:.22em;
    color:var(--ky-paper);
  }
  .ky-brand__tag{display:none}

  .ky-nav{
    position:static;
    width:100%;
    height:auto;
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
    margin-top:14px;
    padding:0;
    overflow:visible;
    background:none;
    border:0;
    box-shadow:none;
    transform:none;
    opacity:1;
    visibility:visible;
  }
  .ky-nav__eyebrow{
    writing-mode:vertical-rl;
    text-orientation:upright;
    font-size:9.5px;
    letter-spacing:.34em;
    margin-bottom:10px;
  }
  .ky-nav__list{width:100%;flex-direction:column;gap:2px}
  .ky-nav__item{border-bottom:0}
  .ky-nav__link{
    flex-direction:row;
    gap:6px;
    width:100%;
    padding:9px 8px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.02em;
    border:1px solid transparent;
  }
  .ky-nav__link::before{width:2px}
  .ky-nav__link:hover,.ky-nav__link:focus-visible{
    color:var(--ky-cyan);
    background:var(--ky-deep);
    border-color:rgba(33,230,193,.35);
  }
  .ky-nav__link[aria-current="page"]{
    color:var(--ky-ink);
    background:var(--ky-cyan);
    border-color:var(--ky-cyan);
  }
  .ky-nav__link[aria-current="page"] .ky-nav__index{color:rgba(26,20,16,.62)}
  .ky-nav__index{font-size:10px;min-width:14px}
  .ky-nav__label{writing-mode:horizontal-tb;white-space:nowrap}

  .ky-nav__cue{
    display:block;
    position:absolute;
    left:calc(100% + 8px);
    top:50%;
    z-index:6;
    padding:5px 10px;
    background:var(--ky-cyan);
    color:var(--ky-ink);
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transform:translate(-6px,-50%);
    transition:opacity .18s linear,transform .18s var(--ky-ease);
  }
  .ky-nav__link:hover .ky-nav__cue,
  .ky-nav__link:focus-visible .ky-nav__cue{opacity:1;transform:translate(0,-50%)}

  .ky-nav__foot{width:100%;margin-top:16px;padding-top:14px;gap:8px}
  .ky-nav__foot .ky-btn{width:100%;padding:9px 4px;font-size:11.5px;letter-spacing:.04em;box-shadow:none}
  .ky-nav__foot .ky-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 rgba(33,230,193,.28)}
}
@media (min-width:1024px) and (max-height:800px){
  .ky-brand__name{writing-mode:horizontal-tb;font-size:12px;letter-spacing:.08em}
  .ky-nav__eyebrow{display:none}
  .ky-nav__link{padding:7px 8px}
  .ky-nav__foot{margin-top:10px}
}

/* ---------- 8. 页脚 ---------- */
.ky-footer{
  position:relative;
  margin-top:72px;
  overflow:hidden;
  border-top:3px solid var(--ky-cyan);
  background:linear-gradient(180deg,#0B1733 0%,#101F3E 58%,#0B1733 100%);
  color:var(--ky-paper);
}
.ky-footer__sky{
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(1.6px 1.6px at 22px 32px, rgba(244,233,216,.55), transparent 62%),
    radial-gradient(1.4px 1.4px at 128px 92px, rgba(33,230,193,.50), transparent 62%),
    radial-gradient(1.3px 1.3px at 206px 44px, rgba(232,180,90,.58), transparent 62%),
    radial-gradient(1.2px 1.2px at 268px 134px, rgba(244,233,216,.34), transparent 62%);
  background-size:300px 180px;
}
.ky-footer__ridge{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:170px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(20,38,77,0) 0%,rgba(20,38,77,.92) 100%);
  clip-path:polygon(0 66%,10% 44%,21% 58%,33% 24%,45% 50%,57% 32%,69% 54%,81% 36%,100% 60%,100% 100%,0 100%);
}
.ky-footer__inner{position:relative;z-index:1}
.ky-footer__top{
  display:grid;
  gap:34px;
  padding-block:52px 30px;
}
@media (min-width:820px){
  .ky-footer__top{grid-template-columns:minmax(230px,1fr) 2fr;gap:44px}
}
.ky-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.ky-footer__name{font-size:19px;font-weight:900;letter-spacing:.05em}
.ky-footer__tag{font-family:var(--ky-mono);font-size:12px;letter-spacing:.18em;color:var(--ky-cyan)}
.ky-footer__note{
  font-size:13px;
  line-height:1.7;
  color:var(--ky-mist);
  border-left:2px solid var(--ky-gold);
  padding-left:12px;
  max-width:34ch;
}
.ky-footer__cols{display:grid;gap:26px}
@media (min-width:560px){.ky-footer__cols{grid-template-columns:repeat(3,1fr)}}
.ky-footer__title{
  font-family:var(--ky-mono);
  font-size:11px;
  letter-spacing:.28em;
  color:var(--ky-gold);
  margin-bottom:12px;
}
.ky-footer__list{display:flex;flex-direction:column;gap:9px}
.ky-footer__link{
  display:inline-block;
  font-size:14.5px;
  color:rgba(244,233,216,.82);
  transition:color .16s linear,transform .16s var(--ky-ease);
}
.ky-footer__link:hover,.ky-footer__link:focus-visible{color:var(--ky-cyan);transform:translateX(3px)}
.ky-footer__link[aria-current="page"]{color:var(--ky-cyan)}

.ky-footer__contact{
  display:grid;
  gap:12px;
  padding:24px 0 26px;
  border-top:1px dashed var(--ky-line);
}
@media (min-width:900px){
  .ky-footer__contact{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
  .ky-contact--wide,.ky-footer__hours{grid-column:1 / -1}
}
.ky-contact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14.5px}
.ky-contact__key{
  flex:none;
  font-family:var(--ky-mono);
  font-size:10.5px;
  letter-spacing:.2em;
  color:var(--ky-cyan);
  min-width:62px;
}
.ky-contact__val{color:var(--ky-paper);word-break:break-all;line-height:1.6}
.ky-copy{
  flex:none;
  padding:3px 9px;
  border:1px solid var(--ky-line);
  color:var(--ky-mist);
  font-size:11px;
  letter-spacing:.12em;
  transition:background .16s linear,color .16s linear,border-color .16s linear;
}
.ky-copy:hover,.ky-copy:focus-visible{background:var(--ky-cyan);border-color:var(--ky-cyan);color:var(--ky-ink)}
.ky-copy[data-copied="true"]{background:var(--ky-gold);border-color:var(--ky-gold);color:var(--ky-ink)}
.ky-copy__status{font-family:var(--ky-mono);font-size:11px;color:var(--ky-gold);letter-spacing:.1em}
.ky-footer__hours{font-size:13px;line-height:1.75;color:var(--ky-mist);max-width:76ch}
.ky-footer__bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-block:18px 30px;
  border-top:1px solid var(--ky-line-soft);
  font-family:var(--ky-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--ky-mist);
}
.ky-footer__icp{color:var(--ky-mist)}
.ky-footer__legal{color:rgba(244,233,216,.7)}

/* ---------- 9. 进度线与返回顶部 ---------- */
.ky-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:3px;
  z-index:300;
  pointer-events:none;
  background:linear-gradient(90deg,var(--ky-cyan),var(--ky-gold) 62%,var(--ky-signal));
  transform:scaleX(0);
  transform-origin:0 50%;
}
@media (min-width:1024px){
  .ky-progress{left:var(--ky-rail);width:calc(100% - var(--ky-rail))}
}
.ky-top{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:290;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  background:var(--ky-deep);
  border:2px solid var(--ky-cyan);
  color:var(--ky-cyan);
  font-family:var(--ky-mono);
  font-size:11px;
  letter-spacing:.08em;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .22s linear,transform .22s var(--ky-ease),visibility .22s linear,background .16s linear,color .16s linear;
}
.ky-top[data-visible="true"]{opacity:1;visibility:visible;transform:translateY(0)}
.ky-top:hover{background:var(--ky-cyan);color:var(--ky-ink)}
@media (min-width:1024px){.ky-top{right:24px;bottom:24px}}

/* ---------- 10. 面包屑 ---------- */
.ky-breadcrumbs{padding-top:16px}
.ky-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px}
.ky-breadcrumbs__item{display:inline-flex;align-items:center;gap:8px}
.ky-breadcrumbs__link{color:var(--ky-mist);transition:color .16s linear}
.ky-breadcrumbs__link:hover,.ky-breadcrumbs__link:focus-visible{color:var(--ky-cyan)}
.ky-breadcrumbs__sep{color:var(--ky-line);font-family:var(--ky-mono)}
.ky-breadcrumbs__item[aria-current="page"]{color:var(--ky-paper);font-weight:700}

/* ---------- 11. 网格 / 卡片 / 时间轴 ---------- */
.ky-grid{display:grid;gap:20px}
@media (min-width:720px){
  .ky-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ky-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1024px){
  .ky-grid{gap:26px}
  .ky-grid--split{grid-template-columns:minmax(230px,310px) minmax(0,1fr);gap:44px;align-items:start}
  .ky-grid--offset>*:nth-child(even){transform:translateY(34px)}
}

.ky-card{
  position:relative;
  padding:24px 22px;
  background:var(--ky-deep);
  border:2px solid var(--ky-line);
  box-shadow:10px 10px 0 rgba(6,13,28,.62);
}
.ky-card--cyan{border-color:var(--ky-cyan)}
.ky-card--signal{border-color:var(--ky-signal)}
.ky-card--gold{border-color:var(--ky-gold)}
.ky-card--paper{
  background:var(--ky-paper);
  color:var(--ky-ink);
  border-color:var(--ky-ink);
  box-shadow:10px 10px 0 rgba(232,180,90,.8);
}
.ky-card--paper .ky-card__meta{color:rgba(26,20,16,.66)}
.ky-card--paper .ky-card__index{color:#9a6512}
.ky-card--paper strong{color:var(--ky-ink)}
.ky-card__index{
  display:block;
  font-family:var(--ky-mono);
  font-size:11.5px;
  letter-spacing:.24em;
  color:var(--ky-gold);
  margin-bottom:10px;
}
.ky-card__title{font-size:19px;font-weight:900;line-height:1.3;margin-bottom:10px}
.ky-card__body{font-size:15px;line-height:1.8;color:rgba(244,233,216,.78)}
.ky-card--paper .ky-card__body{color:rgba(26,20,16,.82)}
.ky-card__meta{margin-top:14px;font-family:var(--ky-mono);font-size:11.5px;letter-spacing:.12em;color:var(--ky-mist)}

.ky-timeline{position:relative;padding-left:26px;border-left:2px solid var(--ky-line-soft)}
.ky-timeline__item{position:relative;padding:0 0 30px 12px}
.ky-timeline__item::before{
  content:"";
  position:absolute;
  left:-34px;
  top:7px;
  width:12px;
  height:12px;
  background:var(--ky-night);
  border:2px solid var(--ky-mist);
  transition:background .3s linear,border-color .3s linear,box-shadow .3s linear;
}
.ky-timeline__item.is-active::before{
  background:var(--ky-cyan);
  border-color:var(--ky-cyan);
  box-shadow:0 0 0 4px rgba(33,230,193,.2);
}
.ky-timeline__time{
  display:block;
  font-family:var(--ky-mono);
  font-size:11.5px;
  letter-spacing:.2em;
  color:var(--ky-gold);
  margin-bottom:6px;
}
.ky-timeline__title{font-size:16.5px;font-weight:800;line-height:1.35;margin-bottom:6px}
.ky-timeline__text{font-size:14.5px;line-height:1.8;color:rgba(244,233,216,.74)}

/* ---------- 12. 标签切换 ---------- */
.ky-tabs__list{display:flex;flex-wrap:wrap;gap:8px}
.ky-tabs__tab{
  padding:9px 16px;
  border:2px solid var(--ky-line);
  color:var(--ky-mist);
  font-size:13.5px;
  letter-spacing:.06em;
  transition:background .16s linear,color .16s linear,border-color .16s linear;
}
.ky-tabs__tab:hover{border-color:var(--ky-cyan);color:var(--ky-cyan)}
.ky-tabs__tab[aria-selected="true"]{
  background:var(--ky-cyan);
  border-color:var(--ky-cyan);
  color:var(--ky-ink);
  font-weight:800;
}
.ky-tabs__panel{padding-top:22px}

/* ---------- 13. 图片容器 ---------- */
.ky-media{
  position:relative;
  width:100%;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:linear-gradient(135deg,#14264D 0%,#0B1733 100%);
  border:2px solid var(--ky-line);
}
.ky-media__img{width:100%;height:100%;object-fit:cover}
.ky-media--tall{aspect-ratio:4 / 5}
.ky-media--wide{aspect-ratio:21 / 9}
.ky-media--square{aspect-ratio:1 / 1}
.ky-media--cut{clip-path:polygon(0 0,100% 0,100% 84%,0 100%)}
.ky-media--shear{clip-path:polygon(0 6%,100% 0,100% 100%,0 94%)}
.ky-media__cap{
  display:block;
  margin-top:10px;
  font-family:var(--ky-mono);
  font-size:11.5px;
  letter-spacing:.14em;
  color:var(--ky-mist);
}

/* ---------- 14. 滚动显现与动效 ---------- */
[data-reveal]{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .6s var(--ky-ease),transform .6s var(--ky-ease);
  will-change:opacity,transform;
}
[data-reveal].is-visible{opacity:1;transform:none}

/* ---------- 15. 减弱动效 / 无障碍 ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  [data-reveal]{opacity:1;transform:none}
  .ky-btn:hover{transform:none}
  .ky-footer__link:hover,.ky-footer__link:focus-visible{transform:none}
  .ky-grid--offset>*:nth-child(even){transform:none !important}
}
