/* AIGC Studio · room pigments
   --tungsten 只当 18+ 签名；房间铬走 --accent */
:root {
  --ink: #0a0810;
  --bay: #13101a;
  --rail: #1c1824;
  --hair: #2e2838;
  --mute: #8e8798;
  --paper: #e8e0e4;
  --print: #161218;
  --tungsten: #d45a74;
  --ice: #6ea4ae;
  --safe: #5aa898;
  --tape: #b86a78;
  --ok: #6ab49a;
  --gpu: #6ea4ae;
  --chrome: #08070c;
  --paper-hair: #d4c8ce;
  --paper-line: #ddd2d6;
  --paper-mute: #746870;
  --paper-ink: #3a3236;
  --paper-field: #f2ecee;
  --nsfw-fg: #d4a0a8;
  --nsfw-bg: #22161c;
  --note-bg: #18141a;
  --note-fg: #dcc8ce;
  --warn-line: #5a3844;
  --safe-line: color-mix(in srgb, var(--safe) 38%, var(--hair));
  --gpu-line: color-mix(in srgb, var(--gpu) 38%, var(--hair));
  --font-ui: Figtree, Outfit, "PingFang SC", sans-serif;
  --font-display: Syne, sans-serif;
  --font-serif: "Cormorant Garamond", "Songti SC", serif;
  --font-mono: "IBM Plex Mono", monospace;

  --accent: var(--ice);
  --accent-ink: var(--ink);
  --accent-fill: color-mix(in srgb, var(--accent) 88%, var(--paper));
  --focus: color-mix(in srgb, var(--ice) 55%, var(--paper));
  --line: color-mix(in srgb, var(--accent) 20%, var(--hair));
  --glow: none;
  --bloom-hot: transparent;
  --bloom-cold: color-mix(in srgb, var(--ice) 5%, transparent);
}

html[data-room="doors"] {
  --bloom-hot: color-mix(in srgb, var(--tungsten) 10%, transparent);
  --bloom-cold: color-mix(in srgb, var(--ice) 6%, transparent);
}

html[data-room="plus"] {
  --accent: var(--tungsten);
  --accent-fill: color-mix(in srgb, var(--tungsten) 86%, var(--paper));
  --focus: #d4a0ac;
  --line: color-mix(in srgb, var(--tungsten) 18%, var(--hair));
  --bloom-hot: color-mix(in srgb, var(--tungsten) 8%, transparent);
  --bloom-cold: color-mix(in srgb, var(--ice) 4%, transparent);
}

html[data-room="tools"] {
  --bloom-hot: transparent;
  --bloom-cold: color-mix(in srgb, var(--ice) 8%, transparent);
}

html[data-room="ops"],
html[data-room="compute"] {
  --bloom-hot: transparent;
  --bloom-cold: transparent;
  --glow: none;
}

::selection {
  background: var(--accent);
  color: var(--accent-ink);
}

html {
  background-color: var(--ink);
}

body {
  background-color: var(--ink);
  background-image:
    radial-gradient(ellipse 90% 55% at 8% -10%, var(--bloom-hot), transparent 56%),
    radial-gradient(ellipse 75% 45% at 100% 108%, var(--bloom-cold), transparent 52%);
}

button, .btn, .chip, .case, .fn, .mode, .door, .take, .shot-n, .flow a, .lang button, .side a, .pill {
  cursor: pointer;
}
button, a, .btn, .chip, .case, .fn, .mode, .flow a, .shot-n, .lang button, .side a {
  transition: border-color .15s ease, color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .12s ease, opacity .15s ease;
}
.btn:hover:not(:disabled), a.btn:hover { border-color: var(--accent); }
.btn:active:not(:disabled), a.btn:active, .chip:active, .mode:active, .case:active, .fn:active, .lang button:active, .side a:active {
  transform: translateY(1px) scale(0.98);
}
.btn:disabled { cursor: not-allowed; }

@media (prefers-reduced-motion: reduce) {
  body { background-image: none; }
  .btn:active:not(:disabled), a.btn:active, .chip:active, .mode:active, .case:active, .fn:active {
    transform: none;
  }
}
