/* =========================================================
   BET9 登录口 · 共享样式 /assets/site.css
   夜间灯塔与数字坐标：堆叠面板 + 非对称栅格 + 精密网格
   ========================================================= */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --ink-deep:#061726;
  --ink-panel:#0B2537;
  --ink-raise:#123B54;
  --map-line:#1E5A7A;
  --signal:#FF6B2C;
  --signal-soft:#FFA05C;
  --neon:#2FE0D0;
  --neon-soft:#9FE8E2;
  --cold:#E8EDF2;
  --warm:#B9C6CE;
  --warm-light:#F2E6D8;
  --ink-on-light:#3D5462;
  --accent-on-light:#B8431A;

  --sans:"Helvetica Neue","Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --mono:ui-monospace,"SFMono-Regular","JetBrains Mono",Consolas,"Cascadia Mono","Courier New",monospace;

  --shell:1280px;
  --gutter:32px;
  --header-h:76px;
  --measure:40em;

  --s1:12px; --s2:14px; --s3:16px; --s4:20px; --s5:25px;
  --s6:32px; --s7:40px; --s8:64px; --s9:96px;
}

/* ---------- 2. 重置 ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  min-height:100%;
  background-color:var(--ink-deep);
  color:var(--cold);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.8;
  letter-spacing:.01em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
img,svg,video{display:block;max-width:100%;height:auto;}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
a{color:var(--neon);text-decoration:none;}
a:hover{color:var(--neon-soft);}
strong,b{font-weight:700;color:var(--cold);}
hr{border:0;border-top:1px solid var(--map-line);margin:0;}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;}

/* ---------- 3. 中文排版与文本层级 ---------- */
.t-display,.t-h1,.t-h2,.t-h3{
  font-family:var(--sans);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.14;
  color:var(--cold);
}
.t-display{font-size:clamp(40px,7.4vw,96px);}
.t-h1{font-size:clamp(32px,4.4vw,64px);}
.t-h2{font-size:clamp(25px,3vw,40px);}
.t-h3{font-size:clamp(20px,1.9vw,25px);font-weight:700;letter-spacing:-.01em;line-height:1.3;}
.t-lead{font-size:18px;line-height:1.85;color:var(--cold);max-width:32em;}
.t-body{font-size:17px;line-height:1.8;color:var(--warm);max-width:var(--measure);}
.t-body + .t-body{margin-top:1.2em;}
.t-mono{
  font-family:var(--mono);
  font-size:12px;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--warm);
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--mono);
  font-size:12px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--neon);
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--neon);flex:none;}
.text-signal{color:var(--signal);}
.text-neon{color:var(--neon);}
.text-warm{color:var(--warm);}

/* ---------- 4. 布局骨架 ---------- */
.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 var(--gutter);}
.narrow{width:100%;max-width:760px;margin:0 auto;}
.page-main{display:block;}
.section{padding:var(--s8) 0;}
.section--tight{padding:var(--s7) 0;}
.section + .section{border-top:1px solid var(--map-line);}
.band{
  background:var(--ink-panel);
  border-top:1px solid var(--map-line);
  border-bottom:1px solid var(--map-line);
  padding:var(--s8) 0;
}
.band--raised{background:var(--ink-raise);}
.band--tight{padding:var(--s7) 0;}
.rule{height:1px;background:var(--map-line);border:0;}
.stack > * + *{margin-top:var(--s4);}
.flow > * + *{margin-top:var(--s6);}
.split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,3.2fr);
  gap:var(--s7);
  align-items:start;
}
.grid-2,.grid-3,.grid-4{display:grid;gap:var(--s5);}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}

/* ---------- 5. 跳转链接 ---------- */
.skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:300;
  transform:translateY(-220%);
  background:var(--signal);
  color:var(--ink-deep);
  font-size:14px;
  font-weight:700;
  padding:11px 18px;
  transition:transform .18s ease;
}
.skip-link:focus{transform:translateY(0);color:var(--ink-deep);}
#main-content:focus{outline:none;}

/* ---------- 6. 头部 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background-color:rgba(6,23,38,.94);
  border-bottom:1px solid var(--map-line);
  backdrop-filter:blur(8px);
}
.header-grid{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:var(--s5);
  width:100%;
  max-width:var(--shell);
  margin:0 auto;
  padding:0 var(--gutter);
  min-height:var(--header-h);
  transition:min-height .24s ease;
}
.site-header[data-condensed] .header-grid{min-height:56px;}

.brand{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px 0;
  text-decoration:none;
}
.brand-mark{
  font-size:20px;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--cold);
  transition:color .18s ease;
}
.brand:hover .brand-mark{color:var(--signal-soft);}
.brand-line{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.05em;
  color:var(--warm);
  transition:opacity .2s ease;
}
.site-header[data-condensed] .brand-line{opacity:0;}

/* ---------- 7. 导航 ---------- */
.site-nav{display:flex;justify-content:center;}
.nav-list{display:flex;align-items:center;gap:2px;flex-wrap:wrap;}
.nav-item{display:block;}
.nav-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  color:var(--warm);
  white-space:nowrap;
  transition:color .16s ease,background-color .16s ease;
}
.nav-link:hover{color:var(--cold);background:var(--ink-panel);}
.nav-index{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.04em;
  color:var(--map-line);
  transition:color .16s ease;
}
.nav-link:hover .nav-index{color:var(--neon);}
.nav-link[aria-current="page"]{color:var(--signal);background:rgba(255,107,44,.08);}
.nav-link[aria-current="page"] .nav-index{color:var(--signal-soft);}
.nav-link[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:2px;
  height:2px;
  background:var(--signal);
}

.header-actions{display:flex;align-items:center;gap:10px;}

/* ---------- 8. 按钮与标签 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 20px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.2;
  border:1px solid transparent;
  background:transparent;
  color:var(--cold);
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.btn-signal{background:var(--signal);color:var(--ink-deep);}
.btn-signal:hover{background:var(--signal-soft);color:var(--ink-deep);}
.btn-ghost{border-color:var(--map-line);color:var(--cold);}
.btn-ghost:hover{border-color:var(--neon);color:var(--neon);}
.btn-quiet{border:0;padding:12px 4px;color:var(--neon);}
.btn-quiet:hover{color:var(--neon-soft);}

.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 10px;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--neon);
  border:1px solid var(--map-line);
  background:rgba(47,224,208,.06);
}
.tag--signal{color:var(--signal-soft);background:rgba(255,107,44,.08);}

/* ---------- 9. 移动导航按钮 ---------- */
.nav-toggle{
  display:none;
  align-items:center;
  gap:9px;
  padding:10px 13px;
  border:1px solid var(--map-line);
  color:var(--cold);
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.08em;
  transition:border-color .18s ease,color .18s ease;
}
.nav-toggle:hover{border-color:var(--neon);color:var(--neon);}
.nav-toggle-bars{
  position:relative;
  display:block;
  width:16px;
  height:2px;
  background:var(--signal);
  transition:background-color .18s ease;
}
.nav-toggle-bars::before,
.nav-toggle-bars::after{
  content:"";
  position:absolute;
  left:0;
  width:16px;
  height:2px;
  background:var(--signal);
  transition:transform .2s ease;
}
.nav-toggle-bars::before{transform:translateY(-5px);}
.nav-toggle-bars::after{transform:translateY(5px);}
.nav-toggle[data-open]{border-color:var(--signal);color:var(--signal);}
.nav-toggle[data-open] .nav-toggle-bars{background:transparent;}
.nav-toggle[data-open] .nav-toggle-bars::before{transform:translateY(0) rotate(45deg);}
.nav-toggle[data-open] .nav-toggle-bars::after{transform:translateY(0) rotate(-45deg);}

/* ---------- 10. 顶部滚动光带 ---------- */
.header-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  overflow:hidden;
  pointer-events:none;
}
.header-progress > span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,var(--neon) 0%,var(--signal) 100%);
}

/* ---------- 11. 面包屑 ---------- */
.breadcrumbs{padding:var(--s5) 0 0;}
.breadcrumbs ol{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--warm);
}
.breadcrumbs li{display:flex;align-items:center;}
.breadcrumbs li + li::before{
  content:"/";
  display:inline-block;
  margin:0 10px;
  color:var(--map-line);
}
.breadcrumbs a{color:var(--warm);}
.breadcrumbs a:hover{color:var(--neon);}
.breadcrumbs [aria-current="page"]{color:var(--neon);}

/* ---------- 12. 面板 ---------- */
.panel{
  background:var(--ink-panel);
  border:1px solid var(--map-line);
  padding:var(--s6);
}
.panel--raise{background:var(--ink-raise);border-color:var(--ink-raise);}

/* ---------- 13. 图片容器 ---------- */
.media-frame{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  background-color:var(--ink-panel);
  background-image:
    repeating-linear-gradient(0deg,rgba(30,90,122,.34) 0 1px,transparent 1px 24px),
    repeating-linear-gradient(90deg,rgba(30,90,122,.34) 0 1px,transparent 1px 24px);
  border:1px solid var(--map-line);
}
.media-frame > img{width:100%;height:100%;object-fit:cover;}
.media-frame--21x9{aspect-ratio:21 / 9;}
.media-frame--16x9{aspect-ratio:16 / 9;}
.media-frame--4x3{aspect-ratio:4 / 3;}
.media-frame--1x1{aspect-ratio:1 / 1;}
.media-frame--signal::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(255,107,44,.30) 0%,rgba(255,107,44,0) 46%);
}

/* ---------- 14. 分段切换 ---------- */
.segmented{display:block;}
.segmented-list{
  display:flex;
  flex-wrap:wrap;
  border-bottom:1px solid var(--map-line);
}
.segmented-tab{
  position:relative;
  padding:12px 18px;
  margin-bottom:-1px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--warm);
  border-bottom:2px solid transparent;
  transition:color .16s ease,border-color .16s ease,background-color .16s ease;
}
.segmented-tab:hover{color:var(--cold);background:var(--ink-panel);}
.segmented-tab[aria-selected="true"]{
  color:var(--signal);
  border-bottom-color:var(--signal);
  background:rgba(255,107,44,.06);
}
.segmented-panel{padding-top:var(--s6);}
.segmented-panel[hidden]{display:none;}

/* ---------- 15. 滚动显现 ---------- */
.js-ready [data-reveal]{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .3s ease,transform .3s ease;
}
.js-ready [data-reveal].is-visible{opacity:1;transform:none;}

/* ---------- 16. 页脚 ---------- */
.site-footer{
  margin-top:var(--s9);
  background:var(--warm-light);
  color:var(--ink-deep);
  border-top:4px solid var(--signal);
}
.footer-inner{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);
  gap:var(--s7);
  width:100%;
  max-width:var(--shell);
  margin:0 auto;
  padding:56px var(--gutter) var(--s6);
}
.footer-brand{display:block;}
.footer-mark{
  display:inline-block;
  font-size:22px;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--ink-deep);
}
.footer-mark:hover{color:var(--accent-on-light);}
.footer-line{
  margin-top:8px;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--ink-on-light);
}
.footer-note{
  margin-top:var(--s3);
  max-width:34em;
  font-size:13px;
  line-height:1.75;
  color:var(--ink-on-light);
}
.footer-col{display:block;}
.footer-title{
  padding-bottom:10px;
  margin-bottom:var(--s2);
  font-family:var(--mono);
  font-size:12px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent-on-light);
  border-bottom:1px solid rgba(6,23,38,.18);
}
.footer-list li + li{margin-top:10px;}
.footer-list a{
  font-size:15px;
  color:var(--ink-deep);
  border-bottom:1px solid transparent;
  transition:color .16s ease,border-color .16s ease;
}
.footer-list a:hover{color:var(--accent-on-light);border-bottom-color:var(--accent-on-light);}

.footer-base{
  background:var(--ink-deep);
  border-top:1px solid var(--map-line);
}
.footer-base-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px var(--s5);
  width:100%;
  max-width:var(--shell);
  margin:0 auto;
  padding:var(--s4) var(--gutter);
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.03em;
  color:var(--warm);
}
.footer-contact{color:var(--warm);}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px var(--s4);}
.footer-legal a{color:var(--neon);}
.footer-legal a:hover{color:var(--neon-soft);}
.footer-stamp{color:var(--warm);}

/* ---------- 17. 响应式 ---------- */
@media (max-width:1080px){
  :root{--gutter:24px;}
  .nav-link{padding:9px 10px;font-size:13px;}
  .grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:900px){
  .nav-toggle{display:inline-flex;}
  .header-grid{grid-template-columns:minmax(0,1fr) auto;gap:var(--s3);}
  .header-actions .btn-ghost{display:none;}
  .site-nav{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    display:block;
    justify-content:flex-start;
    background:var(--ink-panel);
    border-top:1px solid var(--map-line);
    border-bottom:1px solid var(--map-line);
    max-height:0;
    overflow:hidden;
    visibility:hidden;
    transition:max-height .28s ease,visibility .28s ease;
  }
  .site-nav[data-open]{
    max-height:min(72vh,540px);
    overflow-y:auto;
    visibility:visible;
  }
  .nav-list{
    flex-direction:column;
    align-items:stretch;
    flex-wrap:nowrap;
    gap:0;
    padding:6px 0;
  }
  .nav-link{
    width:100%;
    justify-content:flex-start;
    padding:14px var(--gutter);
    font-size:16px;
  }
  .nav-index{font-size:11px;}
  .nav-link[aria-current="page"]::after{
    left:var(--gutter);
    right:auto;
    bottom:9px;
    width:18px;
  }
  .split{grid-template-columns:minmax(0,1fr);gap:var(--s5);}
  .section{padding:56px 0;}
  .band{padding:56px 0;}
  .footer-inner{grid-template-columns:minmax(0,1fr);gap:var(--s6);padding:44px var(--gutter) var(--s5);}
  .footer-base-inner{flex-direction:column;align-items:flex-start;}
}

@media (max-width:640px){
  :root{--gutter:18px;--header-h:64px;}
  body{font-size:16px;}
  .brand-mark{font-size:17px;}
  .brand-line{display:none;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr);}
  .t-body,.t-lead{font-size:16px;}
  .section{padding:44px 0;}
  .section--tight{padding:32px 0;}
  .band{padding:44px 0;}
  .band--tight{padding:32px 0;}
  .panel{padding:var(--s4);}
  .segmented-tab{padding:11px 13px;font-size:13px;}
}

/* ---------- 18. 减弱动效 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .js-ready [data-reveal]{opacity:1;transform:none;}
}
