/* ============================================================
   梦想棋牌 · 共享样式表 /assets/site.css
   夜间牌桌 + 蓝图网格 + 霓虹青／暖金数据强调
   ============================================================ */

/* ---------- 1. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote,dl,dd,fieldset{margin:0}
ul,ol{list-style:none;padding:0}
img,svg,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
table{border-collapse:collapse;width:100%}
hr{border:0}

/* ---------- 2. Tokens ---------- */
:root{
  --ink:#071426;
  --ink-2:#0C1F38;
  --line:#1E3A5F;
  --cyan:#38E1D0;
  --cyan-soft:#7FF3E8;
  --gold:#E8B44A;
  --amber:#B87A24;
  --magenta:#E0457B;
  --cream:#F2F5F7;
  --muted:#9FB3C8;

  --rail-w:224px;
  --header-h:68px;
  --maxw:1180px;
  --radius:2px;

  --font-sans:"PingFang SC","HarmonyOS Sans SC","Source Han Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-narrow:"PingFang SC","HarmonyOS Sans SC",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  --space-section:clamp(48px,7vw,96px);
  --glow-cyan:0 0 0 1px rgba(56,225,208,.28),0 0 22px rgba(56,225,208,.16);
  --ease:cubic-bezier(.4,0,.2,1);
}

/* ---------- 3. Base ---------- */
body{
  min-height:100vh;
  background-color:var(--ink);
  color:var(--cream);
  font-family:var(--font-sans);
  font-size:16.5px;
  line-height:1.75;
  letter-spacing:.008em;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(30,58,95,.55) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(30,58,95,.5) 1px,transparent 1px);
  background-size:72px 72px;
  opacity:.34;
  -webkit-mask-image:radial-gradient(120% 92% at 50% 0%,#000 18%,rgba(0,0,0,.28) 68%,transparent 100%);
  mask-image:radial-gradient(120% 92% at 50% 0%,#000 18%,rgba(0,0,0,.28) 68%,transparent 100%);
}
body::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(560px 420px at 88% -6%,rgba(56,225,208,.16),transparent 70%),
    radial-gradient(520px 380px at 4% 108%,rgba(232,180,74,.12),transparent 72%),
    radial-gradient(360px 260px at 62% 46%,rgba(224,69,123,.06),transparent 70%);
}
#main-content{position:relative;z-index:1;display:block}

h1,h2,h3,h4,h5{font-family:var(--font-narrow);font-weight:800;letter-spacing:.03em;line-height:1.2}
h1{font-size:clamp(2rem,5.2vw,3.4rem);line-height:1.06}
h2{font-size:clamp(1.4rem,3vw,1.9rem)}
h3{font-size:1.16rem}
h4{font-size:1rem;letter-spacing:.05em}
p+p{margin-top:.9em}
strong{color:var(--cream);font-weight:700}

:focus-visible{outline:2px solid var(--cyan-soft);outline-offset:2px;border-radius:2px}

.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}

/* ---------- 4. Skip link ---------- */
.skip-link{
  position:absolute;left:12px;top:6px;z-index:99;
  padding:.55em .95em;
  background:var(--cyan);color:#04121f;
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;font-weight:700;
  border-radius:var(--radius);
  transform:translateY(-180%);
  transition:transform .18s var(--ease);
}
.skip-link:focus{transform:translateY(0)}

/* ---------- 5. Header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:linear-gradient(180deg,rgba(7,20,38,.97),rgba(7,20,38,.86));
  border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.header-bar{
  position:relative;
  display:flex;align-items:center;gap:14px;
  min-height:var(--header-h);
  padding:10px 16px;
}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:0}
.brand__mark{
  position:relative;flex:0 0 auto;width:34px;height:34px;
  display:grid;place-items:center;
  border:1px solid var(--cyan);
  background:linear-gradient(135deg,rgba(56,225,208,.2),rgba(56,225,208,0));
  clip-path:polygon(0 0,100% 0,100% 66%,66% 100%,0 100%);
}
.brand__dot{width:9px;height:9px;background:var(--cyan);box-shadow:0 0 12px rgba(56,225,208,.8);transform:rotate(45deg)}
.brand__text{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.brand__name{font-family:var(--font-narrow);font-weight:800;font-size:1.06rem;letter-spacing:.09em;color:var(--cream)}
.brand__sub{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;color:var(--muted);white-space:nowrap}

.header-meta{display:none;align-items:center;gap:8px;margin-left:6px}
.meta-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 9px;border:1px solid var(--line);border-radius:var(--radius);
  background:rgba(12,31,56,.72);
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;
}
.meta-chip__k{color:var(--muted)}
.meta-chip__v{color:var(--cyan)}
.meta-chip--gold .meta-chip__v{color:var(--gold)}

.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.header-cta{display:none}

.nav-toggle{
  display:inline-flex;align-items:center;gap:9px;
  padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);
  background:rgba(12,31,56,.85);
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;color:var(--cream);
  transition:border-color .18s var(--ease),color .18s var(--ease);
}
.nav-toggle:hover{border-color:rgba(56,225,208,.5);color:var(--cyan-soft)}
.nav-toggle__bars{position:relative;flex:0 0 auto;width:16px;height:10px}
.nav-toggle__bars::before,.nav-toggle__bars::after{
  content:"";position:absolute;left:0;width:100%;height:2px;background:var(--cyan);
  transition:transform .22s var(--ease);
}
.nav-toggle__bars::before{top:0}
.nav-toggle__bars::after{bottom:0}
.site-header[data-open] .nav-toggle__bars::before{transform:translateY(4px) rotate(45deg)}
.site-header[data-open] .nav-toggle__bars::after{transform:translateY(-4px) rotate(-45deg)}

.scroll-bar{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:rgba(30,58,95,.45);overflow:hidden;pointer-events:none}
.scroll-bar__fill{
  display:block;height:100%;width:100%;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--cyan),var(--gold));
  transition:transform .1s linear;
}

.nav-scrim{position:fixed;inset:0;z-index:30;background:rgba(4,12,22,.74)}
.nav-scrim[hidden]{display:none}

/* ---------- 6. Rail navigation ---------- */
.rail-nav{
  position:fixed;top:var(--header-h);left:0;bottom:0;z-index:40;
  width:min(84vw,320px);
  display:flex;flex-direction:column;gap:16px;
  padding:22px 16px 20px;
  overflow-y:auto;
  background:linear-gradient(180deg,rgba(12,31,56,.99),rgba(7,20,38,.99));
  border-right:1px solid var(--line);
  transform:translateX(-102%);
  visibility:hidden;
  transition:transform .28s var(--ease),visibility .28s var(--ease);
}
.site-header[data-open] .rail-nav{transform:translateX(0);visibility:visible}

.rail-nav__title{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.24em;
  color:var(--muted);padding-left:10px;
}
.rail-nav__list{position:relative;display:flex;flex-direction:column;gap:4px}
.rail-nav__list::before{
  content:"";position:absolute;left:15px;top:8px;bottom:8px;width:1px;
  background:repeating-linear-gradient(to bottom,rgba(30,58,95,.95) 0 5px,transparent 5px 11px);
}
.rail-nav__item{position:relative}
.rail-nav__link{
  display:grid;grid-template-columns:30px 1fr;align-items:center;gap:8px;
  padding:9px 10px;border:1px solid transparent;border-radius:var(--radius);
  color:var(--muted);font-weight:600;font-size:.95rem;letter-spacing:.06em;
  transition:color .18s var(--ease),background-color .18s var(--ease),border-color .18s var(--ease);
}
.rail-nav__num{
  position:relative;z-index:1;
  padding:2px 0;text-align:center;
  background:var(--ink);
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;color:var(--line);
  transition:color .18s var(--ease);
}
.rail-nav__link:hover{color:var(--cream);background:rgba(56,225,208,.07);border-color:rgba(56,225,208,.32)}
.rail-nav__link:hover .rail-nav__num{color:var(--cyan)}
.rail-nav__link[aria-current="page"]{
  color:var(--cyan-soft);
  background:linear-gradient(90deg,rgba(56,225,208,.16),rgba(56,225,208,.02));
  border-color:rgba(56,225,208,.5);
  box-shadow:inset 2px 0 0 var(--cyan);
}
.rail-nav__link[aria-current="page"] .rail-nav__num{color:var(--gold)}

.rail-nav__foot{
  margin-top:auto;display:flex;flex-direction:column;gap:10px;
  padding:14px 10px 2px;border-top:1px solid var(--line);
}
.rail-nav__note{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;color:var(--muted)}

/* ---------- 7. Footer ---------- */
.site-footer{
  position:relative;z-index:1;
  margin-top:clamp(56px,8vw,110px);
  background:linear-gradient(180deg,rgba(9,24,44,.92),rgba(5,15,29,.99));
  border-top:1px solid var(--line);
}
.site-footer::before{
  content:"";position:absolute;top:-1px;left:0;width:min(420px,60%);height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--gold),transparent);
}
.footer-grid{
  width:min(var(--maxw),100% - 36px);margin-inline:auto;
  display:grid;grid-template-columns:1fr;gap:32px;
  padding-block:clamp(36px,5vw,64px) 30px;
}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-brand__name{font-family:var(--font-narrow);font-weight:800;font-size:1.24rem;letter-spacing:.1em;color:var(--cream)}
.footer-brand__tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--muted)}
.footer-title{
  position:relative;margin-bottom:16px;padding-left:13px;
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;
  color:var(--cream);text-transform:uppercase;
}
.footer-title::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.footer-list{display:flex;flex-direction:column;gap:9px}
.footer-list a{
  position:relative;display:inline-block;padding-left:14px;
  color:var(--muted);font-size:.93rem;
  transition:color .18s var(--ease),transform .18s var(--ease);
}
.footer-list a::before{
  content:"";position:absolute;left:0;top:.74em;width:7px;height:1px;background:var(--line);
  transition:background-color .18s var(--ease),width .18s var(--ease);
}
.footer-list a:hover{color:var(--cyan-soft);transform:translateX(2px)}
.footer-list a:hover::before{background:var(--cyan);width:10px}

.footer-contact__list{display:flex;flex-direction:column}
.footer-contact__list li{
  display:grid;grid-template-columns:58px 1fr;gap:10px;
  padding:7px 0;border-bottom:1px dashed rgba(30,58,95,.85);
}
.footer-key{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--muted);padding-top:3px}
.footer-val{color:var(--cream);font-size:.92rem;word-break:break-all}

.copy-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.copy-btn{
  padding:.45em .85em;border:1px solid var(--line);border-radius:var(--radius);
  background:rgba(12,31,56,.8);color:var(--muted);
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;
  transition:color .18s var(--ease),border-color .18s var(--ease);
}
.copy-btn:hover{color:var(--cyan-soft);border-color:rgba(56,225,208,.5)}
.copy-feedback{margin-top:8px;min-height:1.2em;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;color:var(--cyan)}
.footer-note{font-size:.8rem;color:var(--muted);line-height:1.7}

.footer-legal{
  width:min(var(--maxw),100% - 36px);margin-inline:auto;
  display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
  padding:18px 0 30px;
  border-top:1px solid rgba(30,58,95,.9);
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;color:var(--muted);
}
.footer-copy{color:var(--muted)}

/* ---------- 8. Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:.62em 1.1em;
  border:1px solid var(--line);border-radius:var(--radius);
  background:rgba(12,31,56,.85);color:var(--cream);
  font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.12em;
  clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));
  transition:border-color .18s var(--ease),color .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease);
}
.btn:hover{border-color:var(--cyan);color:var(--cyan-soft);box-shadow:var(--glow-cyan)}
.btn--cyan{background:var(--cyan);border-color:var(--cyan);color:#04121f}
.btn--cyan:hover{background:var(--cyan-soft);border-color:var(--cyan-soft);color:#04121f}
.btn--ghost{background:transparent}
.btn--sm{padding:.45em .8em;font-size:.7rem}
.btn--block{width:100%}

/* ---------- 9. Layout ---------- */
.wrap{width:min(var(--maxw),100% - 36px);margin-inline:auto}
.wrap--narrow{width:min(820px,100% - 36px);margin-inline:auto}
.section{padding-block:var(--space-section)}
.section__head{display:flex;flex-direction:column;gap:10px;max-width:70ch;margin-bottom:28px}
.eyebrow{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.22em;
  color:var(--cyan);text-transform:uppercase;
}
.display{font-family:var(--font-narrow);font-weight:800;font-size:clamp(2rem,5.2vw,3.4rem);line-height:1.06;letter-spacing:.03em}
.display--sm{font-size:clamp(1.5rem,3vw,2.1rem)}
.lede{color:var(--muted);font-size:1.04rem;max-width:64ch}
.link{color:var(--cyan);border-bottom:1px solid rgba(56,225,208,.4);transition:color .18s var(--ease),border-color .18s var(--ease)}
.link:hover{color:var(--cyan-soft);border-bottom-color:var(--cyan-soft)}

.grid{display:grid;gap:20px}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.grid--blueprint{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}

/* ---------- 10. Panels, data, tags ---------- */
.panel{
  position:relative;padding:22px;
  border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(12,31,56,.92),rgba(9,24,44,.92));
}
.panel--cut{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.panel--offset{margin-top:32px}
.panel--interactive{transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}
.panel--interactive:hover{transform:translateY(-2px);border-color:rgba(56,225,208,.45);box-shadow:var(--glow-cyan)}
.panel__label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}

.stat{display:flex;flex-direction:column;gap:2px}
.stat__num{font-family:var(--font-mono);font-weight:700;font-size:clamp(1.6rem,3.6vw,2.4rem);line-height:1.1;letter-spacing:.02em;color:var(--cyan)}
.stat__label{font-size:.84rem;letter-spacing:.04em;color:var(--muted)}
.stat--gold .stat__num{color:var(--gold)}
.stat--magenta .stat__num{color:var(--magenta)}

.tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:.26em .6em;border:1px solid var(--line);border-radius:var(--radius);
  background:rgba(12,31,56,.72);
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--muted);
}
.tag--cyan{color:var(--cyan);border-color:rgba(56,225,208,.45)}
.tag--gold{color:var(--gold);border-color:rgba(232,180,74,.45)}
.tag--magenta{color:var(--magenta);border-color:rgba(224,69,123,.45)}

.rule{height:1px;background:linear-gradient(90deg,rgba(30,58,95,.9),rgba(30,58,95,0));margin:0}
.rule--slash{height:2px;background:linear-gradient(90deg,var(--cyan),rgba(232,180,74,.6) 45%,rgba(30,58,95,0));transform:skewY(-1.6deg);transform-origin:left center}

.index-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.index-list__item{
  display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;
  padding:14px 4px;border-bottom:1px solid rgba(30,58,95,.75);
  color:var(--cream);
  transition:background-color .18s var(--ease),padding-left .18s var(--ease);
}
.index-list__item:hover{background:rgba(56,225,208,.06);padding-left:12px}
.index-list__num{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--gold)}
.index-list__title{font-weight:700;letter-spacing:.04em}
.index-list__meta{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--muted)}

/* ---------- 11. Media ---------- */
.media{
  position:relative;display:block;overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(12,31,56,.95),rgba(7,20,38,.95));
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));
}
.media img,.media video{width:100%;height:100%;object-fit:cover}
.media--16x9{aspect-ratio:16/9}
.media--4x3{aspect-ratio:4/3}
.media--3x2{aspect-ratio:3/2}
.media--1x1{aspect-ratio:1/1}
.media--portrait{aspect-ratio:3/4}
.media__ph{
  position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center;
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;color:var(--muted);
  background-image:
    linear-gradient(to right,rgba(30,58,95,.5) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(30,58,95,.5) 1px,transparent 1px);
  background-size:32px 32px;
}
.media__badge{
  position:absolute;left:0;top:0;z-index:1;
  padding:5px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--ink);
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;color:var(--cyan);
}
.media__caption{margin-top:10px;font-size:.85rem;color:var(--muted)}
.media-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* ---------- 12. Breadcrumb ---------- */
.breadcrumb{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--muted)}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.breadcrumb li+li::before{content:"/";margin-right:8px;color:var(--line)}
.breadcrumb a{color:var(--muted);transition:color .18s var(--ease)}
.breadcrumb a:hover{color:var(--cyan)}
.breadcrumb [aria-current="page"]{color:var(--cream)}

/* ---------- 13. Tabs ---------- */
.tabs{display:block}
.tabs__list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.tab{
  padding:10px 16px;border:1px solid transparent;border-bottom:2px solid transparent;
  border-radius:var(--radius) var(--radius) 0 0;
  font-family:var(--font-mono);font-size:.76rem;letter-spacing:.1em;color:var(--muted);
  transition:color .18s var(--ease),background-color .18s var(--ease),border-color .18s var(--ease);
}
.tab:hover{color:var(--cream);background:rgba(56,225,208,.06)}
.tab[aria-selected="true"]{
  color:var(--cyan-soft);
  border-color:rgba(56,225,208,.35);
  border-bottom-color:var(--cyan);
  background:linear-gradient(180deg,rgba(56,225,208,.12),transparent);
}
.tabpanel{padding:4px 0;animation:panel-in .26s var(--ease) both}
.tabpanel[hidden]{display:none}
@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- 14. Accordion ---------- */
.accordion{display:flex;flex-direction:column;gap:10px}
.acc-item{
  border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(12,31,56,.85),rgba(9,24,44,.85));
}
.acc-item:focus-within{border-color:rgba(56,225,208,.45)}
.acc-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;
  padding:15px 18px;text-align:left;
  font-weight:700;letter-spacing:.03em;color:var(--cream);
  transition:color .18s var(--ease);
}
.acc-trigger::after{content:"+";font-family:var(--font-mono);font-size:1.1rem;line-height:1;color:var(--cyan)}
.acc-trigger[aria-expanded="true"]{color:var(--cyan-soft)}
.acc-trigger[aria-expanded="true"]::after{content:"−"}
.acc-panel{padding:0 18px 18px;color:var(--muted);font-size:.96rem;animation:panel-in .24s var(--ease) both}
.acc-panel[hidden]{display:none}

/* ---------- 15. Reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
[data-reveal].is-in{opacity:1;transform:none}
:root:not(.js) [data-reveal]{opacity:1;transform:none}

/* ---------- 16. Responsive ---------- */
@media (min-width:700px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:768px){
  .header-cta{display:inline-flex}
}
@media (min-width:1024px){
  .nav-toggle{display:none}
  .nav-scrim{display:none}

  #main-content{padding-left:var(--rail-w)}
  .site-footer{padding-left:var(--rail-w)}
  .site-footer::before{left:var(--rail-w)}

  .rail-nav{
    width:var(--rail-w);
    transform:none;visibility:visible;
    transition:none;
  }
  .header-bar{padding:10px 22px}
  .brand{width:calc(var(--rail-w) - 44px)}
  .site-header::after{
    content:"";position:absolute;left:var(--rail-w);top:9px;bottom:9px;width:1px;
    background:linear-gradient(180deg,transparent,var(--line) 22%,var(--line) 78%,transparent);
    pointer-events:none;
  }
  .header-meta{display:flex}
  .footer-grid{grid-template-columns:1.5fr .8fr .8fr 1.3fr;gap:28px}
}

/* ---------- 17. Motion preference ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  [data-reveal]{opacity:1 !important;transform:none !important}
  .scroll-bar__fill{transition:none !important}
}
