/* ===========================================================
   鸿运国际 · 全站共享样式 /assets/site.css
   色彩：暖纸白 + 深墨 + 鸿运红信号 + 青灰信息层 + 索引黄点缀
   结构：双层信息导航 · 堆叠面板 · 玻璃层与实色层并置
   =========================================================== */

/* ---------- 1. 变量 ---------- */
:root{
  --hy-red:#D7263D;
  --hy-red-dark:#A4162B;
  --hy-red-soft:rgba(215,38,61,.08);
  --hy-paper:#F7F7F5;
  --hy-white:#FFFFFF;
  --hy-glass:rgba(247,247,245,.72);
  --hy-glass-strong:rgba(247,247,245,.9);
  --hy-ink:#1C1C1E;
  --hy-ink-2:#3A3A3C;
  --hy-teal:#5B7C8D;
  --hy-teal-deep:#3F5C6B;
  --hy-mist:#E3EBEF;
  --hy-gold:#E8B33A;
  --hy-line:#D9D9D4;

  --hy-shell-w:1180px;
  --hy-gutter:24px;
  --hy-r:2px;

  --hy-ease:cubic-bezier(.2,.7,.2,1);
  --hy-dur:200ms;

  --hy-font-sans:"Noto Sans SC","Inter","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --hy-font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote,dl,dd,fieldset{margin:0;padding:0;}
ul,ol{list-style:none;}
img,svg,canvas{display:block;max-width:100%;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
input{font:inherit;}
a{color:inherit;}
table{border-collapse:collapse;width:100%;}
[hidden]{display:none !important;}

body{
  background:var(--hy-paper);
  color:var(--hy-ink);
  font-family:var(--hy-font-sans);
  font-size:16px;
  font-weight:400;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

:focus-visible{outline:2px solid var(--hy-red);outline-offset:2px;border-radius:2px;}

/* ---------- 3. 排版层级（三级） ---------- */
.hy-h1{font-size:clamp(30px,4.2vw,46px);font-weight:800;line-height:1.15;letter-spacing:-.01em;}
.hy-h2{font-size:clamp(22px,2.4vw,28px);font-weight:700;line-height:1.3;}
.hy-h3{font-size:20px;font-weight:700;line-height:1.35;}
.hy-lead{font-size:18px;line-height:1.7;color:var(--hy-ink-2);}
.hy-note{font-size:14px;line-height:1.6;color:var(--hy-teal-deep);}
.hy-mono{font-family:var(--hy-font-mono);font-size:.93em;letter-spacing:.06em;}
.hy-kicker{font-family:var(--hy-font-mono);font-size:12px;letter-spacing:.1em;color:var(--hy-teal-deep);}
.hy-prose{max-width:72ch;font-size:16px;line-height:1.75;}
.hy-prose p + p{margin-top:1.1em;}
.hy-prose ul{margin-top:1.1em;display:grid;gap:.4em;}
.hy-prose li{padding-left:1.2em;position:relative;}
.hy-prose li::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:1px;background:var(--hy-red);}

/* ---------- 4. 布局骨架 ---------- */
.hy-shell{width:min(var(--hy-shell-w),calc(100% - (var(--hy-gutter) * 2)));margin-inline:auto;}
.hy-section{padding:64px 0;}
.hy-section + .hy-section{padding-top:0;}
.hy-stack > * + *{margin-top:16px;}
.hy-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;}
.hy-rule{border:0;border-top:1px solid var(--hy-line);margin:0;}
.hy-offset-1{grid-column:2 / span 10;}

/* ---------- 5. 跳转链接 ---------- */
.hy-skip{
  position:absolute;left:16px;top:-80px;z-index:200;
  display:inline-block;padding:10px 18px;
  background:var(--hy-ink);color:var(--hy-white);
  font-size:14px;font-weight:600;text-decoration:none;
  border-radius:var(--hy-r);
  transition:top var(--hy-dur) var(--hy-ease);
}
.hy-skip:focus{top:12px;}

/* ---------- 6. 头部 ---------- */
.hy-header{
  position:sticky;top:0;z-index:90;
  background:var(--hy-glass-strong);
  -webkit-backdrop-filter:blur(10px) saturate(1.1);
  backdrop-filter:blur(10px) saturate(1.1);
  border-bottom:1px solid var(--hy-line);
}

/* 6.1 品牌说明条 */
.hy-header__meta{position:relative;z-index:6;}
.hy-header__meta-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:40px;
}
.hy-brand{display:flex;align-items:baseline;gap:12px;min-width:0;}
.hy-brand__link{
  font-size:18px;font-weight:800;letter-spacing:.02em;
  color:var(--hy-ink);text-decoration:none;white-space:nowrap;
  transition:color var(--hy-dur) var(--hy-ease);
}
.hy-brand__link:hover{color:var(--hy-red-dark);}
.hy-brand__note{
  font-size:14px;color:var(--hy-teal-deep);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.hy-header__tools{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.hy-icon{flex-shrink:0;}
.hy-version,.hy-lang{font-size:12px;color:var(--hy-teal-deep);white-space:nowrap;}
.hy-lang{border-left:1px solid var(--hy-line);padding-left:10px;}

.hy-search-trigger{
  display:inline-flex;align-items:center;gap:8px;
  height:28px;padding:0 12px;
  border:1px solid var(--hy-line);border-radius:var(--hy-r);
  background:var(--hy-white);color:var(--hy-ink-2);
  font-size:13px;font-weight:600;letter-spacing:.04em;
  transition:border-color var(--hy-dur) var(--hy-ease),color var(--hy-dur) var(--hy-ease),background-color var(--hy-dur) var(--hy-ease);
}
.hy-search-trigger:hover{border-color:var(--hy-red);color:var(--hy-red-dark);}
.hy-search-trigger[aria-expanded="true"]{background:var(--hy-red);border-color:var(--hy-red);color:var(--hy-white);}

.hy-navtoggle{
  display:none;align-items:center;gap:8px;
  height:28px;padding:0 10px;
  border:1px solid var(--hy-line);border-radius:var(--hy-r);
  background:var(--hy-white);color:var(--hy-ink-2);
  font-size:13px;font-weight:600;letter-spacing:.04em;
  transition:border-color var(--hy-dur) var(--hy-ease),color var(--hy-dur) var(--hy-ease);
}
.hy-navtoggle:hover{border-color:var(--hy-red);color:var(--hy-red-dark);}
.hy-navtoggle__bars{display:inline-flex;flex-direction:column;gap:3px;width:14px;}
.hy-navtoggle__bars span{
  display:block;height:1.5px;background:currentColor;
  transition:transform var(--hy-dur) var(--hy-ease),opacity var(--hy-dur) var(--hy-ease);
}
.hy-navtoggle[aria-expanded="true"] .hy-navtoggle__bars span:first-child{transform:translateY(2.25px) rotate(45deg);}
.hy-navtoggle[aria-expanded="true"] .hy-navtoggle__bars span:last-child{transform:translateY(-2.25px) rotate(-45deg);}

/* 6.2 站内检索面板 */
.hy-search{
  position:absolute;left:0;right:0;top:100%;
  background:var(--hy-glass-strong);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hy-line);
  box-shadow:0 24px 40px -32px rgba(28,28,30,.55);
  animation:hy-drop-in 180ms var(--hy-ease) both;
}
.hy-search__inner{padding:20px 0 24px;}
.hy-search__label{display:block;font-size:12px;color:var(--hy-teal-deep);margin-bottom:10px;}
.hy-search__input{
  width:100%;height:44px;padding:0 14px;
  border:1px solid var(--hy-line);border-radius:var(--hy-r);
  background:var(--hy-white);color:var(--hy-ink);font-size:15px;
  transition:border-color var(--hy-dur) var(--hy-ease),box-shadow var(--hy-dur) var(--hy-ease);
}
.hy-search__input:focus{outline:none;border-color:var(--hy-red);box-shadow:0 0 0 3px var(--hy-red-soft);}
.hy-search__list{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 24px;margin-top:12px;
  max-height:min(46vh,340px);overflow:auto;
}
.hy-search__item{border-bottom:1px solid var(--hy-line);}
.hy-search__link{
  display:grid;grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;gap:10px;padding:9px 4px;
  text-decoration:none;
  transition:background-color var(--hy-dur) var(--hy-ease),transform var(--hy-dur) var(--hy-ease);
}
.hy-search__link:hover{background:var(--hy-mist);transform:translateX(4px);}
.hy-search__num{font-size:12px;color:var(--hy-gold);}
.hy-search__text{font-size:14px;font-weight:600;color:var(--hy-ink);}
.hy-search__meta{font-size:12px;color:var(--hy-teal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hy-search__empty{margin-top:12px;font-size:14px;color:var(--hy-teal-deep);}
.hy-search__hint{color:var(--hy-red-dark);text-decoration:underline;text-underline-offset:3px;}
.hy-search__hint:hover{color:var(--hy-red);}

/* 6.3 栏目切片带 */
.hy-nav{position:relative;border-top:1px solid var(--hy-line);}
.hy-nav__inner{display:block;}
.hy-nav__list{display:flex;align-items:stretch;gap:2px;height:64px;transition:height var(--hy-dur) var(--hy-ease);}
.hy-nav__item{display:flex;}
.hy-nav__link{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  height:100%;padding:0 16px;
  color:var(--hy-ink);text-decoration:none;
  font-size:15px;font-weight:600;white-space:nowrap;
  transition:transform var(--hy-dur) var(--hy-ease),color var(--hy-dur) var(--hy-ease);
}
.hy-nav__link::after{
  content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;
  background:var(--hy-red);
  transform:scaleX(0);transform-origin:left center;
  transition:transform var(--hy-dur) var(--hy-ease);
}
.hy-nav__num{font-size:11px;color:var(--hy-gold);line-height:1;}
.hy-nav__label{line-height:1;}
.hy-nav__link:hover,.hy-nav__link:focus-visible{color:var(--hy-red-dark);transform:translateX(4px);}
.hy-nav__link:hover::after,.hy-nav__link:focus-visible::after{transform:scaleX(1);}
.hy-nav__link[aria-current="page"]{color:var(--hy-red);}
.hy-nav__link[aria-current="page"]::after{transform:scaleX(1);}
.hy-nav__link[aria-current="page"] .hy-nav__num{color:var(--hy-red);}

.hy-header[data-compact] .hy-nav__list{height:48px;}
.hy-header[data-compact] .hy-nav__link{padding:0 14px;font-size:14px;}

/* 6.4 滚动进度 */
.hy-progress{
  position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--hy-red),var(--hy-gold));
  transform:scaleX(0);transform-origin:left center;
  z-index:8;pointer-events:none;
}

/* ---------- 7. 页脚信息抽屉 ---------- */
.hy-footer{
  position:relative;margin-top:96px;padding:28px 0 32px;
  background:var(--hy-glass);
  border-top:1px solid var(--hy-line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.hy-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:repeating-linear-gradient(0deg,rgba(28,28,30,.028) 0 1px,transparent 1px 5px);
}
.hy-footer__inner{position:relative;z-index:1;}
.hy-footer__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;}
.hy-footer__row--links{
  margin-top:14px;padding-top:14px;
  border-top:1px solid var(--hy-line);
  align-items:center;
}
.hy-footer__brand{font-size:17px;font-weight:800;letter-spacing:.02em;}
.hy-footer__tag{font-size:14px;color:var(--hy-teal-deep);}
.hy-footer__copy{margin-left:auto;font-size:13px;color:var(--hy-teal);}

.hy-chip{
  display:inline-flex;align-items:center;height:30px;padding:0 12px;
  border:1px solid var(--hy-line);border-radius:var(--hy-r);
  background:var(--hy-white);color:var(--hy-ink-2);
  font-size:13px;text-decoration:none;white-space:nowrap;
  transition:border-color var(--hy-dur) var(--hy-ease),color var(--hy-dur) var(--hy-ease),transform var(--hy-dur) var(--hy-ease);
}
.hy-chip:hover{border-color:var(--hy-red);color:var(--hy-red-dark);transform:translateX(2px);}

.hy-footer__toggle{
  margin-left:auto;display:inline-flex;align-items:center;gap:8px;
  height:30px;padding:0 12px;
  border:1px solid var(--hy-ink);border-radius:var(--hy-r);
  background:transparent;color:var(--hy-ink);
  font-size:13px;font-weight:600;letter-spacing:.04em;
  transition:background-color var(--hy-dur) var(--hy-ease),color var(--hy-dur) var(--hy-ease),border-color var(--hy-dur) var(--hy-ease);
}
.hy-footer__toggle:hover{background:var(--hy-ink);color:var(--hy-white);}
.hy-footer__arrow{
  width:7px;height:7px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);
  transition:transform var(--hy-dur) var(--hy-ease);
}
.hy-footer__toggle[aria-expanded="true"] .hy-footer__arrow{transform:rotate(-135deg) translate(-2px,-2px);}

.hy-footer__panel{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px 32px;margin-top:20px;padding-top:22px;
  border-top:1px solid var(--hy-line);
  animation:hy-fade-in 200ms var(--hy-ease) both;
}
.hy-footer__title{
  font-size:12px;font-weight:600;letter-spacing:.08em;
  color:var(--hy-teal-deep);margin-bottom:10px;
}
.hy-footer__list{display:grid;gap:6px;}
.hy-footer__list--contact{color:var(--hy-ink-2);font-size:14px;}
.hy-footer__link{
  font-size:14px;color:var(--hy-ink-2);text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color var(--hy-dur) var(--hy-ease),border-color var(--hy-dur) var(--hy-ease);
}
.hy-footer__link:hover{color:var(--hy-red-dark);border-bottom-color:var(--hy-red);}
.hy-footer__note{
  grid-column:1 / -1;font-size:13px;color:var(--hy-teal);
  border-top:1px dashed var(--hy-line);padding-top:14px;
}

/* ---------- 8. 通用组件 ---------- */
.hy-btn{
  display:inline-flex;align-items:center;gap:8px;
  height:44px;padding:0 20px;
  background:var(--hy-red);color:var(--hy-white);
  border:1px solid var(--hy-red);border-radius:var(--hy-r);
  font-size:15px;font-weight:700;letter-spacing:.04em;text-decoration:none;
  transition:background-color var(--hy-dur) var(--hy-ease),border-color var(--hy-dur) var(--hy-ease),transform var(--hy-dur) var(--hy-ease);
}
.hy-btn:hover{background:var(--hy-red-dark);border-color:var(--hy-red-dark);transform:translateX(4px);}
.hy-btn--ghost{background:transparent;color:var(--hy-ink);border-color:var(--hy-line);}
.hy-btn--ghost:hover{background:var(--hy-white);color:var(--hy-red-dark);border-color:var(--hy-red);}

.hy-tag{
  display:inline-flex;align-items:center;height:24px;padding:0 8px;
  border:1px solid var(--hy-line);border-radius:var(--hy-r);
  background:var(--hy-white);
  font-family:var(--hy-font-mono);font-size:11px;letter-spacing:.08em;
  color:var(--hy-teal-deep);white-space:nowrap;
}
.hy-tag--active{border-color:var(--hy-red);color:var(--hy-red);background:var(--hy-red-soft);}

.hy-panel{
  display:grid;grid-template-columns:64px minmax(0,1fr);
  gap:20px;align-items:start;
  padding:20px 0;border-top:1px solid var(--hy-line);
}
.hy-panel__num{font-family:var(--hy-font-mono);font-size:12px;letter-spacing:.08em;color:var(--hy-gold);padding-top:5px;}
.hy-panel__body{max-width:70ch;}
.hy-panel--offset{margin-left:8.3333%;}

.hy-breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  padding:18px 0 0;font-size:13px;color:var(--hy-teal);
}
.hy-breadcrumb a{color:var(--hy-teal-deep);text-decoration:none;transition:color var(--hy-dur) var(--hy-ease);}
.hy-breadcrumb a:hover{color:var(--hy-red-dark);}
.hy-breadcrumb__sep{color:var(--hy-line);}

/* 图片容器基础规则（页面阶段放置图片或占位） */
.hy-figure{
  position:relative;margin:0;overflow:hidden;
  border:1px solid var(--hy-line);border-radius:var(--hy-r);
  background:var(--hy-white);
  aspect-ratio:16 / 7;
}
.hy-figure img{width:100%;height:100%;object-fit:cover;}
.hy-figure--wide{aspect-ratio:21 / 9;}
.hy-figure--tall{aspect-ratio:4 / 3;}
.hy-figure--square{aspect-ratio:1 / 1;}
.hy-figure--empty{
  background-image:repeating-linear-gradient(135deg,var(--hy-mist) 0 12px,var(--hy-white) 12px 24px);
}
.hy-figure__caption{
  position:absolute;left:0;right:0;bottom:0;
  padding:10px 14px;
  background:var(--hy-glass-strong);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-top:1px solid var(--hy-line);
  font-size:13px;color:var(--hy-teal-deep);
}

/* ---------- 9. 动效 ---------- */
@keyframes hy-fade-in{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
@keyframes hy-drop-in{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}

[data-reveal]{
  opacity:0;transform:translateY(6px);
  transition:opacity 220ms var(--hy-ease),transform 220ms var(--hy-ease);
}
[data-reveal].is-in{opacity:1;transform:none;}

/* ---------- 10. 响应式 ---------- */
@media (max-width:1024px){
  :root{--hy-gutter:20px;}
  .hy-grid{grid-template-columns:repeat(8,minmax(0,1fr));}
  .hy-offset-1{grid-column:auto;}
  .hy-panel--offset{margin-left:0;}
}

@media (max-width:768px){
  .hy-navtoggle{display:inline-flex;}
  .hy-version,.hy-lang{display:none;}
  .hy-header__meta-inner{min-height:48px;gap:10px;}
  .hy-brand__note{font-size:12px;}

  .hy-nav__list{
    height:52px;overflow-x:auto;overflow-y:hidden;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    transition:none;
  }
  .hy-nav__list::-webkit-scrollbar{display:none;}
  .hy-nav__link{height:52px;padding:0 12px;font-size:14px;}
  .hy-nav__link::after{left:12px;right:12px;height:2px;}
  .hy-nav__link:hover{transform:none;}

  .hy-nav[data-open] .hy-nav__list{flex-wrap:wrap;height:auto;overflow:visible;}
  .hy-nav[data-open] .hy-nav__item{width:100%;}
  .hy-nav[data-open] .hy-nav__link{height:46px;width:100%;padding:0 12px;}
  .hy-nav[data-open] .hy-nav__link::after{left:0;right:auto;width:3px;height:100%;bottom:0;transform:scaleY(0);transform-origin:center top;}
  .hy-nav[data-open] .hy-nav__link:hover::after,
  .hy-nav[data-open] .hy-nav__link[aria-current="page"]::after{transform:scaleY(1);}
  .hy-header[data-compact] .hy-nav__list{height:48px;}
  .hy-header[data-compact] .hy-nav__link{font-size:14px;padding:0 12px;}

  .hy-search__list{grid-template-columns:1fr;max-height:52vh;}
  .hy-search__inner{padding:16px 0 20px;}

  .hy-footer{margin-top:64px;padding:24px 0 28px;}
  .hy-footer__copy{margin-left:0;}
  .hy-footer__toggle{margin-left:0;}
  .hy-footer__panel{grid-template-columns:1fr;gap:22px;}
  .hy-footer__note{grid-column:auto;}

  .hy-grid{grid-template-columns:1fr;gap:16px;}
  .hy-section{padding:48px 0;}
  .hy-panel{grid-template-columns:44px minmax(0,1fr);gap:14px;}
  .hy-figure{aspect-ratio:16 / 9;}
}

@media (max-width:560px){
  .hy-brand__note{display:none;}
  .hy-search-trigger__label{display:none;}
  .hy-footer__row{gap:4px 14px;}
  .hy-footer__tag{font-size:13px;}
  .hy-chip{height:28px;padding:0 10px;}
}

/* ---------- 11. 无障碍：减少动态 ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  [data-reveal]{opacity:1;transform:none;}
  .hy-btn:hover,.hy-chip:hover,.hy-nav__link:hover,.hy-search__link:hover{transform:none;}
  .hy-nav__link:hover::after{transform:scaleX(1);}
}
