/* ==========================================================================
   超凡娱乐 · 共享样式 /assets/site.css
   夜航仪表盘：深海墨蓝底 / 电光青通道 / 熔金橙状态点
   ========================================================================== */

/* --- 1. reset ----------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scrollbar-color:var(--c-line) var(--c-deep);
}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit;text-decoration:none}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--c-cyan);outline-offset:3px;border-radius:8px}
::selection{background:var(--c-cyan);color:#04140f}

/* --- 2. 变量 ------------------------------------------------------------- */
:root{
  color-scheme:dark;

  --c-deep:#071019;
  --c-navy:#0E1E2E;
  --c-line:#13293D;
  --c-cyan:#35E0D6;
  --c-cyan-soft:#8FE9E2;
  --c-amber:#FF8A2B;
  --c-cream:#E8F1F5;
  --c-mute:#7C93A6;
  --c-teal:#0B2E2C;

  --rail-left:168px;
  --rail-right:212px;
  --rail-label:inline;
  --rail-justify:flex-start;
  --rail-pad:12px;
  --rail-brand:17px;
  --topbar-h:56px;

  --content-max:1280px;
  --gutter:24px;

  --radius-lg:28px;
  --radius-md:18px;
  --radius-pill:999px;

  --font-cn:"PingFang SC","HarmonyOS Sans SC","Source Han Sans SC","Noto Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;

  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:420ms;
  --step:70ms;
}
html[data-rail="collapsed"]{
  --rail-left:72px;
  --rail-label:none;
  --rail-justify:center;
  --rail-pad:4px;
  --rail-brand:14px;
}

/* --- 3. 中文排版与页面底色 ------------------------------------------------ */
body{
  font-family:var(--font-cn);
  font-size:16px;
  line-height:1.75;
  color:var(--c-cream);
  background-color:var(--c-deep);
  background-image:
    radial-gradient(900px 620px at 82% -12%, rgba(53,224,214,.10), transparent 72%),
    radial-gradient(680px 520px at 4% 106%, rgba(255,138,43,.06), transparent 70%),
    repeating-linear-gradient(100deg, rgba(19,41,61,.42) 0 1px, transparent 1px 68px);
  background-attachment:fixed;
  padding-left:var(--rail-left);
  padding-right:var(--rail-right);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-weight:900;letter-spacing:-.02em;line-height:1.05}
h1{font-size:clamp(2.4rem,7vw,5.5rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.75rem)}
h3{font-size:clamp(1.15rem,2vw,1.5rem)}
h4{font-size:18px;line-height:1.35}
strong{font-weight:700}
#main-content{display:block;min-height:55vh}
#main-content:focus{outline:none}

/* --- 4. 通用工具 --------------------------------------------------------- */
.mono{font-family:var(--font-mono);letter-spacing:.08em;color:var(--c-cyan);font-variant-numeric:tabular-nums}
.wrap{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(48px,7vw,104px)}
.section--tight{padding-block:clamp(26px,4vw,56px)}
.section__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:clamp(20px,3vw,40px)}
.section__title{font-size:clamp(1.6rem,3.2vw,2.6rem)}
.section__lead{font-size:16px;color:var(--c-mute);max-width:56ch}
.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--c-cyan);text-transform:uppercase}
.lead{font-size:clamp(16px,1.4vw,19px);line-height:1.8;color:var(--c-mute);max-width:62ch}
.annot{writing-mode:vertical-rl;font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;color:var(--c-mute)}
.stack{display:flex;flex-direction:column;gap:var(--stack-gap,18px)}
.grid{display:grid;gap:var(--gutter)}
.grid--5-7{grid-template-columns:5fr 7fr}
.grid--7-5{grid-template-columns:7fr 5fr}
.grid--index{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.panel{background:var(--c-navy);border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:clamp(20px,3vw,34px)}
.panel--teal{background:var(--c-teal)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid var(--c-line);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--c-mute);background:rgba(14,30,46,.6)}
.chip--cyan{color:var(--c-cyan);border-color:rgba(53,224,214,.4)}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c-cyan)}
.dot--amber{background:var(--c-amber)}

/* 按钮 */
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:var(--radius-pill);border:1px solid var(--c-line);background:var(--c-navy);color:var(--c-cream);font-size:15px;font-weight:600;letter-spacing:-.01em;transition:border-color 240ms var(--ease),color 240ms var(--ease),background 240ms var(--ease),transform 240ms var(--ease)}
.btn:hover{border-color:var(--c-cyan);color:var(--c-cyan-soft);transform:translateY(-1px)}
.btn--primary{background:var(--c-cyan);border-color:transparent;color:#04140f}
.btn--primary:hover{background:var(--c-cyan-soft);color:#04140f}
.btn--ghost{background:transparent;border-color:var(--c-line);color:var(--c-cream)}
.btn--ghost:hover{border-color:var(--c-cyan)}

/* 面包屑 */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--c-mute)}
.crumbs__item{display:inline-flex;align-items:center;gap:8px}
.crumbs__item:not(:last-child)::after{content:"/";color:rgba(124,147,166,.5)}
.crumbs__link{transition:color 200ms var(--ease)}
.crumbs__link:hover{color:var(--c-cyan)}
.crumbs__current{color:var(--c-cream)}

/* 图片容器（页面阶段放 img 或 figure） */
.media{position:relative;overflow:hidden;border:1px solid var(--c-line);border-radius:var(--radius-lg);
  background-color:var(--c-navy);
  background-image:linear-gradient(135deg,rgba(19,41,61,.9),rgba(11,46,44,.55))}
.media img{width:100%;height:100%;object-fit:cover}
.media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(0deg,rgba(53,224,214,.06) 0 1px,transparent 1px 22px),
    repeating-linear-gradient(90deg,rgba(53,224,214,.06) 0 1px,transparent 1px 22px)}
.media--wide{aspect-ratio:16/9}
.media--tall{aspect-ratio:3/4}
.media--square{aspect-ratio:1/1}
.media__caption{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--c-cyan-soft);text-shadow:0 1px 10px rgba(7,16,25,.92)}

/* 长文正文 */
.prose{font-size:16px;line-height:1.9;color:rgba(232,241,245,.92)}
.prose h2{margin:1.6em 0 .6em;font-size:clamp(1.3rem,2.4vw,1.9rem)}
.prose h3{margin:1.4em 0 .5em}
.prose p{margin-bottom:1.1em;max-width:64ch}
.prose ul{margin-bottom:1.2em;display:flex;flex-direction:column;gap:8px}
.prose li{position:relative;padding-left:20px;color:var(--c-mute);max-width:62ch}
.prose li::before{content:"";position:absolute;left:0;top:.85em;width:8px;height:1px;background:var(--c-cyan)}
.prose a{color:var(--c-cyan);border-bottom:1px solid rgba(53,224,214,.4)}

/* 滚动显现（由 data-reveal-ready 开关，脚本未就绪时内容始终可见） */
html[data-reveal-ready="on"] [data-reveal]{
  opacity:0;transform:translateY(20px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform;
}
html[data-reveal-ready="on"] [data-reveal].is-in{opacity:1;transform:none}

/* --- 5. 页头骨架 --------------------------------------------------------- */
.site-header{position:relative;z-index:80}

.skip-link{position:fixed;top:10px;left:10px;z-index:300;transform:translateY(-220%);
  padding:10px 18px;border-radius:var(--radius-pill);background:var(--c-cyan);color:#04140f;
  font-size:14px;font-weight:700;transition:transform 240ms var(--ease)}
.skip-link:focus-visible{transform:translateY(0)}

/* 移动顶栏 */
.topbar{
  display:none;
  position:fixed;inset:0 0 auto 0;height:var(--topbar-h);z-index:100;
  align-items:center;gap:12px;padding:0 14px;
  background:rgba(7,16,25,.94);
  border-bottom:1px solid var(--c-line);
  backdrop-filter:blur(10px);
}
.topbar__brand{font-size:17px;font-weight:900;letter-spacing:-.03em;margin-inline:auto}
.topbar__ver{font-size:11px;color:var(--c-mute)}

.nav-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;
  border:1px solid var(--c-line);border-radius:var(--radius-pill);background:var(--c-navy);
  color:var(--c-cream);font-size:13px;font-weight:600;
  transition:border-color 240ms var(--ease),color 240ms var(--ease)}
.nav-toggle:hover{border-color:var(--c-cyan)}
.nav-toggle__bars{position:relative;display:block;width:16px;height:10px}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0;right:0;height:1.5px;
  background:var(--c-cyan);border-radius:2px;transition:transform 280ms var(--ease)}
.nav-toggle__bars::before{top:0}
.nav-toggle__bars::after{bottom:0}
.nav-toggle[aria-expanded="true"]{border-color:var(--c-cyan);color:var(--c-cyan)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(4.25px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-4.25px) rotate(-45deg)}

/* 通道条（视觉边框） */
.rail{
  position:fixed;top:0;bottom:0;z-index:70;
  display:flex;flex-direction:column;align-items:center;
  padding:22px var(--rail-pad) 20px;
  pointer-events:none;
  overflow:hidden;
  transition:width 320ms var(--ease),padding 320ms var(--ease);
}
.rail--left{left:0;width:var(--rail-left);border-right:1px solid var(--c-line);
  background-image:linear-gradient(180deg,rgba(14,30,46,.92),rgba(7,16,25,.94));
  box-shadow:1px 0 0 rgba(53,224,214,.05)}
.rail--right{right:0;width:var(--rail-right);border-left:1px solid var(--c-line);
  background-image:linear-gradient(180deg,rgba(14,30,46,.86),rgba(7,16,25,.9));
  padding-block:30px;gap:18px}
.rail__brand,.rail__toggle,.rail__note,.rail__caption,.rail__meta,.quick-list{pointer-events:auto}

.rail__brand{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding-top:6px;text-align:center}
.rail__brand-cn{font-size:var(--rail-brand);font-weight:900;letter-spacing:-.04em;transition:font-size 320ms var(--ease)}
.rail__brand-en{display:var(--rail-label);font-size:9px;color:var(--c-mute)}
.rail__toggle{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto;
  padding:10px 4px;border:1px solid transparent;border-radius:14px;color:var(--c-mute);
  font-size:12px;letter-spacing:.1em;transition:color 240ms var(--ease),border-color 240ms var(--ease)}
.rail__toggle:hover{color:var(--c-cyan);border-color:var(--c-line)}
.rail__toggle-icon{position:relative;display:block;width:18px;height:13px;border-left:1.5px solid currentColor;border-right:1.5px solid currentColor;border-radius:4px}
.rail__toggle-icon::before{content:"";position:absolute;top:50%;left:50%;width:8px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.rail__toggle-text{display:var(--rail-label);font-size:11px}
.rail__note{writing-mode:vertical-rl;font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;color:var(--c-mute);margin-top:6px}

.rail__caption{writing-mode:vertical-rl;align-self:flex-end;margin-right:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.34em;color:var(--c-mute)}
.rail__meta{margin-top:auto;max-width:150px;text-align:center;font-size:11px;line-height:1.6;color:var(--c-mute)}
.rail__meta::before{content:"";display:block;width:20px;height:2px;margin:0 auto 10px;border-radius:2px;background:var(--c-line)}

/* 主导航（桌面即左通道条的纵向索引） */
.site-nav{
  position:fixed;top:0;bottom:0;left:0;width:var(--rail-left);z-index:72;
  display:flex;flex-direction:column;
  padding:150px 8px 132px;
  overflow-y:auto;overscroll-behavior:contain;
  transition:width 320ms var(--ease);
}
.site-nav__list{display:flex;flex-direction:column;gap:4px;margin:auto 0}
.site-nav__extra{display:none}
.site-nav__extra-title{font-size:11px;color:var(--c-mute);margin-bottom:10px}

.rail-link{position:relative;display:flex;align-items:center;justify-content:var(--rail-justify);
  gap:10px;padding:11px 12px;border-radius:14px;color:var(--c-cream);
  font-size:14px;font-weight:600;letter-spacing:-.02em;
  transition:background 240ms var(--ease),color 240ms var(--ease)}
.rail-link::before{content:"";position:absolute;left:0;top:50%;width:2px;height:0;border-radius:2px;
  background:var(--c-cyan);transform:translateY(-50%);transition:height 300ms var(--ease)}
.rail-link:hover{background:var(--c-navy);color:var(--c-cyan-soft)}
.rail-link:hover::before{height:14px}
.rail-link[aria-current="page"]{background:var(--c-navy)}
.rail-link[aria-current="page"]::before{height:22px}
.rail-link[aria-current="page"] .rail-link__label{color:var(--c-cyan)}
.rail-link__idx{font-size:11px;color:var(--c-mute);transition:color 240ms var(--ease)}
.rail-link[aria-current="page"] .rail-link__idx,
.rail-link:hover .rail-link__idx{color:var(--c-cyan)}
.rail-link__label{display:var(--rail-label)}

/* 三条动线快捷入口 */
.quick-list{display:flex;flex-direction:column;gap:10px;width:100%;margin:auto 0}
.quick-link{display:flex;flex-direction:column;gap:6px;padding:14px;
  border:1px solid var(--c-line);border-radius:var(--radius-md);
  background:rgba(14,30,46,.7);
  transition:border-color 260ms var(--ease),background 260ms var(--ease),transform 260ms var(--ease)}
.quick-link:hover{border-color:var(--c-cyan);background:rgba(19,41,61,.92);transform:translateX(-2px)}
.quick-link__idx{font-size:11px;color:var(--c-cyan)}
.quick-link__text{font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--c-cream)}
.quick-item--alert .quick-link__idx::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;
  border-radius:50%;background:var(--c-amber);vertical-align:middle;box-shadow:0 0 0 3px rgba(255,138,43,.16)}

/* --- 6. 页脚 ------------------------------------------------------------- */
.site-footer{
  position:relative;
  margin-top:clamp(60px,10vw,140px);
  border-top:1px solid var(--c-line);
  background-color:var(--c-deep);
  background-image:
    repeating-linear-gradient(100deg,rgba(19,41,61,.5) 0 1px,transparent 1px 56px),
    linear-gradient(180deg,rgba(11,46,44,.55),rgba(7,16,25,.96));
  padding:clamp(40px,6vw,78px) var(--gutter) 28px;
}
.site-footer::before{content:"";position:absolute;top:0;left:0;width:min(46%,420px);height:1px;
  background:linear-gradient(90deg,var(--c-cyan),rgba(53,224,214,0))}
.footer-inner{width:100%;max-width:var(--content-max);margin-inline:auto}

.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(24px,3vw,48px)}
.footer-brand__mark{font-size:clamp(20px,2.4vw,28px);font-weight:900;letter-spacing:-.03em}
.footer-brand__sub{margin-top:10px;font-size:14px;color:var(--c-mute);max-width:34ch}
.footer-brand__hours{margin-top:16px;font-size:12px;letter-spacing:.04em;color:var(--c-cyan-soft)}
.footer-col{min-width:0}
.footer-col__title{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--c-cream)}
.footer-col__title::before{content:"";display:block;width:22px;height:2px;margin-bottom:12px;border-radius:2px;background:var(--c-cyan)}
.footer-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.footer-link{font-size:14px;color:var(--c-mute);transition:color 200ms var(--ease)}
.footer-link:hover{color:var(--c-cyan)}
.footer-col__note{margin-top:16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--c-mute);opacity:.75}

.footer-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 32px;
  margin-top:clamp(32px,4vw,56px);padding-top:24px;border-top:1px solid var(--c-line)}
.footer-contact__item{display:flex;flex-direction:column;gap:6px;min-width:0}
.footer-contact__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--c-mute)}
.footer-contact__value{font-size:14px;color:var(--c-cream);word-break:break-word}

.footer-base{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;
  margin-top:28px;padding-top:18px;border-top:1px solid var(--c-line);
  font-size:12px;color:var(--c-mute)}
.footer-base__copy{color:var(--c-mute)}
.footer-base__icp{font-size:11px;color:var(--c-mute)}

/* --- 7. 响应式 ----------------------------------------------------------- */
@media (max-width:1239px){
  :root{
    --rail-left:72px;
    --rail-right:0px;
    --rail-label:none;
    --rail-justify:center;
    --rail-pad:4px;
    --rail-brand:14px;
    --gutter:20px;
  }
  .rail--right{display:none}
}

@media (max-width:899px){
  :root{--gutter:18px}
  body{padding-left:0;padding-right:0;padding-top:var(--topbar-h)}
  .rail{display:none}
  .topbar{display:flex}
  .nav-toggle{display:inline-flex}

  .site-nav{
    top:var(--topbar-h);bottom:0;left:0;width:min(84vw,330px);
    transform:translateX(-102%);
    transition:transform 340ms var(--ease);
    padding:20px 14px 36px;
    border-right:1px solid var(--c-line);
    border-top:none;
    background-image:linear-gradient(180deg,rgba(14,30,46,.99),rgba(7,16,25,.99));
    box-shadow:0 0 70px rgba(0,0,0,.65);
    z-index:110;
  }
  .site-nav[data-open]{transform:translateX(0)}
  .site-nav__list{margin:0;gap:2px}
  .site-nav__extra{display:block;margin-top:auto;padding-top:20px;border-top:1px solid var(--c-line)}
  .rail-link{padding:14px 12px;font-size:16px;border-radius:16px}
  .rail-link__label{display:inline}
  .quick-link{padding:13px 14px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .footer-brand{grid-column:1 / -1}
  .footer-contact{grid-template-columns:1fr}
}

@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr}
  .footer-base{flex-direction:column;align-items:flex-start}
}

/* --- 8. 动效降级 --------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  html[data-reveal-ready="on"] [data-reveal]{opacity:1;transform:none}
  .site-nav{transition:none}
  .rail{transition:none}
}
