/* ============================================================
   GRIDGARAGE — Swiss Minimal Design Tokens (Dark only)
   固定深色主题；保留旧变量名（--accent-orange 等）以兼容
   admin.css / form.css。
   ============================================================ */
:root {
  color-scheme: dark;
  /* === Surfaces === */
  --bg: #0D0D0D;
  --bg-card: #141414;
  --border: #262626;
  --border-strong: #F2F2F2;
  /* === Text === */
  --text: #E6E6E6;
  --text-dim: #8A8A8A;
  --text-bright: #FFFFFF;
  /* === Monochrome accent（瑞士风：白即强调色） === */
  --accent: #F2F2F2;
  --accent-orange: #F2F2F2;
  --accent-orange-2: #CCCCCC;
  --accent2: #999999;
  --accent-warn: #FF6B5E;
  --accent-dim: #222222;
  /* === Effects（瑞士风去除发光） === */
  --glow-papaya: none;
  --radius: 2px;
  --transition: .18s ease;
  --hero-grid-line: rgba(255,255,255,.04);
  --wm-color: rgba(255,255,255,.05);
  --shadow: none;
}

/* ===== Reset & Base ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .25s ease,color .25s ease;
}

/* ===== Parallax background grid (scroll-fx 驱动) ===== */
.page-grid{
  position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(var(--hero-grid-line) 1px,transparent 1px) 0 0/100% 88px;
  will-change:transform;
}

/* ===== Scroll reveal（仅 scroll-fx 启用时挂 .js-fx） ===== */
html.js-fx .rv{
  opacity:0;transform:translate3d(0,18px,0);
  transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1);
}
html.js-fx .rv.in{opacity:1;transform:none}

/* 移动端 / 减少动态：视差与入场动画整体禁用 */
@media(max-width:768px),(prefers-reduced-motion:reduce){
  .page-grid{display:none}
  html.js-fx .rv{opacity:1;transform:none;transition:none}
}

/* ===== Watermark (below hero) ===== */
.page-watermark{
  position:fixed;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;
  pointer-events:none;z-index:0;
  opacity:0;
  transition:opacity .8s ease;
  white-space:nowrap;
}
.page-watermark.visible{opacity:1}
.page-watermark .wm-text{
  font-family:'Inter',sans-serif;font-weight:800;
  font-size:clamp(8rem,40vw,52rem);
  color:var(--wm-color);
  letter-spacing:-.02em;line-height:.85;
  user-select:none;
}
.page-watermark .wm-sub{
  font-family:'Inter',sans-serif;font-weight:400;
  font-size:clamp(1.5rem,6vw,7rem);
  color:var(--wm-color);
  letter-spacing:.4em;
  margin-top:-.05em;
  user-select:none;
}

/* ===== Scrollbar ===== */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}
