/* Local subsets are generated from fonts/ by scripts/subset-fonts.py.
   Shin Go keeps Japanese full-width curly punctuation by default. Its palt
   feature supplies the font’s own proportional spacing for this Latin UI. */
@font-face {
  font-family: "Shin Go";
  src: url("fonts/shin-go-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  font-feature-settings: "palt" 1;
}
@font-face {
  font-family: "Shin Go";
  src: url("fonts/shin-go-medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  font-feature-settings: "palt" 1;
}
@font-face {
  font-family: "Shin Go";
  src: url("fonts/shin-go-demibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  font-feature-settings: "palt" 1;
}
@font-face {
  font-family: "Shin Go";
  src: url("fonts/shin-go-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  font-feature-settings: "palt" 1;
}
@font-face {
  font-family: "Rampart One";
  src: url("fonts/rampart-one.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Chiaro";
  src: url("fonts/chiaro-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Pop Happiness";
  src: url("fonts/pop-happiness.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light;
  --font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-ui: "Shin Go", var(--font-system);
  --font-display: var(--font-ui);
  --font-dance: "Chiaro", var(--font-ui);
  --font-brand: "Rampart One", var(--font-system);
  --font-chunk: "Pop Happiness", var(--font-ui);
  --font-count: var(--font-system);
  font-synthesis: none;
  --brand: #c63f46;
  --bg: #f5f5f1;
  --paper: #fffefd;
  --ink: #292e2d;
  --muted: #69716d;
  --line: #dfe3de;
  --accent: #20745c;
  --accent-hover: #195d49;
  --soft: #e3efe7;
  --left: #9562ab;
  --right: #168a91;
  --coral: #b64c38;
  --practice: #754292;
  --track: #e8ece6;
  --selected-line: #bdd5c6;
  --connected-bg: #f0f5ef;
  --connected-line: #d7e5d6;
  --playing-bg: #deede4;
  --control-line: #c9d2ca;
  --on-accent-muted: #e0efe5;
  --selected-ring: #a9cbb8;
  --control-bg: #eaece7;
  --grid: #c5d6c9;
  --pulse-regular: 32, 116, 92;
  --waveform-fill: #709a92;
  --focus: #c17a3b;
  --shadow: #30293812;
}

:root[data-mode=practice] {
  --accent: #754292;
  --accent-hover: #603478;
  --soft: #eee5f4;
  --line: #e2dce6;
  --track: #ebe4ee;
  --selected-line: #cdb8da;
  --connected-bg: #f6f1f9;
  --connected-line: #e3d7e9;
  --playing-bg: #e9ddf0;
  --control-line: #d0c3d7;
  --on-accent-muted: #f0e4f7;
  --selected-ring: #c6a9d6;
  --control-bg: #eee7f1;
  --grid: #d8c8e0;
  --pulse-regular: 117, 66, 146;
  --waveform-fill: #a180b3;
}
