/* ===== 乐天棋牌 · /assets/site.css · 共享外壳与基础组件 ===== */

/* ---- reset ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0}
::selection{background:var(--lt-red);color:#FFF4EC}

/* ---- 变量 ---- */
:root{
  --lt-felt:#0B1F1A;
  --lt-felt-2:#122E26;
  --lt-black:#05100C;
  --lt-gold:#C9A227;
  --lt-gold-soft:#E8CE7A;
  --lt-red:#D8382B;
  --lt-cyan:#35D2E0;
  --lt-ivory:#F2EDE3;
  --lt-mist:#A9B4AE;
  --lt-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  --lt-serif:"Source Han Serif SC","Songti SC","Noto Serif SC","SimSun",serif;
  --lt-mono:ui-monospace,"JetBrains Mono","SFMono-Regular",Menlo,Consolas,"Courier New",monospace;
  --lt-shell:1200px;
  --lt-header-h:86px;
  --lt-line:1px solid rgba(201,162,39,.35);
  --lt-hard:7px 7px 0 0 rgba(5,16,12,.88);
  --lt-ease:cubic-bezier(.2,.7,.3,1);
}

/* ---- 牌桌绒布底 ---- */
body{
  min-height:100vh;
  padding-top:var(--lt-header-h);
  font-family:var(--lt-sans);
  font-size:17px;
  line-height:1.85;
  font-weight:400;
  color:var(--lt-ivory);
  background-color:var(--lt-felt);
  background-image:
    radial-gradient(60rem 40rem at 10% -5%, rgba(53,210,224,.07), transparent 60%),
    radial-gradient(50rem 40rem at 95% 105%, rgba(216,56,43,.09), transparent 62%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.014) 0 2px, transparent 2px 5px),
    repeating-linear-gradient(-45deg, rgba(0,0,0,.10) 0 2px, transparent 2px 5px);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}
@media (max-width:900px){:root{--lt-header-h:68px}}

/* ---- 中文排版 ---- */
h1,h2,h3,h4{font-family:var(--lt-serif);font-weight:900;line-height:1.15;letter-spacing:-.012em;color:var(--lt-ivory)}
h1{font-size:clamp(32px,4.4vw,64px)}
h2{font-size:clamp(24px,2.5vw,46px)}
h3{font-size:clamp(19px,1.7vw,30px)}
h4{font-size:clamp(17px,1.2vw,20px)}
p{max-width:68ch}
strong,b{font-weight:800;color:var(--lt-gold-soft)}
small{font-size:13px;color:var(--lt-mist)}
:focus-visible{outline:2px solid var(--lt-cyan);outline-offset:3px}

.lt-mono{font-family:var(--lt-mono);letter-spacing:.08em}

/* ---- 容器 ---- */
.lt-shell{width:min(100% - 40px,var(--lt-shell));margin-inline:auto}
@media (max-width:560px){.lt-shell{width:min(100% - 28px,var(--lt-shell))}}

/* ---- 跳转链接 ---- */
.lt-skip{
  position:fixed;top:10px;left:-9999px;z-index:200;
  padding:10px 16px;background:var(--lt-red);color:#FFF4EC;
  font-size:14px;font-weight:700;border:2px solid #7d1f16;
}
.lt-skip:focus{left:14px}

/* ---- 头部 ---- */
.lt-header{
  position:fixed;top:0;left:0;right:0;z-index:90;
  background:transparent;
  border-bottom:1px solid rgba(201,162,39,.32);
  transition:background 240ms var(--lt-ease),border-color 240ms var(--lt-ease),box-shadow 240ms var(--lt-ease);
}
.lt-header::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,16,12,.72),rgba(5,16,12,0));
  opacity:1;transition:opacity 240ms var(--lt-ease);
}
.lt-header[data-state="solid"]{
  background:rgba(5,16,12,.97);
  border-bottom-color:var(--lt-gold);
  box-shadow:0 14px 34px rgba(0,0,0,.5);
}
.lt-header[data-state="solid"]::before{opacity:0}
.lt-header__bar{position:relative;width:100%}
.lt-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;min-height:var(--lt-header-h);
}

/* 品牌 */
.lt-brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.lt-brand__mark{
  width:24px;height:24px;flex:0 0 24px;position:relative;
  border:2px solid var(--lt-gold);border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(216,56,43,.9) 0 32%,transparent 34%),
             repeating-conic-gradient(from 0deg,rgba(201,162,39,.85) 0 12deg,transparent 12deg 30deg);
}
.lt-brand__text{display:flex;flex-direction:column;line-height:1.1}
.lt-brand__name{font-family:var(--lt-serif);font-weight:900;font-size:21px;letter-spacing:.04em;color:var(--lt-ivory)}
.lt-brand__line{font-family:var(--lt-mono);font-size:10px;letter-spacing:.26em;color:var(--lt-gold)}

/* 主导航 */
.lt-nav{display:flex;align-items:center;margin-left:auto}
.lt-nav__list{display:flex;align-items:center;gap:2px}
.lt-nav__link{
  display:inline-flex;align-items:center;
  padding:9px 13px;font-size:15px;font-weight:600;letter-spacing:.03em;
  color:var(--lt-ivory);border:1px solid transparent;border-radius:2px;
  transition:color 180ms var(--lt-ease),background 180ms var(--lt-ease),border-color 180ms var(--lt-ease);
}
.lt-nav__no{font-family:var(--lt-mono);font-size:10px;letter-spacing:.1em;color:var(--lt-gold);margin-right:7px}
.lt-nav__link:hover{color:var(--lt-gold-soft);background:rgba(201,162,39,.09);border-color:rgba(201,162,39,.38)}
.lt-nav__link[aria-current="page"]{
  background:var(--lt-red);color:#FFF4EC;border-color:#7d1f16;
  box-shadow:3px 3px 0 rgba(5,16,12,.85);
}
.lt-nav__link[aria-current="page"] .lt-nav__no{color:rgba(255,244,236,.78)}
.lt-nav__cta,.lt-nav__foot{display:none}

/* 头部工具区 */
.lt-header__tools{display:flex;align-items:center;gap:14px;flex-shrink:0}
.lt-header__utility{
  display:none;font-family:var(--lt-mono);font-size:12px;letter-spacing:.08em;
  color:var(--lt-mist);border-bottom:1px solid rgba(201,162,39,.4);padding-bottom:2px;
}
.lt-header__utility:hover{color:var(--lt-cyan);border-bottom-color:var(--lt-cyan)}
@media (min-width:1180px){.lt-header__utility{display:inline-block}}

/* 抽屉按钮 */
.lt-nav-toggle{
  display:none;align-items:center;gap:9px;cursor:pointer;
  padding:9px 13px;border:1px solid rgba(201,162,39,.55);border-radius:2px;
  font-family:var(--lt-mono);font-size:12px;letter-spacing:.14em;color:var(--lt-gold-soft);
  background:rgba(5,16,12,.5);
}
.lt-nav-toggle__bars{display:inline-flex;flex-direction:column;gap:4px;width:18px}
.lt-nav-toggle__bars i{display:block;height:2px;background:currentColor}
.lt-nav-toggle:hover{border-color:var(--lt-cyan);color:var(--lt-cyan)}

/* 进度线 */
.lt-progress{
  position:absolute;left:0;bottom:-1px;height:2px;width:100%;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--lt-gold),var(--lt-cyan));
  transition:transform 120ms linear;
}

/* 遮罩 */
.lt-scrim{
  position:fixed;inset:0;z-index:88;background:rgba(5,16,12,.74);
  opacity:0;pointer-events:none;transition:opacity 240ms var(--lt-ease);
}
@media (min-width:901px){.lt-scrim{display:none}}

/* ---- 移动端抽屉 ---- */
@media (max-width:900px){
  .lt-header__cta{display:none}
  .lt-nav-toggle{display:inline-flex}
  .lt-nav{
    position:fixed;top:0;right:0;bottom:0;z-index:95;
    width:min(86vw,344px);
    margin-left:0;padding:calc(var(--lt-header-h) + 16px) 20px 30px;
    flex-direction:column;align-items:stretch;gap:18px;
    background:linear-gradient(180deg,#0B1F1A,#05100C 70%);
    border-left:2px solid var(--lt-gold);
    box-shadow:-16px 0 40px rgba(0,0,0,.6);
    transform:translateX(103%);
    transition:transform 300ms var(--lt-ease);
    overflow-y:auto;
  }
  .lt-nav[data-open="true"]{transform:translateX(0)}
  .lt-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .lt-nav__item{border-bottom:1px solid rgba(201,162,39,.24)}
  .lt-nav__link{width:100%;padding:15px 4px;font-size:16px;border:0;border-radius:0}
  .lt-nav__link:hover{background:rgba(201,162,39,.08)}
  .lt-nav__link[aria-current="page"]{
    background:rgba(216,56,43,.16);color:var(--lt-ivory);
    box-shadow:inset 3px 0 0 var(--lt-red);border:0;
  }
  .lt-nav__cta{display:block}
  .lt-nav__cta .lt-btn{width:100%;justify-content:center}
  .lt-nav__foot{display:block;border-top:1px solid rgba(201,162,39,.3);padding-top:16px}
  .lt-nav__foot-link{
    display:inline-block;font-family:var(--lt-mono);font-size:12px;letter-spacing:.09em;
    color:var(--lt-cyan);border-bottom:1px solid rgba(53,210,224,.45);
  }
  .lt-nav__foot-note{margin-top:12px;font-family:var(--lt-mono);font-size:11px;letter-spacing:.08em;color:var(--lt-mist)}
  body[data-nav-open="true"]{overflow:hidden}
  body[data-nav-open="true"] .lt-scrim{opacity:1;pointer-events:auto}
}

/* ---- 页脚 ---- */
.lt-footer{
  margin-top:clamp(56px,8vw,110px);
  background:var(--lt-black);
  border-top:2px solid var(--lt-gold);
  position:relative;
}
.lt-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:repeating-linear-gradient(90deg,rgba(201,162,39,.55) 0 10px,transparent 10px 22px);
  opacity:.5;
}
.lt-footer__grid{
  display:grid;grid-template-columns:1.05fr 2.4fr;
  gap:clamp(28px,4vw,56px);
  padding:clamp(44px,6vw,72px) 0 clamp(28px,4vw,44px);
}
.lt-footer__brand .lt-brand__mark{margin-bottom:16px}
.lt-footer__name{font-family:var(--lt-serif);font-weight:900;font-size:24px;letter-spacing:.05em;color:var(--lt-ivory)}
.lt-footer__tag{margin-top:8px;font-family:var(--lt-mono);font-size:12px;letter-spacing:.2em;color:var(--lt-gold);max-width:none}
.lt-footer__doc{margin-top:14px;font-family:var(--lt-mono);font-size:12px;letter-spacing:.06em;color:var(--lt-mist);max-width:34ch}
.lt-footer__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,30px)}
.lt-footer__title{
  font-family:var(--lt-mono);font-size:12px;font-weight:700;letter-spacing:.16em;
  color:var(--lt-gold);padding-bottom:10px;margin-bottom:12px;
  border-bottom:1px solid rgba(201,162,39,.35);
}
.lt-footer__list li{margin-bottom:9px}
.lt-footer__list a{font-size:14px;color:var(--lt-mist);transition:color 160ms var(--lt-ease)}
.lt-footer__list a:hover{color:var(--lt-cyan)}
.lt-footer__bottom{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 34px;
  padding:24px 0 42px;border-top:1px solid rgba(201,162,39,.35);
}
.lt-footer__contact{font-size:13px;color:var(--lt-mist)}
.lt-footer__line{display:flex;align-items:center;gap:8px;margin-bottom:6px;max-width:none}
.lt-footer__addr{color:var(--lt-mist)}
.lt-footer__links{display:flex;flex-wrap:wrap;gap:10px 20px}
.lt-footer__links a{
  font-size:13px;font-family:var(--lt-mono);letter-spacing:.08em;color:var(--lt-gold-soft);
  border-bottom:1px solid rgba(201,162,39,.45);padding-bottom:2px;
}
.lt-footer__links a:hover{color:var(--lt-cyan);border-bottom-color:var(--lt-cyan)}
.lt-footer__legal{font-family:var(--lt-mono);font-size:12px;letter-spacing:.08em;color:var(--lt-mist);max-width:none}
@media (max-width:900px){
  .lt-footer__grid{grid-template-columns:1fr}
  .lt-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lt-footer__bottom{flex-direction:column;align-items:flex-start}
}
@media (max-width:520px){
  .lt-footer__cols{grid-template-columns:1fr}
}

/* ---- 按钮与筹码 ---- */
.lt-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 20px;border:2px solid transparent;border-radius:2px;
  font-size:14px;font-weight:800;letter-spacing:.05em;line-height:1.2;
  cursor:pointer;transition:transform 160ms var(--lt-ease),box-shadow 160ms var(--lt-ease),background 160ms var(--lt-ease),color 160ms var(--lt-ease),border-color 160ms var(--lt-ease);
}
.lt-btn--primary{
  background:var(--lt-red);color:#FFF4EC;border-color:#7d1f16;
  box-shadow:4px 4px 0 rgba(5,16,12,.85);
}
.lt-btn--primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(5,16,12,.9)}
.lt-btn--ghost{background:transparent;color:var(--lt-gold-soft);border-color:rgba(201,162,39,.6)}
.lt-btn--ghost:hover{background:rgba(201,162,39,.12);border-color:var(--lt-gold)}

.lt-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 15px;border:1px solid rgba(201,162,39,.55);border-radius:999px;
  background:rgba(18,46,38,.75);color:var(--lt-mist);
  font-family:var(--lt-mono);font-size:12px;letter-spacing:.1em;cursor:pointer;
  transition:color 160ms var(--lt-ease),background 160ms var(--lt-ease),border-color 160ms var(--lt-ease);
}
.lt-chip:hover{color:var(--lt-gold-soft);border-color:var(--lt-gold)}
.lt-chip[aria-pressed="true"]{background:var(--lt-red);color:#FFF4EC;border-color:#7d1f16}

.lt-copy{
  padding:2px 9px;border:1px solid rgba(201,162,39,.5);border-radius:2px;
  font-family:var(--lt-mono);font-size:11px;letter-spacing:.08em;color:var(--lt-gold-soft);
  cursor:pointer;transition:background 160ms var(--lt-ease),color 160ms var(--lt-ease),border-color 160ms var(--lt-ease);
}
.lt-copy:hover{border-color:var(--lt-cyan);color:var(--lt-cyan)}
.lt-copy[data-copied="true"]{background:var(--lt-cyan);border-color:var(--lt-cyan);color:var(--lt-black)}

/* ---- 基础排版组件 ---- */
.lt-section{padding-block:clamp(44px,6vw,86px)}
.lt-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--lt-mono);font-size:12px;letter-spacing:.2em;color:var(--lt-gold);
}
.lt-eyebrow::before{content:"";width:26px;height:2px;background:var(--lt-gold)}
.lt-anchor{
  display:inline-block;padding:2px 10px;background:rgba(11,31,26,.65);
  border:1px solid rgba(201,162,39,.55);
  font-family:var(--lt-mono);font-size:12px;letter-spacing:.14em;color:var(--lt-gold-soft);
}
.lt-rule{height:1px;border:0;margin-block:clamp(22px,3.4vw,42px);background:linear-gradient(90deg,var(--lt-gold),rgba(201,162,39,.04))}
.lt-lede{font-size:clamp(17px,1.3vw,21px);line-height:1.8;color:var(--lt-ivory);max-width:62ch}
.lt-note{
  border-left:2px solid var(--lt-gold);padding:4px 0 4px 14px;
  font-size:14px;color:var(--lt-mist);max-width:60ch;
}
.lt-tag{
  display:inline-block;padding:2px 9px;border:1px solid rgba(53,210,224,.45);border-radius:999px;
  font-family:var(--lt-mono);font-size:11px;letter-spacing:.12em;color:var(--lt-cyan);
}

/* ---- 栅格 ---- */
.lt-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.lt-col-4{grid-column:span 4}
.lt-col-5{grid-column:span 5}
.lt-col-6{grid-column:span 6}
.lt-col-7{grid-column:span 7}
.lt-col-8{grid-column:span 8}
.lt-col-12{grid-column:span 12}
@media (max-width:900px){
  .lt-col-4,.lt-col-5,.lt-col-6,.lt-col-7,.lt-col-8{grid-column:span 12}
}

/* ---- 卡片 ---- */
.lt-card{
  position:relative;display:block;padding:clamp(18px,2vw,26px);
  background:var(--lt-felt-2);
  border:2px solid rgba(201,162,39,.4);
  box-shadow:var(--lt-hard);
  transition:transform 200ms var(--lt-ease),box-shadow 200ms var(--lt-ease),border-color 200ms var(--lt-ease);
}
.lt-card:hover{transform:translateY(-4px);border-color:var(--lt-cyan);box-shadow:9px 9px 0 rgba(5,16,12,.92)}
.lt-card__no{display:block;font-family:var(--lt-mono);font-size:12px;letter-spacing:.16em;color:var(--lt-gold);margin-bottom:10px}
.lt-card__title{font-family:var(--lt-serif);font-weight:900;font-size:clamp(19px,1.5vw,24px);line-height:1.25;color:var(--lt-ivory)}
.lt-card__text{margin-top:10px;font-size:15px;line-height:1.8;color:var(--lt-mist)}
.lt-card__meta{margin-top:14px;font-family:var(--lt-mono);font-size:12px;letter-spacing:.08em;color:var(--lt-mist)}

/* ---- 面包屑 ---- */
.lt-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:var(--lt-mono);font-size:12px;letter-spacing:.1em;color:var(--lt-mist)}
.lt-crumb{color:var(--lt-mist);transition:color 160ms var(--lt-ease)}
.lt-crumb::after{content:"/";margin-left:10px;color:rgba(201,162,39,.55)}
.lt-crumb:last-child::after{content:""}
.lt-crumb:hover{color:var(--lt-cyan)}
.lt-crumb[aria-current="page"]{color:var(--lt-gold-soft)}

/* ---- 左侧锚点索引 ---- */
.lt-index{position:sticky;top:calc(var(--lt-header-h) + 22px);border-left:1px solid rgba(201,162,39,.35);padding-left:14px}
.lt-index__link{
  display:block;padding:7px 0;
  font-family:var(--lt-mono);font-size:13px;letter-spacing:.05em;color:var(--lt-mist);
  transition:color 160ms var(--lt-ease);
}
.lt-index__link::before{content:"◇";margin-right:8px;color:rgba(201,162,39,.55)}
.lt-index__link:hover{color:var(--lt-cyan)}
.lt-index__link[aria-current="true"]{color:var(--lt-ivory)}
.lt-index__link[aria-current="true"]::before{content:"◆";color:var(--lt-red)}
@media (max-width:900px){.lt-index{position:static;top:auto}}

/* ---- 图位容器（页面阶段放置图片） ---- */
.lt-media{
  position:relative;display:block;width:100%;
  aspect-ratio:var(--lt-media-ratio,4/3);
  border:2px solid rgba(201,162,39,.45);
  box-shadow:var(--lt-hard);
  overflow:hidden;
  background:
    radial-gradient(120% 90% at 18% 0%,rgba(53,210,224,.11),transparent 56%),
    radial-gradient(90% 80% at 92% 100%,rgba(216,56,43,.14),transparent 62%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 2px,transparent 2px 5px),
    linear-gradient(160deg,#122E26,#0B1F1A 72%);
}
.lt-media::before,.lt-media::after{content:"";position:absolute;width:14px;height:14px;border:2px solid var(--lt-gold);opacity:.85}
.lt-media::before{top:10px;left:10px;border-right:0;border-bottom:0}
.lt-media::after{bottom:10px;right:10px;border-left:0;border-top:0}
.lt-media img{width:100%;height:100%;object-fit:cover}
.lt-media--wide{--lt-media-ratio:16/9}
.lt-media--tall{--lt-media-ratio:3/4}
.lt-media--square{--lt-media-ratio:1/1}
.lt-media__caption{display:block;margin-top:10px;font-family:var(--lt-mono);font-size:12px;letter-spacing:.08em;color:var(--lt-mist)}

/* ---- 折叠面板 ---- */
.lt-accordion{border-top:1px solid rgba(201,162,39,.35)}
.lt-accordion__item{border-bottom:1px solid rgba(201,162,39,.35)}
.lt-accordion__trigger{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  width:100%;padding:17px 0;text-align:left;cursor:pointer;
  font-family:var(--lt-sans);font-size:17px;font-weight:700;color:var(--lt-ivory);
  transition:color 160ms var(--lt-ease);
}
.lt-accordion__trigger::after{content:"＋";font-family:var(--lt-mono);font-size:15px;color:var(--lt-gold)}
.lt-accordion__trigger:hover{color:var(--lt-gold-soft)}
.lt-accordion__trigger[aria-expanded="true"]::after{content:"－";color:var(--lt-red)}
.lt-accordion__panel{padding:0 0 20px;font-size:15px;line-height:1.85;color:var(--lt-mist);max-width:68ch}
.lt-accordion__panel[hidden]{display:none}
.lt-accordion__item:has(.lt-accordion__trigger[aria-expanded="true"]) .lt-accordion__panel{border-left:2px solid var(--lt-gold);padding-left:14px}

/* ---- 动效与计数 ---- */
.lt-reveal{opacity:0;transform:translateY(16px);transition:opacity 520ms var(--lt-ease),transform 520ms var(--lt-ease)}
.lt-reveal.is-in{opacity:1;transform:none}
.lt-counter{font-family:var(--lt-mono);letter-spacing:.06em;color:var(--lt-gold-soft)}

/* ---- 减弱动效 ---- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;scroll-behavior:auto !important}
  .lt-reveal{opacity:1;transform:none}
  .lt-card:hover{transform:none}
  .lt-btn--primary:hover{transform:none}
  .lt-progress{transition:none}
}
