/* roulang page: index */
:root{
  --ky-green:#14554A;
  --ky-green-dark:#0C3A33;
  --ky-ink:#0A1E1B;
  --ky-lime:#C6F24E;
  --ky-orange:#D97A3D;
  --ky-bg:#F5F2EA;
  --ky-bg2:#EDE8DC;
  --ky-card:#FFFFFF;
  --ky-line:#E1DCCE;
  --ky-text:#16201D;
  --ky-muted:#67766F;
  --ky-r-sm:6px;
  --ky-r-md:12px;
  --ky-r-lg:20px;
  --ky-r-pill:999px;
  --ky-sh-1:0 1px 0 rgba(10,30,27,.06), 0 12px 28px -18px rgba(10,30,27,.35);
  --ky-sh-2:0 2px 0 rgba(10,30,27,.08), 0 22px 44px -22px rgba(10,30,27,.45);
  --ky-ease:cubic-bezier(.22,.61,.36,1);
  --ky-font-display:"Noto Serif SC","Source Han Serif SC","Songti SC",serif;
  --ky-font-text:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --ky-font-mono:"DM Mono",ui-monospace,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ky-bg);
  color:var(--ky-text);
  font-family:var(--ky-font-text);
  font-size:16px;
  line-height:1.75;
  font-weight:400;
  overflow-x:hidden;
}
body.ky-locked{overflow:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
h1,h2,h3,h4{margin:0;font-family:var(--ky-font-display);font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--ky-text);}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}
ul,ol{margin:0;padding:0;list-style:none;}
:focus-visible{outline:2px solid var(--ky-lime);outline-offset:2px;border-radius:4px;}
.ky-mono{font-family:var(--ky-font-mono);font-variant-numeric:tabular-nums;}
.ky-container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;}

/* ---------- 通用按钮 ---------- */
.ky-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:13px 26px;border-radius:var(--ky-r-pill);
  font-size:15px;font-weight:700;letter-spacing:.02em;cursor:pointer;
  border:1px solid transparent;transition:background-color .22s var(--ky-ease),color .22s var(--ky-ease),border-color .22s var(--ky-ease),transform .18s var(--ky-ease),box-shadow .22s var(--ky-ease);
}
.ky-btn:active{transform:scale(.98);}
.ky-btn--primary{background:var(--ky-green);color:#F5F2EA;box-shadow:inset 0 0 0 0 var(--ky-lime);}
.ky-btn--primary:hover{background:var(--ky-green-dark);color:#fff;box-shadow:inset 0 0 0 1px var(--ky-lime);}
.ky-btn--ghost{background:transparent;color:var(--ky-green);border-color:var(--ky-green);}
.ky-btn--ghost:hover{background:rgba(20,85,74,.06);}
.ky-btn--accent{background:var(--ky-lime);color:var(--ky-green-dark);}
.ky-btn--accent:hover{background:#d2f96a;}
.ky-btn--sm{min-height:42px;padding:10px 20px;font-size:14px;}
.ky-btn--block{width:100%;}
.ky-link-more{
  display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--ky-green);
  border-bottom:1px solid rgba(20,85,74,.35);padding-bottom:2px;transition:border-color .2s var(--ky-ease),gap .2s var(--ky-ease);
}
.ky-link-more:hover{border-color:var(--ky-lime);gap:10px;}

/* ---------- 徽章 / 标签 ---------- */
.ky-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 12px;border-radius:var(--ky-r-pill);border:1px solid rgba(20,85,74,.28);
  background:rgba(20,85,74,.06);color:var(--ky-green);
  font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1.5;
}
.ky-badge--warm{border-color:rgba(217,122,61,.42);background:rgba(217,122,61,.1);color:#B25F28;}
.ky-badge--lime{border-color:rgba(198,242,78,.7);background:rgba(198,242,78,.22);color:#3C5A12;}
.ky-eyebrow{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;
  color:var(--ky-muted);text-transform:uppercase;
}

/* ---------- 头部导航 ---------- */
.ky-header{position:relative;z-index:60;background:var(--ky-bg);}
.ky-brandbar{border-bottom:1px solid var(--ky-line);background:var(--ky-bg);}
.ky-brandbar__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;}
.ky-logo{display:flex;align-items:center;gap:12px;max-width:220px;}
.ky-logo__mark{
  width:40px;height:40px;flex:0 0 40px;border-radius:10px;
  background:var(--ky-ink);display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(198,242,78,.4);
}
.ky-logo__mark svg{width:22px;height:22px;}
.ky-logo__text{display:flex;flex-direction:column;line-height:1.1;}
.ky-logo__latin{font-family:var(--ky-font-display);font-size:19px;font-weight:900;letter-spacing:.02em;color:var(--ky-ink);}
.ky-logo__cn{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--ky-muted);}
.ky-brandbar__right{display:flex;align-items:center;gap:14px;}
.ky-search{
  display:flex;align-items:center;gap:6px;background:var(--ky-card);
  border:1px solid var(--ky-line);border-radius:var(--ky-r-pill);
  padding:4px 4px 4px 18px;min-height:44px;transition:border-color .2s var(--ky-ease),box-shadow .2s var(--ky-ease);
}
.ky-search:focus-within{border-color:var(--ky-lime);box-shadow:0 0 0 3px rgba(198,242,78,.22);}
.ky-search__input{
  border:0;background:transparent;outline:none;font-size:14px;color:var(--ky-text);
  width:180px;min-height:34px;font-family:inherit;
}
.ky-search__input::placeholder{color:#9AA79F;}
.ky-search__btn{
  border:0;background:var(--ky-bg2);color:var(--ky-green);border-radius:var(--ky-r-pill);
  padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;min-height:34px;
  transition:background-color .2s var(--ky-ease);
}
.ky-search__btn:hover{background:rgba(20,85,74,.12);}
.ky-burger{
  display:none;width:46px;height:46px;border-radius:var(--ky-r-md);
  border:1px solid var(--ky-line);background:var(--ky-card);cursor:pointer;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
}
.ky-burger span{display:block;width:18px;height:2px;background:var(--ky-ink);border-radius:2px;}

.ky-channelbar{
  position:sticky;top:0;z-index:55;background:var(--ky-bg);
  border-bottom:1px solid var(--ky-line);
  transition:padding .25s var(--ky-ease),box-shadow .25s var(--ky-ease),background-color .25s var(--ky-ease);
}
.ky-channels{display:flex;align-items:center;gap:28px;min-height:62px;overflow-x:auto;scrollbar-width:none;}
.ky-channels::-webkit-scrollbar{display:none;}
.ky-channel{
  position:relative;padding:19px 0;font-size:15px;font-weight:500;color:var(--ky-muted);
  white-space:nowrap;transition:color .2s var(--ky-ease);
}
.ky-channel::after{
  content:"";position:absolute;left:0;right:0;bottom:12px;height:2px;background:var(--ky-lime);
  transform:scaleX(0);transform-origin:left;transition:transform .24s var(--ky-ease);
}
.ky-channel:hover{color:var(--ky-green);}
.ky-channel:hover::after{transform:scaleX(1);}
.ky-channel.is-active{color:var(--ky-text);font-weight:700;}
.ky-channel.is-active::after{transform:scaleX(1);}
.ky-channelbar.is-stuck{box-shadow:0 10px 24px -20px rgba(10,30,27,.5);background:rgba(245,242,234,.97);}
.ky-channelbar.is-stuck .ky-channels{min-height:56px;}
.ky-channelbar.is-stuck .ky-channel{padding:15px 0;}
.ky-channelbar.is-stuck .ky-channel::after{bottom:9px;}

/* ---------- 移动端抽屉 ---------- */
.ky-drawer{
  position:fixed;inset:0;z-index:120;background:var(--ky-ink);color:var(--ky-bg);
  padding:28px 26px 40px;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s var(--ky-ease);
  visibility:hidden;
}
.ky-drawer.is-open{transform:translateX(0);visibility:visible;}
.ky-drawer__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid rgba(245,242,234,.18);}
.ky-drawer__brand{font-family:var(--ky-font-display);font-size:18px;font-weight:700;letter-spacing:.02em;}
.ky-drawer__close{
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(245,242,234,.28);
  background:transparent;color:var(--ky-bg);font-size:22px;line-height:1;cursor:pointer;
}
.ky-drawer__nav{display:flex;flex-direction:column;padding-top:18px;}
.ky-drawer__nav a{
  display:flex;align-items:baseline;gap:16px;padding:20px 0;
  font-family:var(--ky-font-display);font-size:26px;font-weight:700;
  border-bottom:1px solid rgba(245,242,234,.12);
}
.ky-drawer__nav a span{font-family:var(--ky-font-mono);font-size:13px;color:var(--ky-lime);letter-spacing:.06em;}
.ky-drawer__nav a.is-active{color:var(--ky-lime);}

/* ---------- 首屏 KV ---------- */
.ky-hero{position:relative;background:var(--ky-ink);overflow:hidden;}
.ky-hero__media{position:absolute;inset:0;}
.ky-hero__media img{width:100%;height:100%;object-fit:cover;opacity:.55;}
.ky-hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,30,27,.9) 0%,rgba(10,30,27,.72) 46%,rgba(10,30,27,.92) 100%);
}
.ky-hero__grain{
  position:absolute;inset:0;opacity:.06;pointer-events:none;
  background-image:linear-gradient(rgba(245,242,234,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(245,242,234,.6) 1px,transparent 1px);
  background-size:44px 44px;
}
.ky-hero__inner{position:relative;z-index:2;padding:88px 0 76px;}
.ky-hero__eyebrow{
  display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.16em;
  color:var(--ky-lime);text-transform:uppercase;margin-bottom:20px;
}
.ky-hero__eyebrow::before{content:"";width:34px;height:2px;background:var(--ky-lime);display:block;}
.ky-hero h1{
  color:#F7F5EE;font-size:clamp(28px,4vw,46px);max-width:16em;letter-spacing:-.015em;
}
.ky-hero__sub{margin-top:20px;color:rgba(245,242,234,.8);font-size:17px;max-width:34em;}
.ky-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.ky-hero__stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:52px;
  background:rgba(245,242,234,.16);border-radius:var(--ky-r-md);overflow:hidden;max-width:660px;
}
.ky-hero__stat{background:rgba(10,30,27,.6);padding:20px 22px;}
.ky-hero__stat b{
  display:block;font-family:var(--ky-font-mono);font-size:26px;font-weight:500;color:var(--ky-lime);
  letter-spacing:.02em;line-height:1.3;
}
.ky-hero__stat span{display:block;margin-top:6px;font-size:13px;color:rgba(245,242,234,.72);letter-spacing:.04em;}

.ky-progressband{
  position:relative;z-index:3;background:rgba(12,58,51,.92);border-top:1px solid rgba(198,242,78,.24);
  border-bottom:1px solid rgba(198,242,78,.14);
}
.ky-progressband__inner{display:flex;align-items:center;gap:22px;padding:16px 0;flex-wrap:wrap;}
.ky-progressband__label{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--ky-lime);}
.ky-progressband__track{flex:1 1 220px;height:6px;border-radius:var(--ky-r-pill);background:rgba(245,242,234,.18);overflow:hidden;min-width:140px;}
.ky-progressband__fill{display:block;height:100%;width:0;background:var(--ky-lime);border-radius:var(--ky-r-pill);transition:width .9s var(--ky-ease);}
.ky-progressband.is-in .ky-progressband__fill{width:68%;}
.ky-progressband__note{font-size:13px;color:rgba(245,242,234,.78);font-family:var(--ky-font-mono);}

/* ---------- 板块骨架 ---------- */
.ky-section{padding:100px 0;}
.ky-section--tint{background:var(--ky-bg2);}
.ky-section--tight{padding-top:0;}
.ky-section__head{max-width:660px;margin-bottom:52px;}
.ky-section__head h2{font-size:clamp(24px,3vw,32px);margin-top:14px;}
.ky-section__desc{margin-top:16px;color:var(--ky-muted);font-size:16px;}
.ky-section__head--split{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;}

/* ---------- 玩法长条 ---------- */
.ky-flow{display:flex;flex-direction:column;}
.ky-flow__row{
  display:grid;grid-template-columns:112px minmax(0,1fr) 340px;gap:36px;align-items:center;
  padding:40px 0;border-top:1px solid var(--ky-line);
}
.ky-flow__row:last-child{border-bottom:1px solid var(--ky-line);}
.ky-flow__row--flip{grid-template-columns:112px 340px minmax(0,1fr);}
.ky-flow__row--flip .ky-flow__media{order:2;}
.ky-flow__row--flip .ky-flow__text{order:3;}
.ky-flow__num{
  font-family:var(--ky-font-display);font-size:96px;font-weight:900;line-height:.85;
  color:var(--ky-green);opacity:.1;letter-spacing:-.03em;
}
.ky-flow__text h3{font-size:20px;margin-bottom:12px;}
.ky-flow__text p{color:var(--ky-muted);}
.ky-flow__media{position:relative;border-radius:var(--ky-r-md);overflow:hidden;border:1px solid var(--ky-line);background:linear-gradient(160deg,var(--ky-bg2),var(--ky-green));}
.ky-flow__media::before{content:"";display:block;padding-top:75%;}
.ky-flow__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ky-ticks{margin-top:16px;display:flex;flex-direction:column;gap:8px;}
.ky-ticks li{position:relative;padding-left:22px;font-size:14px;color:var(--ky-text);}
.ky-ticks li::before{
  content:"";position:absolute;left:0;top:9px;width:10px;height:2px;background:var(--ky-lime);
}

/* ---------- 奖励卡带 ---------- */
.ky-rail-wrap{position:relative;}
.ky-rail{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:4px 4px 22px;scrollbar-width:thin;
}
.ky-rail::-webkit-scrollbar{height:6px;}
.ky-rail::-webkit-scrollbar-thumb{background:rgba(20,85,74,.25);border-radius:var(--ky-r-pill);}
.ky-reward{
  flex:0 0 300px;scroll-snap-align:start;background:var(--ky-card);
  border:1px solid var(--ky-line);border-radius:var(--ky-r-md);overflow:hidden;
  box-shadow:var(--ky-sh-1);display:flex;flex-direction:column;
  transition:transform .24s var(--ky-ease),border-color .24s var(--ky-ease),box-shadow .24s var(--ky-ease);
}
.ky-reward:hover{transform:translateY(-4px);border-color:var(--ky-lime);box-shadow:var(--ky-sh-2);}
.ky-reward--lead{flex:0 0 400px;}
.ky-reward__media{position:relative;background:linear-gradient(160deg,var(--ky-bg2),var(--ky-green));}
.ky-reward__media::before{content:"";display:block;padding-top:62%;}
.ky-reward__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ky-reward__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1;}
.ky-reward__body h3{font-size:18px;}
.ky-reward__cond{font-size:14px;color:var(--ky-muted);}
.ky-reward__value{
  margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;
  padding-top:16px;border-top:1px solid var(--ky-line);
}
.ky-reward__value b{font-family:var(--ky-font-mono);font-size:24px;font-weight:500;color:var(--ky-green);}
.ky-reward__value span{font-size:13px;color:var(--ky-muted);}

/* ---------- 进度时间轴 ---------- */
.ky-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative;}
.ky-node{position:relative;padding-top:44px;}
.ky-node::before{
  content:"";position:absolute;top:11px;left:0;right:0;height:2px;background:var(--ky-line);
}
.ky-node:last-child::before{right:50%;}
.ky-node__dot{
  position:absolute;top:2px;left:0;width:22px;height:22px;border-radius:50%;
  border:2px solid var(--ky-line);background:var(--ky-bg);
}
.ky-node.is-done .ky-node__dot{background:var(--ky-lime);border-color:var(--ky-lime);}
.ky-node.is-done::before{background:var(--ky-lime);}
.ky-node.is-active .ky-node__dot{border-color:var(--ky-green);background:var(--ky-bg);}
.ky-node.is-active .ky-node__dot::after{
  content:"";position:absolute;inset:-8px;border-radius:50%;
  border:2px solid rgba(20,85,74,.5);animation:ky-pulse 1.6s var(--ky-ease) infinite;
}
@keyframes ky-pulse{
  0%{transform:scale(.7);opacity:.9;}
  100%{transform:scale(1.25);opacity:0;}
}
.ky-node h3{font-size:16px;margin-bottom:6px;}
.ky-node p{font-size:13.5px;color:var(--ky-muted);}
.ky-node__tag{display:inline-block;margin-top:10px;font-family:var(--ky-font-mono);font-size:12px;color:var(--ky-muted);letter-spacing:.04em;}

.ky-meter{
  background:var(--ky-card);border:1px solid var(--ky-line);border-radius:var(--ky-r-md);
  padding:26px;box-shadow:var(--ky-sh-1);
}
.ky-meter__label{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--ky-muted);}
.ky-meter__value{
  display:block;margin:10px 0 14px;font-family:var(--ky-font-mono);
  font-size:44px;font-weight:500;color:var(--ky-green);line-height:1;
}
.ky-meter__bar{height:8px;border-radius:var(--ky-r-pill);background:var(--ky-bg2);overflow:hidden;}
.ky-meter__bar i{display:block;height:100%;width:0;background:var(--ky-green);border-radius:var(--ky-r-pill);transition:width .9s var(--ky-ease);}
.ky-meter.is-in .ky-meter__bar i{width:68%;}
.ky-meter p{margin-top:16px;font-size:14px;color:var(--ky-muted);}

/* ---------- 深色参与区 ---------- */
.ky-cta{
  background:var(--ky-ink);color:var(--ky-bg);position:relative;overflow:hidden;
}
.ky-cta__grain{
  position:absolute;inset:0;opacity:.05;pointer-events:none;
  background-image:linear-gradient(rgba(245,242,234,.7) 1px,transparent 1px);
  background-size:100% 40px;
}
.ky-cta__inner{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;
  gap:34px;padding:64px 0;flex-wrap:wrap;
}
.ky-cta h2{font-size:clamp(22px,2.6vw,30px);color:#F7F5EE;max-width:20em;}
.ky-cta p{margin-top:12px;color:rgba(245,242,234,.72);font-size:15px;max-width:34em;}

/* ---------- 资讯列表 ---------- */
.ky-news-grid{margin-top:0;}
.ky-news-cell{margin-bottom:24px;}
.ky-card{
  display:flex;flex-direction:column;height:100%;background:var(--ky-card);
  border:1px solid var(--ky-line);border-radius:var(--ky-r-md);overflow:hidden;
  box-shadow:var(--ky-sh-1);
  transition:transform .24s var(--ky-ease),border-color .24s var(--ky-ease),box-shadow .24s var(--ky-ease);
}
.ky-card:hover{transform:translateY(-4px);border-color:var(--ky-lime);box-shadow:var(--ky-sh-2);}
.ky-card__media{position:relative;background:linear-gradient(160deg,var(--ky-bg2),var(--ky-green));}
.ky-card__media::before{content:"";display:block;padding-top:62%;}
.ky-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ky-card__body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1;}
.ky-card__body h3{
  font-size:18px;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.ky-card__body p{
  font-size:14px;color:var(--ky-muted);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.ky-card__meta{
  margin-top:auto;padding-top:16px;border-top:1px solid var(--ky-line);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:13px;color:var(--ky-muted);font-family:var(--ky-font-mono);
}
.ky-card__arrow{transition:transform .24s var(--ky-ease);color:var(--ky-green);font-size:14px;}
.ky-card:hover .ky-card__arrow{transform:translateX(4px);}
.ky-news-lead .ky-card__media::before{padding-top:48%;}
.ky-news-lead .ky-card__body h3{font-size:22px;-webkit-line-clamp:3;}

.ky-empty{
  text-align:center;padding:64px 24px;border:1px dashed var(--ky-line);
  border-radius:var(--ky-r-md);background:var(--ky-card);
}
.ky-empty i{font-size:44px;color:var(--ky-line);display:block;margin-bottom:16px;}
.ky-empty p{font-size:14px;color:var(--ky-muted);margin-bottom:18px;}

/* ---------- FAQ ---------- */
.ky-faq{max-width:860px;}
.ky-accordion{border:0;background:transparent;margin:0;}
.ky-accordion .accordion-item{border:0;border-top:1px solid var(--ky-line);}
.ky-accordion .accordion-item:last-child{border-bottom:1px solid var(--ky-line);}
.ky-accordion .accordion-title{
  position:relative;background:transparent;border:0;
  padding:22px 52px 22px 18px;font-family:var(--ky-font-display);
  font-size:17px;font-weight:700;color:var(--ky-text);line-height:1.5;
  transition:color .2s var(--ky-ease);
}
.ky-accordion .accordion-title::before{
  content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  font-size:13px;color:var(--ky-muted);margin:0;width:auto;height:auto;
  transition:transform .3s var(--ky-ease),color .3s var(--ky-ease);
}
.ky-accordion .accordion-title::after{
  content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;
  background:var(--ky-lime);transform:scaleY(0);transform-origin:top;
  transition:transform .3s var(--ky-ease);
}
.ky-accordion .accordion-title:hover{color:var(--ky-green);}
.ky-accordion .is-active > .accordion-title{color:var(--ky-green);}
.ky-accordion .is-active > .accordion-title::before{transform:translateY(-50%) rotate(180deg);color:var(--ky-green);}
.ky-accordion .is-active > .accordion-title::after{transform:scaleY(1);}
.ky-accordion .accordion-content{
  background:transparent;border:0;padding:0 52px 24px 18px;
  font-size:15px;color:var(--ky-muted);line-height:1.85;
}
.ky-accordion .accordion-content p{margin:0;}

/* ---------- 页脚 ---------- */
.ky-footer{background:var(--ky-ink);color:rgba(245,242,234,.78);padding:76px 0 0;}
.ky-footer__grid{gap:0;}
.ky-footer__col{padding:0 24px 40px;border-right:1px solid rgba(245,242,234,.1);}
.ky-footer__col:last-child{border-right:0;}
.ky-footer__brand{display:flex;align-items:center;gap:12px;margin-bottom:18px;max-width:220px;}
.ky-footer__brand .ky-logo__mark{background:rgba(245,242,234,.08);}
.ky-footer__brand .ky-logo__latin{color:#F7F5EE;}
.ky-footer__brand .ky-logo__cn{color:rgba(245,242,234,.6);}
.ky-footer h3{
  font-size:14px;color:#F7F5EE;letter-spacing:.1em;margin-bottom:18px;font-weight:700;
  font-family:var(--ky-font-text);
}
.ky-footer__list{display:flex;flex-direction:column;gap:12px;}
.ky-footer__list a{font-size:14px;color:rgba(245,242,234,.74);transition:color .2s var(--ky-ease);}
.ky-footer__list a:hover{color:var(--ky-lime);}
.ky-footer__desc{font-size:14px;line-height:1.85;color:rgba(245,242,234,.66);}
.ky-footer__bottom{
  border-top:1px solid rgba(245,242,234,.12);
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:22px 0 30px;font-size:13px;color:rgba(245,242,234,.56);
}

/* ---------- 进入视口动效 ---------- */
.ky-js .ky-reveal{opacity:0;transform:translateY(12px);transition:opacity .55s var(--ky-ease),transform .55s var(--ky-ease);}
.ky-js .ky-reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .ky-js .ky-reveal{opacity:1;transform:none;transition:none;}
  .ky-node.is-active .ky-node__dot::after{animation:none;}
  .ky-progressband__fill,.ky-meter__bar i{transition:none;}
}

/* ---------- 响应式 ---------- */
@media screen and (max-width:1279px){
  .ky-flow__row{grid-template-columns:96px minmax(0,1fr) 300px;gap:28px;}
  .ky-flow__row--flip{grid-template-columns:96px 300px minmax(0,1fr);}
}
@media screen and (max-width:1023px){
  .ky-search{display:none;}
  .ky-section{padding:72px 0;}
  .ky-hero__inner{padding:66px 0 56px;}
  .ky-flow__row,
  .ky-flow__row--flip{grid-template-columns:80px minmax(0,1fr);gap:24px;}
  .ky-flow__row .ky-flow__media,
  .ky-flow__row--flip .ky-flow__media{order:3;grid-column:2;}
  .ky-flow__row--flip .ky-flow__text{order:2;}
  .ky-flow__num{font-size:72px;}
  .ky-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
  .ky-node:nth-child(2)::before{right:0;}
  .ky-node:nth-child(3)::before{right:50%;}
  .ky-footer__col{border-right:0;border-bottom:1px solid rgba(245,242,234,.1);}
}
@media screen and (max-width:767px){
  .ky-brandbar__inner{min-height:66px;gap:12px;}
  .ky-brandbar__right .ky-btn{display:none;}
  .ky-burger{display:flex;}
  .ky-channels{gap:20px;}
  .ky-section{padding:56px 0;}
  .ky-hero__sub{font-size:15px;}
  .ky-hero__stats{grid-template-columns:1fr;max-width:none;}
  .ky-reward{flex:0 0 78vw;}
  .ky-reward--lead{flex:0 0 84vw;}
  .ky-timeline{grid-template-columns:1fr;gap:20px;}
  .ky-node::before{display:none;}
  .ky-node{padding-top:34px;}
  .ky-cta__inner{padding:48px 0;}
  .ky-cta__inner .ky-btn{width:100%;}
  .ky-container{padding:0 16px;}
  .ky-footer__col{padding:0 0 32px;}
  .ky-footer{padding-top:56px;}
  .ky-logo__cn{display:none;}
}
@media screen and (max-width:519px){
  .ky-hero h1{font-size:26px;}
  .ky-flow__num{font-size:56px;}
  .ky-accordion .accordion-title{font-size:16px;padding-right:44px;}
  .ky-section__head--split{align-items:flex-start;}
}

/* roulang page: article */
:root{
  --ky-green:#14554A;
  --ky-green-d:#0C3A33;
  --ky-ink:#0A1E1B;
  --ky-lime:#C6F24E;
  --ky-orange:#D97A3D;
  --ky-bg:#F5F2EA;
  --ky-bg-2:#EDE8DC;
  --ky-card:#FFFFFF;
  --ky-line:#E1DCCE;
  --ky-text:#16201D;
  --ky-muted:#67766F;
  --ky-r-sm:6px;
  --ky-r-md:12px;
  --ky-r-lg:20px;
  --ky-r-pill:999px;
  --ky-sh-1:0 1px 0 rgba(10,30,27,.06), 0 12px 28px -18px rgba(10,30,27,.35);
  --ky-sh-2:0 1px 0 rgba(10,30,27,.08), 0 20px 42px -20px rgba(10,30,27,.5);
  --ky-ease:cubic-bezier(.22,.61,.36,1);
  --ky-max:1200px;
  --ky-display:"Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;
  --ky-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --ky-mono:"DM Mono",ui-monospace,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--ky-bg);
  color:var(--ky-text);
  font-family:var(--ky-sans);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
h1,h2,h3,h4{margin:0;font-family:var(--ky-display);font-weight:700;letter-spacing:-.01em;line-height:1.25;color:var(--ky-text);}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
:focus-visible{outline:2px solid var(--ky-lime);outline-offset:2px;border-radius:4px;}
.ky-skip{position:absolute;left:-9999px;top:0;background:var(--ky-green);color:#F5F2EA;padding:10px 18px;border-radius:var(--ky-r-pill);z-index:999;}
.ky-skip:focus{left:16px;top:12px;}

/* ---------- 容器 ---------- */
.ky-container{
  width:100%;
  max-width:var(--ky-max);
  margin:0 auto;
  padding:0 24px;
}

/* ---------- 头部 ---------- */
.ky-header{position:relative;z-index:60;background:var(--ky-bg);}
.ky-brandbar{
  border-bottom:1px solid var(--ky-line);
  background:var(--ky-bg);
  background-image:linear-gradient(rgba(10,30,27,.035) 1px,transparent 1px);
  background-size:100% 28px;
}
.ky-brandbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:76px;
}
.ky-logo{display:flex;align-items:center;gap:10px;max-width:220px;}
.ky-logo__mark{
  width:38px;height:38px;flex:0 0 38px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ky-green);
  border-radius:11px;
  border:1px solid var(--ky-green-d);
}
.ky-logo__mark svg{width:22px;height:22px;display:block;}
.ky-logo__text{display:flex;flex-direction:column;line-height:1.15;}
.ky-logo__latin{
  font-family:var(--ky-display);
  font-size:17px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--ky-ink);
}
.ky-logo__cn{
  font-size:11px;
  letter-spacing:.14em;
  color:var(--ky-muted);
}
.ky-brandbar__right{display:flex;align-items:center;gap:14px;}
.ky-search{
  display:flex;align-items:center;
  background:var(--ky-card);
  border:1px solid var(--ky-line);
  border-radius:var(--ky-r-pill);
  padding:4px 4px 4px 16px;
  transition:border-color .24s var(--ky-ease),box-shadow .24s var(--ky-ease);
}
.ky-search:focus-within{border-color:var(--ky-lime);box-shadow:0 0 0 2px rgba(198,242,78,.35);}
.ky-search__input{
  border:0;background:transparent;outline:none;
  font-family:var(--ky-sans);font-size:14px;color:var(--ky-text);
  width:170px;padding:8px 6px;
}
.ky-search__input::placeholder{color:#9AA6A0;}
.ky-search__btn{
  border:0;cursor:pointer;
  background:var(--ky-bg-2);
  color:var(--ky-green-d);
  font-size:13px;font-weight:700;
  padding:8px 16px;border-radius:var(--ky-r-pill);
  transition:background .2s var(--ky-ease);
}
.ky-search__btn:hover{background:var(--ky-lime);}
.ky-btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;
  font-size:15px;font-weight:700;
  padding:14px 26px;
  border-radius:var(--ky-r-pill);
  border:1px solid transparent;
  cursor:pointer;
  min-height:44px;
  transition:background .24s var(--ky-ease),color .24s var(--ky-ease),border-color .24s var(--ky-ease),transform .16s var(--ky-ease),box-shadow .24s var(--ky-ease);
}
.ky-btn:active{transform:scale(.98);}
.ky-btn--sm{padding:11px 22px;font-size:14px;}
.ky-btn--primary{background:var(--ky-green);color:#F5F2EA;box-shadow:inset 0 0 0 0 rgba(198,242,78,0);}
.ky-btn--primary:hover{background:var(--ky-green-d);box-shadow:inset 0 0 0 1px var(--ky-lime);}
.ky-btn--ghost{background:transparent;color:var(--ky-green-d);border-color:var(--ky-green);}
.ky-btn--ghost:hover{background:rgba(20,85,74,.06);}
.ky-btn--lime{background:var(--ky-lime);color:var(--ky-green-d);}
.ky-btn--lime:hover{background:#D2F76A;}
.ky-burger{
  display:none;
  width:46px;height:46px;
  border:1px solid var(--ky-line);
  background:var(--ky-card);
  border-radius:var(--ky-r-md);
  cursor:pointer;
  padding:0;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.ky-burger span{display:block;width:18px;height:2px;background:var(--ky-green-d);border-radius:2px;}
.ky-channelbar{
  position:sticky;top:0;z-index:55;
  background:var(--ky-bg);
  border-bottom:1px solid transparent;
  transition:height .24s var(--ky-ease),border-color .24s var(--ky-ease),box-shadow .24s var(--ky-ease),background .24s var(--ky-ease);
}
.ky-channelbar.is-stuck{
  border-bottom-color:var(--ky-line);
  box-shadow:0 8px 20px -18px rgba(10,30,27,.6);
}
.ky-channels{
  display:flex;align-items:center;gap:28px;
  overflow-x:auto;
  scrollbar-width:none;
}
.ky-channels::-webkit-scrollbar{display:none;}
.ky-channel{
  position:relative;
  display:inline-flex;align-items:center;
  padding:20px 0;
  font-size:15px;font-weight:500;color:var(--ky-muted);
  white-space:nowrap;
  transition:color .2s var(--ky-ease),padding .24s var(--ky-ease);
}
.ky-channel:hover{color:var(--ky-green-d);}
.ky-channel.is-active{color:var(--ky-ink);font-weight:700;}
.ky-channel.is-active::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ky-lime);
}
.ky-channelbar.is-stuck .ky-channel{padding:14px 0;}

/* ---------- 移动端抽屉 ---------- */
.ky-drawer{
  position:fixed;inset:0;z-index:200;
  background:var(--ky-ink);
  color:#F5F2EA;
  display:flex;flex-direction:column;
  transform:translateY(-100%);
  visibility:hidden;
  transition:transform .38s var(--ky-ease),visibility .38s;
  padding:26px 24px 40px;
  overflow-y:auto;
}
.ky-drawer.is-open{transform:translateY(0);visibility:visible;}
.ky-drawer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;}
.ky-drawer__close{
  width:46px;height:46px;border-radius:var(--ky-r-pill);
  border:1px solid rgba(245,242,234,.3);
  background:transparent;color:#F5F2EA;font-size:22px;line-height:1;cursor:pointer;
}
.ky-drawer__nav{display:flex;flex-direction:column;gap:6px;}
.ky-drawer__nav a{
  display:flex;align-items:baseline;gap:16px;
  font-family:var(--ky-display);
  font-size:26px;font-weight:700;
  padding:16px 0;
  border-bottom:1px solid rgba(245,242,234,.14);
}
.ky-drawer__num{font-family:var(--ky-mono);font-size:12px;color:var(--ky-lime);letter-spacing:.08em;}
.ky-drawer__foot{margin-top:auto;padding-top:28px;font-size:13px;color:rgba(245,242,234,.6);letter-spacing:.06em;}

/* ---------- 徽章 ---------- */
.ky-badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;letter-spacing:.06em;
  padding:5px 12px;border-radius:var(--ky-r-pill);
  border:1px solid var(--ky-line);
  background:var(--ky-card);
  color:var(--ky-green-d);
  font-weight:500;
}
.ky-badge--cat{background:rgba(20,85,74,.08);border-color:rgba(20,85,74,.24);color:var(--ky-green-d);}
.ky-badge--level{background:rgba(217,122,61,.1);border-color:rgba(217,122,61,.35);color:#A8541F;}
.ky-badge--state{background:rgba(198,242,78,.22);border-color:rgba(150,190,40,.5);color:#3D5B13;}

/* ---------- 面包屑 ---------- */
.ky-crumbbar{
  border-bottom:1px solid var(--ky-line);
  background:var(--ky-bg);
}
.ky-crumb{
  display:flex;align-items:center;gap:10px;
  padding:16px 0;
  font-size:13px;color:var(--ky-muted);
  overflow:hidden;
}
.ky-crumb a{color:var(--ky-muted);transition:color .2s var(--ky-ease);}
.ky-crumb a:hover{color:var(--ky-green-d);}
.ky-crumb__sep{color:#B6BEB8;}
.ky-crumb__now{
  color:var(--ky-text);font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52%;
}

/* ---------- 文章头 ---------- */
.ky-article{padding:52px 0 0;}
.ky-article__head{max-width:840px;margin:0 auto;}
.ky-article__title{
  margin:18px 0 20px;
  font-size:clamp(28px,4vw,44px);
  line-height:1.28;
  color:var(--ky-ink);
}
.ky-article__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;
  padding-bottom:22px;
  font-size:13.5px;color:var(--ky-muted);
}
.ky-article__meta b{font-weight:500;color:var(--ky-text);}
.ky-article__tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.ky-tool{
  display:inline-flex;align-items:center;gap:8px;
  min-height:44px;
  padding:10px 18px;
  border:1px solid var(--ky-line);
  background:var(--ky-card);
  border-radius:var(--ky-r-pill);
  font-size:13.5px;font-weight:500;color:var(--ky-green-d);
  cursor:pointer;
  transition:border-color .24s var(--ky-ease),transform .24s var(--ky-ease),box-shadow .24s var(--ky-ease);
}
.ky-tool:hover{border-color:var(--ky-lime);transform:translateY(-2px);box-shadow:var(--ky-sh-1);}
.ky-rule{height:1px;background:var(--ky-line);border:0;margin:0;}

/* ---------- 正文 ---------- */
.ky-article__body{padding:42px 0 0;}
.ky-prose{
  max-width:720px;margin:0 auto;
  font-size:16.5px;line-height:1.85;color:var(--ky-text);
  counter-reset:kyp;
}
.ky-prose p{margin:0 0 1.2em;}
.ky-prose strong{font-weight:700;color:var(--ky-ink);}
.ky-prose h2{
  counter-increment:kyp;
  font-size:clamp(23px,2.6vw,28px);
  margin:2.2em 0 .8em;
  padding-top:1.2em;
  border-top:1px solid var(--ky-line);
  color:var(--ky-ink);
}
.ky-prose h2::before{
  content:"0" counter(kyp);
  display:block;
  font-family:var(--ky-mono);
  font-size:12px;letter-spacing:.12em;
  color:var(--ky-green);
  margin-bottom:.55em;
}
.ky-prose h3{font-size:20px;margin:1.8em 0 .6em;color:var(--ky-ink);}
.ky-prose h4{font-size:17px;margin:1.4em 0 .5em;}
.ky-prose blockquote{
  margin:1.6em 0;padding:6px 0 6px 20px;
  border-left:4px solid var(--ky-lime);
  color:#2C3F3A;font-size:17px;
}
.ky-prose blockquote p:last-child{margin-bottom:0;}
.ky-prose ul,.ky-prose ol{padding-left:1.35em;margin:0 0 1.2em;}
.ky-prose ul{list-style:disc;}
.ky-prose ol{list-style:decimal;}
.ky-prose li{margin:.4em 0;}
.ky-prose a{color:var(--ky-green);text-decoration:underline;text-underline-offset:3px;}
.ky-prose a:hover{color:var(--ky-green-d);}
.ky-prose figure{margin:1.6em 0;}
.ky-prose img{
  width:100%;border-radius:var(--ky-r-md);
  border:1px solid var(--ky-line);
  background:linear-gradient(135deg,var(--ky-bg-2),var(--ky-green-d));
  margin:1.6em 0 .7em;
}
.ky-prose figure img{margin:0 0 .7em;}
.ky-prose figcaption{font-size:13.5px;color:var(--ky-muted);text-align:center;}
.ky-prose table{
  width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15px;
  border:1px solid var(--ky-line);border-radius:var(--ky-r-md);overflow:hidden;
}
.ky-prose th,.ky-prose td{border:1px solid var(--ky-line);padding:10px 14px;text-align:left;}
.ky-prose th{background:var(--ky-bg-2);font-weight:700;}
.ky-prose code{
  font-family:var(--ky-mono);font-size:.92em;
  background:var(--ky-bg-2);padding:2px 6px;border-radius:var(--ky-r-sm);
}

/* ---------- 空态 ---------- */
.ky-empty{
  max-width:560px;margin:0 auto;text-align:center;
  padding:56px 26px;
  background:var(--ky-card);
  border:1px solid var(--ky-line);
  border-radius:var(--ky-r-lg);
  box-shadow:var(--ky-sh-1);
}
.ky-empty__icon{
  width:48px;height:48px;margin:0 auto 18px;
  display:flex;align-items:center;justify-content:center;
  border-radius:var(--ky-r-md);
  background:rgba(20,85,74,.08);
  color:var(--ky-green);
}
.ky-empty__title{font-family:var(--ky-display);font-size:20px;color:var(--ky-ink);margin-bottom:8px;}
.ky-empty p{font-size:14.5px;color:var(--ky-muted);margin-bottom:20px;}

/* ---------- 文末 ---------- */
.ky-article__foot{max-width:720px;margin:0 auto;padding:44px 0 0;}
.ky-tags{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:28px;}
.ky-tags__label{font-size:13px;letter-spacing:.08em;color:var(--ky-muted);}
.ky-backlink{
  display:inline-flex;align-items:center;gap:8px;
  font-size:14px;font-weight:700;color:var(--ky-green);
  border-bottom:1px solid rgba(20,85,74,.3);
  padding-bottom:3px;
  transition:gap .24s var(--ky-ease),color .2s var(--ky-ease);
}
.ky-backlink:hover{gap:14px;color:var(--ky-green-d);}

/* ---------- 板块 ---------- */
.ky-section{padding:88px 0;}
.ky-section--tight{padding:64px 0 88px;}
.ky-section__head{margin-bottom:36px;max-width:720px;}
.ky-section__label{
  display:inline-block;
  font-size:13px;letter-spacing:.14em;
  color:var(--ky-green);
  font-weight:700;
  margin-bottom:12px;
}
.ky-section__title{font-size:clamp(24px,3vw,32px);color:var(--ky-ink);}
.ky-section__desc{margin-top:12px;font-size:15px;color:var(--ky-muted);}

/* ---------- 卡片 ---------- */
.ky-grid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr));}
.ky-card{
  display:flex;flex-direction:column;
  background:var(--ky-card);
  border:1px solid var(--ky-line);
  border-radius:var(--ky-r-lg);
  overflow:hidden;
  box-shadow:var(--ky-sh-1);
  transition:transform .24s var(--ky-ease),border-color .24s var(--ky-ease),box-shadow .24s var(--ky-ease);
}
.ky-card:hover{transform:translateY(-4px);border-color:var(--ky-lime);box-shadow:var(--ky-sh-2);}
.ky-card__media{
  position:relative;
  aspect-ratio:16/9;
  background:linear-gradient(135deg,var(--ky-bg-2),var(--ky-green-d));
  overflow:hidden;
}
.ky-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ky-ease);}
.ky-card:hover .ky-card__media img{transform:scale(1.03);}
.ky-card__body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:12px;flex:1;}
.ky-card__title{font-size:19px;line-height:1.45;color:var(--ky-ink);}
.ky-card__text{font-size:14.5px;color:var(--ky-muted);line-height:1.7;}
.ky-card__foot{
  margin-top:auto;display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;border-top:1px solid var(--ky-line);
  font-size:13px;color:var(--ky-muted);
}
.ky-card__arrow{color:var(--ky-green);transition:transform .24s var(--ky-ease);}
.ky-card:hover .ky-card__arrow{transform:translateX(4px);}

/* ---------- CTA ---------- */
.ky-cta{
  background:var(--ky-ink);
  color:#F5F2EA;
  padding:64px 0;
  position:relative;
  overflow:hidden;
}
.ky-cta::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(245,242,234,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(245,242,234,.045) 1px,transparent 1px);
  background-size:44px 44px;
  pointer-events:none;
}
.ky-cta__inner{
  position:relative;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px;
}
.ky-cta__title{font-size:clamp(22px,2.6vw,30px);color:#F5F2EA;}
.ky-cta__desc{margin-top:10px;font-size:14.5px;color:rgba(245,242,234,.72);max-width:560px;}

/* ---------- 页脚 ---------- */
.ky-footer{
  background:var(--ky-ink);
  color:#F5F2EA;
  padding:72px 0 30px;
  position:relative;
}
.ky-footer::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(245,242,234,.035) 1px,transparent 1px);
  background-size:100% 34px;
  pointer-events:none;
}
.ky-footer__grid{position:relative;row-gap:36px;}
.ky-footer__col{padding-right:18px;}
.ky-footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.ky-footer__brand .ky-logo__latin{color:#F5F2EA;}
.ky-footer__brand .ky-logo__cn{color:rgba(245,242,234,.62);}
.ky-footer__desc{font-size:14px;color:rgba(245,242,234,.7);line-height:1.8;max-width:340px;}
.ky-footer__col h3{
  font-family:var(--ky-sans);
  font-size:13px;letter-spacing:.12em;
  color:rgba(245,242,234,.55);
  font-weight:700;
  margin-bottom:16px;
}
.ky-footer__list{display:flex;flex-direction:column;gap:12px;}
.ky-footer__list a{
  font-size:14.5px;color:rgba(245,242,234,.86);
  transition:color .2s var(--ky-ease),transform .2s var(--ky-ease);
  display:inline-block;
}
.ky-footer__list a:hover{color:var(--ky-lime);transform:translateX(3px);}
.ky-footer__bottom{
  position:relative;
  margin-top:52px;padding-top:22px;
  border-top:1px solid rgba(245,242,234,.14);
  display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:space-between;
  font-size:13px;color:rgba(245,242,234,.6);
}

/* ---------- 动效 ---------- */
.ky-reveal{opacity:0;transform:translateY(12px);}
.ky-reveal.is-visible{opacity:1;transform:none;transition:opacity .55s var(--ky-ease),transform .55s var(--ky-ease);}
@media (prefers-reduced-motion:reduce){
  .ky-reveal{opacity:1;transform:none;}
  *{animation:none!important;transition-duration:.01ms!important;}
}

/* ---------- 响应式 ---------- */
@media screen and (max-width:1023px){
  .ky-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ky-section{padding:72px 0;}
  .ky-search__input{width:130px;}
  .ky-channel{gap:22px;}
}
@media screen and (max-width:767px){
  body{font-size:15px;}
  .ky-container{padding:0 16px;}
  .ky-search{display:none;}
  .ky-brandbar__right .ky-btn--sm{display:none;}
  .ky-burger{display:flex;}
  .ky-logo__cn{display:none;}
  .ky-channels{gap:22px;}
  .ky-channel{font-size:14px;padding:16px 0;}
  .ky-section{padding:56px 0;}
  .ky-section--tight{padding:44px 0 56px;}
  .ky-article{padding:36px 0 0;}
  .ky-crumb__now{max-width:44%;}
  .ky-grid{grid-template-columns:minmax(0,1fr);}
  .ky-footer{padding:52px 0 26px;}
  .ky-footer__col{padding-right:0;}
  .ky-cta{padding:48px 0;}
  .ky-cta__inner{flex-direction:column;align-items:flex-start;}
}
@media screen and (max-width:520px){
  .ky-prose{font-size:16px;}
  .ky-article__meta{gap:8px 16px;font-size:13px;}
  .ky-drawer__nav a{font-size:22px;}
}

/* roulang page: category1 */
:root{
  --ky-green:#14554A;
  --ky-green-deep:#0C3A33;
  --ky-ink:#0A1E1B;
  --ky-lime:#C6F24E;
  --ky-sand:#D97A3D;
  --ky-bg:#F5F2EA;
  --ky-bg-2:#EDE8DC;
  --ky-card:#FFFFFF;
  --ky-line:#E1DCCE;
  --ky-text:#16201D;
  --ky-muted:#67766F;
  --ky-radius-s:6px;
  --ky-radius-m:12px;
  --ky-radius-l:20px;
  --ky-shadow-1:0 1px 0 rgba(10,30,27,.06), 0 12px 28px -18px rgba(10,30,27,.35);
  --ky-shadow-2:0 1px 0 rgba(10,30,27,.08), 0 22px 44px -22px rgba(10,30,27,.45);
  --ky-ease:cubic-bezier(.22,.61,.36,1);
  --ky-serif:"Noto Serif SC","Source Han Serif SC","Songti SC",serif;
  --ky-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --ky-mono:"DM Mono",ui-monospace,Consolas,monospace;
  --ky-gutter:24px;
  --ky-section:104px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ky-bg);
  color:var(--ky-text);
  font-family:var(--ky-sans);
  font-size:16px;
  line-height:1.75;
  font-weight:400;
  overflow-x:hidden;
}
img{max-width:100%;display:block;border:0;}
a{color:inherit;text-decoration:none;transition:color .24s var(--ky-ease);}
h1,h2,h3,h4,p,ul,ol{margin:0;padding:0;}
ul,ol{list-style:none;}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;}
input{font-family:inherit;}
:focus-visible{outline:2px solid var(--ky-lime);outline-offset:2px;border-radius:4px;}
.ky-container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px;}

/* ---------- 按钮 ---------- */
.ky-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:13px 26px;border-radius:999px;
  font-size:15px;font-weight:500;letter-spacing:.02em;
  transition:background-color .24s var(--ky-ease),color .24s var(--ky-ease),box-shadow .24s var(--ky-ease),transform .16s var(--ky-ease),border-color .24s var(--ky-ease);
  white-space:nowrap;
}
.ky-btn:active{transform:scale(.98);}
.ky-btn--primary{background:var(--ky-green);color:#F5F2EA;box-shadow:inset 0 0 0 1px rgba(198,242,78,0);}
.ky-btn--primary:hover{background:var(--ky-green-deep);box-shadow:inset 0 0 0 1px var(--ky-lime);color:#fff;}
.ky-btn--ghost{background:transparent;border:1px solid var(--ky-green);color:var(--ky-green);}
.ky-btn--ghost:hover{background:rgba(20,85,74,.06);}
.ky-btn--accent{background:var(--ky-lime);color:var(--ky-green-deep);font-weight:700;}
.ky-btn--accent:hover{filter:brightness(1.06);}
.ky-btn--sm{min-height:42px;padding:10px 20px;font-size:14px;}
.ky-btn--block{width:100%;}

/* ---------- 徽章 / 标签 ---------- */
.ky-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 12px;border-radius:999px;
  font-size:12px;letter-spacing:.06em;line-height:1.6;
  border:1px solid var(--ky-line);color:var(--ky-green);background:rgba(20,85,74,.06);
}
.ky-badge--level{border-color:rgba(217,122,61,.42);color:var(--ky-sand);background:rgba(217,122,61,.09);}
.ky-badge--live{border-color:rgba(198,242,78,.7);color:var(--ky-green-deep);background:rgba(198,242,78,.28);}
.ky-kicker{
  display:inline-block;font-size:13px;letter-spacing:.08em;
  color:var(--ky-green);font-weight:700;text-transform:uppercase;
}

/* ---------- 导航 ---------- */
.ky-header{position:relative;z-index:60;background:var(--ky-bg);}
.ky-brandbar{border-bottom:1px solid transparent;}
.ky-brandbar__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;}
.ky-logo{display:inline-flex;align-items:center;gap:10px;max-width:220px;}
.ky-logo__mark{
  width:38px;height:38px;flex:0 0 38px;border-radius:var(--ky-radius-s);
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--ky-ink);
}
.ky-logo__mark svg{width:22px;height:22px;}
.ky-logo__text{display:flex;flex-direction:column;line-height:1.15;}
.ky-logo__latin{font-family:var(--ky-mono);font-size:16px;font-weight:500;letter-spacing:.1em;color:var(--ky-green-deep);text-transform:lowercase;}
.ky-logo__cn{font-size:12px;color:var(--ky-muted);letter-spacing:.06em;}
.ky-brandbar__right{display:flex;align-items:center;gap:16px;}
.ky-search{display:flex;align-items:center;gap:6px;background:var(--ky-card);border:1px solid var(--ky-line);border-radius:999px;padding:4px 6px 4px 16px;transition:border-color .24s var(--ky-ease),box-shadow .24s var(--ky-ease);}
.ky-search:focus-within{border-color:var(--ky-lime);box-shadow:0 0 0 3px rgba(198,242,78,.22);}
.ky-search__input{border:0;outline:none;background:transparent;width:190px;font-size:14px;color:var(--ky-text);min-height:34px;}
.ky-search__input::placeholder{color:#9AA69F;}
.ky-search__btn{min-height:34px;padding:0 16px;border-radius:999px;background:var(--ky-green);color:#F5F2EA;font-size:13px;letter-spacing:.04em;}
.ky-search__btn:hover{background:var(--ky-green-deep);}
.ky-burger{display:none;width:44px;height:44px;border-radius:var(--ky-radius-s);flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid var(--ky-line);}
.ky-burger span{display:block;width:20px;height:2px;background:var(--ky-green-deep);border-radius:2px;transition:transform .24s var(--ky-ease),opacity .2s;}
.ky-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.ky-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.ky-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.ky-channelbar{
  position:sticky;top:0;z-index:55;
  background:var(--ky-bg);border-bottom:1px solid transparent;
  transition:min-height .28s var(--ky-ease),background-color .28s var(--ky-ease),border-color .28s var(--ky-ease),box-shadow .28s var(--ky-ease);
}
.ky-channelbar.is-stuck{background:rgba(245,242,234,.97);border-bottom-color:var(--ky-line);box-shadow:0 8px 24px -20px rgba(10,30,27,.5);}
.ky-channels{display:flex;align-items:center;gap:28px;min-height:62px;transition:min-height .28s var(--ky-ease);}
.ky-channelbar.is-stuck .ky-channels{min-height:54px;}
.ky-channel{
  position:relative;display:inline-flex;align-items:center;
  min-height:44px;font-size:15px;font-weight:500;color:var(--ky-muted);
  letter-spacing:.02em;
}
.ky-channel::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--ky-lime);transform:scaleX(0);transform-origin:left;transition:transform .26s var(--ky-ease);}
.ky-channel:hover{color:var(--ky-green-deep);}
.ky-channel:hover::after{transform:scaleX(1);}
.ky-channel.is-active{color:var(--ky-ink);font-weight:700;}
.ky-channel.is-active::after{transform:scaleX(1);}

/* 移动抽屉 */
.ky-drawer{
  position:fixed;inset:0;background:var(--ky-ink);z-index:200;
  padding:88px 28px 40px;display:flex;flex-direction:column;
  transform:translateY(-100%);opacity:0;visibility:hidden;
  transition:transform .38s var(--ky-ease),opacity .28s var(--ky-ease),visibility .28s;
  overflow-y:auto;
}
.ky-drawer.is-open{transform:translateY(0);opacity:1;visibility:visible;}
.ky-drawer__close{position:absolute;top:24px;right:24px;width:44px;height:44px;border:1px solid rgba(245,242,234,.28);border-radius:var(--ky-radius-s);color:#F5F2EA;font-size:22px;line-height:1;}
.ky-drawer__title{font-size:13px;letter-spacing:.08em;color:rgba(245,242,234,.55);margin-bottom:20px;}
.ky-drawer__list a{
  display:flex;align-items:baseline;gap:16px;
  padding:18px 0;border-bottom:1px solid rgba(245,242,234,.14);
  font-family:var(--ky-serif);font-size:26px;font-weight:700;color:#F5F2EA;
}
.ky-drawer__list span{font-family:var(--ky-mono);font-size:13px;color:var(--ky-lime);letter-spacing:.08em;}
.ky-drawer__list a.is-active{color:var(--ky-lime);}
.ky-drawer__foot{margin-top:32px;display:flex;flex-direction:column;gap:12px;}

/* ---------- 面包屑 ---------- */
.ky-crumbs{padding:22px 0 0;font-size:13px;color:var(--ky-muted);}
.ky-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.ky-crumbs li{display:inline-flex;align-items:center;gap:8px;}
.ky-crumbs li::after{content:"/";color:#C4CBC5;}
.ky-crumbs li:last-child::after{display:none;}
.ky-crumbs a:hover{color:var(--ky-green);}
.ky-crumbs strong{color:var(--ky-text);font-weight:700;}

/* ---------- Hero ---------- */
.ky-hero{
  position:relative;margin-top:20px;border-radius:var(--ky-radius-l);overflow:hidden;
  background-image:linear-gradient(rgba(10,30,27,.72),rgba(10,30,27,.78)),url("/assets/images/backpic/back-1.png");
  background-size:cover;background-position:center;
  color:#F5F2EA;
}
.ky-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(245,242,234,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(245,242,234,.05) 1px,transparent 1px);
  background-size:64px 64px;
}
.ky-hero__inner{position:relative;z-index:2;padding:72px 0 56px;max-width:760px;}
.ky-hero h1{
  font-family:var(--ky-serif);font-weight:700;letter-spacing:-.01em;
  font-size:clamp(28px,4vw,44px);line-height:1.2;margin:18px 0 16px;
}
.ky-hero__lead{font-size:17px;color:rgba(245,242,234,.86);max-width:600px;}
.ky-hero__meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.ky-hero__meta .ky-badge{background:rgba(245,242,234,.08);border-color:rgba(245,242,234,.26);color:#F5F2EA;}
.ky-hero__meta .ky-badge--live{background:rgba(198,242,78,.2);border-color:rgba(198,242,78,.6);color:var(--ky-lime);}
.ky-anchorbar{
  position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:10px;
  padding:18px 0 24px;border-top:1px solid rgba(245,242,234,.16);
}
.ky-anchorbar a{
  display:inline-flex;align-items:center;min-height:40px;padding:0 16px;
  border:1px solid rgba(245,242,234,.24);border-radius:999px;
  font-size:13px;letter-spacing:.04em;color:rgba(245,242,234,.86);
}
.ky-anchorbar a:hover{border-color:var(--ky-lime);color:var(--ky-lime);}

/* ---------- 板块通用 ---------- */
.ky-section{padding:var(--ky-section) 0 0;}
.ky-section__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:36px;}
.ky-section__head h2{
  font-family:var(--ky-serif);font-weight:700;letter-spacing:-.01em;
  font-size:clamp(24px,3vw,32px);line-height:1.25;margin-top:10px;
}
.ky-section__desc{font-size:15px;color:var(--ky-muted);max-width:640px;margin-top:12px;}
.ky-linktext{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--ky-green);border-bottom:1px solid rgba(20,85,74,.3);padding-bottom:2px;min-height:44px;}
.ky-linktext:hover{color:var(--ky-green-deep);border-bottom-color:var(--ky-lime);}
.ky-linktext i{transition:transform .24s var(--ky-ease);font-style:normal;}
.ky-linktext:hover i{transform:translateX(4px);}

/* ---------- 主推大卡 ---------- */
.ky-feature{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  background:var(--ky-card);border:1px solid var(--ky-line);border-radius:var(--ky-radius-l);
  overflow:hidden;box-shadow:var(--ky-shadow-1);
  transition:border-color .24s var(--ky-ease),box-shadow .24s var(--ky-ease),transform .24s var(--ky-ease);
}
.ky-feature:hover{border-color:var(--ky-lime);box-shadow:var(--ky-shadow-2);transform:translateY(-4px);}
.ky-feature__media{position:relative;min-height:280px;background:linear-gradient(160deg,var(--ky-bg-2),var(--ky-green));}
.ky-feature__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ky-feature__tag{position:absolute;left:18px;top:18px;z-index:3;}
.ky-feature__body{padding:34px 32px;display:flex;flex-direction:column;gap:16px;}
.ky-feature__body h3{font-family:var(--ky-serif);font-size:24px;line-height:1.35;font-weight:700;}
.ky-feature__body p{font-size:15px;color:var(--ky-muted);}
.ky-feature__facts{display:flex;flex-wrap:wrap;gap:22px;padding-top:6px;border-top:1px solid var(--ky-line);}
.ky-feature__facts div{display:flex;flex-direction:column;gap:2px;}
.ky-feature__facts b{font-family:var(--ky-mono);font-size:22px;font-weight:500;color:var(--ky-green-deep);font-variant-numeric:tabular-nums;}
.ky-feature__facts span{font-size:13px;color:var(--ky-muted);}

/* ---------- 紧凑列表 ---------- */
.ky-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:32px;}
.ky-compact__item{
  display:flex;gap:16px;padding:20px 4px;border-top:1px solid var(--ky-line);
  transition:background-color .24s var(--ky-ease),transform .24s var(--ky-ease);
}
.ky-compact__item:hover{background:rgba(20,85,74,.035);transform:translateX(6px);}
.ky-compact__thumb{
  flex:0 0 96px;width:96px;aspect-ratio:4/3;border-radius:var(--ky-radius-s);overflow:hidden;
  background:linear-gradient(140deg,var(--ky-bg-2),var(--ky-green));
}
.ky-compact__thumb img{width:100%;height:100%;object-fit:cover;}
.ky-compact__text{display:flex;flex-direction:column;gap:6px;min-width:0;}
.ky-compact__text h3{font-size:16px;font-weight:700;line-height:1.5;}
.ky-compact__text p{font-size:13px;color:var(--ky-muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ky-compact__meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ky-muted);font-family:var(--ky-mono);}

/* ---------- 阶段流程 ---------- */
.ky-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.ky-flow__step{
  background:var(--ky-card);border:1px solid var(--ky-line);border-radius:var(--ky-radius-m);
  padding:26px 22px;display:flex;flex-direction:column;gap:12px;
  box-shadow:var(--ky-shadow-1);
  transition:border-color .24s var(--ky-ease),transform .24s var(--ky-ease),box-shadow .24s var(--ky-ease);
}
.ky-flow__step:hover{border-color:var(--ky-lime);transform:translateY(-4px);box-shadow:var(--ky-shadow-2);}
.ky-flow__num{font-family:var(--ky-serif);font-size:32px;font-weight:700;color:var(--ky-green);letter-spacing:-.02em;line-height:1;}
.ky-flow__step h3{font-size:17px;font-weight:700;}
.ky-flow__step p{font-size:14px;color:var(--ky-muted);}
.ky-flow__dot{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.06em;color:var(--ky-green);}
.ky-flow__dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ky-lime);}
.ky-flow__dot.is-pending::before{background:transparent;border:1px solid var(--ky-green);}

/* ---------- 场景 ---------- */
.ky-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.ky-scene{
  background:var(--ky-bg-2);border-radius:var(--ky-radius-m);padding:28px 24px;
  display:flex;flex-direction:column;gap:12px;border:1px solid transparent;
  transition:border-color .24s var(--ky-ease),background-color .24s var(--ky-ease);
}
.ky-scene:hover{border-color:var(--ky-lime);background:var(--ky-card);}
.ky-scene h3{font-size:18px;font-weight:700;font-family:var(--ky-serif);}
.ky-scene p{font-size:14px;color:var(--ky-muted);}
.ky-scene ul{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.ky-scene li{position:relative;padding-left:16px;font-size:14px;color:var(--ky-text);}
.ky-scene li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:var(--ky-sand);}

/* ---------- 核对要点 ---------- */
.ky-check{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;}
.ky-check__panel{
  background:var(--ky-ink);color:#F5F2EA;border-radius:var(--ky-radius-l);padding:36px 32px;
  display:flex;flex-direction:column;gap:22px;
}
.ky-check__panel h3{font-family:var(--ky-serif);font-size:22px;font-weight:700;}
.ky-check__row{display:flex;flex-direction:column;gap:8px;font-size:14px;color:rgba(245,242,234,.78);}
.ky-progress{height:10px;border-radius:999px;background:rgba(245,242,234,.16);overflow:hidden;}
.ky-progress__fill{height:100%;width:0;border-radius:999px;background:var(--ky-lime);transition:width .8s cubic-bezier(.22,.61,.36,1);}
.ky-check__nums{display:flex;flex-wrap:wrap;gap:32px;}
.ky-check__nums b{display:block;font-family:var(--ky-mono);font-size:30px;font-weight:500;color:var(--ky-lime);font-variant-numeric:tabular-nums;}
.ky-check__nums span{font-size:13px;color:rgba(245,242,234,.72);}
.ky-check__list{display:flex;flex-direction:column;gap:18px;}
.ky-check__list li{display:flex;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--ky-line);}
.ky-check__list b{font-family:var(--ky-mono);font-size:13px;color:var(--ky-green);padding-top:4px;letter-spacing:.06em;}
.ky-check__list h3{font-size:17px;font-weight:700;margin-bottom:6px;}
.ky-check__list p{font-size:14px;color:var(--ky-muted);}

/* ---------- FAQ ---------- */
.ky-faq{max-width:860px;}
.ky-faq__item{border-bottom:1px solid var(--ky-line);}
.ky-faq__q{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:64px;padding:16px 4px 16px 0;font-size:18px;font-weight:700;color:var(--ky-text);
}
.ky-faq__q:hover{color:var(--ky-green);}
.ky-faq__item.is-active .ky-faq__q{color:var(--ky-green-deep);}
.ky-faq__icon{
  position:relative;flex:0 0 22px;width:22px;height:22px;border-radius:50%;
  border:1px solid var(--ky-line);transition:transform .3s var(--ky-ease),border-color .3s var(--ky-ease);
}
.ky-faq__icon::before,.ky-faq__icon::after{content:"";position:absolute;left:50%;top:50%;background:var(--ky-green);transform:translate(-50%,-50%);}
.ky-faq__icon::before{width:10px;height:1.5px;}
.ky-faq__icon::after{width:1.5px;height:10px;}
.ky-faq__item.is-active .ky-faq__icon{transform:rotate(180deg);border-color:var(--ky-lime);}
.ky-faq__item.is-active .ky-faq__icon::after{opacity:0;}
.ky-faq__a{padding:0 24px 22px 18px;font-size:15px;color:var(--ky-muted);line-height:1.85;position:relative;}
.ky-faq__item.is-active .ky-faq__a::before{content:"";position:absolute;left:0;top:4px;bottom:22px;width:4px;background:var(--ky-lime);border-radius:2px;}
.accordion-content{display:none;}
.accordion-item.is-active > .accordion-content{display:block;animation:kyFade .3s var(--ky-ease);}
@keyframes kyFade{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}

/* ---------- CTA ---------- */
.ky-cta{
  margin-top:var(--ky-section);
  background:var(--ky-ink);border-radius:var(--ky-radius-l);
  padding:44px 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
  position:relative;overflow:hidden;
}
.ky-cta::after{
  content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(198,242,78,.22),transparent 68%);
}
.ky-cta h2{font-family:var(--ky-serif);color:#F5F2EA;font-size:clamp(22px,2.6vw,28px);font-weight:700;position:relative;z-index:2;}
.ky-cta p{color:rgba(245,242,234,.74);font-size:15px;margin-top:10px;max-width:560px;position:relative;z-index:2;}
.ky-cta__actions{display:flex;flex-wrap:wrap;gap:14px;position:relative;z-index:2;}

.ky-backtop{display:flex;justify-content:center;padding:48px 0 0;}

/* ---------- 页脚 ---------- */
.ky-footer{margin-top:var(--ky-section);background:var(--ky-ink);color:#F5F2EA;padding:64px 0 28px;position:relative;}
.ky-footer::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(245,242,234,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(245,242,234,.035) 1px,transparent 1px);background-size:72px 72px;pointer-events:none;}
.ky-footer .ky-container{position:relative;z-index:2;}
.ky-footer__grid{gap:36px 0;}
.ky-footer__col{padding-right:28px;}
.ky-footer__col + .ky-footer__col{padding-left:28px;border-left:1px solid rgba(245,242,234,.12);}
.ky-footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.ky-footer__desc{font-size:14px;color:rgba(245,242,234,.72);max-width:320px;line-height:1.8;}
.ky-footer h3{font-size:15px;font-weight:700;letter-spacing:.04em;margin-bottom:14px;color:#F5F2EA;}
.ky-footer__list{display:flex;flex-direction:column;gap:10px;}
.ky-footer__list a{font-size:14px;color:rgba(245,242,234,.72);min-height:24px;}
.ky-footer__list a:hover{color:var(--ky-lime);}
.ky-footer__bottom{
  margin-top:44px;padding-top:20px;border-top:1px solid rgba(245,242,234,.14);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;
  font-size:13px;color:rgba(245,242,234,.6);
}

/* ---------- 进入视口动效 ---------- */
.ky-reveal{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ky-ease),transform .5s var(--ky-ease);}
.ky-reveal.is-in{opacity:1;transform:none;}

/* ---------- 响应式 ---------- */
@media screen and (max-width:1023px){
  :root{--ky-section:76px;}
  .ky-search{display:none;}
  .ky-burger{display:flex;}
  .ky-feature{grid-template-columns:1fr;}
  .ky-feature__media{min-height:220px;}
  .ky-flow{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ky-scenes{grid-template-columns:1fr;}
  .ky-check{grid-template-columns:1fr;gap:28px;}
  .ky-footer__col + .ky-footer__col{padding-left:0;border-left:0;}
  .ky-footer__col{padding-right:0;}
}
@media screen and (max-width:767px){
  :root{--ky-gutter:16px;--ky-section:56px;}
  .ky-brandbar__inner{min-height:66px;}
  .ky-brandbar__right .ky-btn{display:none;}
  .ky-channels{gap:20px;overflow-x:auto;scrollbar-width:none;}
  .ky-channels::-webkit-scrollbar{display:none;}
  .ky-channel{font-size:14px;white-space:nowrap;}
  .ky-hero__inner{padding:52px 0 40px;}
  .ky-hero__lead{font-size:15px;}
  .ky-compact{grid-template-columns:1fr;gap:0;}
  .ky-flow{grid-template-columns:1fr;}
  .ky-feature__body{padding:24px 20px;}
  .ky-cta{padding:32px 22px;border-radius:var(--ky-radius-m);}
  .ky-check__panel{padding:26px 22px;}
  .ky-faq__q{font-size:16px;}
  .ky-footer{padding-top:48px;}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  .ky-reveal{opacity:1;transform:none;}
}

/* roulang page: category2 */
/* ============ 设计变量 ============ */
:root{
  --ky-primary:#14554A;
  --ky-primary-dark:#0C3A33;
  --ky-ink:#0A1E1B;
  --ky-lime:#C6F24E;
  --ky-sand:#D97A3D;
  --ky-bg:#F5F2EA;
  --ky-bg-2:#EDE8DC;
  --ky-card:#FFFFFF;
  --ky-line:#E1DCCE;
  --ky-text:#16201D;
  --ky-muted:#67766F;
  --ky-r-sm:6px;
  --ky-r-md:12px;
  --ky-r-lg:20px;
  --ky-shadow-1:0 1px 0 rgba(10,30,27,.06),0 12px 28px -18px rgba(10,30,27,.35);
  --ky-shadow-2:0 1px 0 rgba(10,30,27,.08),0 20px 40px -22px rgba(10,30,27,.5);
  --ky-serif:"Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;
  --ky-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --ky-mono:"DM Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --ky-ease:cubic-bezier(.22,.61,.36,1);
}

/* ============ 基础重置 ============ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ky-bg);
  color:var(--ky-text);
  font-family:var(--ky-sans);
  font-size:16px;
  line-height:1.75;
  font-weight:400;
  overflow-x:hidden;
}
img{max-width:100%;display:block;border:0;}
a{color:var(--ky-primary);text-decoration:none;transition:color 200ms var(--ky-ease);}
a:hover{color:var(--ky-primary-dark);}
h1,h2,h3,h4{font-family:var(--ky-serif);font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--ky-ink);margin:0;}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}
button{font-family:inherit;font-size:inherit;}
:focus-visible{outline:2px solid var(--ky-lime);outline-offset:2px;border-radius:2px;}
.ky-container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;}

/* ============ 头部 · 品牌行 ============ */
.ky-header{position:relative;z-index:60;background:var(--ky-bg);}
.ky-brandbar{border-bottom:1px solid var(--ky-line);background:var(--ky-bg);}
.ky-brandbar__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;}
.ky-logo{display:flex;align-items:center;gap:10px;max-width:220px;text-decoration:none;}
.ky-logo__mark{
  width:38px;height:38px;flex:0 0 auto;border-radius:10px;background:var(--ky-ink);
  display:inline-flex;align-items:center;justify-content:center;
}
.ky-logo__mark svg{width:22px;height:22px;}
.ky-logo__text{display:flex;flex-direction:column;line-height:1.15;}
.ky-logo__latin{font-family:var(--ky-serif);font-weight:700;font-size:18px;letter-spacing:.02em;color:var(--ky-ink);}
.ky-logo__cn{font-size:11px;letter-spacing:.14em;color:var(--ky-muted);}
.ky-brandbar__right{display:flex;align-items:center;gap:14px;}

.ky-search{
  display:flex;align-items:center;height:44px;background:#fff;
  border:1px solid var(--ky-line);border-radius:999px;overflow:hidden;
  transition:border-color 200ms var(--ky-ease),box-shadow 200ms var(--ky-ease);
}
.ky-search:focus-within{border-color:var(--ky-lime);box-shadow:0 0 0 3px rgba(198,242,78,.22);}
.ky-search__input{
  border:0;background:transparent;height:100%;width:212px;padding:0 18px;
  font-family:var(--ky-sans);font-size:14px;color:var(--ky-text);outline:none;
}
.ky-search__input::placeholder{color:#9AA69F;}
.ky-search__btn{
  border:0;height:100%;padding:0 20px;background:var(--ky-primary);
  color:#F5F2EA;font-size:13px;letter-spacing:.06em;cursor:pointer;
  transition:background 200ms var(--ky-ease);
}
.ky-search__btn:hover{background:var(--ky-primary-dark);}
.ky-burger{
  display:none;width:44px;height:44px;background:#fff;border:1px solid var(--ky-line);
  border-radius:var(--ky-r-sm);flex-direction:column;align-items:center;justify-content:center;
  gap:5px;cursor:pointer;
}
.ky-burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ky-ink);}

/* ============ 头部 · 频道行 ============ */
.ky-channelbar{
  position:sticky;top:0;z-index:55;
  background:rgba(245,242,234,.97);
  border-bottom:1px solid var(--ky-line);
  transition:box-shadow 240ms var(--ky-ease);
}
.ky-channelbar.is-stuck{box-shadow:0 8px 24px -20px rgba(10,30,27,.6);}
.ky-channels{display:flex;align-items:center;gap:28px;height:66px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.ky-channels::-webkit-scrollbar{display:none;}
.ky-channel{
  position:relative;flex:0 0 auto;font-size:15px;font-weight:500;color:var(--ky-muted);
  padding:6px 2px;white-space:nowrap;text-decoration:none;
  transition:color 200ms var(--ky-ease);
}
.ky-channel:hover{color:var(--ky-ink);}
.ky-channel.is-active{color:var(--ky-ink);font-weight:700;}
.ky-channel.is-active::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--ky-lime);border-radius:2px;
}

/* ============ 移动抽屉 ============ */
.ky-drawer{
  position:fixed;inset:0;z-index:300;background:var(--ky-ink);
  padding:88px 28px 40px;display:none;flex-direction:column;overflow-y:auto;
}
.ky-drawer.is-open{display:flex;}
.ky-drawer__close{
  position:absolute;top:22px;right:24px;width:44px;height:44px;
  background:transparent;border:1px solid rgba(245,242,234,.3);border-radius:50%;
  color:#F5F2EA;font-size:22px;line-height:1;cursor:pointer;
}
.ky-drawer a{
  display:flex;align-items:baseline;gap:16px;padding:18px 0;
  border-bottom:1px solid rgba(245,242,234,.12);
  font-family:var(--ky-serif);font-size:26px;font-weight:700;color:#F5F2EA;
}
.ky-drawer a:last-of-type{border-bottom:0;}
.ky-drawer__idx{font-family:var(--ky-mono);font-size:13px;letter-spacing:.08em;color:var(--ky-lime);}

/* ============ 按钮 ============ */
.ky-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:13px 26px;border-radius:999px;
  border:1px solid transparent;font-family:var(--ky-sans);
  font-size:15px;font-weight:500;line-height:1;cursor:pointer;text-decoration:none;
  transition:background 240ms var(--ky-ease),color 240ms var(--ky-ease),
             border-color 240ms var(--ky-ease),box-shadow 240ms var(--ky-ease),
             transform 160ms var(--ky-ease);
}
.ky-btn--primary{background:var(--ky-primary);color:#F5F2EA;box-shadow:inset 0 0 0 1px rgba(198,242,78,0);}
.ky-btn--primary:hover{background:var(--ky-primary-dark);color:#F5F2EA;box-shadow:inset 0 0 0 1px var(--ky-lime);}
.ky-btn--primary:active{transform:scale(.98);}
.ky-btn--ghost{background:transparent;border-color:var(--ky-primary);color:var(--ky-primary);}
.ky-btn--ghost:hover{background:rgba(20,85,74,.06);color:var(--ky-primary);}
.ky-btn--accent{background:var(--ky-lime);border-color:var(--ky-lime);color:var(--ky-ink);}
.ky-btn--accent:hover{background:#D3FA63;border-color:#D3FA63;color:var(--ky-ink);}
.ky-btn--accent:active{transform:scale(.98);}
.ky-btn--sm{padding:11px 20px;font-size:14px;}

/* ============ 标签 ============ */
.ky-tag{
  display:inline-block;font-size:12px;letter-spacing:.06em;line-height:1.5;
  padding:4px 11px;border-radius:999px;border:1px solid var(--ky-line);
  color:var(--ky-primary);background:rgba(20,85,74,.05);
}
.ky-tag--sand{color:#8C4A1D;border-color:rgba(217,122,61,.45);background:rgba(217,122,61,.1);}
.ky-tag--lime{color:#2C4410;border-color:rgba(198,242,78,.7);background:rgba(198,242,78,.22);}

/* ============ 面包屑 ============ */
.ky-crumbs{padding:22px 0 0;font-size:13px;color:var(--ky-muted);}
.ky-crumbs__sep{margin:0 8px;color:#B7C0B9;}
.ky-crumbs a{color:var(--ky-muted);}
.ky-crumbs a:hover{color:var(--ky-primary);}
.ky-crumbs b{color:var(--ky-ink);font-weight:700;}

/* ============ 分类首屏 ============ */
.ky-cathero{position:relative;overflow:hidden;background:var(--ky-ink);margin-top:22px;}
.ky-cathero__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.55;}
.ky-cathero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,30,27,.74),rgba(10,30,27,.92));
}
.ky-cathero__inner{position:relative;z-index:2;padding-top:78px;padding-bottom:64px;}
.ky-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;
  font-size:13px;letter-spacing:.08em;color:var(--ky-lime);
  border:1px solid rgba(198,242,78,.45);border-radius:999px;padding:6px 14px;
}
.ky-cathero h1{color:#F5F2EA;font-size:clamp(28px,4vw,44px);max-width:900px;}
.ky-cathero__lead{margin-top:18px;max-width:660px;font-size:16px;color:rgba(245,242,234,.78);}
.ky-herostats{
  display:flex;flex-wrap:wrap;gap:20px 48px;margin-top:38px;padding-top:28px;
  border-top:1px solid rgba(245,242,234,.16);
}
.ky-herostat b{
  display:block;font-family:var(--ky-mono);font-size:26px;line-height:1.2;
  color:var(--ky-lime);font-variant-numeric:tabular-nums;
}
.ky-herostat span{font-size:13px;letter-spacing:.04em;color:rgba(245,242,234,.62);}

/* ============ 板块 ============ */
.ky-section{padding:88px 0;}
.ky-section--tight{padding:64px 0;}
.ky-section--alt{background:var(--ky-bg-2);}
.ky-section__head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:16px;margin-bottom:36px;
}
.ky-section__head h2{font-size:clamp(24px,3vw,31px);}
.ky-section__head p{margin:10px 0 0;font-size:15px;color:var(--ky-muted);max-width:640px;}
.ky-section__count{font-family:var(--ky-mono);font-size:14px;color:var(--ky-muted);font-variant-numeric:tabular-nums;}

/* ============ 筛选行 ============ */
.ky-filters{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  padding-bottom:26px;margin-bottom:34px;border-bottom:1px solid var(--ky-line);
}
.ky-filters__label{font-size:13px;letter-spacing:.08em;color:var(--ky-muted);margin-right:4px;}
.ky-chip{
  font-size:13px;letter-spacing:.04em;color:var(--ky-primary);
  background:transparent;border:1px solid var(--ky-line);border-radius:999px;
  padding:9px 17px;cursor:pointer;min-height:38px;
  transition:background 220ms var(--ky-ease),border-color 220ms var(--ky-ease),color 220ms var(--ky-ease);
}
.ky-chip:hover{border-color:var(--ky-primary);background:rgba(20,85,74,.06);}
.ky-chip.is-active{background:var(--ky-primary);border-color:var(--ky-primary);color:#F5F2EA;font-weight:500;}

/* ============ 图卡网格 ============ */
.ky-cardgrid{--ky-gap:24px;margin-left:calc(var(--ky-gap) / -2);margin-right:calc(var(--ky-gap) / -2);}
.ky-cardgrid > .cell{
  padding-left:calc(var(--ky-gap) / 2);
  padding-right:calc(var(--ky-gap) / 2);
  margin-bottom:var(--ky-gap);
  display:flex;
}
.ky-cardgrid > .cell > .ky-card{width:100%;}
.ky-card{
  display:flex;flex-direction:column;height:100%;
  background:var(--ky-card);border:1px solid var(--ky-line);border-radius:var(--ky-r-md);
  overflow:hidden;box-shadow:var(--ky-shadow-1);
  transition:transform 240ms var(--ky-ease),border-color 240ms var(--ky-ease),box-shadow 240ms var(--ky-ease);
}
.ky-card:hover{transform:translateY(-4px);border-color:var(--ky-lime);box-shadow:var(--ky-shadow-2);}
.ky-card__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;}
.ky-card__media{
  position:relative;aspect-ratio:4 / 3;overflow:hidden;
  background:linear-gradient(135deg,#F5F2EA 0%,#14554A 100%);
}
.ky-card__media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 420ms var(--ky-ease);
}
.ky-card:hover .ky-card__media img{transform:scale(1.03);}
.ky-card__body{padding:20px;display:flex;flex-direction:column;flex:1 1 auto;}
.ky-card__title{font-size:19px;line-height:1.4;margin:12px 0 8px;}
.ky-card__desc{
  font-size:14px;line-height:1.7;color:var(--ky-muted);margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.ky-card__meta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:auto;padding-top:16px;border-top:1px solid var(--ky-line);font-size:13px;color:var(--ky-muted);
}
.ky-num{font-family:var(--ky-mono);font-variant-numeric:tabular-nums;font-size:14px;color:var(--ky-primary);}
.ky-card__arrow{color:var(--ky-primary);transition:transform 240ms var(--ky-ease);}
.ky-card:hover .ky-card__arrow{transform:translateX(4px);}

/* ============ 加载更多 ============ */
.ky-loadmore{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:16px;}
.ky-loadmore span{font-size:13px;color:var(--ky-muted);}

/* ============ 等级结构对照 ============ */
.ky-ladder{border-top:1px solid var(--ky-line);}
.ky-ladder__row{
  display:grid;grid-template-columns:104px 1fr 210px;gap:24px;align-items:center;
  padding:26px 12px;border-bottom:1px solid var(--ky-line);
  transition:background 240ms var(--ky-ease),padding 240ms var(--ky-ease);
}
.ky-ladder__row:hover{background:rgba(20,85,74,.045);padding-left:20px;}
.ky-ladder__idx{
  position:relative;padding-left:16px;font-family:var(--ky-mono);font-size:20px;
  color:var(--ky-ink);font-variant-numeric:tabular-nums;
}
.ky-ladder__idx::before{
  content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;
  background:var(--ky-lime);border-radius:2px;
}
.ky-ladder__main h3{font-size:19px;margin-bottom:6px;}
.ky-ladder__main p{margin:0;font-size:14px;line-height:1.7;color:var(--ky-muted);}
.ky-ladder__val{
  text-align:right;font-family:var(--ky-mono);font-size:15px;color:var(--ky-primary);
  font-variant-numeric:tabular-nums;
}
.ky-ladder__val small{display:block;margin-top:4px;font-family:var(--ky-sans);font-size:13px;color:var(--ky-muted);}

/* ============ CTA ============ */
.ky-cta{position:relative;overflow:hidden;background:var(--ky-ink);padding:62px 0;}
.ky-cta__texture{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(245,242,234,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(245,242,234,.045) 1px,transparent 1px);
  background-size:48px 48px;
}
.ky-cta__inner{
  position:relative;z-index:2;display:flex;flex-wrap:wrap;
  align-items:center;justify-content:space-between;gap:28px;
}
.ky-cta h2{color:#F5F2EA;font-size:clamp(22px,2.6vw,27px);}
.ky-cta p{margin:10px 0 0;font-size:15px;color:rgba(245,242,234,.7);}

/* ============ 页脚 ============ */
.ky-footer{background:var(--ky-ink);color:rgba(245,242,234,.78);padding:72px 0 0;}
.ky-footer__grid{margin-bottom:8px;}
.ky-footer__col{padding-bottom:34px;padding-right:20px;}
.ky-footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.ky-footer__brand .ky-logo__latin{color:#F5F2EA;}
.ky-footer__brand .ky-logo__cn{color:rgba(245,242,234,.6);}
.ky-footer__desc{margin:0;max-width:320px;font-size:14px;line-height:1.8;color:rgba(245,242,234,.65);}
.ky-footer h3{
  font-family:var(--ky-sans);font-size:13px;font-weight:500;letter-spacing:.1em;
  color:var(--ky-lime);margin:0 0 16px;
}
.ky-footer__list{display:flex;flex-direction:column;gap:10px;}
.ky-footer__list a,.ky-footer__list span{font-size:14px;color:rgba(245,242,234,.75);text-decoration:none;}
.ky-footer__list a:hover{color:var(--ky-lime);}
.ky-footer__list a{transition:color 200ms var(--ky-ease);}
.ky-footer__bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;
  margin-top:20px;padding:22px 0 30px;
  border-top:1px solid rgba(245,242,234,.12);
  font-size:13px;color:rgba(245,242,234,.5);
}

/* ============ 进入视口动效 ============ */
.ky-reveal{opacity:0;transform:translateY(12px);transition:opacity 520ms var(--ky-ease),transform 520ms var(--ky-ease);}
.ky-reveal.is-in{opacity:1;transform:none;}

/* ============ 响应式 ============ */
@media (max-width:1023px){
  .ky-search{display:none;}
  .ky-brandbar__right .ky-btn{display:none;}
  .ky-burger{display:inline-flex;}
  .ky-section{padding:72px 0;}
  .ky-section--tight{padding:56px 0;}
  .ky-cathero__inner{padding-top:64px;padding-bottom:54px;}
  .ky-ladder__row{grid-template-columns:88px 1fr;gap:18px;}
  .ky-ladder__val{grid-column:2;text-align:left;}
}
@media (max-width:767px){
  .ky-container{padding:0 20px;}
  .ky-brandbar__inner{min-height:68px;}
  .ky-channels{height:58px;gap:22px;}
  .ky-section{padding:56px 0;}
  .ky-section--tight{padding:46px 0;}
  .ky-section__head{margin-bottom:26px;}
  .ky-cathero__inner{padding-top:52px;padding-bottom:44px;}
  .ky-herostats{gap:16px 32px;margin-top:28px;padding-top:22px;}
  .ky-herostat b{font-size:22px;}
  .ky-cardgrid{--ky-gap:18px;}
  .ky-card__body{padding:18px;}
  .ky-ladder__row{grid-template-columns:1fr;gap:10px;padding:22px 8px;}
  .ky-ladder__val{grid-column:1;text-align:left;}
  .ky-cta{padding:48px 0;}
  .ky-footer{padding:56px 0 0;}
  .ky-footer__col{padding-right:0;}
  .ky-drawer a{font-size:22px;}
}
@media (max-width:520px){
  .ky-logo__cn{display:none;}
  .ky-crumbs{font-size:12px;}
  .ky-filters{gap:9px;}
  .ky-chip{padding:8px 14px;font-size:12px;}
  .ky-card__title{font-size:17px;}
  .ky-cta__inner{flex-direction:column;align-items:flex-start;}
  .ky-cta .ky-btn{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
  .ky-reveal{opacity:1;transform:none;}
}

/* roulang page: category3 */
:root{
  --ky-primary:#14554A;
  --ky-primary-deep:#0C3A33;
  --ky-ink:#0A1E1B;
  --ky-lime:#C6F24E;
  --ky-orange:#D97A3D;
  --ky-bg:#F5F2EA;
  --ky-bg-alt:#EDE8DC;
  --ky-card:#FFFFFF;
  --ky-line:#E1DCCE;
  --ky-text:#16201D;
  --ky-muted:#67766F;
  --ky-r-sm:6px;
  --ky-r-md:12px;
  --ky-r-lg:20px;
  --ky-r-pill:999px;
  --ky-sh-1:0 1px 0 rgba(10,30,27,.06), 0 12px 28px -18px rgba(10,30,27,.35);
  --ky-sh-2:0 1px 0 rgba(10,30,27,.09), 0 22px 40px -22px rgba(10,30,27,.5);
  --ky-t:240ms cubic-bezier(.22,.61,.36,1);
  --ky-serif:"Noto Serif SC","Source Han Serif SC","Songti SC",serif;
  --ky-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --ky-mono:"DM Mono",ui-monospace,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;padding:0;
  background:var(--ky-bg);
  color:var(--ky-text);
  font-family:var(--ky-sans);
  font-size:16px;line-height:1.75;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p,figure,ul,ol,dl{margin:0}
ul,ol{list-style:none;padding:0}
a{color:inherit;text-decoration:none;transition:color var(--ky-t),background-color var(--ky-t),border-color var(--ky-t)}
img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input{font:inherit}
:focus-visible{outline:2px solid var(--ky-lime);outline-offset:2px;border-radius:var(--ky-r-sm)}
.ky-container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.grid-x{margin-left:0;margin-right:0}
.ky-reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.ky-reveal.is-in{opacity:1;transform:none}

/* ---------- header ---------- */
.ky-header{position:sticky;top:0;z-index:60;background:var(--ky-bg);transition:box-shadow var(--ky-t)}
.ky-brandbar{border-bottom:1px solid var(--ky-line);background:var(--ky-bg)}
.ky-brandbar__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;transition:min-height var(--ky-t)}
.ky-logo{display:inline-flex;align-items:center;gap:10px;max-width:220px}
.ky-logo__mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--ky-r-md);background:var(--ky-ink);flex:0 0 auto}
.ky-logo__mark svg{width:22px;height:22px}
.ky-logo__text{display:flex;flex-direction:column;line-height:1.15}
.ky-logo__latin{font-family:var(--ky-serif);font-size:19px;font-weight:700;letter-spacing:.02em;color:var(--ky-ink)}
.ky-logo__cn{font-size:12px;color:var(--ky-muted);letter-spacing:.08em}
.ky-brandbar__right{display:flex;align-items:center;gap:14px}
.ky-search{display:flex;align-items:center;gap:6px;background:var(--ky-card);border:1px solid var(--ky-line);border-radius:var(--ky-r-pill);padding:5px 6px 5px 16px;transition:border-color var(--ky-t),box-shadow var(--ky-t)}
.ky-search:focus-within{border-color:var(--ky-lime);box-shadow:0 0 0 3px rgba(198,242,78,.28)}
.ky-search__input{border:0;outline:none;background:transparent;width:190px;font-size:14px;color:var(--ky-text);min-height:30px}
.ky-search__input::placeholder{color:#98a49e}
.ky-search__btn{border-radius:var(--ky-r-pill);background:var(--ky-bg-alt);color:var(--ky-primary-deep);font-size:13px;font-weight:600;padding:7px 16px;min-height:36px;transition:background-color var(--ky-t)}
.ky-search__btn:hover{background:#e2dbc9}
.ky-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--ky-r-pill);font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background-color var(--ky-t),color var(--ky-t),box-shadow var(--ky-t),transform var(--ky-t);min-height:44px}
.ky-btn--primary{background:var(--ky-primary);color:var(--ky-bg);padding:13px 26px;box-shadow:inset 0 0 0 0 rgba(198,242,78,0)}
.ky-btn--primary:hover{background:var(--ky-primary-deep);box-shadow:inset 0 0 0 1px var(--ky-lime)}
.ky-btn--primary:active{transform:scale(.98)}
.ky-btn--ghost{background:transparent;color:var(--ky-primary-deep);border:1px solid var(--ky-primary);padding:12px 24px}
.ky-btn--ghost:hover{background:rgba(20,85,74,.06);border-color:var(--ky-primary-deep)}
.ky-btn--lime{background:var(--ky-lime);color:var(--ky-primary-deep);padding:14px 28px}
.ky-btn--lime:hover{background:#d3f96a}
.ky-btn--lime:active{transform:scale(.98)}
.ky-btn--sm{min-height:40px;padding:9px 20px;font-size:14px}
.ky-burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid var(--ky-line);border-radius:var(--ky-r-md);background:var(--ky-card)}
.ky-burger span{display:block;width:18px;height:2px;background:var(--ky-primary-deep);border-radius:2px;transition:transform var(--ky-t),opacity var(--ky-t)}
.ky-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ky-burger.is-open span:nth-child(2){opacity:0}
.ky-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.ky-channelbar{background:var(--ky-bg);border-bottom:1px solid transparent;transition:background-color var(--ky-t),border-color var(--ky-t)}
.ky-channels{display:flex;align-items:center;gap:28px;min-height:58px;overflow-x:auto;scrollbar-width:none}
.ky-channels::-webkit-scrollbar{display:none}
.ky-channel{position:relative;display:inline-flex;align-items:center;min-height:58px;font-size:15px;font-weight:500;color:var(--ky-muted);white-space:nowrap;letter-spacing:.02em}
.ky-channel::after{content:"";position:absolute;left:0;right:0;bottom:12px;height:2px;background:var(--ky-lime);transform:scaleX(0);transform-origin:left;transition:transform var(--ky-t)}
.ky-channel:hover{color:var(--ky-primary-deep)}
.ky-channel:hover::after{transform:scaleX(1)}
.ky-channel.is-active{color:var(--ky-primary-deep);font-weight:700}
.ky-channel.is-active::after{transform:scaleX(1)}
.ky-header.is-scrolled{box-shadow:0 10px 26px -22px rgba(10,30,27,.55)}
.ky-header.is-scrolled .ky-brandbar__inner{min-height:60px}
.ky-header.is-scrolled .ky-channelbar{background:var(--ky-bg);border-bottom-color:var(--ky-line)}
.ky-header.is-scrolled .ky-channels{min-height:48px}
.ky-header.is-scrolled .ky-channel{min-height:48px}
.ky-header.is-scrolled .ky-channel::after{bottom:8px}

/* drawer */
.ky-drawer{position:fixed;inset:0;z-index:80;background:var(--ky-ink);padding:24px;transform:translateY(-100%);transition:transform .4s cubic-bezier(.22,.61,.36,1);overflow-y:auto}
.ky-drawer.is-open{transform:translateY(0)}
.ky-drawer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
.ky-drawer__close{width:44px;height:44px;border:1px solid rgba(245,242,234,.3);border-radius:var(--ky-r-md);color:var(--ky-bg);font-size:20px;display:flex;align-items:center;justify-content:center}
.ky-drawer__list{display:flex;flex-direction:column;gap:6px}
.ky-drawer__link{display:flex;align-items:baseline;gap:14px;padding:16px 0;border-bottom:1px solid rgba(245,242,234,.14);font-family:var(--ky-serif);font-size:26px;font-weight:700;color:var(--ky-bg)}
.ky-drawer__link span{font-family:var(--ky-mono);font-size:13px;color:var(--ky-lime);letter-spacing:.08em}
.ky-drawer__link.is-active{color:var(--ky-lime)}

/* ---------- breadcrumb ---------- */
.ky-crumb{padding:22px 0 0;font-size:13px;color:var(--ky-muted)}
.ky-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ky-crumb li+li::before{content:"/";margin-right:8px;color:#b9c2bb}
.ky-crumb a:hover{color:var(--ky-primary)}
.ky-crumb strong{font-weight:700;color:var(--ky-text)}

/* ---------- hero ---------- */
.ky-hero{position:relative;margin-top:20px;border-radius:var(--ky-r-lg);overflow:hidden;background:var(--ky-ink)}
.ky-hero__bg{position:absolute;inset:0;background-image:linear-gradient(rgba(10,30,27,.68),rgba(10,30,27,.72)),url("/assets/images/backpic/back-2.png");background-size:cover;background-position:center;filter:saturate(.95)}
.ky-hero__bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(245,242,234,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(245,242,234,.05) 1px,transparent 1px);background-size:44px 44px}
.ky-hero__inner{position:relative;padding:64px 48px 56px}
.ky-tag{display:inline-flex;align-items:center;gap:8px;border-radius:var(--ky-r-pill);border:1px solid rgba(198,242,78,.45);color:var(--ky-lime);background:rgba(198,242,78,.08);font-size:13px;letter-spacing:.08em;padding:6px 14px}
.ky-hero h1{font-family:var(--ky-serif);font-weight:700;font-size:clamp(30px,4vw,46px);line-height:1.2;letter-spacing:-.01em;color:#fff;margin:20px 0 14px;max-width:760px}
.ky-hero__lead{max-width:660px;color:rgba(245,242,234,.82);font-size:16px;line-height:1.8}
.ky-hero__stats{display:flex;flex-wrap:wrap;gap:36px;margin-top:34px;padding-top:26px;border-top:1px solid rgba(245,242,234,.16)}
.ky-stat__num{display:block;font-family:var(--ky-mono);font-size:28px;font-weight:600;color:var(--ky-lime);font-variant-numeric:tabular-nums;line-height:1.1}
.ky-stat__label{font-size:13px;color:rgba(245,242,234,.66);letter-spacing:.06em}

/* ---------- section ---------- */
.ky-section{padding:96px 0 0}
.ky-section:last-of-type{padding-bottom:96px}
.ky-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px;flex-wrap:wrap}
.ky-sechead h2{font-family:var(--ky-serif);font-weight:700;font-size:clamp(24px,3vw,31px);line-height:1.25;letter-spacing:-.01em;color:var(--ky-ink)}
.ky-sechead p{font-size:14px;color:var(--ky-muted);max-width:520px}
.ky-eyebrow{display:inline-block;font-size:13px;letter-spacing:.08em;color:var(--ky-primary);font-weight:600;margin-bottom:10px}

/* ---------- scroll band ---------- */
.ky-bandwrap{position:relative}
.ky-band{display:flex;gap:20px;overflow-x:auto;padding:4px 4px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.ky-band::-webkit-scrollbar{height:6px}
.ky-band::-webkit-scrollbar-thumb{background:#cfd7cd;border-radius:99px}
.ky-bandcard{flex:0 0 300px;scroll-snap-align:start;background:var(--ky-card);border:1px solid var(--ky-line);border-radius:var(--ky-r-md);box-shadow:var(--ky-sh-1);overflow:hidden;transition:transform var(--ky-t),border-color var(--ky-t),box-shadow var(--ky-t)}
.ky-bandcard:first-child{flex:0 0 348px}
.ky-bandcard:hover{transform:translateY(-4px);border-color:var(--ky-lime);box-shadow:var(--ky-sh-2)}
.ky-bandcard__media{aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,var(--ky-bg-alt),var(--ky-primary));}
.ky-bandcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.ky-bandcard:hover .ky-bandcard__media img{transform:scale(1.03)}
.ky-bandcard__body{padding:20px}
.ky-bandcard h3{font-family:var(--ky-serif);font-size:18px;font-weight:700;line-height:1.4;color:var(--ky-ink);margin-bottom:8px}
.ky-bandcard p{font-size:14px;color:var(--ky-muted);line-height:1.7}
.ky-badge{display:inline-flex;align-items:center;border-radius:var(--ky-r-pill);font-size:12px;letter-spacing:.06em;padding:4px 12px;border:1px solid var(--ky-primary);color:var(--ky-primary);background:rgba(20,85,74,.05)}
.ky-badge--orange{border-color:var(--ky-orange);color:var(--ky-orange);background:rgba(217,122,61,.07)}
.ky-badge--lime{border-color:#9dc72f;color:#4d6a10;background:rgba(198,242,78,.22)}
.ky-bandcard__meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}

/* ---------- index layout ---------- */
.ky-idxgrid{margin-left:-14px;margin-right:-14px}
.ky-idxgrid>.cell{padding-left:14px;padding-right:14px}
.ky-index{position:sticky;top:132px;background:var(--ky-card);border:1px solid var(--ky-line);border-radius:var(--ky-r-md);box-shadow:var(--ky-sh-1);padding:22px}
.ky-index__head{font-size:13px;letter-spacing:.08em;color:var(--ky-muted);margin-bottom:14px}
.ky-index__list{display:flex;flex-direction:column;gap:2px}
.ky-index__link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--ky-r-sm);font-size:14px;color:var(--ky-muted);border-left:3px solid transparent;transition:all var(--ky-t);min-height:44px}
.ky-index__link .ky-index__num{font-family:var(--ky-mono);font-size:12px;color:#a8b2aa;letter-spacing:.04em}
.ky-index__link:hover{color:var(--ky-primary-deep);background:var(--ky-bg-alt)}
.ky-index__link.is-active{color:var(--ky-primary-deep);font-weight:700;background:var(--ky-bg-alt);border-left-color:var(--ky-lime)}
.ky-index__link.is-active .ky-index__num{color:var(--ky-primary)}
.ky-index__top{display:flex;align-items:center;gap:6px;margin-top:16px;padding-top:16px;border-top:1px solid var(--ky-line);font-size:13px;color:var(--ky-primary);font-weight:600;min-height:44px}
.ky-index__top:hover{color:var(--ky-primary-deep);text-decoration:underline}

.ky-group{margin-bottom:38px}
.ky-group:last-child{margin-bottom:0}
.ky-group__head{display:flex;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--ky-line);margin-bottom:6px}
.ky-group__head h3{font-family:var(--ky-serif);font-size:20px;font-weight:700;color:var(--ky-ink);letter-spacing:-.01em}
.ky-group__head span{font-family:var(--ky-mono);font-size:13px;color:var(--ky-muted)}
.ky-rows{display:flex;flex-direction:column}
.ky-row{position:relative;display:grid;grid-template-columns:96px 1fr 96px 24px;align-items:center;gap:16px;padding:16px 14px 16px 18px;border-bottom:1px solid var(--ky-line);transition:background-color var(--ky-t),transform var(--ky-t)}
.ky-row::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:var(--ky-lime);transform:scaleY(0);transform-origin:top;transition:transform var(--ky-t)}
.ky-row:hover{background:var(--ky-bg-alt);transform:translateX(6px)}
.ky-row:hover::before{transform:scaleY(1)}
.ky-row__date{font-family:var(--ky-mono);font-size:13px;color:var(--ky-muted);font-variant-numeric:tabular-nums}
.ky-row__title{font-size:15.5px;color:var(--ky-text);line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ky-row:hover .ky-row__title{color:var(--ky-primary-deep)}
.ky-row__tag{justify-self:start;font-size:12px;letter-spacing:.06em;color:var(--ky-primary);border:1px solid var(--ky-line);background:var(--ky-card);border-radius:var(--ky-r-pill);padding:3px 11px;white-space:nowrap}
.ky-row__arrow{font-size:16px;color:#b3bdb4;transition:transform var(--ky-t),color var(--ky-t);text-align:right}
.ky-row:hover .ky-row__arrow{transform:translateX(4px);color:var(--ky-primary)}

/* ---------- faq ---------- */
.ky-faq{border-top:1px solid var(--ky-line)}
.ky-faq .accordion{border:0;background:transparent;margin:0}
.ky-faq .accordion-item{border-bottom:1px solid var(--ky-line);background:transparent}
.ky-faq .accordion-title{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;background:transparent;border:0;padding:22px 46px 22px 18px;font-family:var(--ky-sans);font-size:18px;font-weight:700;color:var(--ky-ink);line-height:1.55;transition:color var(--ky-t),background-color var(--ky-t)}
.ky-faq .accordion-title::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;background:var(--ky-lime);opacity:0;transform:scaleY(.4);transition:opacity var(--ky-t),transform var(--ky-t)}
.ky-faq .accordion-title::after{content:"⌄";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--ky-muted);transition:transform var(--ky-t),color var(--ky-t)}
.ky-faq .accordion-item.is-open .accordion-title{color:var(--ky-primary-deep)}
.ky-faq .accordion-item.is-open .accordion-title::before{opacity:1;transform:scaleY(1)}
.ky-faq .accordion-item.is-open .accordion-title::after{transform:translateY(-50%) rotate(180deg);color:var(--ky-primary)}
.ky-faq .accordion-title:hover{background:rgba(237,232,220,.6)}
.ky-faq .accordion-content{padding:0 46px 24px 18px;background:transparent;border:0;font-size:15px;line-height:1.85;color:var(--ky-muted);max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}
.ky-faq .accordion-item.is-open .accordion-content{max-height:420px}

/* ---------- cta ---------- */
.ky-cta{margin-top:96px;background:var(--ky-ink);color:var(--ky-bg);border-radius:var(--ky-r-lg);position:relative;overflow:hidden}
.ky-cta::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(245,242,234,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(245,242,234,.045) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.ky-cta__inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:44px 44px;flex-wrap:wrap}
.ky-cta h2{font-family:var(--ky-serif);font-size:clamp(22px,2.6vw,28px);font-weight:700;line-height:1.35;letter-spacing:-.01em;max-width:620px;color:#fff}
.ky-cta p{margin-top:10px;font-size:14px;color:rgba(245,242,234,.72);max-width:560px}
.ky-cta__actions{display:flex;gap:14px;flex-wrap:wrap}
.ky-cta .ky-btn--ghost{color:var(--ky-bg);border-color:rgba(245,242,234,.45)}
.ky-cta .ky-btn--ghost:hover{background:rgba(245,242,234,.1);border-color:var(--ky-bg)}

/* ---------- footer ---------- */
.ky-footer{background:var(--ky-ink);color:var(--ky-bg);margin-top:96px;position:relative}
.ky-footer::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(245,242,234,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(245,242,234,.04) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.ky-footer>.ky-container{position:relative;padding-top:72px;padding-bottom:28px}
.ky-footer__grid{margin-left:-16px;margin-right:-16px}
.ky-footer__col{padding:0 16px 32px}
.ky-footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.ky-footer__brand .ky-logo__latin{color:var(--ky-bg)}
.ky-footer__brand .ky-logo__cn{color:rgba(245,242,234,.65)}
.ky-footer__desc{font-size:14px;line-height:1.8;color:rgba(245,242,234,.7);max-width:320px}
.ky-footer h3{font-size:14px;letter-spacing:.08em;color:rgba(245,242,234,.6);font-weight:600;margin-bottom:16px}
.ky-footer__list{display:flex;flex-direction:column;gap:10px;font-size:14px}
.ky-footer__list a{color:rgba(245,242,234,.86);min-height:24px;display:inline-flex;align-items:center}
.ky-footer__list a:hover{color:var(--ky-lime)}
.ky-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(245,242,234,.16);padding-top:22px;font-size:13px;color:rgba(245,242,234,.6)}

/* ---------- responsive ---------- */
@media screen and (max-width:1023px){
  .ky-section{padding-top:72px}
  .ky-section:last-of-type{padding-bottom:72px}
  .ky-hero__inner{padding:52px 32px 46px}
  .ky-index{position:static;margin-bottom:32px}
  .ky-row{grid-template-columns:88px 1fr 22px;gap:14px}
  .ky-row__tag{display:none}
  .ky-cta{margin-top:72px}
  .ky-cta__inner{padding:36px 32px}
  .ky-footer{margin-top:72px}
}
@media screen and (max-width:1023px){
  .ky-search{display:none}
}
@media screen and (max-width:767px){
  .ky-container{padding:0 16px}
  .ky-brandbar__inner{min-height:64px}
  .ky-burger{display:flex}
  .ky-brandbar__right .ky-btn--primary{display:none}
  .ky-channels{gap:20px}
  .ky-hero__inner{padding:40px 22px 36px}
  .ky-hero__stats{gap:24px}
  .ky-stat__num{font-size:22px}
  .ky-section{padding-top:56px}
  .ky-section:last-of-type{padding-bottom:56px}
  .ky-row{grid-template-columns:1fr 20px;gap:6px;padding:14px 12px 14px 14px}
  .ky-row__date{grid-column:1;font-size:12px}
  .ky-row__title{grid-column:1;font-size:15px}
  .ky-row__arrow{grid-row:1 / span 2;align-self:center}
  .ky-faq .accordion-title{font-size:16px;padding:18px 40px 18px 14px}
  .ky-faq .accordion-content{padding:0 24px 20px 14px;font-size:14.5px}
  .ky-cta__inner{padding:30px 22px}
  .ky-footer>.ky-container{padding-top:56px}
  .ky-footer__col{padding-bottom:26px}
  .ky-bandcard{flex:0 0 78%}
  .ky-bandcard:first-child{flex:0 0 84%}
}
@media screen and (max-width:519px){
  .ky-hero h1{font-size:26px}
  .ky-sechead h2{font-size:22px}
  .ky-row__title{font-size:14.5px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  .ky-reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
