/* ─────────────────────────────────────────────────────────────────────────
 * MidoriSynth design system v2 — 新東京 neo-Tokyo
 * Night city first: deep indigo-violet dark, neon signage accents
 * (pink · violet · mint · gold · acid), holographic light theme.
 * Type: Reggae One (display neon-brush) · Chakra Petch (UI) ·
 * DotGothic16 (departure-board readouts).
 * ──────────────────────────────────────────────────────────────────────── */

/* film grain + faint scanlines — night air, not CRT kitsch */
:root[data-theme="dark"] html::before {
  content: '';
  position: fixed; inset: 0;
  pointer-events: none; z-index: 2147483646;
  background:
    repeating-linear-gradient(0deg, transparent 0 2px, rgba(0,0,0,.14) 2px 3px),
    radial-gradient(120% 90% at 50% -10%, rgba(139,116,255,.06), transparent 55%);
  opacity: .5;
}

/* departure-board type for signage: tags, eyebrows, section heads, metrics */
.tag, .eyebrow, .shead, .sh,
.metric .l, .metric .lbl, .canvas-overlay, .canvas-badge, .layer-badge {
  font-family: 'DotGothic16', monospace !important;
}
.metric .n, .metric .num, .temp-value {
  font-family: 'DotGothic16', monospace !important;
  letter-spacing: .02em;
}

/* neon tube glow on the accent word of every headline */
h1 span, h1 em {
  text-shadow: 0 0 18px currentColor, 0 0 42px color-mix(in srgb, currentColor 45%, transparent);
}
:root:not([data-theme="dark"]) h1 span,
:root:not([data-theme="dark"]) h1 em { text-shadow: 0 0 14px color-mix(in srgb, currentColor 35%, transparent); }

/* h1 wears the chrome: Zen Dots — Japanese-designed mecha/HUD letterforms.
   Everything below h1 stays Shippori Mincho (see per-page styles). */
h1, #bar .logo {
  font-family: 'Zen Dots', sans-serif !important;
  font-weight: 400 !important;
}
h1 { letter-spacing: .015em !important; line-height: 1.16 !important; }

::selection { background: rgba(255, 61, 129, .4); }
:root:not([data-theme="dark"]) ::selection { background: rgba(214, 30, 99, .25); }

:focus-visible { outline: 2px solid rgba(35, 224, 180, .7); outline-offset: 2px; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(125, 132, 173, .35); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: rgba(35, 224, 180, .5); }

/* legibility floor — no label below 10px no matter what a page declares */
body { -webkit-font-smoothing: antialiased; }
