/*
 * Dobby Is Free Immigration — brand tokens.
 * Palette is the official IP swatch set. Brand colours are light by design, so
 * every interactive surface that carries white text uses a *-deep variant; the
 * bright values stay on fills, chips and decoration with navy text on top.
 */
:root {
  /* Brightened web palette derived from the official brand swatches */
  --cream: #f7fbff;
  --navy: #171b4b;
  --mint: #9cebd7;
  --sky: #adddff;
  --peri: #a49dff;
  --coral: #ff806f;

  /* Accessible derivatives for text, buttons and icons */
  --coral-deep: #ad3f32;
  --peri-deep: #5149bd;
  --mint-deep: #126d5a;
  --sky-deep: #286d98;

  /* Surfaces */
  --bg: #f5faff;
  --bg-gradient:
    radial-gradient(48rem 28rem at 5% 2%, rgba(156, 235, 215, 0.38), transparent 68%),
    radial-gradient(48rem 28rem at 95% 0%, rgba(164, 157, 255, 0.34), transparent 68%),
    linear-gradient(180deg, #f5fbff 0%, #ffffff 62%, #f4f8ff 100%);
  --panel: #ffffff;
  --panel-soft: #edf6fb;
  --panel-strong: #ffffff;
  --glass-fill: rgba(255, 255, 255, 0.62);
  --glass-fill-strong: rgba(255, 255, 255, 0.78);
  --glass-stroke: rgba(255, 255, 255, 0.82);
  --glass-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    inset 0 -1px 0 rgba(104, 116, 162, 0.08),
    0 22px 60px rgba(39, 53, 101, 0.12);

  /* Text */
  --ink: var(--navy);
  --muted: #606787;
  --line: #d9e3ef;
  --line-strong: #bbc9dd;

  /* Semantic status — paired with text labels, never colour alone */
  --accent: var(--navy);
  --accent-soft: #e7eaff;
  --accent-dark: #0e123c;
  --good: var(--mint-deep);
  --good-soft: var(--mint);
  --warn: var(--coral-deep);
  --warn-soft: #ffd7d0;
  --weak: var(--coral-deep);
  --weak-soft: #ffdcd4;
  --idle: var(--muted);
  --idle-soft: #e6edf5;
  --violet: var(--peri-deep);
  --violet-soft: #e6e4ff;
  --neutral-soft: #edf2f8;

  /* Depth and shape */
  --shadow: 0 28px 70px rgba(17, 18, 23, 0.13);
  --shadow-soft: 0 12px 30px rgba(17, 18, 23, 0.07);
  --shadow-inset: inset 0 0 0 1px var(--line);
  --radius: 30px;
  --radius-sm: 18px;
  --radius-pill: 999px;

  /* Type — geometric sans across the whole product, no serif */
  --sans: "Avenir Next", Avenir, "Segoe UI", "PingFang SC", "PingFang TC",
    "Hiragino Sans GB", "Noto Sans CJK SC", system-ui, sans-serif;
  --display: var(--sans);
}

html:lang(zh-CN) {
  --sans: "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC",
    "Microsoft YaHei", "Avenir Next", system-ui, sans-serif;
}

html:lang(zh-TW) {
  --sans: "PingFang TC", "Noto Sans CJK TC", "Microsoft JhengHei",
    "Avenir Next", system-ui, sans-serif;
}
