/* ============================================================
   梦想棋牌 · 全站共享样式 /assets/site.css
   牌局夜灯：墨绿台呢 + 琥珀金 + 朱砂红 + 瓷白纸底
   ============================================================ */

:root{
  --dc-ink:#0E241C;
  --dc-felt:#1B4436;
  --dc-felt-line:#2C5A49;
  --dc-porcelain:#F7F3E9;
  --dc-paper:#EDE4D3;
  --dc-amber:#D9A22B;
  --dc-amber-bright:#F0C566;
  --dc-cinnabar:#B7232C;
  --dc-brown:#1C1710;
  --dc-gray:#5A554B;
  --dc-cool:#7C8C84;
  --dc-shadow:#071410;
  --dc-line:rgba(28,23,16,.16);
  --dc-line-soft:rgba(28,23,16,.09);
  --dc-amber-soft:rgba(217,162,43,.16);
  --dc-sans:"PingFang SC","HarmonyOS Sans SC","Source Han Sans SC","Noto Sans SC","Microsoft YaHei","Hiragino Sans GB",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --dc-mono:"JetBrains Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;
  --dc-max:1200px;
  --dc-gutter:24px;
  --dc-header-h:76px;
  --dc-cut:20px;
  --dc-ease:cubic-bezier(.2,.7,.3,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--dc-porcelain);
  color:var(--dc-brown);
  font-family:var(--dc-sans);
  font-size:17px;
  line-height:1.75;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.dc-nav-open{overflow:hidden}
h1,h2,h3,h4,h5{
  margin:0 0 .6em;
  font-weight:900;
  line-height:1.25;
  letter-spacing:-.02em;
  color:inherit;
}
p{margin:0 0 1.2em}
ul,ol{margin:0 0 1.2em;padding-left:1.35em}
li{margin:.25em 0}
a{color:inherit;text-decoration:none}
img,svg,video{max-width:100%;display:block}
button{font:inherit;color:inherit}
table{border-collapse:collapse}
:focus-visible{
  outline:2px solid var(--dc-amber-bright);
  outline-offset:2px;
  border-radius:1px;
}

/* ---------- 跳转链接 ---------- */
.dc-skip{
  position:absolute;
  left:16px;
  top:-80px;
  z-index:200;
  display:inline-block;
  padding:10px 20px;
  background:var(--dc-amber);
  color:var(--dc-ink);
  font-weight:600;
  font-size:15px;
  transition:top .18s ease-out;
}
.dc-skip:focus{top:12px}

/* ---------- 头部 ---------- */
.dc-header{
  position:sticky;
  top:0;
  z-index:60;
  background:var(--dc-ink);
  color:var(--dc-porcelain);
  border-bottom:1px solid var(--dc-amber);
}
.dc-header__bar{
  width:100%;
  max-width:var(--dc-max);
  margin:0 auto;
  padding:0 var(--dc-gutter);
  min-height:var(--dc-header-h);
  display:flex;
  align-items:center;
  gap:24px;
}
.dc-brand{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  color:inherit;
}
.dc-brand__mark{
  width:40px;
  height:40px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:var(--dc-amber);
  color:var(--dc-ink);
  font-size:20px;
  font-weight:900;
  line-height:1;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%);
}
.dc-brand__text{display:block;min-width:0}
.dc-brand__name{
  display:block;
  font-size:21px;
  font-weight:900;
  letter-spacing:.03em;
  line-height:1.15;
  color:var(--dc-porcelain);
}
.dc-brand__meta{
  display:block;
  margin-top:4px;
  font-family:var(--dc-mono);
  font-size:10.5px;
  letter-spacing:.1em;
  line-height:1.2;
  color:var(--dc-amber);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* ---------- 导航（桌面） ---------- */
.dc-nav{
  display:flex;
  align-items:center;
  margin-left:auto;
}
.dc-nav__label{display:none}
.dc-nav__list{
  display:flex;
  align-items:center;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
}
.dc-nav__item{position:relative}
.dc-nav__link{
  position:relative;
  display:block;
  padding:10px 13px 13px;
  font-size:14.5px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.01em;
  color:rgba(247,243,233,.76);
  white-space:nowrap;
  transition:color .2s ease-out;
}
.dc-nav__link::after{
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:5px;
  height:2px;
  background:var(--dc-amber);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s var(--dc-ease);
}
.dc-nav__link:hover,
.dc-nav__link:focus-visible{color:var(--dc-porcelain)}
.dc-nav__link:hover::after,
.dc-nav__link:focus-visible::after{transform:scaleX(1)}
.dc-nav__link[aria-current="page"]{color:var(--dc-amber-bright)}
.dc-nav__link[aria-current="page"]::after{transform:scaleX(1)}
.dc-nav__link[aria-current="page"]::before{
  content:"";
  position:absolute;
  top:6px;
  right:6px;
  width:5px;
  height:5px;
  background:var(--dc-amber);
}
.dc-nav__note{display:none}
.dc-nav__foot{display:none}

/* ---------- 移动端抽屉按钮 ---------- */
.dc-nav-toggle{
  display:none;
  margin-left:auto;
  align-items:center;
  gap:9px;
  padding:9px 13px;
  background:transparent;
  border:1px solid var(--dc-felt-line);
  color:var(--dc-porcelain);
  cursor:pointer;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);
  transition:border-color .2s ease-out,color .2s ease-out;
}
.dc-nav-toggle__bars{
  display:inline-flex;
  flex-direction:column;
  gap:4px;
  width:18px;
  flex:0 0 auto;
}
.dc-nav-toggle__bars span{
  display:block;
  height:1.5px;
  background:var(--dc-amber);
  transition:transform .2s ease-out,opacity .2s ease-out;
}
.dc-nav-toggle__text{
  font-family:var(--dc-mono);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.14em;
}
.dc-nav-toggle[aria-expanded="true"]{
  border-color:var(--dc-amber);
  color:var(--dc-amber-bright);
}
.dc-nav-toggle[aria-expanded="true"] .dc-nav-toggle__bars span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.dc-nav-toggle[aria-expanded="true"] .dc-nav-toggle__bars span:nth-child(2){opacity:0}
.dc-nav-toggle[aria-expanded="true"] .dc-nav-toggle__bars span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* ---------- 页脚 ---------- */
.dc-footer{
  background-color:var(--dc-ink);
  background-image:
    linear-gradient(rgba(217,162,43,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(217,162,43,.055) 1px,transparent 1px);
  background-size:72px 72px;
  color:var(--dc-porcelain);
  border-top:1px solid var(--dc-amber);
  padding:64px 0 28px;
}
.dc-footer__grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:32px 40px;
  align-items:start;
}
.dc-footer__brand{max-width:34ch}
.dc-footer__name{
  display:block;
  font-size:24px;
  font-weight:900;
  letter-spacing:.03em;
  line-height:1.2;
  color:var(--dc-porcelain);
}
.dc-footer__note{
  margin:14px 0 20px;
  font-size:14.5px;
  line-height:1.8;
  color:rgba(247,243,233,.72);
}
.dc-footer__col:nth-child(2){padding-top:18px}
.dc-footer__col:nth-child(3){padding-top:36px}
.dc-footer__col:nth-child(4){padding-top:54px}
.dc-footer__col-title{
  margin:0 0 14px;
  font-family:var(--dc-mono);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.2em;
  line-height:1.4;
  color:var(--dc-amber);
}
.dc-footer__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.dc-footer__list li{margin:0}
.dc-footer__list a{
  display:inline-block;
  font-size:14.5px;
  color:rgba(247,243,233,.82);
  border-bottom:1px solid transparent;
  transition:color .18s ease-out,border-color .18s ease-out;
}
.dc-footer__list a:hover,
.dc-footer__list a:focus-visible{
  color:var(--dc-amber-bright);
  border-bottom-color:var(--dc-amber);
}
.dc-footer__contact{
  margin-top:40px;
  padding-top:22px;
  border-top:1px solid var(--dc-felt-line);
  font-family:var(--dc-mono);
  font-size:12.5px;
  letter-spacing:.02em;
  line-height:1.9;
  color:rgba(247,243,233,.74);
}
.dc-footer__contact p{margin:0 0 6px}
.dc-footer__address{color:var(--dc-cool)}
.dc-footer__legal{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--dc-felt-line);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 22px;
  font-family:var(--dc-mono);
  font-size:11.5px;
  letter-spacing:.04em;
  color:var(--dc-cool);
}
.dc-footer__legal a{
  color:var(--dc-cool);
  border-bottom:1px solid transparent;
  transition:color .18s ease-out,border-color .18s ease-out;
}
.dc-footer__legal a:hover,
.dc-footer__legal a:focus-visible{
  color:var(--dc-amber-bright);
  border-bottom-color:var(--dc-amber);
}
.dc-footer__copy{margin-left:auto}

/* ---------- 页面骨架 ---------- */
.dc-shell{
  width:100%;
  max-width:var(--dc-max);
  margin:0 auto;
  padding:0 var(--dc-gutter);
}
.dc-shell--narrow{max-width:860px}
.dc-section{
  position:relative;
  padding:clamp(48px,7vw,88px) 0;
}
.dc-section--ink{
  background-color:var(--dc-ink);
  background-image:
    linear-gradient(rgba(217,162,43,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(217,162,43,.05) 1px,transparent 1px);
  background-size:64px 64px;
  color:var(--dc-porcelain);
}
.dc-section--felt{
  background-color:var(--dc-felt);
  background-image:
    linear-gradient(rgba(217,162,43,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(217,162,43,.05) 1px,transparent 1px);
  background-size:64px 64px;
  color:var(--dc-porcelain);
}
.dc-section--paper{
  background-color:var(--dc-paper);
  background-image:radial-gradient(rgba(28,23,16,.055) 1px,transparent 1px);
  background-size:16px 16px;
}
.dc-section--porcelain{background-color:var(--dc-porcelain)}
.dc-section--slant{
  clip-path:polygon(0 34px,100% 0,100% 100%,0 100%);
  padding-top:calc(clamp(48px,7vw,88px) + 34px);
}
.dc-section--ink .dc-lede,
.dc-section--felt .dc-lede{color:rgba(247,243,233,.78)}
.dc-section--ink .dc-muted,
.dc-section--felt .dc-muted{color:rgba(247,243,233,.62)}

/* ---------- 面包屑 ---------- */
.dc-crumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:0 0 28px;
  padding:0;
  list-style:none;
  font-family:var(--dc-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--dc-gray);
}
.dc-crumb li{display:flex;align-items:center;gap:10px;margin:0}
.dc-crumb a{
  color:var(--dc-gray);
  border-bottom:1px solid transparent;
  transition:color .18s ease-out,border-color .18s ease-out;
}
.dc-crumb a:hover,
.dc-crumb a:focus-visible{
  color:var(--dc-brown);
  border-bottom-color:var(--dc-amber);
}
.dc-crumb__sep{color:var(--dc-amber)}
.dc-crumb [aria-current="page"]{color:var(--dc-brown)}

/* ---------- 排版 ---------- */
.dc-title{
  display:block;
  margin:0 0 18px;
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.2;
  color:inherit;
}
.dc-title--xl{font-size:clamp(34px,5.4vw,62px);line-height:1.08}
.dc-title--lg{font-size:clamp(26px,3.2vw,38px);line-height:1.16}
.dc-title--md{font-size:clamp(19px,1.9vw,24px);line-height:1.3}
.dc-title--cut{
  padding-bottom:16px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);
}
.dc-lede{
  margin:0 0 1.4em;
  max-width:62ch;
  font-size:clamp(16px,1.4vw,18px);
  line-height:1.85;
  color:var(--dc-gray);
}
.dc-annot{
  display:inline-block;
  font-family:var(--dc-mono);
  font-size:12px;
  letter-spacing:.18em;
  line-height:1.5;
  color:var(--dc-amber);
}
.dc-annot--vertical{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  letter-spacing:.28em;
  padding:10px 0;
}
.dc-num{
  font-family:var(--dc-mono);
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
}
.dc-muted{color:var(--dc-gray)}
.dc-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

/* ---------- 展签 ---------- */
.dc-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border:1px solid var(--dc-amber);
  background:transparent;
  color:var(--dc-amber);
  font-family:var(--dc-mono);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1;
}
.dc-tag--ink{border-color:var(--dc-line);color:var(--dc-brown)}
.dc-tag--red{border-color:var(--dc-cinnabar);color:var(--dc-cinnabar)}
.dc-tag--solid{background:var(--dc-amber);border-color:var(--dc-amber);color:var(--dc-ink)}

/* ---------- 按钮 ---------- */
.dc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 20px;
  border:1px solid transparent;
  background:var(--dc-ink);
  color:var(--dc-porcelain);
  font-family:var(--dc-sans);
  font-size:15px;
  font-weight:600;
  letter-spacing:.03em;
  line-height:1.3;
  cursor:pointer;
  text-align:center;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
  transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out;
}
.dc-btn--amber{background:var(--dc-amber);border-color:var(--dc-amber);color:var(--dc-ink)}
.dc-btn--amber:hover,.dc-btn--amber:focus-visible{background:var(--dc-amber-bright);border-color:var(--dc-amber-bright)}
.dc-btn--ink{background:var(--dc-ink);border-color:var(--dc-ink);color:var(--dc-porcelain)}
.dc-btn--ink:hover,.dc-btn--ink:focus-visible{background:var(--dc-felt);border-color:var(--dc-amber);color:var(--dc-amber-bright)}
.dc-btn--ghost{background:transparent;border-color:var(--dc-felt-line);color:var(--dc-porcelain)}
.dc-btn--ghost:hover,.dc-btn--ghost:focus-visible{border-color:var(--dc-amber);color:var(--dc-amber-bright)}
.dc-btn--outline{background:transparent;border-color:rgba(28,23,16,.35);color:var(--dc-brown)}
.dc-btn--outline:hover,.dc-btn--outline:focus-visible{border-color:var(--dc-brown);background:var(--dc-paper)}
.dc-btn--red{background:var(--dc-cinnabar);border-color:var(--dc-cinnabar);color:var(--dc-porcelain)}
.dc-btn--red:hover,.dc-btn--red:focus-visible{background:#9d1c24;border-color:#9d1c24}
.dc-btn--small{padding:9px 14px;font-size:13.5px}
.dc-btn--block{width:100%}

/* ---------- Bento 网格 ---------- */
.dc-bento{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px;
  perspective:1600px;
}
.dc-bento > *{min-width:0}
.dc-span-3{grid-column:span 3}
.dc-span-4{grid-column:span 4}
.dc-span-5{grid-column:span 5}
.dc-span-6{grid-column:span 6}
.dc-span-7{grid-column:span 7}
.dc-span-8{grid-column:span 8}
.dc-span-9{grid-column:span 9}
.dc-span-12{grid-column:span 12}

/* ---------- 牌卡 ---------- */
.dc-card{
  position:relative;
  display:flex;
  flex-direction:column;
  padding:26px 24px;
  background:var(--dc-porcelain);
  border:1px solid var(--dc-line);
  transition:border-color .24s var(--dc-ease),transform .24s var(--dc-ease),background-color .24s var(--dc-ease);
}
.dc-card--cut{
  border:0;
  box-shadow:inset 0 0 0 1px var(--dc-line);
  clip-path:polygon(0 0,100% 0,100% calc(100% - var(--dc-cut)),calc(100% - var(--dc-cut)) 100%,0 100%);
}
.dc-card--paper{background:var(--dc-paper)}
.dc-card--ink{
  background:var(--dc-felt);
  border-color:var(--dc-felt-line);
  color:var(--dc-porcelain);
}
.dc-card--amber{
  background:var(--dc-amber);
  border-color:var(--dc-amber);
  color:var(--dc-ink);
}
.dc-card--red{
  background:var(--dc-cinnabar);
  border-color:var(--dc-cinnabar);
  color:var(--dc-porcelain);
}
.dc-card--lift:hover,
.dc-card--lift:focus-within{
  transform:rotateY(-4deg);
  border-color:var(--dc-amber);
}
.dc-card--ink.dc-card--lift:hover{border-color:var(--dc-amber)}
.dc-card__tag{margin-bottom:14px;align-self:flex-start}
.dc-card__title{
  margin:0 0 10px;
  font-size:clamp(18px,1.7vw,22px);
  font-weight:900;
  letter-spacing:-.01em;
  line-height:1.3;
  color:inherit;
}
.dc-card__body{
  margin:0;
  font-size:15.5px;
  line-height:1.8;
  color:var(--dc-gray);
}
.dc-card--ink .dc-card__body,
.dc-card--red .dc-card__body{color:rgba(247,243,233,.78)}
.dc-card--amber .dc-card__body{color:rgba(28,23,16,.78)}
.dc-card__foot{margin-top:auto;padding-top:18px}

/* ---------- 分段切换 ---------- */
.dc-tabs{margin:0}
.dc-tabs__list{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin:0 0 24px;
  padding:0;
  list-style:none;
  border-bottom:1px solid var(--dc-line);
}
.dc-tab{
  appearance:none;
  -webkit-appearance:none;
  padding:11px 16px 12px;
  background:transparent;
  border:0;
  border-bottom:2px solid transparent;
  color:var(--dc-gray);
  font-family:var(--dc-sans);
  font-size:15px;
  font-weight:600;
  letter-spacing:.02em;
  cursor:pointer;
  transition:color .2s ease-out,border-color .2s ease-out,background-color .2s ease-out;
}
.dc-tab:hover{color:var(--dc-brown);background:var(--dc-amber-soft)}
.dc-tab[aria-selected="true"]{
  color:var(--dc-brown);
  border-bottom-color:var(--dc-amber);
  background:var(--dc-amber-soft);
}
.dc-tabs--dark .dc-tabs__list{border-bottom-color:var(--dc-felt-line)}
.dc-tabs--dark .dc-tab{color:rgba(247,243,233,.7)}
.dc-tabs--dark .dc-tab:hover{color:var(--dc-porcelain);background:rgba(217,162,43,.12)}
.dc-tabs--dark .dc-tab[aria-selected="true"]{
  color:var(--dc-amber-bright);
  border-bottom-color:var(--dc-amber);
  background:rgba(217,162,43,.16);
}
.dc-panel{animation:dc-panel-in .2s ease-out}
.dc-panel[hidden]{display:none}
@keyframes dc-panel-in{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}
}

/* ---------- 手风琴 ---------- */
.dc-acc{
  border-top:1px solid var(--dc-line);
  margin:0 0 24px;
}
.dc-acc__item{border-bottom:1px solid var(--dc-line)}
.dc-acc__btn{
  width:100%;
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 4px;
  background:transparent;
  border:0;
  text-align:left;
  font-family:var(--dc-sans);
  font-size:16.5px;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--dc-brown);
  cursor:pointer;
  transition:color .2s ease-out;
}
.dc-acc__btn:hover{color:var(--dc-cinnabar)}
.dc-acc__btn::after{
  content:"";
  flex:0 0 auto;
  width:9px;
  height:9px;
  margin-left:auto;
  border-right:1.5px solid var(--dc-amber);
  border-bottom:1.5px solid var(--dc-amber);
  transform:rotate(45deg);
  transition:transform .2s ease-out;
}
.dc-acc__btn[aria-expanded="true"]::after{transform:rotate(-135deg)}
.dc-acc__panel{padding:0 4px 20px}
.dc-acc__panel[hidden]{display:none}
.dc-section--ink .dc-acc,
.dc-section--felt .dc-acc{border-top-color:var(--dc-felt-line)}
.dc-section--ink .dc-acc__item,
.dc-section--felt .dc-acc__item{border-bottom-color:var(--dc-felt-line)}
.dc-section--ink .dc-acc__btn,
.dc-section--felt .dc-acc__btn{color:var(--dc-porcelain)}

/* ---------- 对照表 ---------- */
.dc-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--dc-line);
  background:var(--dc-porcelain);
}
.dc-table{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  font-size:15px;
}
.dc-table caption{
  padding:14px 16px;
  text-align:left;
  background:var(--dc-paper);
  color:var(--dc-gray);
  font-family:var(--dc-mono);
  font-size:12px;
  letter-spacing:.14em;
}
.dc-table th,
.dc-table td{
  padding:13px 16px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--dc-line-soft);
}
.dc-table thead th{
  background:var(--dc-paper);
  color:var(--dc-brown);
  font-size:13.5px;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
  border-bottom:1px solid var(--dc-line);
}
.dc-table tbody tr{transition:background-color .16s linear}
.dc-table tbody tr:hover{background:var(--dc-amber-soft)}
.dc-table tbody tr:last-child th,
.dc-table tbody tr:last-child td{border-bottom:0}
.dc-table .dc-num{white-space:nowrap}

/* ---------- 图片容器 ---------- */
.dc-media{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:16/10;
  background:var(--dc-felt);
  border:1px solid var(--dc-felt-line);
}
.dc-media > img,
.dc-media > picture,
.dc-media > picture > img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.dc-media--square{aspect-ratio:1/1}
.dc-media--portrait{aspect-ratio:3/4}
.dc-media--tall{aspect-ratio:4/5}
.dc-media--wide{aspect-ratio:21/9}
.dc-media--light{background:var(--dc-paper);border-color:var(--dc-line)}
.dc-media__cap{
  position:absolute;
  left:0;
  bottom:0;
  max-width:100%;
  padding:8px 14px;
  background:var(--dc-ink);
  color:var(--dc-amber);
  font-family:var(--dc-mono);
  font-size:11.5px;
  letter-spacing:.14em;
  line-height:1.5;
}

/* ---------- 通用网格与分隔 ---------- */
.dc-grid{display:grid;gap:16px}
.dc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dc-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dc-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dc-rule{
  height:1px;
  border:0;
  margin:32px 0;
  background:var(--dc-line);
}
.dc-rule--amber{background:var(--dc-amber);height:2px}

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

/* ---------- 平板 ---------- */
@media (max-width:1080px){
  .dc-footer__grid{grid-template-columns:1.3fr 1fr 1fr;gap:30px 32px}
  .dc-footer__col:nth-child(4){padding-top:18px}
}
@media (max-width:1000px){
  .dc-brand__meta{max-width:170px}
  .dc-nav__link{padding:10px 10px 13px;font-size:14px}
  .dc-nav__link::after{left:10px;right:10px}
}

/* ---------- 移动导航 ---------- */
@media (max-width:940px){
  :root{
    --dc-header-h:64px;
    --dc-gutter:16px;
  }
  .dc-header__bar{gap:16px}
  .dc-brand{gap:10px}
  .dc-brand__mark{width:34px;height:34px;font-size:17px}
  .dc-brand__name{font-size:18px}
  .dc-brand__meta{font-size:10px;margin-top:3px;max-width:190px}
  .dc-nav-toggle{display:inline-flex}
  .dc-nav{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:55;
    width:min(86vw,352px);
    margin:0;
    padding:calc(var(--dc-header-h) + 22px) 20px 24px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    background-color:var(--dc-felt);
    background-image:
      linear-gradient(rgba(217,162,43,.05) 1px,transparent 1px),
      linear-gradient(90deg,rgba(217,162,43,.05) 1px,transparent 1px);
    background-size:48px 48px;
    border-left:1px solid var(--dc-amber);
    overflow-y:auto;
    visibility:hidden;
    transform:translateX(101%);
    transition:transform .24s var(--dc-ease),visibility .24s linear;
  }
  .dc-nav[data-open]{
    visibility:visible;
    transform:translateX(0);
  }
  .dc-nav__label{
    display:block;
    margin:0 0 16px;
    font-family:var(--dc-mono);
    font-size:11px;
    letter-spacing:.24em;
    color:var(--dc-amber);
  }
  .dc-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .dc-nav__link{
    padding:15px 4px 16px;
    font-size:17px;
    font-weight:600;
    color:var(--dc-porcelain);
    white-space:normal;
    border-bottom:1px solid var(--dc-felt-line);
  }
  .dc-nav__link::after{left:4px;right:4px;bottom:8px}
  .dc-nav__link[aria-current="page"]::before{top:24px;right:2px;width:6px;height:6px}
  .dc-nav__note{
    display:block;
    margin-top:6px;
    font-size:12px;
    font-weight:400;
    line-height:1.6;
    letter-spacing:.02em;
    color:var(--dc-cool);
  }
  .dc-nav__foot{
    display:block;
    margin-top:auto;
    padding-top:24px;
  }
  .dc-nav__foot .dc-btn{width:100%}
}

/* ---------- 平板布局 ---------- */
@media (max-width:900px){
  .dc-span-3,.dc-span-4,.dc-span-5{grid-column:span 6}
  .dc-span-7,.dc-span-8,.dc-span-9{grid-column:span 12}
  .dc-grid--3,
  .dc-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dc-footer__grid{grid-template-columns:1fr 1fr;gap:28px 32px}
  .dc-footer__brand{grid-column:1 / -1;max-width:none}
  .dc-footer__col:nth-child(n){padding-top:0}
  .dc-footer__col:nth-child(3){padding-top:18px}
  .dc-footer__col:nth-child(4){padding-top:36px}
}

/* ---------- 手机 ---------- */
@media (max-width:640px){
  body{font-size:16px}
  .dc-footer{padding:48px 0 24px}
  .dc-footer__grid{grid-template-columns:1fr}
  .dc-footer__col:nth-child(n){padding-top:0}
  .dc-footer__legal{gap:8px 16px}
  .dc-footer__copy{margin-left:0;width:100%}
  .dc-card{padding:22px 18px}
  .dc-table--stack{min-width:0}
  .dc-table--stack thead{display:none}
  .dc-table--stack tbody,
  .dc-table--stack tr,
  .dc-table--stack td{display:block;width:100%}
  .dc-table--stack tr{
    padding:10px 14px;
    border-bottom:1px solid var(--dc-line);
  }
  .dc-table--stack tr:last-child{border-bottom:0}
  .dc-table--stack td{
    display:flex;
    gap:14px;
    justify-content:space-between;
    padding:6px 0;
    border:0;
  }
  .dc-table--stack td::before{
    content:attr(data-label);
    flex:0 0 auto;
    font-family:var(--dc-mono);
    font-size:11.5px;
    letter-spacing:.12em;
    color:var(--dc-gray);
  }
}
@media (max-width:600px){
  .dc-bento{
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .dc-grid--2,
  .dc-grid--3,
  .dc-grid--4{grid-template-columns:1fr}
  .dc-section--slant{
    clip-path:polygon(0 22px,100% 0,100% 100%,0 100%);
    padding-top:calc(clamp(48px,7vw,88px) + 22px);
  }
}

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