/* 全站設計基準：地形圖＋工程筆記的米白紙色（固定淺色，不跟系統深色模式） */
@font-face { font-family: "Hydro Sans"; src: local("Noto Sans TC"), url("../vendor/fonts/hydro-sans.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Hydro Serif"; src: local("Noto Serif TC"), url("../vendor/fonts/hydro-serif.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }
@font-face { font-family: "Hydro Mono"; src: local("JetBrains Mono"), url("../vendor/fonts/hydro-mono.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Hydro Mono"; src: local("JetBrains Mono Bold"), url("../vendor/fonts/hydro-mono-bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
  --bg: #f1eee7;
  --surface: #fbfaf6;
  --surface-2: #ebe7de;
  --ink: #1b1f22;
  --muted: #59616a;
  --line: #d8d2c6;
  --accent: #0f6c9b;      /* 河水藍 */
  --accent-ink: #0b557b;
  --accent-2: #a5631a;    /* 泥沙琥珀 */
  --font: "Hydro Sans", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei UI", "Microsoft JhengHei", system-ui, sans-serif;
  --serif: "Hydro Serif", "Noto Serif TC", "Songti TC", "PMingLiU", serif;
  --mono: "Hydro Mono", "JetBrains Mono", "Cascadia Mono", "SF Mono", Consolas, monospace;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --radius: 6px;
  /* 玻璃面板 */
  --glass: linear-gradient(135deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .58));
  --glass-strong: linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .78));
  --glass-border: rgba(255, 255, 255, .75);
  --glass-shadow: 0 18px 50px rgba(28, 38, 48, .16), inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(255, 255, 255, .3);
  --glass-blur: blur(18px) saturate(1.5);
  color-scheme: light;
}
/* 若要深色可手動在 <html> 加 data-theme="dark" */
:root[data-theme="dark"] {
  --bg: #0e1215; --surface: #151a1e; --surface-2: #1d2328; --ink: #e9e6df; --muted: #9aa3a9; --line: #2c343a;
  --accent: #5cb3e0; --accent-ink: #8fcdec; --accent-2: #e0a256; color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--bg); color: var(--ink); font-family: var(--font); line-height: 1.65; -webkit-font-smoothing: antialiased; font-feature-settings: "palt" 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 800; }
a { color: var(--accent-ink); }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
