/* theme.css: the palette, fonts and derived colour tokens (plans/contract.md 5.3).
   GENERATED by tools/theme.py from source/profile/theme.json; do not edit by hand.
   Theme: Paul Carson: UV blacklight and 1210 lamp orange
   Every core colour has an -rgb twin for alpha use: rgb(var(--uv-rgb) / .5). Canvases read
   these through site/js/theme.js. --mt-* are derived material colours (tools/theme_recipes.json). */
:root {
  --void: #07050E;  /* UV-black base */
  --void-rgb: 7 5 14;
  --booth: #140F24;  /* raised surfaces: deck, cards, form */
  --booth-rgb: 20 15 36;
  --booth-2: #1C1531;  /* hover and pressed surfaces */
  --booth-2-rgb: 28 21 49;
  --uv: #8B5CFF;  /* blacklight: structure, focus, waveform, links */
  --uv-rgb: 139 92 255;
  --uv-soft: #A98BFF;  /* UV lifted for link text */
  --uv-soft-rgb: 169 139 255;
  --lamp: #FF6B1A;  /* Technics 1210 strobe-lamp orange: primary CTA, LCD, played waveform */
  --lamp-rgb: 255 107 26;
  --ink: #F4F0FF;  /* flyer white */
  --ink-rgb: 244 240 255;
  --smoke: #8E86A8;  /* secondary ink */
  --smoke-rgb: 142 134 168;
  --onair: #FF3B30;  /* the ON AIR lamp only (unused on Paul's site) */
  --onair-rgb: 255 59 48;

  --line: rgb(var(--uv-rgb) / .22);
  --band: rgb(var(--void-rgb) / .9);        /* section surface: the rig glows faintly through it */
  --lcd-dots: radial-gradient(rgb(var(--lamp-rgb) / .08) 0 1px, transparent 1.4px) 0 0 / 5px 5px;

  /* Lasers: the rig canvas only (lights.js). a, b, c make the ping-pong loop a b c b; red is
     kept for the slow red sweep and never flashes. */
  --laser-a: #8B5CFF;
  --laser-a-rgb: 139 92 255;
  --laser-b: #3D6BFF;
  --laser-b-rgb: 61 107 255;
  --laser-c: #2BFF88;
  --laser-c-rgb: 43 255 136;
  --laser-red: #FF2A4D;
  --laser-red-rgb: 255 42 77;

  /* Fonts. */
  --f-display: 'Unbounded', 'Arial Black', sans-serif;
  --f-body: 'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;
  --f-lcd: 'Doto', ui-monospace, monospace;

  /* Hero metrics (site.css multiplies the hero name's clamp()s by --hero-k). */
  --hero-k: 1;
  --hero-k-narrow: 1;  /* below 900 px */
  --hero-leading: .86;
  --hero-track: -.02em;
  --display-weight-head: 800;
  --display-weight-hero: 900;
  --hero-pos: 58% 30%;
  --hero-pos-mobile: 58% 30%;
  --hero-rest: 272px;  /* short wide screens: name <= 58svh - this */

  /* Derived material colours: each is a recipe (two anchors mixed in OKLab) resolved against
     the palette above, or a pin from theme.json "derived". */
  --mt-booth-rig: #1A1430;  /* booth + 6.4% uv */
  --mt-booth-rig-rgb: 26 20 48;
  --mt-booth-rig-2: #0E0A1B;  /* booth + 14.4% black */
  --mt-booth-rig-2-rgb: 14 10 27;
  --mt-bt-arm-tube: #CFC9E0;  /* ink + 35.2% smoke */
  --mt-bt-arm-tube-rgb: 207 201 224;
  --mt-bt-arm-weight: #2B2440;  /* booth-2 + 8.3% ink */
  --mt-bt-arm-weight-rgb: 43 36 64;
  --mt-bt-labelwrap-after: #B9B3CD;  /* ink + 56.2% smoke */
  --mt-bt-labelwrap-after-rgb: 185 179 205;
  --mt-bt-labelwrap-after-2: #6F6887;  /* booth + 76.7% smoke */
  --mt-bt-labelwrap-after-2-rgb: 111 104 135;
  --mt-bt-lamp: #161220;  /* void + 13.6% smoke */
  --mt-bt-lamp-rgb: 22 18 32;
  --mt-bt-lamp-2: #FFE2CC;  /* pinned */
  --mt-bt-lamp-2-rgb: 255 226 204;
  --mt-bt-lcd: #0A0712;  /* void + 2.3% uv-soft */
  --mt-bt-lcd-rgb: 10 7 18;
  --mt-bt-platter: #3A3450;  /* booth-2 + 16.6% ink */
  --mt-bt-platter-rgb: 58 52 80;
  --mt-bt-platter-2: #6D6783;  /* void + 78.6% smoke */
  --mt-bt-platter-2-rgb: 109 103 131;
  --mt-bt-platter-3: #2C2641;  /* booth-2 + 9% ink */
  --mt-bt-platter-3-rgb: 44 38 65;
  --mt-bt-platter-4: #57516E;  /* booth + 58.5% smoke */
  --mt-bt-platter-4-rgb: 87 81 110;
  --mt-bt-platter-5: #2A2440;  /* booth-2 + 8% ink */
  --mt-bt-platter-5-rgb: 42 36 64;
  --mt-bt-platter-6: #6A6480;  /* void + 76.5% smoke */
  --mt-bt-platter-6-rgb: 106 100 128;
  --mt-bt-play: #8A3609;  /* lamp + 36.6% black */
  --mt-bt-play-rgb: 138 54 9;
  --mt-bt-range-thumb: #9A93B3;  /* ink + 87.4% smoke */
  --mt-bt-range-thumb-rgb: 154 147 179;
  --mt-bt-range-track: #05030A;  /* void + 12.2% black */
  --mt-bt-range-track-rgb: 5 3 10;
  --mt-bt-tt: #120E1F;  /* void + 9% uv-soft */
  --mt-bt-tt-rgb: 18 14 31;
  --mt-bt-tt-2: #0C0916;  /* void + 4.5% uv-soft */
  --mt-bt-tt-2-rgb: 12 9 22;
  --mt-bt-vinyl: #08060E;  /* void + 0.7% lamp */
  --mt-bt-vinyl-rgb: 8 6 14;
  --mt-bt-vinyl-2: #171320;  /* void + 14.3% smoke */
  --mt-bt-vinyl-2-rgb: 23 19 32;
  --mt-deck-queue: #32235A;  /* booth + 28.1% uv */
  --mt-deck-queue-rgb: 50 35 90;
  --mt-dk-disc: #110D1F;  /* void + 79.6% booth */
  --mt-dk-disc-rgb: 17 13 31;
  --mt-dk-labelwrap: #382666;  /* void + 41.5% uv */
  --mt-dk-labelwrap-rgb: 56 38 102;
  --mt-dk-labelwrap-after: #E5E0F2;  /* ink + 14.1% smoke */
  --mt-dk-labelwrap-after-rgb: 229 224 242;
  --mt-dk-lamp: #524C64;  /* void + 59.9% smoke */
  --mt-dk-lamp-rgb: 82 76 100;
  --mt-dk-lamp-2: #FFB696;  /* lamp + 47.9% white */
  --mt-dk-lamp-2-rgb: 255 182 150;
  --mt-dk-platter: #3A344E;  /* booth + 34.2% smoke */
  --mt-dk-platter-rgb: 58 52 78;
  --mt-dk-qart: #32225C;  /* void + 36.9% uv */
  --mt-dk-qart-rgb: 50 34 92;
  --mt-dk-tot: #E66016;  /* lamp + 7.4% black */
  --mt-dk-tot-rgb: 230 96 22;
  --mt-hero-booth-icon: #2C2346;  /* void + 27.3% uv-soft */
  --mt-hero-booth-icon-rgb: 44 35 70;
  --mt-hero-booth-icon-2: #0D0A18;  /* void + 5.2% uv-soft */
  --mt-hero-booth-icon-2-rgb: 13 10 24;
  --mt-release-after: #2A2242;  /* void + 25.9% uv-soft */
  --mt-release-after-rgb: 42 34 66;
  --mt-release-after-2: #0C0917;  /* void + 43.3% booth */
  --mt-release-after-2-rgb: 12 9 23;
  --mt-rig-housing: #0D091A;  /* booth-2 + 29.8% black */
  --mt-rig-housing-rgb: 13 9 26;
  --mt-rig-truss: #110D20;  /* booth + 6.3% black */
  --mt-rig-truss-rgb: 17 13 32;
  --mt-tt: #251E3E;  /* booth + 13.8% uv-soft */
  --mt-tt-rgb: 37 30 62;
  --mt-tt-2: #140F26;  /* booth-2 + 14.6% black */
  --mt-tt-2-rgb: 20 15 38;
  --mt-tt-arm-bar: #8F88A9;  /* ink + 98.5% smoke */
  --mt-tt-arm-bar-rgb: 143 136 169;
  --mt-tt-arm-bar-2: #E9E5F5;  /* booth-2 + 95.7% ink */
  --mt-tt-arm-bar-2-rgb: 233 229 245;
  --mt-tt-arm-base: #C8C2DA;  /* ink + 42.2% smoke */
  --mt-tt-arm-base-rgb: 200 194 218;
  --mt-tt-arm-base-2: #5B527A;  /* pinned */
  --mt-tt-arm-base-2-rgb: 91 82 122;
  --mt-tt-arm-base-3: #2B2442;  /* booth-2 + 15.1% smoke */
  --mt-tt-arm-base-3-rgb: 43 36 66;
  --mt-tt-arm-head: #D5CFE5;  /* ink + 29.7% smoke */
  --mt-tt-arm-head-rgb: 213 207 229;
  --mt-tt-knob: #3B3453;  /* booth-2 + 30.3% smoke */
  --mt-tt-knob-rgb: 59 52 83;
  --mt-tt-knob-2: #1B1530;  /* void + 97.5% booth-2 */
  --mt-tt-knob-2-rgb: 27 21 48;
  --mt-tt-mixer: #221B38;  /* booth + 11% uv-soft */
  --mt-tt-mixer-rgb: 34 27 56;
  --mt-tt-mixer-2: #120E22;  /* void + 89.2% booth */
  --mt-tt-mixer-2-rgb: 18 14 34;
  --mt-tt-pitch-span: #CEC8DF;  /* ink + 36.3% smoke */
  --mt-tt-pitch-span-rgb: 206 200 223;
  --mt-tt-platter: #4A3F66;  /* pinned */
  --mt-tt-platter-rgb: 74 63 102;
  --mt-tt-platter-2: #211A36;  /* booth-2 + 2.9% ink */
  --mt-tt-platter-2-rgb: 33 26 54;
  --mt-tt-platter-shadow: #0A0714;  /* void + 26.6% booth */
  --mt-tt-platter-shadow-rgb: 10 7 20;
  --mt-tt-record: #0B0816;  /* void + 4.4% uv */
  --mt-tt-record-rgb: 11 8 22;
  --mt-tt-record-2: #17112A;  /* booth-2 + 9.4% black */
  --mt-tt-record-2-rgb: 23 17 42;
  --mt-tuner-glass: #0C081A;  /* booth-2 + 30.9% black */
  --mt-tuner-glass-rgb: 12 8 26;

  /* Icons whose colour is baked into a data URI (a var() cannot reach inside one). */
  --mt-uri-crate-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238E86A8' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5.2'/%3E%3Cpath d='m11 11 3.6 3.6'/%3E%3C/svg%3E");
  --mt-uri-field-select: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%238E86A8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");
  --mt-uri-truss: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M0 .5h12M0 6.5h12M0 .5l6 6 6-6' fill='none' stroke='%238B5CFF' stroke-opacity='.5'/%3E%3C/svg%3E");
}
