/* ============================================================
   问鼎娱乐 · 共享样式表  /assets/site.css
   墨黑为地 · 鎏金为光 · 青铜暗面承托信息
   ============================================================ */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --ink:#0B0B0C;
  --ink-2:#141416;
  --bronze:#1E1C18;
  --gold:#C9A227;
  --gold-lite:#E8C766;
  --crimson:#7A1F1F;
  --paper:#F2EDE4;
  --mute:#8A8578;
  --patina:#3E6B5C;

  --line:rgba(138,133,120,.22);
  --line-strong:rgba(138,133,120,.40);
  --gold-line:rgba(201,162,39,.32);
  --gold-soft:rgba(201,162,39,.10);

  --font-serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",Georgia,serif;
  --font-sans:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-mono:"JetBrains Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

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

  --wrap:1280px;
  --gutter:24px;
  --header-h:88px;
  --pill:999px;
  --soft:20px;
}

@media (max-width:780px){
  :root{
    --gutter:18px;
    --header-h:80px;
  }
}

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

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

body{
  margin:0;
  padding-top:var(--header-h);
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-sans);
  font-size:1rem;
  font-weight:400;
  line-height:1.85;
  letter-spacing:.01em;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  margin:0;
  font-family:var(--font-serif);
  font-weight:700;
  line-height:1.28;
  letter-spacing:-.01em;
  color:var(--paper);
}

p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
img,svg,video{ max-width:100%; display:block; }
a{ color:inherit; }
button{ font:inherit; color:inherit; }

::selection{
  background:rgba(201,162,39,.34);
  color:#FFF9EC;
}

:focus-visible{
  outline:2px solid var(--gold-lite);
  outline-offset:3px;
  border-radius:3px;
}

/* ---------- 3. 布局原语 ---------- */
.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.wrap-narrow{ max-width:860px; }

.section{ padding:96px 0; }
@media (max-width:780px){ .section{ padding:64px 0; } }

.grid{ display:grid; gap:24px; }

.grid-12{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:24px;
}
@media (max-width:1080px){
  .grid-12{ grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media (max-width:640px){
  .grid-12{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
}

.stack > * + *{ margin-top:16px; }
.cluster{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }

.rule{
  height:1px;
  border:0;
  margin:0;
  background:var(--line);
}

.visually-hidden{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

/* ---------- 4. 排版辅助 ---------- */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}
.eyebrow::before{
  content:"";
  width:26px;
  height:1px;
  background:var(--gold);
  opacity:.72;
}

.lead{
  max-width:62ch;
  font-size:1.0625rem;
  line-height:1.9;
  color:rgba(242,237,228,.82);
}

.prose{
  max-width:66ch;
  color:rgba(242,237,228,.86);
}
.prose > * + *{ margin-top:1.15em; }
.prose h2{ font-size:1.75rem; margin-top:2.2em; }
.prose h3{ font-size:1.25rem; margin-top:1.8em; }
.prose a{
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:1px;
}
.prose ul,
.prose ol{ padding-left:1.25em; list-style:disc; }
.prose ol{ list-style:decimal; }
.prose li + li{ margin-top:.5em; }
.prose code{
  font-family:var(--font-mono);
  font-size:.875em;
  color:var(--gold-lite);
}

/* ---------- 5. 按钮 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:42px;
  padding:0 20px;
  border:1px solid transparent;
  border-radius:var(--pill);
  font-family:var(--font-sans);
  font-size:.9375rem;
  font-weight:500;
  letter-spacing:.04em;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:
    transform var(--dur) var(--ease),
    background-color var(--dur) var(--ease),
    border-color var(--dur) var(--ease),
    color var(--dur) var(--ease),
    box-shadow var(--dur) var(--ease);
}
.btn:active{ transform:translateY(1px); }

.btn-gold{
  background:linear-gradient(180deg,var(--gold-lite) 0%,var(--gold) 100%);
  color:#15120C;
  box-shadow:
    0 0 0 1px rgba(232,199,102,.45),
    0 14px 34px -18px rgba(201,162,39,.95);
}
.btn-gold:hover{
  background:var(--gold-lite);
  box-shadow:
    0 0 0 1px rgba(232,199,102,.7),
    0 16px 40px -16px rgba(201,162,39,1);
}

.btn-ghost{
  background:transparent;
  color:var(--paper);
  border-color:var(--line-strong);
}
.btn-ghost:hover{
  border-color:var(--gold);
  color:var(--gold-lite);
}

.btn-quiet{
  background:rgba(242,237,228,.05);
  color:var(--paper);
  border-color:rgba(242,237,228,.12);
}
.btn-quiet:hover{
  background:rgba(242,237,228,.1);
  color:var(--gold-lite);
  border-color:var(--gold-line);
}

/* ---------- 6. 状态 / 面板 / 标签 ---------- */
.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:30px;
  padding:0 12px;
  border:1px solid var(--line-strong);
  border-radius:var(--pill);
  background:rgba(242,237,228,.04);
  font-size:.8125rem;
  letter-spacing:.04em;
  color:var(--mute);
  white-space:nowrap;
}

.tag{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 10px;
  border-radius:2px;
  background:rgba(122,31,31,.24);
  border:1px solid rgba(122,31,31,.5);
  color:#E4C9C9;
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.1em;
}

.status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.08em;
  color:var(--mute);
}
.status-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--patina);
  box-shadow:0 0 0 3px rgba(62,107,92,.2);
}
.status--gold .status-dot{
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(201,162,39,.2);
}
.status--warn .status-dot{
  background:var(--crimson);
  box-shadow:0 0 0 3px rgba(122,31,31,.24);
}

.panel{
  background:var(--bronze);
  border:1px solid var(--line);
  border-radius:2px;
  overflow:hidden;
}
.panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  border-bottom:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mute);
}
.panel-body{ padding:20px 18px; }

/* ---------- 7. 图片容器 ---------- */
.media{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:2px;
  background:linear-gradient(145deg,#221F1A 0%,#141416 58%,#0B0B0C 100%);
  isolation:isolate;
}
.media::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(80% 62% at 18% 0%,rgba(201,162,39,.16),transparent 66%);
  pointer-events:none;
  z-index:1;
}
.media > img,
.media > picture > img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.82) contrast(1.06) brightness(.94);
}
.media-16x9{ aspect-ratio:16 / 9; }
.media-21x9{ aspect-ratio:21 / 9; }
.media-4x3{ aspect-ratio:4 / 3; }
.media-1x1{ aspect-ratio:1 / 1; }
.media-3x4{ aspect-ratio:3 / 4; }
.media-caption{
  margin-top:10px;
  font-size:.8125rem;
  letter-spacing:.02em;
  color:var(--mute);
}

/* ---------- 8. 面包屑 ---------- */
.breadcrumb{
  font-size:.8125rem;
  color:var(--mute);
}
.breadcrumb ol{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.breadcrumb li{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.breadcrumb li + li::before{
  content:"/";
  color:var(--line-strong);
}
.breadcrumb a{
  color:var(--mute);
  text-decoration:none;
  transition:color var(--dur) var(--ease);
}
.breadcrumb a:hover{ color:var(--gold); }
.breadcrumb [aria-current="page"]{ color:var(--paper); }

/* ============================================================
   9. 页头
   ============================================================ */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:90;
  padding:12px var(--gutter);
  pointer-events:none;
}

.site-header .header-bar{ pointer-events:auto; }

/* 跳转链接 */
.skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:200;
  padding:10px 18px;
  border-radius:var(--pill);
  background:var(--gold);
  color:#15120C;
  font-size:.875rem;
  font-weight:600;
  letter-spacing:.04em;
  text-decoration:none;
  transform:translateY(-260%);
  transition:transform var(--dur) var(--ease);
}
.skip-link:focus-visible{
  transform:translateY(0);
  outline-color:#15120C;
}

/* 胶囊本体 */
.header-bar{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  max-width:var(--wrap);
  min-height:60px;
  margin-inline:auto;
  padding:8px 10px 8px 18px;
  border:1px solid var(--gold-line);
  border-radius:var(--pill);
  background:rgba(16,16,18,.78);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  backdrop-filter:blur(16px) saturate(1.3);
  box-shadow:
    0 20px 54px -32px rgba(0,0,0,.95),
    inset 0 1px 0 rgba(242,237,228,.05);
  transition:
    padding var(--dur) var(--ease),
    background-color var(--dur) var(--ease),
    border-color var(--dur) var(--ease),
    box-shadow var(--dur) var(--ease);
}
.site-header[data-condensed="true"] .header-bar{
  padding:6px 8px 6px 16px;
  background:rgba(10,10,11,.94);
  border-color:rgba(201,162,39,.44);
  box-shadow:
    0 24px 60px -30px rgba(0,0,0,1),
    inset 0 1px 0 rgba(242,237,228,.06);
}

/* 品牌 */
.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  text-decoration:none;
  color:var(--paper);
}
.brand-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:linear-gradient(150deg,var(--gold-lite) 0%,var(--gold) 46%,var(--crimson) 100%);
  box-shadow:inset 0 0 0 1px rgba(232,199,102,.55);
  color:#16130D;
  font-family:var(--font-serif);
  font-weight:900;
  font-size:.9375rem;
  line-height:1;
  letter-spacing:-.02em;
}
.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.18;
}
.brand-name{
  font-family:var(--font-serif);
  font-weight:700;
  font-size:.9375rem;
  letter-spacing:.04em;
}
.brand-tagline{
  font-family:var(--font-mono);
  font-size:.625rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--mute);
}

/* 收缩后的当前栏目读数 */
.nav-current{
  display:none;
  align-items:center;
  gap:8px;
  height:32px;
  padding:0 14px;
  border:1px solid rgba(201,162,39,.36);
  border-radius:var(--pill);
  background:rgba(201,162,39,.08);
  color:var(--gold);
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.1em;
  white-space:nowrap;
}
.nav-current::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold-lite);
  box-shadow:0 0 0 3px rgba(201,162,39,.18);
}
.nav-current:empty{ display:none !important; }

/* 导航 */
.site-nav{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
}
.nav-list{
  display:flex;
  align-items:center;
  gap:2px;
}
.nav-link{
  position:relative;
  display:inline-block;
  padding:9px 13px;
  border-radius:var(--pill);
  color:rgba(242,237,228,.68);
  font-size:.9375rem;
  letter-spacing:.03em;
  text-decoration:none;
  white-space:nowrap;
  transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease);
}
.nav-link::after{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:4px;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform var(--dur) var(--ease);
}
.nav-link:hover{ color:var(--paper); }
.nav-link:hover::after{ transform:scaleX(1); }
.nav-link[aria-current="page"]{
  color:var(--gold);
  background:rgba(201,162,39,.10);
  box-shadow:inset 0 0 0 1px rgba(201,162,39,.30);
}
.nav-link[aria-current="page"]::after{ transform:scaleX(1); }

.nav-quick{ display:none; }
.nav-quick-link{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  color:rgba(242,237,228,.78);
  font-size:.875rem;
  text-decoration:none;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background-color var(--dur) var(--ease);
}
.nav-quick-link:hover{
  color:var(--gold-lite);
  border-color:var(--gold-line);
  background:rgba(201,162,39,.07);
}

/* 工具区 */
.header-tools{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  flex:0 0 auto;
}
.header-cta{ height:40px; padding:0 18px; }

.nav-toggle{
  display:none;
  align-items:center;
  gap:9px;
  height:40px;
  padding:0 16px;
  border:1px solid var(--gold-line);
  border-radius:var(--pill);
  background:transparent;
  color:var(--gold);
  font-size:.875rem;
  letter-spacing:.08em;
  cursor:pointer;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.nav-toggle:hover{ background:rgba(201,162,39,.12); }
.nav-toggle-icon{
  display:inline-flex;
  flex-direction:column;
  justify-content:space-between;
  width:16px;
  height:10px;
}
.nav-toggle-icon span{
  display:block;
  height:1px;
  width:100%;
  background:currentColor;
  transition:transform var(--dur) var(--ease);
}
.site-header[data-open="true"] .nav-toggle-icon span:first-child{
  transform:translateY(4.5px) rotate(45deg);
}
.site-header[data-open="true"] .nav-toggle-icon span:last-child{
  transform:translateY(-4.5px) rotate(-45deg);
}

/* 面板 / 抽屉通用形态 */
.site-header[data-open="true"] .site-nav{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  z-index:30;
  min-width:264px;
  max-width:calc(100vw - var(--gutter) * 2);
  padding:16px;
  border:1px solid var(--gold-line);
  border-radius:var(--soft);
  background:rgba(14,14,16,.97);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  box-shadow:
    0 34px 80px -28px rgba(0,0,0,.9),
    inset 0 1px 0 rgba(242,237,228,.05);
  flex-direction:column;
  align-items:stretch;
  gap:4px;
}
.site-header[data-open="true"] .nav-list{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:2px;
}
.site-header[data-open="true"] .nav-link{
  padding:11px 14px;
  border-radius:10px;
}
.site-header[data-open="true"] .nav-link::after{ display:none; }
.site-header[data-open="true"] .nav-quick{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

/* 移动 / 平板：始终抽屉 */
@media (max-width:1079px){
  .site-nav{ display:none; }
  .nav-toggle{ display:inline-flex; }
  .brand-text{ display:none; }
}

/* 桌面：默认展开导航 */
@media (min-width:1080px){
  .nav-toggle{ display:none; }
  .nav-quick{ display:none; }
  .site-nav{ display:flex; }
  .nav-list{ display:flex; }

  .site-header[data-condensed="true"] .nav-list{ display:none; }
  .site-header[data-condensed="true"] .nav-current{ display:inline-flex; }
  .site-header[data-condensed="true"] .nav-toggle{ display:inline-flex; }
  .site-header[data-condensed="true"] .site-nav{ margin-left:auto; }

  .site-header[data-open="true"] .nav-list{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .site-header[data-open="true"] .nav-quick{ display:flex; }
}

@media (max-width:520px){
  .brand-tagline{ display:none; }
  .brand-mark{ width:38px; height:38px; font-size:.875rem; border-radius:12px; }
  .header-cta{ padding:0 14px; font-size:.875rem; }
  .nav-toggle{ padding:0 13px; }
}

/* 滚动进度刻度 */
.scroll-meter{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:2px;
  z-index:95;
  pointer-events:none;
  background:transparent;
}
.scroll-meter-fill{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,var(--gold) 0%,var(--gold-lite) 100%);
  box-shadow:0 0 12px rgba(201,162,39,.55);
  transition:width .1s linear;
}

/* ============================================================
   10. 页脚
   ============================================================ */
.site-footer{
  position:relative;
  margin-top:120px;
  border-top:1px solid var(--line);
  background:
    linear-gradient(180deg,rgba(30,28,24,0) 0%,rgba(30,28,24,.9) 26%,rgba(20,20,22,1) 100%),
    var(--ink-2);
}
.site-footer::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:34%;
  max-width:460px;
  height:1px;
  background:linear-gradient(90deg,var(--gold) 0%,rgba(201,162,39,0) 100%);
}
.site-footer::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(58% 120% at 8% 0%,rgba(201,162,39,.08),transparent 62%);
  pointer-events:none;
}

.footer-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,4fr) minmax(0,8fr);
  gap:56px;
  max-width:var(--wrap);
  margin-inline:auto;
  padding:76px var(--gutter) 52px;
}

.footer-brand{ max-width:360px; }
.footer-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:16px;
  background:linear-gradient(150deg,var(--gold-lite) 0%,var(--gold) 46%,var(--crimson) 100%);
  box-shadow:inset 0 0 0 1px rgba(232,199,102,.5);
  color:#16130D;
  font-family:var(--font-serif);
  font-weight:900;
  font-size:1.0625rem;
  line-height:1;
}
.footer-title{
  margin-top:18px;
  font-family:var(--font-serif);
  font-size:1.375rem;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--paper);
}
.footer-tagline{
  margin-top:6px;
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold);
}
.footer-desc{
  margin-top:16px;
  font-size:.875rem;
  line-height:1.9;
  color:var(--mute);
}
.footer-cta{ margin-top:24px; }

.footer-cols{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px;
}
.footer-col-title{
  margin-bottom:18px;
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mute);
}
.footer-links li + li{ margin-top:11px; }
.footer-links a{
  display:inline-block;
  max-width:100%;
  font-size:.875rem;
  line-height:1.7;
  color:rgba(242,237,228,.72);
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:color var(--dur) var(--ease);
}
.footer-links a:hover{ color:var(--gold-lite); }

.footer-base{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px 32px;
  max-width:var(--wrap);
  margin-inline:auto;
  padding:22px var(--gutter) 40px;
  border-top:1px solid var(--line);
  font-size:.8125rem;
  color:var(--mute);
}
.footer-contact{
  max-width:62ch;
  line-height:1.8;
}
.footer-legal{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 20px;
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.06em;
}
.footer-icp{ color:rgba(138,133,120,.9); }

@media (max-width:900px){
  .footer-inner{
    grid-template-columns:1fr;
    gap:44px;
    padding-top:60px;
  }
  .footer-brand{ max-width:none; }
}
@media (max-width:640px){
  .site-footer{ margin-top:80px; }
  .footer-cols{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
  .footer-base{ padding-bottom:32px; }
}

/* ============================================================
   11. 显现动效
   ============================================================ */
[data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
  will-change:opacity,transform;
}
[data-reveal][data-revealed="true"]{
  opacity:1;
  transform:none;
}

/* ---------- 12. 无障碍与降级 ---------- */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  [data-reveal]{
    opacity:1 !important;
    transform:none !important;
  }
  .scroll-meter-fill{ transition:none; }
}
