/* ============================================================
   风云体育 · 共享外壳样式  /assets/site.css
   风暴入口 + 气象雷达 + 展览画册
   ============================================================ */

/* ---------- 1. 设计变量 ---------- */
:root{
  /* 色彩体系 */
  --fy-night:#0A1830;
  --fy-purple:#2A1357;
  --fy-blue:#16508C;
  --fy-cyan:#35E6E0;
  --fy-orange:#FF6A2B;
  --fy-deep-orange:#C2431A;
  --fy-paper:#F6F1E7;
  --fy-paper-2:#E7DFD1;
  --fy-ink:#14161A;
  --fy-slate:#5C6B78;
  --fy-green:#1FBF8F;

  /* 字体 */
  --fy-font-display:"Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;
  --fy-font-body:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fy-font-mono:"IBM Plex Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* 尺度 */
  --fy-shell-h:64px;
  --fy-notice-h:34px;
  --fy-head-pad-top:14px;
  --fy-head-pad-bottom:12px;
  --fy-head-gap:10px;
  --fy-shell-space:calc(var(--fy-head-pad-top) + var(--fy-notice-h) + var(--fy-head-gap) + var(--fy-shell-h) + var(--fy-head-pad-bottom));

  --fy-radius:16px;
  --fy-radius-lg:28px;
  --fy-pill:999px;
  --fy-ease:cubic-bezier(.22,.61,.36,1);

  /* 描边与光 */
  --fy-edge:rgba(53,230,224,.26);
  --fy-edge-soft:rgba(53,230,224,.13);
  --fy-edge-ink:rgba(20,22,26,.16);
  --fy-glow:0 20px 48px -28px rgba(0,0,0,.92);
}

/* ---------- 2. 重置与基础 ---------- */
*,*::before,*::after{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--fy-shell-space) + 16px);
}

body{
  margin:0;
  padding-top:var(--fy-shell-space);
  font-family:var(--fy-font-body);
  font-size:1rem;
  font-weight:400;
  line-height:1.75;
  color:var(--fy-paper);
  background-color:var(--fy-night);
  background-image:
    radial-gradient(1100px 560px at 10% -12%, rgba(42,19,87,.92), transparent 68%),
    radial-gradient(880px 480px at 92% -4%, rgba(22,80,140,.55), transparent 66%),
    repeating-radial-gradient(circle at 84% 8%, rgba(53,230,224,.05) 0 1px, transparent 1px 78px),
    linear-gradient(180deg, #0A1830 0%, #081227 55%, #060D1C 100%);
  background-attachment:fixed;
  overflow-x:hidden;
}

img,svg,video{display:block;max-width:100%;height:auto}

h1,h2,h3,h4,h5{margin:0;font-weight:700;line-height:1.18}

p{margin:0}

ul,ol{margin:0;padding:0;list-style:none}

a{color:inherit;text-decoration:none}

button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}

table{border-collapse:collapse;width:100%}

:focus-visible{
  outline:2px solid var(--fy-cyan);
  outline-offset:3px;
  border-radius:6px;
}

::selection{background:rgba(53,230,224,.42);color:#04121F}

/* ---------- 3. 跳转链接与阅读进度 ---------- */
.fy-skip{
  position:fixed;
  top:10px;
  left:50%;
  z-index:220;
  padding:10px 20px;
  border-radius:var(--fy-pill);
  background:var(--fy-cyan);
  color:#04121F;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  transform:translate(-50%,-190%);
  transition:transform .22s var(--fy-ease);
}
.fy-skip:focus{transform:translate(-50%,0)}

.fy-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:3px;
  z-index:140;
  background:rgba(246,241,231,.08);
  pointer-events:none;
}
.fy-progress__bar{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,var(--fy-cyan),var(--fy-orange));
  box-shadow:0 0 14px rgba(53,230,224,.85);
  transition:width .1s linear;
}

/* ---------- 4. 头部 ---------- */
.fy-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:120;
  display:flex;
  flex-direction:column;
  gap:var(--fy-head-gap);
  padding:var(--fy-head-pad-top) clamp(14px,3vw,30px) var(--fy-head-pad-bottom);
  background:linear-gradient(180deg,rgba(6,12,24,.86) 0%,rgba(6,12,24,.55) 68%,rgba(6,12,24,0) 100%);
  pointer-events:none;
}
.fy-header > *{pointer-events:auto}

/* 公告细条 */
.fy-notice{
  width:min(1240px,100%);
  max-height:60px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  gap:12px;
  padding:6px 8px 6px 14px;
  border:1px solid var(--fy-edge-soft);
  border-radius:var(--fy-pill);
  background:linear-gradient(96deg,rgba(42,19,87,.86),rgba(10,24,48,.7) 62%,rgba(42,19,87,.6));
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  overflow:hidden;
  transition:opacity .28s var(--fy-ease),transform .28s var(--fy-ease),max-height .28s var(--fy-ease),
             padding .28s var(--fy-ease),border-width .28s var(--fy-ease),margin-bottom .28s var(--fy-ease);
}
.fy-notice__text{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12.5px;
  line-height:1.6;
  letter-spacing:.01em;
  color:rgba(246,241,231,.8);
}
.fy-notice__tag{
  flex:0 0 auto;
  font-family:var(--fy-font-mono);
  font-variant-numeric:tabular-nums;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  color:#04121F;
  background:var(--fy-cyan);
  border-radius:var(--fy-pill);
  padding:3px 9px;
}
.fy-notice__toggle{
  flex:0 0 auto;
  padding:5px 14px;
  border:1px solid var(--fy-edge);
  border-radius:var(--fy-pill);
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--fy-cyan);
  transition:background .2s,color .2s,border-color .2s;
}
.fy-notice__toggle:hover{background:rgba(53,230,224,.16)}
.fy-notice[data-collapsed="true"]{
  opacity:0;
  visibility:hidden;
  max-height:0;
  padding-top:0;
  padding-bottom:0;
  border-width:0;
  margin-bottom:calc(-1 * var(--fy-head-gap));
}

/* 胶囊主体 */
.fy-header__shell{
  width:min(1240px,100%);
  min-height:var(--fy-shell-h);
  margin-inline:auto;
  display:flex;
  align-items:center;
  gap:clamp(10px,2vw,26px);
  padding:0 clamp(12px,1.8vw,18px) 0 clamp(14px,1.8vw,20px);
  border:1px solid var(--fy-edge);
  border-radius:var(--fy-pill);
  background:linear-gradient(100deg,rgba(10,24,48,.88),rgba(42,19,87,.74) 52%,rgba(10,24,48,.88));
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  backdrop-filter:blur(16px) saturate(140%);
  box-shadow:var(--fy-glow),inset 0 1px 0 rgba(246,241,231,.06);
  transition:min-height .3s var(--fy-ease),border-color .3s var(--fy-ease),box-shadow .3s var(--fy-ease),background .3s var(--fy-ease);
}
.fy-header[data-scrolled] .fy-header__shell{
  min-height:56px;
  border-color:rgba(53,230,224,.45);
  background:linear-gradient(100deg,rgba(8,18,39,.95),rgba(42,19,87,.82) 52%,rgba(8,18,39,.95));
  box-shadow:0 22px 50px -30px #000,0 0 0 1px rgba(53,230,224,.12),inset 0 1px 0 rgba(246,241,231,.07);
}

/* 品牌 */
.fy-brand{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.fy-brand__mark{
  position:relative;
  flex:0 0 auto;
  width:30px;
  height:30px;
  border-radius:10px;
  background:conic-gradient(from 210deg,var(--fy-cyan),var(--fy-orange),var(--fy-purple),var(--fy-cyan));
  box-shadow:0 0 18px -4px rgba(53,230,224,.75);
}
.fy-brand__mark::after{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  background:var(--fy-night);
  border:1px solid rgba(246,241,231,.32);
}
.fy-brand__text{display:flex;flex-direction:column;line-height:1.12}
.fy-brand__name{
  font-family:var(--fy-font-display);
  font-size:17px;
  font-weight:800;
  letter-spacing:.07em;
  color:var(--fy-paper);
}
.fy-brand__tag{
  font-family:var(--fy-font-mono);
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.14em;
  color:rgba(53,230,224,.86);
}

/* 导航 */
.fy-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  justify-content:center;
}
.fy-nav__list{
  display:flex;
  align-items:center;
  gap:2px;
}
.fy-nav__item{display:block}
.fy-nav__link{
  display:inline-block;
  padding:8px 13px;
  border:1px solid transparent;
  border-radius:var(--fy-pill);
  font-size:13.5px;
  font-weight:600;
  letter-spacing:.04em;
  white-space:nowrap;
  color:rgba(246,241,231,.78);
  transition:color .2s var(--fy-ease),background .2s var(--fy-ease),border-color .2s var(--fy-ease);
}
.fy-nav__link:hover{
  color:#fff;
  background:rgba(53,230,224,.1);
  border-color:rgba(53,230,224,.32);
}
.fy-nav__link[aria-current="page"]{
  font-weight:800;
  color:#04121F;
  background:var(--fy-cyan);
  border-color:var(--fy-cyan);
  box-shadow:0 0 18px -6px rgba(53,230,224,.95);
}

/* 头部行动区 */
.fy-header__actions{
  flex:0 0 auto;
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
}

/* 移动导航按钮 */
.fy-nav-toggle{
  display:none;
  align-items:center;
  gap:9px;
  padding:9px 15px;
  border:1px solid rgba(53,230,224,.4);
  border-radius:var(--fy-pill);
  background:rgba(10,24,48,.7);
  color:var(--fy-cyan);
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  transition:background .2s,border-color .2s;
}
.fy-nav-toggle:hover{background:rgba(53,230,224,.14)}
.fy-nav-toggle__bars{
  position:relative;
  display:block;
  width:16px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:background .22s var(--fy-ease);
}
.fy-nav-toggle__bars::before,
.fy-nav-toggle__bars::after{
  content:"";
  position:absolute;
  left:0;
  width:16px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform .22s var(--fy-ease);
}
.fy-nav-toggle__bars::before{top:-5px}
.fy-nav-toggle__bars::after{top:5px}
.fy-nav-toggle[aria-expanded="true"] .fy-nav-toggle__bars{background:transparent}
.fy-nav-toggle[aria-expanded="true"] .fy-nav-toggle__bars::before{transform:translateY(5px) rotate(45deg)}
.fy-nav-toggle[aria-expanded="true"] .fy-nav-toggle__bars::after{transform:translateY(-5px) rotate(-45deg)}
.fy-nav-toggle__label{line-height:1}

/* ---------- 5. 按钮 ---------- */
.fy-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 20px;
  border:1px solid transparent;
  border-radius:var(--fy-pill);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.2;
  text-align:center;
  transition:transform .18s var(--fy-ease),background .2s var(--fy-ease),
             border-color .2s var(--fy-ease),color .2s var(--fy-ease),box-shadow .2s var(--fy-ease);
}
.fy-btn:hover{transform:translateY(-1px)}
.fy-btn:active{transform:translateY(0)}
.fy-btn--primary{
  background:linear-gradient(96deg,var(--fy-orange),#FF9147);
  color:#26100A;
  box-shadow:0 14px 28px -16px rgba(255,106,43,.95);
}
.fy-btn--primary:hover{box-shadow:0 18px 34px -14px rgba(255,106,43,1)}
.fy-btn--ghost{
  background:rgba(53,230,224,.08);
  border-color:rgba(53,230,224,.42);
  color:var(--fy-cyan);
}
.fy-btn--ghost:hover{background:rgba(53,230,224,.18)}
.fy-btn--paper{
  background:var(--fy-ink);
  color:var(--fy-paper);
  box-shadow:0 12px 26px -18px rgba(20,22,26,.9);
}
.fy-btn--paper:hover{background:#000}

/* ---------- 6. 页脚 ---------- */
.fy-footer{
  position:relative;
  margin-top:clamp(56px,8vw,110px);
  padding-top:clamp(40px,6vw,72px);
  border-top:1px solid var(--fy-edge);
  background-image:
    radial-gradient(900px 320px at 12% 0%,rgba(42,19,87,.8),transparent 70%),
    radial-gradient(700px 260px at 88% 10%,rgba(22,80,140,.4),transparent 72%),
    linear-gradient(180deg,rgba(10,24,48,.55),rgba(4,9,18,.98) 72%);
  color:rgba(246,241,231,.8);
  overflow:hidden;
}
.fy-footer__glow{
  position:absolute;
  top:-1px;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--fy-cyan) 22%,var(--fy-orange) 62%,transparent);
  opacity:.7;
}
.fy-footer__inner{
  display:grid;
  grid-template-columns:minmax(260px,1.05fr) minmax(0,1.4fr);
  gap:clamp(28px,4vw,56px);
  align-items:start;
}
.fy-footer__wordmark{
  font-family:var(--fy-font-display);
  font-size:clamp(24px,3vw,34px);
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.1;
  color:var(--fy-paper);
}
.fy-footer__desc{
  margin-top:14px;
  max-width:46ch;
  font-size:14px;
  line-height:1.85;
  color:rgba(246,241,231,.66);
}
.fy-footer__domain{
  display:inline-block;
  margin-top:16px;
  padding:6px 13px;
  border:1px solid rgba(53,230,224,.35);
  border-radius:var(--fy-pill);
  font-family:var(--fy-font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--fy-cyan);
}
.fy-footer__cols{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,3vw,32px);
}
.fy-footer__col-title{
  margin-bottom:14px;
  font-family:var(--fy-font-mono);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(53,230,224,.9);
}
.fy-footer__list{display:grid;gap:10px}
.fy-footer__link{
  display:inline-block;
  font-size:14px;
  color:rgba(246,241,231,.78);
  transition:color .2s var(--fy-ease),transform .2s var(--fy-ease);
}
.fy-footer__link:hover{color:var(--fy-orange);transform:translateX(4px)}
.fy-footer__contact{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:14px 28px;
  margin-top:clamp(30px,4vw,48px);
  padding-top:24px;
  border-top:1px dashed rgba(53,230,224,.22);
}
.fy-footer__contact-item{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:14px;
  line-height:1.65;
  color:rgba(246,241,231,.8);
}
.fy-footer__contact-key{
  font-family:var(--fy-font-mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  color:rgba(53,230,224,.85);
}
.fy-footer__base{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 24px;
  margin-top:clamp(26px,4vw,42px);
  padding:18px 0 26px;
  border-top:1px solid rgba(246,241,231,.1);
  font-family:var(--fy-font-mono);
  font-size:12.5px;
  letter-spacing:.04em;
  color:rgba(246,241,231,.6);
}
.fy-footer__copy{color:rgba(246,241,231,.5)}

/* ---------- 7. 布局容器与网格 ---------- */
.fy-container{
  width:min(1240px,100% - clamp(28px,5vw,64px));
  margin-inline:auto;
}
.fy-container--narrow{
  width:min(720px,100% - 36px);
  margin-inline:auto;
}
.fy-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(14px,2vw,26px);
}
.fy-grid--aside{
  grid-template-columns:minmax(240px,300px) minmax(0,1fr);
}
.fy-sheet{
  width:min(1240px,100% - clamp(20px,4vw,52px));
  margin-inline:auto;
  padding:clamp(26px,4.4vw,64px) clamp(18px,3.4vw,54px);
  border-radius:var(--fy-radius-lg);
  background-color:var(--fy-paper);
  background-image:
    repeating-linear-gradient(0deg,rgba(20,22,26,.028) 0 1px,transparent 1px 26px),
    linear-gradient(180deg,rgba(255,255,255,.5),rgba(231,223,209,.35));
  color:var(--fy-ink);
  box-shadow:0 40px 80px -50px rgba(0,0,0,.95),inset 0 0 0 1px rgba(255,255,255,.5);
}
.fy-section{padding-block:clamp(34px,5.5vw,78px)}
.fy-section__head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px 20px;
  margin-bottom:clamp(20px,3vw,34px);
}
.fy-section__title{
  font-family:var(--fy-font-display);
  font-size:clamp(22px,3vw,38px);
  font-weight:800;
  line-height:1.2;
}
.fy-section__note{
  max-width:52ch;
  font-size:13px;
  line-height:1.7;
  opacity:.64;
}

/* ---------- 8. 排版 ---------- */
.fy-display{
  font-family:var(--fy-font-display);
  font-size:clamp(28px,4.4vw,56px);
  font-weight:900;
  line-height:1.15;
  letter-spacing:.01em;
}
.fy-h2{
  font-family:var(--fy-font-display);
  font-size:clamp(22px,3vw,40px);
  font-weight:800;
  line-height:1.2;
}
.fy-eyebrow{
  font-family:var(--fy-font-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--fy-cyan);
}
.fy-sheet .fy-eyebrow{color:var(--fy-deep-orange)}
.fy-mono{
  font-family:var(--fy-font-mono);
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}
.fy-prose{
  width:min(720px,100%);
  font-size:1rem;
  line-height:1.85;
}
.fy-prose > p{max-width:38em}
.fy-prose > p + p{margin-top:1.1em}
.fy-prose ul{display:grid;gap:.5em;padding-left:1.15em;list-style:disc}
.fy-prose h2,.fy-prose h3{
  font-family:var(--fy-font-display);
  margin:1.9em 0 .6em;
  line-height:1.3;
}
.fy-prose h2{font-size:clamp(21px,2.4vw,28px)}
.fy-prose h3{font-size:clamp(17px,1.8vw,20px)}
.fy-prose a{
  color:inherit;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  opacity:.92;
}
.fy-prose a:hover{opacity:1;color:var(--fy-deep-orange)}
.fy-prose strong{font-weight:800}

/* ---------- 9. 通用组件 ---------- */
.fy-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 11px;
  border:1px solid rgba(246,241,231,.24);
  border-radius:var(--fy-pill);
  font-size:12px;
  font-weight:700;
  letter-spacing:.07em;
  line-height:1.5;
  color:rgba(246,241,231,.86);
  white-space:nowrap;
}
.fy-tag--cyan{color:#9DF7F4;border-color:rgba(53,230,224,.5);background:rgba(53,230,224,.12)}
.fy-tag--orange{color:#FFBE97;border-color:rgba(255,106,43,.5);background:rgba(255,106,43,.14)}
.fy-tag--green{color:#96EBD2;border-color:rgba(31,191,143,.5);background:rgba(31,191,143,.14)}
.fy-tag--ink{color:var(--fy-ink);border-color:var(--fy-edge-ink);background:var(--fy-paper-2)}
.fy-sheet .fy-tag{color:var(--fy-ink);border-color:var(--fy-edge-ink);background:var(--fy-paper-2)}

.fy-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 8px;
  border-radius:var(--fy-pill);
  background:var(--fy-orange);
  color:#26100A;
  font-family:var(--fy-font-mono);
  font-variant-numeric:tabular-nums;
  font-size:12px;
  font-weight:800;
}

.fy-databar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1px;
  border:1px solid var(--fy-edge-soft);
  border-radius:var(--fy-radius);
  background:var(--fy-edge-soft);
  overflow:hidden;
}
.fy-databar__item{
  display:grid;
  gap:6px;
  padding:16px 18px;
  background:linear-gradient(160deg,rgba(10,24,48,.94),rgba(42,19,87,.72));
}
.fy-databar__value{
  font-family:var(--fy-font-mono);
  font-variant-numeric:tabular-nums;
  font-size:clamp(20px,2.4vw,28px);
  font-weight:700;
  line-height:1.15;
  color:var(--fy-paper);
}
.fy-databar__label{
  font-size:12px;
  letter-spacing:.12em;
  color:rgba(246,241,231,.6);
}

.fy-breadcrumb{margin-bottom:clamp(16px,2vw,26px)}
.fy-breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-family:var(--fy-font-mono);
  font-size:12.5px;
  letter-spacing:.04em;
  opacity:.78;
}
.fy-breadcrumb__item{display:inline-flex;align-items:center;gap:8px}
.fy-breadcrumb__item + .fy-breadcrumb__item::before{content:"/";opacity:.45}
.fy-breadcrumb__link{transition:opacity .2s}
.fy-breadcrumb__link:hover{opacity:.68}
.fy-breadcrumb__current{color:var(--fy-orange)}

.fy-rule{
  height:1px;
  border:0;
  margin:clamp(24px,4vw,48px) 0;
  background:linear-gradient(90deg,rgba(53,230,224,.5),rgba(255,106,43,.4),transparent);
}
.fy-rule--ink{background:linear-gradient(90deg,rgba(20,22,26,.26),transparent)}

/* ---------- 10. 图片容器基础 ---------- */
.fy-media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  border:1px solid var(--fy-edge-soft);
  border-radius:var(--fy-radius);
  background-color:var(--fy-night);
  background-image:
    repeating-radial-gradient(circle at 82% 18%,rgba(53,230,224,.14) 0 1px,transparent 1px 46px),
    linear-gradient(140deg,rgba(42,19,87,.95),rgba(10,24,48,.98));
  overflow:hidden;
  isolation:isolate;
}
.fy-media__img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.06) contrast(1.06);
}
.fy-media__caption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  margin:0;
  padding:14px 16px;
  font-size:12.5px;
  line-height:1.6;
  color:rgba(246,241,231,.86);
  background:linear-gradient(180deg,rgba(10,24,48,0),rgba(6,12,24,.9));
}
.fy-media--wide{aspect-ratio:21 / 9}
.fy-media--tall{aspect-ratio:3 / 4}
.fy-media--square{aspect-ratio:1 / 1}
.fy-media--plain{background-image:none;background-color:var(--fy-paper-2);border-color:var(--fy-edge-ink)}
.fy-media--plain .fy-media__caption{background:linear-gradient(180deg,rgba(20,22,26,0),rgba(20,22,26,.82))}

/* ---------- 11. 显现动效 ---------- */
.fy-js [data-reveal]{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .5s var(--fy-ease),transform .5s var(--fy-ease);
}
.fy-js [data-reveal].is-visible{opacity:1;transform:none}

/* ---------- 12. 响应式 ---------- */
@media (max-width:1000px){
  :root{
    --fy-shell-h:58px;
  }
  .fy-nav-toggle{display:inline-flex}
  .fy-header__cta{display:none}

  .fy-nav{
    position:fixed;
    top:calc(var(--fy-shell-space) - 8px);
    left:clamp(14px,3vw,30px);
    right:clamp(14px,3vw,30px);
    z-index:118;
    display:block;
    max-height:calc(100dvh - var(--fy-shell-space) - 24px);
    overflow-y:auto;
    padding:14px;
    border:1px solid rgba(53,230,224,.32);
    border-radius:22px;
    background:linear-gradient(160deg,rgba(10,24,48,.98),rgba(42,19,87,.96));
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    box-shadow:0 34px 64px -30px #000;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:opacity .22s var(--fy-ease),transform .22s var(--fy-ease),visibility .22s linear;
  }
  .fy-nav[data-open]{
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .fy-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:6px;
  }
  .fy-nav__link{
    display:block;
    padding:13px 16px;
    border:1px solid rgba(246,241,231,.08);
    border-radius:14px;
    background:rgba(246,241,231,.04);
    font-size:15px;
  }
  .fy-nav__link[aria-current="page"]{
    border-color:var(--fy-cyan);
  }

  .fy-grid--aside{grid-template-columns:1fr}
  .fy-footer__inner{grid-template-columns:1fr}
}

@media (max-width:820px){
  .fy-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
  .fy-notice__text{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

@media (max-width:760px){
  .fy-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .fy-sheet{border-radius:20px}
  .fy-section{padding-block:clamp(28px,7vw,52px)}
}

@media (max-width:560px){
  :root{
    --fy-shell-h:54px;
    --fy-head-pad-top:10px;
    --fy-head-pad-bottom:10px;
    --fy-head-gap:8px;
  }
  .fy-brand__tag{display:none}
  .fy-brand__name{font-size:16px}
  .fy-notice__toggle{padding:5px 11px;letter-spacing:.06em}
  .fy-footer__cols{grid-template-columns:1fr}
  .fy-footer__base{flex-direction:column;align-items:flex-start}
}

/* ---------- 13. 动效降级 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    transition-delay:0ms !important;
  }
  .fy-btn:hover,.fy-footer__link:hover{transform:none}
  .fy-js [data-reveal]{
    opacity:1;
    transform:none;
  }
}
