/* GENERATED by @cntrl/tokens (src/generate.ts) from src/tokens.ts — DO NOT EDIT BY HAND.
   The values are the registry; run `pnpm --filter @cntrl/tokens build` to regenerate.
   `pnpm --filter @cntrl/tokens audit` fails CI if this file drifts from the source registry. */

:root {
  /* Color — surfaces */
  --ac-color-bg: #efefee; /* Page canvas (cool light gray). Dark: the established dark ground (= --ac-color-inverse). */
  --ac-color-glow: #f5f5f4; /* Corner radial wash. Dark: a warm near-black, matching the spotlight gradient's warm start. */
  --ac-color-paper: #ffffff; /* Cards, panels, sheets (absorbs aliases card, surface-raised). Dark: a warm surface LIFTED above the canvas. */
  --ac-color-nested: #f0ede6; /* Nested panels. Dark: one step up from paper. */
  --ac-color-warm: #ece9e3; /* Soft accent surface. */
  --ac-color-warm-shadow: #ddd9d3; /* Warm gradient end. */
  --ac-color-inverse: #0e0c0b; /* Dark spotlight cards. NO dark override: a dark card is dark in both themes (it is the spotlight ground, and the hero it backs is per-page polish, not foundation). */
  --ac-color-sunken: #e7e7e6; /* Recessed panels, striped lists. Dark: recessed = below the canvas (the spotlight gradient's darkest stop). */
  --ac-color-scrim: rgba(14,12,11,0.55); /* Modal/backdrop scrim. Dark: denser, since the page beneath it is already dark. */
  --ac-color-active: rgba(139,26,43,0.10); /* Pressed/selected row. Dark: the brightened accent (see --ac-color-accent) at a higher alpha to read on a dark row. */
  --ac-color-cool-glow: #fafafa; /* The COOL counterpart of --ac-color-glow. Registered rather than written inline (the sheet is hex-free by rule) for the show/hold editor's scoped neutral override, which re-points --ac-color-glow / --ac-color-nested inside those dialogs: the spec's own `.shd-cd` block does the same and records why — 'CD's new VC hold modal is pure white with COOL neutral panels; AC's warm beige nested tone read dirty beside it' (Ryan, 2026-07-20). There is deliberately no third member for the warm slot: that value is #efefee, which is EXACTLY --ac-color-bg, and a second definition of a shipped grey is a drift vector (the --ac-color-roster-quad rule). */
  --ac-color-cool-nested: #f4f4f3; /* The COOL counterpart of --ac-color-nested — see --ac-color-cool-glow. Distinct from that token rather than folded into it: the override re-points BOTH properties, so one value cannot serve both without the second var() resolving against the already-overridden first. */

  /* Color — text ramp */
  --ac-color-ink: #0e0c0b;
  --ac-color-body: #28282a;
  --ac-color-t2: #6c6a6a;
  --ac-color-t3: #98979a; /* Restricted to non-essential meta (contrast rule) */
  --ac-color-muted: #aeacae;
  --ac-color-disabled: #c5c4c4;
  --ac-color-on-accent: #ffffff; /* Text on the accent fill — white in both themes (the accent stays a saturated crimson/rose). */
  --ac-color-text-subtle: rgba(255,255,255,0.7); /* Text on dark — already a white alpha, so unchanged by theme. */

  /* Color — lines & focus */
  --ac-color-line: rgba(0,0,0,0.07); /* Default borders. Dark: a white alpha, since a black hairline is invisible on a dark ground. */
  --ac-color-line-strong: rgba(0,0,0,0.12); /* Input borders (1.5px) */
  --ac-color-line-subtle: rgba(0,0,0,0.04); /* Nested dividers */
  --ac-color-ring: rgba(139,26,43,0.32); /* Focus ring color. Dark: the brightened accent at a higher alpha for a visible ring on near-black. */

  /* Color — accent (AC Crimson) */
  --ac-color-accent: #8B1A2B;
  --ac-color-brand: #8B1A2B; /* The brand crimson, FIXED in both themes — for a solid brand fill on a dark surface (the mobile DOS tab square), where --ac-color-accent's brightened coral reads as a different red (PO, ART-251). Text and links on dark keep the accent. */
  --ac-color-accent-hi: #a82238; /* hover */
  --ac-color-accent-chip: rgba(139,26,43,0.12);
  --ac-color-accent-glow: rgba(139,26,43,0.35);
  --ac-color-accent-wash: rgba(139,26,43,0.06);
  --ac-color-accent-rgb: 139, 26, 43; /* triplet for consumer-composed alpha (::selection, etc.) — tracks the dark accent so composed washes brighten with it */

  /* Color — party chip (the SECOND tag tone; PO 2026-09-11) */
  --ac-color-party-chip: rgba(47,143,143,0.16); /* Touring-party tag fill — VERBATIM from the messaging handoff's own stylesheet (.tag--party, ART-159). A SECOND chip tone, because the inbox row carries two tags at once (SHOW + A PARTY) and two crimson chips side by side read as one control rather than two facts. A WASH like the accent chip, not a flat hex, so it sits correctly on the sunken ground of a selected row as well as on paper. NOTE the spec also fixes .tag--tour rgba(20,20,20,.09)/#2a2a2a and .tag--bus rgba(201,138,43,.18)/#7d5009 — unminted, because neither kind exists yet. */
  --ac-color-party-ink: #1d5e5e; /* Touring-party tag ink — the handoff's own value; 6.2:1 on its own chip over paper, so the 9px uppercase label clears AA at the one size it is ever set in. */
  --ac-color-bus-chip: rgba(201,138,43,0.18); /* Bus-chat tag fill (ART-160) — VERBATIM from the messaging handoff's own stylesheet (.tag--bus), minted now that bus chats exist. A THIRD chip tone (amber), so a coach chat's kind chip is not the crimson a show chat's is: the inbox lists both, and one tone for both would say they are the same kind of thing. */
  --ac-color-bus-ink: #7d5009; /* Bus-chat tag ink — the handoff's own value; clears AA on its own amber chip at the 9px uppercase size the label is set in. */

  /* Color — status ramp (danger-ink/info-ink MINTED, ratified P-13) */
  --ac-color-success: #22c55e;
  --ac-color-success-bg: rgba(34,197,94,0.12);
  --ac-color-success-ink: #157a3a;
  --ac-color-warning: #f9a825;
  --ac-color-warning-bg: rgba(249,168,37,0.12);
  --ac-color-warning-ink: #a86b00;
  --ac-color-danger: #8B1A2B;
  --ac-color-danger-bg: rgba(139,26,43,0.10);
  --ac-color-danger-ink: #a82238; /* MINTED (P-13) — the MVP ships no danger ink. Crimson since ART-253; also the danger confirm's hover. */
  --ac-color-info: #3b82f6;
  --ac-color-info-bg: rgba(59,130,246,0.12);
  --ac-color-info-ink: #1d4ed8; /* MINTED (P-13) — the MVP ships no info ink */
  --ac-color-review: #8b5cf6; /* MINTED — the NEEDS REVIEW task status (purple) */
  --ac-color-review-bg: rgba(139,92,246,0.12);
  --ac-color-review-ink: #6d28d9;

  /* Color — the All-roster quad mark (the roster rail's four-swatch glyph, and nowhere else) */
  --ac-color-roster-quad-1: #2f8f8f; /* Teal. The four swatches are a fixed brand quad ported from the legacy roster rail's `.rv-all__tile`, standing for a portfolio of artists rather than one — so they are a MARK, like the per-platform brand colors above, not a categorical palette to reach for elsewhere. Registered rather than written inline because the sheet is hex-free by rule; the FOURTH quadrant is deliberately absent, because it is exactly --ac-color-accent and a second definition of the brand crimson is a drift vector. */
  --ac-color-roster-quad-2: #3a4ed8; /* Blue. */
  --ac-color-roster-quad-3: #c98a2b; /* Gold. */

  /* Color — platform accents (only inside per-platform UI) */
  --ac-color-p-spotify: #22c55e;
  --ac-color-p-instagram: #ec407a;
  --ac-color-p-facebook: #1d4ed8;
  --ac-color-p-youtube: #ef4444;
  --ac-color-p-tidal: #000000;
  --ac-color-p-tiktok: #0e0c0b;
  --ac-color-p-threads: #0e0c0b;
  --ac-color-p-amazon: #22d3ee;
  --ac-color-p-apple: #fa233b; /* Apple Music. Brand-guide ruling 2026-08-13: NOT the #ec407a Instagram pink the old fallback shipped (guide DRIFT-4). */
  --ac-color-p-pandora: #00a0ee;
  --ac-color-p-bandcamp: #408294;
  --ac-color-p-soundcloud: #ff5500;
  --ac-color-p-x: #0e0c0b;
  --ac-color-p-discord: #5865f2;
  --ac-color-p-twitch: #9146ff;
  --ac-color-p-bandsintown: #00cec8;
  --ac-color-p-dropbox: #0061ff;
  --ac-color-p-box: #0061d5;
  --ac-color-p-google-drive: #4285f4;

  /* Color — dark hero / spotlight (on-inverse surfaces) */
  --ac-color-on-inverse-strong: rgba(255,255,255,0.72); /* Primary meta text on the dark hero */
  --ac-color-on-inverse-muted: rgba(255,255,255,0.62); /* Eyebrow on the dark hero */
  --ac-color-on-inverse-subtle: rgba(255,255,255,0.55); /* Tile label on the dark hero */
  --ac-color-spotlight-tile: rgba(255,255,255,0.055); /* Stat-tile fill on the dark hero */
  --ac-color-spotlight-tile-line: rgba(255,255,255,0.09); /* Stat-tile border on the dark hero */
  --ac-color-on-bleed-strong: rgba(255,255,255,0.92); /* Primary meta text over a COVER-ART bleed — the on-inverse ramp stepped up, because that ground is the band's artwork rather than a gradient we chose */
  --ac-color-on-bleed-muted: rgba(255,255,255,0.85); /* Eyebrow / meta over a COVER-ART bleed */
  --ac-color-on-bleed-subtle: rgba(255,255,255,0.80); /* Tile + count labels over a COVER-ART bleed */
  --ac-color-spotlight-rule: rgba(255,255,255,0.25); /* Hairline between INLINE items on the dark hero (the release meta line) — heavier than the tile border, which rings a box rather than parting two words */
  --ac-color-spotlight-figure: #ff9b8f; /* The one highlighted inline figure on the dark hero (the release countdown). Not spotlight-down: it marks the value that MOVES, never a negative delta */
  --ac-color-inverse-chip: rgba(255,255,255,0.16); /* Glass chip fill on dark/imagery */
  --ac-color-inverse-chip-line: rgba(255,255,255,0.28); /* Glass chip border on dark/imagery */
  --ac-color-spotlight-up: #7ef0a6; /* Positive delta ink on dark */
  --ac-color-spotlight-up-line: rgba(34,197,94,0.30); /* Positive delta pill border on dark */
  --ac-color-spotlight-down: #ff9b95; /* Negative delta ink on dark */
  --ac-color-spotlight-down-line: rgba(239,68,68,0.30); /* Negative delta pill border on dark */

  /* Color — schedule event kinds */
  --ac-color-event-show: var(--ac-color-accent); /* Show day — AC crimson #8B1A2B (CD legend SHOW) */
  --ac-color-event-festival: #15803d; /* Festival day — green (minted; the one hue the CD key leaves free) */
  --ac-color-event-hold: #d98324; /* Hold day — amber (CD legend HOLD); takes ink text */
  --ac-color-event-rehearsal: #7b4dd8; /* Rehearsal / write day — violet (CD legend REHEARSAL) */
  --ac-color-event-content: #1f9e93; /* Content day — teal (CD legend CONTENT); takes ink text */
  --ac-color-event-pr: #d8568f; /* PR / press / placement — pink (CD legend PR); takes ink text */
  --ac-color-event-off: #5b6674; /* Off day — slate (CD legend OFF / TRAVEL); rest days recede */
  --ac-color-event-travel: var(--ac-color-event-off); /* Travel day — the SAME swatch as off, by ruling */

  /* Gradients — composed backgrounds */
  --ac-gradient-spotlight: radial-gradient(120% 140% at 82% -10%, rgba(168,34,56,0.55) 0%, rgba(139,26,43,0) 52%), radial-gradient(90% 120% at 8% 110%, rgba(40,30,28,0.9) 0%, rgba(14,12,11,0) 60%), linear-gradient(125deg,#171311 0%,#0e0c0b 60%,#080706 100%); /* The dark spotlight hero background */
  --ac-gradient-spotlight-hatch: repeating-linear-gradient(115deg,rgba(255,255,255,0.025) 0 2px,transparent 2px 9px); /* Diagonal hatch overlay (::after) on the spotlight hero */
  --ac-gradient-spotlight-scrim: linear-gradient(135deg,rgba(26,14,13,0.92) 0%,rgba(45,21,24,0.78) 45%,rgba(139,26,43,0.55) 100%); /* Readability scrim laid over a band press photo on the spotlight hero */
  --ac-gradient-spotlight-bleed-scrim: linear-gradient(110deg,rgba(16,9,8,0.80) 0%,rgba(16,9,8,0.58) 55%,rgba(16,9,8,0.72) 100%); /* Readability scrim over a blurred COVER-ART bleed. DIRECTIONAL — heavy where the type sits, light through the middle, so the artwork stays visible */
  --ac-gradient-flyer: linear-gradient(135deg,#2a0e16 0%,#0e0c0b 100%); /* Empty show-flyer tile — the crimson-to-ink poster ground */
  --ac-gradient-flyer-hatch: repeating-linear-gradient(45deg,transparent 0 16px,rgba(255,255,255,0.04) 16px 17px); /* Diagonal hairline stripes laid over the empty flyer tile */
  --ac-gradient-instagram: linear-gradient(135deg,#f9ce34,#ee2a7b 48%,#6228d7); /* Instagram brand gradient (platform badge fill) */

  /* Typography — families (JetBrains Mono platform-wide, self-hosted) */
  --ac-font-display: 'Archivo Black','Inter',system-ui,sans-serif; /* Display ONLY, weight 900 */
  --ac-font-body: 'Inter',system-ui,-apple-system,sans-serif; /* All readable text/UI */
  --ac-font-mono: 'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* Typography — weight scale */
  --ac-fw-regular: 400;
  --ac-fw-medium: 500;
  --ac-fw-semibold: 600;
  --ac-fw-bold: 700;
  --ac-fw-black: 900;

  /* Typography — size scale */
  --ac-fs-2xs: 9px;
  --ac-fs-xs: 10px;
  --ac-fs-sm: 11px;
  --ac-fs-base: 12px; /* root UI size */
  --ac-fs-md: 13px;
  --ac-fs-lg: 14px; /* default body */
  --ac-fs-xl: 16px;
  --ac-fs-2xl: 18px;
  --ac-fs-3xl: 22px;
  --ac-fs-4xl: 26px;
  --ac-fs-5xl: 32px;
  --ac-fs-huge: 64px; /* hero figures only — outside the UI ramp, never a heading */

  /* Typography — tracking & leading */
  --ac-tracking-tighter: -0.02em;
  --ac-tracking-tight: -0.01em;
  --ac-tracking-normal: 0;
  --ac-tracking-wide: 0.04em;
  --ac-tracking-wider: 0.08em;
  --ac-tracking-widest: 0.14em;
  --ac-tracking-mega: 0.18em;
  --ac-leading-tight: 1.2;
  --ac-leading-snug: 1.35;
  --ac-leading-normal: 1.45;
  --ac-leading-relaxed: 1.6;

  /* Spacing — 4px grid, non-contiguous */
  --ac-space-0: 0;
  --ac-space-1: 4px;
  --ac-space-2: 8px;
  --ac-space-3: 12px;
  --ac-space-4: 16px;
  --ac-space-5: 20px;
  --ac-space-6: 24px;
  --ac-space-8: 32px;
  --ac-space-10: 40px;
  --ac-space-14: 56px;

  /* Radius */
  --ac-radius-xs: 4px;
  --ac-radius-sm: 8px;
  --ac-radius-md: 12px;
  --ac-radius-lg: 16px;
  --ac-radius-xl: 20px;
  --ac-radius-2xl: 24px;
  --ac-radius-3xl: 28px;
  --ac-radius-pill: 999px;
  --ac-radius-circle: 50%;

  /* Elevation — warm-tinted shadows */
  --ac-shadow-sm: 0 1px 3px rgba(50,20,15,0.06); /* chips/inputs */
  --ac-shadow-card: 0 10px 30px -15px rgba(50,20,15,0.08); /* workhorse panel */
  --ac-shadow-card-hi: 0 22px 50px -22px rgba(50,20,15,0.22); /* spotlight hero + card hover lift */
  --ac-shadow-md: 0 10px 30px -15px rgba(50,20,15,0.12); /* raised/hover */
  --ac-shadow-lg: 0 30px 80px -30px rgba(50,20,15,0.25); /* modals/overlays */
  --ac-shadow-accent: 0 4px 14px -4px rgba(50,20,15,0.4); /* under crimson elements */
  --ac-shadow-inset: inset 0 1px 0 rgba(255,255,255,0.9); /* top-light on raised fills */

  /* Motion (all motion honors prefers-reduced-motion) */
  --ac-duration-fast: 120ms; /* hovers/presses */
  --ac-duration-base: 200ms; /* most transitions/tab switches */
  --ac-duration-slow: 300ms; /* reveals/drawer slides */
  --ac-ease-standard: cubic-bezier(0.2,0,0,1);
  --ac-ease-emphasized: cubic-bezier(0.3,0,0,1.2); /* overshoot — elements that APPEAR */

  /* Controls — single-line input/select heights. Textareas set their own and grow. */
  --ac-control-fs: 14px; /* Control text size, paired with --ac-control-h so the type tracks the box instead of being chosen per stylesheet. Today the same 28px box holds 14px text on the shared field and 11px in the dense rows; one token ends that. */
  --ac-control-h: 44px; /* Single-line control height — ONE token, sized by input method rather than by surface. Touch gets 44px (the guide's §14 target); a mouse gets 28px, which is what dense card rows want. Mobile is the BASE so the touch-safe value is what you get if the query never matches, and no call site can put a compact control on a phone. */
  --ac-control-pad-inline: 16px; /* Single-line control INLINE padding — the third knob beside --ac-control-h and --ac-control-fs, and externalised for the same reason they were: it is the one box dimension that was still a literal in Field.module.scss, so a surface wanting the reference's proportion had no way to ask for it except by forking the primitive. The default is the shipped 16px, so nothing moves by adding it. It matters because padding reads RELATIVE to the box: 16px inside a 28px desktop control is a 0.57 ratio where the show editor's reference is 14px inside a ~39px one (0.36), which is what 'too much space on the left of the text in each box' (ART-87) describes. A scope that re-points it should pick a value from the same ratio, not a taste. */

  /* Layout */
  --ac-container-max: 1680px;
  --ac-container-pad: 24px;
  --ac-shell-pad: 40px; /* Inline inset of a shell's page CONTENT — the routed <main>, which is also capped and centred. NOT the chrome inset: the top bar and the roster rail are pinned to the viewport edge and read --ac-shell-edge-pad instead. */
  --ac-shell-edge-pad: 12px; /* Inline inset of chrome that is PINNED TO THE VIEWPORT EDGE — the full-bleed top bar's two ends and the roster rail's own padding. It is deliberately much tighter than --ac-shell-pad (which insets centred page content) and it is ONE token because the two have to agree: the rail sits directly beneath the bar's leading lockup, so a bar inset to the content pad put the app logo 28px right of the sidebar edge it hangs over. */
  --ac-shell-topbar-h: 55px; /* Shell top bar height — ONE value for every shell, so the chrome does not move when you cross between them. It had been emergent (no height anywhere; the bar was as tall as its tallest child), which made it a property of the RIGHT-hand cluster: the roster's two-line account chip rendered 66.9px against the artist shell's 65px, and the roster rail's sticky offset was a hard-coded 57px that had never matched either. Includes the bottom hairline (everything is border-box), so it is also what a sticky offset below the bar subtracts. 55px is a DELIBERATE trim (PO, 2026-09-01), not a fit: the account chip was resized to ~34px to sit inside it rather than the bar being sized around whatever the chip happened to be — which is the inversion this token exists to prevent. */

  /* Z-index — extended scale (ADDITIVE) */
  --ac-z-base: 0;
  --ac-z-raised: 10;
  --ac-z-sticky: 100; /* topbar, sticky headers */
  --ac-z-overlay: 200; /* scrims, popovers, dropdowns */
  --ac-z-drawer: 300; /* settings drawer, sheets */
  --ac-z-modal: 400; /* modals */
  --ac-z-dialog: 500; /* ac-dialog confirms (stack over modals) */
  --ac-z-gate: 600; /* auth/paywall gate */
  --ac-z-toast: 700; /* toasts (always topmost) */

  /* Breakpoints — NEW tokens (--bp-* namespace, not --ac-*) */
  --bp-sm: 480px;
  --bp-md: 720px;
  --bp-lg: 900px;
  --bp-xl: 1180px;
  --bp-max: 1680px;

  /* Mobile shell layer (--m- and --dos- namespaces, not --ac-) */
  --m-gutter: 16px; /* MobileShell horizontal gutter */
  --m-section: 24px; /* vertical section rhythm */
  --m-radius-card: var(--ac-radius-lg); /* = --ac-radius-lg (16px) */
  --m-radius-pill: 999px;
  --m-tabbar-h: 76px; /* bottom tab bar content height (icons + labels, top-aligned); the home-indicator reservation is added separately at each call site as --m-tabbar-safe */
  --m-tabbar-safe: max(env(safe-area-inset-bottom) - 18px, 0px); /* home-indicator reservation below the tab bar — a REDUCED share of the safe-area inset (the bar is chrome and its background already extends to the screen edge, so it needs less clearance than page content); 0 on devices with no home indicator */
  --m-header-h: 52px; /* persistent mobile header height (brand mark + bell + account avatar) */
  --dos-accent: var(--ac-color-accent); /* DOS/center-button accent = crimson */
  --dos-bg: #0e0c0b; /* DOS ground */
  --dos-surface: rgba(255,255,255,0.04); /* DOS card / tile surface */
  --dos-surface-strong: rgba(255,255,255,0.08); /* DOS raised surface / pill / progress track */
  --dos-text: #fafaf8; /* DOS primary text */
  --dos-text-dim: rgba(255,255,255,0.55); /* DOS dim text (labels) */
  --dos-text-tertiary: rgba(255,255,255,0.4); /* DOS tertiary text */
  --dos-text-faint: rgba(255,255,255,0.3); /* DOS faint text */
  --dos-border: rgba(255,255,255,0.06); /* DOS hairline */
  --dos-border-strong: rgba(255,255,255,0.16); /* DOS strong hairline / chip outline */
  --dos-accent-hi: #a82238; /* DOS canonical crimson — fixed on the always-dark surface, NOT the theme's brightened accent */
  --dos-glow: rgba(214,58,82,0.35); /* DOS Now-card radial glow */
  --dos-glow-soft: rgba(214,58,82,0.25); /* DOS soft glow / accent border / accent-dot halo */
  --dos-card-top: #1a1614; /* DOS Now / today-card gradient start */
  --dos-card-bottom: #15110f; /* DOS Now / today-card gradient end */
  --dos-live: #4ade80; /* DOS live dot — green */
  --dos-live-halo: rgba(74,222,128,0.25); /* DOS live-dot halo */
  --dos-hot: #ff5e7a; /* DOS progress-fill hot end */
  --dos-white: #ffffff; /* Pure white — the Now-card title + live-row emphasis on the dark ground */
  --dos-info: #6ea8fe; /* DOS logistics action — the blue secondary-nav accent */
}

@media (min-width: 720px) {
  :root {
    --ac-control-fs: 12px;
    --ac-control-h: 28px;
  }
}

[data-theme="dark"] {
  --ac-color-bg: #0e0c0b;
  --ac-color-glow: #17130f;
  --ac-color-paper: #1a1614;
  --ac-color-nested: #221d19;
  --ac-color-warm: #241d18;
  --ac-color-warm-shadow: #120f0d;
  --ac-color-sunken: #080706;
  --ac-color-scrim: rgba(0,0,0,0.66);
  --ac-color-active: rgba(217,74,95,0.22);
  --ac-color-cool-glow: #131210;
  --ac-color-cool-nested: #1c1a17;
  --ac-color-ink: #f7f6f4;
  --ac-color-body: #e4e2df;
  --ac-color-t2: #a6a3a0;
  --ac-color-t3: #7b7875;
  --ac-color-muted: #67635f;
  --ac-color-disabled: #4a4643;
  --ac-color-line: rgba(255,255,255,0.10);
  --ac-color-line-strong: rgba(255,255,255,0.16);
  --ac-color-line-subtle: rgba(255,255,255,0.06);
  --ac-color-ring: rgba(217,74,95,0.55);
  --ac-color-accent: #d94a5f;
  --ac-color-accent-hi: #e56475;
  --ac-color-accent-chip: rgba(217,74,95,0.20);
  --ac-color-accent-glow: rgba(217,74,95,0.40);
  --ac-color-accent-wash: rgba(217,74,95,0.10);
  --ac-color-accent-rgb: 217, 74, 95;
  --ac-color-success-ink: #4ade80;
  --ac-color-warning-ink: #fbbf24;
  --ac-color-danger: #c63d53;
  --ac-color-danger-bg: rgba(198,61,83,0.16);
  --ac-color-danger-ink: #e56475;
  --ac-color-info-ink: #60a5fa;
  --ac-color-review-ink: #a78bfa;
  --ac-shadow-sm: 0 1px 3px rgba(0,0,0,0.5);
  --ac-shadow-card: 0 10px 30px -15px rgba(0,0,0,0.6);
  --ac-shadow-card-hi: 0 22px 50px -22px rgba(0,0,0,0.7);
  --ac-shadow-md: 0 10px 30px -15px rgba(0,0,0,0.65);
  --ac-shadow-lg: 0 30px 80px -30px rgba(0,0,0,0.8);
  --ac-shadow-accent: 0 4px 14px -4px rgba(0,0,0,0.6);
  --ac-shadow-inset: inset 0 1px 0 rgba(255,255,255,0.05);
}
