/* Airmond design tokens — GENERATED from tokens/tokens.json by build/build-tokens.mjs.
 * Do not edit by hand. Do not add green: fern is retired for good; confirmation is blue.
 *
 * Consumption (web / Tailwind v4 / shadcn): import this file once, before your own CSS.
 * Light scheme is "Feather", dark is "Low flame" (class .dark on <html>).
 *
 * Notable measured pairings (re-asserted by build/contrast-test.mjs on every CI run):
 *   ink #18222B on coral #FF6B5A          5.76:1 (white on coral is 2.80:1 and FAILS — never white on coral)
 *   ink #18222B on dusty coral #E38273    5.92:1
 *   ink #18222B on coral-hover #FF7A6B    6.33:1 (the hovered primary keeps ink type; white measures 2.55:1)
 *   dark --confirm #8FB2DC on card #1F2833  6.79:1 (derived by measurement, spec asked >= 4.5)
 *
 * Scheme-independent tokens (radii, the one floating shadow, the motion vocabulary,
 * the marketing type steps and the --stage-* recording palette) sit in :root only.
 * Motion is documented, with its budget and the reduced-motion rule, at
 * https://brandkit.airmond.com/motion.html.
 *
 * --stage-* is the RECORDING STAGE, and it is scheme-independent BY DESIGN, not by
 * omission: the stage paints edge to edge and answers "can she hear us?" for people
 * two metres from the phone, so it must not follow a light/dark setting nobody in the
 * room can see. Dusk while she is listening; the whole screen repaints amber
 * (#E8A317) when the member goes off the record. The recipes and every
 * measured pairing are on https://brandkit.airmond.com/components.html#stage.
 *
 * --meeting-* is ADA'S MEETING TILE (the Recall bot's 1280x720 camera page), also
 * scheme-independent: it always paints the dusk, because the people looking at it
 * cannot see the member's setting. Most of its tones are the dark scheme's own,
 * read by reference; the layout values are in the frame's own pixels. Recipes,
 * reasons and every measured pairing: https://brandkit.airmond.com/components.html#meeting.
 */

:root {
  --radius: 0.625rem;
  --radius-card: 16px;
  --radius-band: 24px;
  --shadow-float: 0 18px 50px rgba(24, 34, 43, 0.16);
  --motion-arrive: 700ms;
  --motion-land: 600ms;
  --motion-micro: 180ms;
  --motion-press-in: 90ms;
  --motion-press-out: 260ms;
  --motion-ambient-min: 4s;
  --motion-ambient-max: 8s;
  --motion-scrub-damping: 0.6;
  --motion-reduced: 200ms;
  --motion-ease-arrive: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-ease-land: cubic-bezier(0.16, 1, 0.3, 1);
  --motion-ease-micro: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --motion-ease-press-in: ease-out;
  --motion-ease-press-out: cubic-bezier(0.34, 1.56, 0.64, 1);
  --motion-ease-ambient: cubic-bezier(0.37, 0, 0.63, 1);
  --type-h1: 56px;
  --type-h1-phone: 40px;
  --type-h2: 42px;
  --type-h2-phone: 30px;
  --type-tile-title: 19px;
  --type-label: 11px;
  --type-label-tracking: 0.08em;
  --section-gap: 112px;
  --section-gap-phone: 80px;
  --content-width: 1120px;
  --gutter-phone: 16px;
  --stage-dusk-ground: #171E2A;
  --stage-dusk-ink: #DCE0E5;
  --stage-dusk-secondary: rgba(220, 224, 229, 0.68);
  --stage-dusk-fill: rgba(220, 224, 229, 0.1);
  --stage-dusk-hairline: rgba(220, 224, 229, 0.3);
  --stage-dusk-stop: #FF453A;
  --stage-off-record-ground: #E8A317;
  --stage-off-record-ink: #18222B;
  --stage-off-record-secondary: rgba(24, 34, 43, 0.75);
  --stage-off-record-fill: rgba(24, 34, 43, 0.1);
  --stage-off-record-hairline: rgba(24, 34, 43, 0.28);
  --stage-off-record-stop: #FF3B30;
  --stage-on-stop: #18222B;
  --stage-live-dot: #E8574A;
  --stage-card-hairline-dusk: rgba(220, 224, 229, 0.22);
  --stage-card-hairline-off-record: rgba(24, 34, 43, 0.22);
  --stage-speaker-1: #5CB8F0;
  --stage-speaker-2: #FAB55C;
  --stage-speaker-3: #B899F5;
  --stage-speaker-4: #EC8DEC;
  --stage-speaker-5: #F58FAD;
  --call-ground: #171E2A;
  --call-ink: #DCE0E5;
  --call-end-fill: #FF453A;
  --call-on-end-glyph: #FFFFFF;
  --call-control-wash: rgba(220, 224, 229, 0.18);
  --call-control-outline: rgba(147, 160, 173, 0.7);
  --meeting-ground: #171E2A;
  --meeting-ground-centre: #1F2833;
  --meeting-ground-edge: #131926;
  --meeting-card: #1F2833;
  --meeting-ink: #DCE0E5;
  --meeting-muted: #93A0AD;
  --meeting-hairline: rgba(220, 224, 229, 0.12);
  --meeting-raised: #2A3646;
  --meeting-portrait-ring: rgba(220, 224, 229, 0.3);
  --meeting-portrait-ring-speaking: #171E2A;
  --meeting-kind-action: #FF9081;
  --meeting-kind-note: #93A0AD;
  --meeting-kind-memory: #D9BC6A;
  --meeting-kind-answer: #8FB2DC;
  --meeting-kind-summary: #8FB2DC;
  --meeting-pin-icon: #D9BC6A;
  --meeting-pin-hairline: rgba(217, 188, 106, 0.28);
  --meeting-edited-fill: #3A3524;
  --meeting-edited-ink: #D9BC6A;
  --meeting-removed-fill: rgba(242, 133, 124, 0.16);
  --meeting-removed-ink: #F2857C;
  --meeting-reading-fill: rgba(227, 130, 115, 0.20);
  --meeting-reading-ink: #FF9081;
  --meeting-owner-fill: #2A3646;
  --meeting-due: #D9BC6A;
  --meeting-confirmed: #8FB2DC;
  --meeting-on-confirmed: #171E2A;
  --meeting-live-dot: #FF9081;
  --meeting-initials: #18222B;
  --meeting-avatar-ring: #171E2A;
  --meeting-shadow: #000000;
  --meeting-ground-image: radial-gradient(ellipse 70% 80% at 50% 40%, #1F2833 0%, #171E2A 58%, #131926 100%);
  --meeting-speaker-1: #5CB8F0;
  --meeting-speaker-2: #FAB55C;
  --meeting-speaker-3: #B899F5;
  --meeting-speaker-4: #EC8DEC;
  --meeting-speaker-5: #F58FAD;
  --meeting-shadow-portrait: 0 8px 22px rgba(0, 0, 0, 0.4);
  --meeting-shadow-idle: 0 24px 60px rgba(0, 0, 0, 0.45);
  --meeting-orb-hue-1: #E38273;
  --meeting-orb-hue-2: #F58FAD;
  --meeting-orb-hue-3: #FAB55C;
  --meeting-orb-hue-4: #8FB2DC;
  --meeting-orb-size: 128px;
  --meeting-orb-inner-inset: 6px;
  --meeting-orb-inner-opacity: 0.75;
  --meeting-orb-glow: 0 0 56px 14px rgba(227, 130, 115, 0.5), 0 0 120px 30px rgba(245, 143, 173, 0.22);
  --meeting-orb-blend: screen;
  --meeting-orb-scale-base: 0.86;
  --meeting-orb-scale-range: 0.26;
  --meeting-orb-level: 130ms;
  --meeting-orb-fade: 450ms;
  --meeting-orb-fade-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --meeting-orb-morph: 5000ms;
  --meeting-orb-spin: 7000ms;
  --meeting-orb-inner-morph: 3600ms;
  --meeting-orb-inner-spin: 5000ms;
  --meeting-orb-shape-1: 46% 54% 58% 42% / 44% 50% 50% 56%;
  --meeting-orb-shape-2: 58% 42% 40% 60% / 55% 40% 60% 45%;
  --meeting-orb-shape-3: 40% 60% 55% 45% / 42% 58% 42% 58%;
  --meeting-orb-idle-size-ratio: 1.2;
  --meeting-live-pulse: 1200ms;
  --meeting-frame-width: 1280px;
  --meeting-frame-height: 720px;
  --meeting-column-left: 33.33%;
  --meeting-column-width: 33.33%;
  --meeting-column-inset: 12px;
  --meeting-header-height: 116px;
  --meeting-portrait-size: 64px;
  --meeting-portrait-top: 26px;
  --meeting-portrait-ring-width: 2px;
  --meeting-portrait-ring-speaking-width: 3px;
  --meeting-header-text-left: 106px;
  --meeting-header-text-top: 30px;
  --meeting-title-size: 24px;
  --meeting-title-line-height: 1.15;
  --meeting-title-max-lines: 2;
  --meeting-subtitle-size: 15px;
  --meeting-subtitle-gap: 6px;
  --meeting-live-dot-size: 7px;
  --meeting-pill-padding-y: 6px;
  --meeting-pill-padding-x: 12px;
  --meeting-pill-gap: 8px;
  --meeting-pill-space-below: 12px;
  --meeting-feed-gap: 10px;
  --meeting-feed-fade-from: 72%;
  --meeting-card-radius: 16px;
  --meeting-card-padding-x: 16px;
  --meeting-card-padding-top: 14px;
  --meeting-card-padding-bottom: 15px;
  --meeting-kind-icon-size: 19px;
  --meeting-kind-gap: 8px;
  --meeting-label-size: 15px;
  --meeting-tag-size: 13px;
  --meeting-tag-icon-size: 13px;
  --meeting-tag-padding-y: 3px;
  --meeting-tag-padding-x: 9px;
  --meeting-tag-gap: 5px;
  --meeting-card-text-size: 21px;
  --meeting-card-text-line-height: 1.28;
  --meeting-card-text-weight: 450;
  --meeting-card-text-gap: 7px;
  --meeting-action-text-size: 22px;
  --meeting-action-text-weight: 600;
  --meeting-old-text-size: 16px;
  --meeting-strike-width: 1.5px;
  --meeting-meta-size: 15px;
  --meeting-meta-gap: 11px;
  --meeting-owner-avatar-size: 22px;
  --meeting-owner-padding-x: 11px;
  --meeting-row-gap: 12px;
  --meeting-pin-title-size: 18px;
  --meeting-pin-body-size: 15px;
  --meeting-row-text-size: 19px;
  --meeting-row-sub-size: 15px;
  --meeting-avatar-size: 36px;
  --meeting-avatar-overlap: 10px;
  --meeting-avatar-max: 4;
  --meeting-names-shown: 3;
  --meeting-avatar-ring-width: 2.5px;
  --meeting-initials-size: 13px;
  --meeting-confirmed-badge-size: 18px;
  --meeting-confirmed-check-size: 11px;
  --meeting-pill-text-size: 15px;
  --meeting-pill-icon-size: 17px;
  --meeting-idle-ring-size: 330px;
  --meeting-idle-ring-width: 3px;
  --meeting-idle-photo-inset: 7px;
  --meeting-idle-centre-x: 50%;
  --meeting-idle-centre-y: 42%;
  --meeting-idle-name-offset: 236px;
  --meeting-idle-name-size: 42px;
  --meeting-idle-role-size: 19px;
  --background: #F8FAFC;
  --foreground: #18222B;
  --card: #FFFFFF;
  --card-foreground: #18222B;
  --popover: #FFFFFF;
  --popover-foreground: #18222B;
  --primary: #FF6B5A;
  --primary-foreground: #18222B;
  --secondary: #EAF0F4;
  --secondary-foreground: #18222B;
  --muted: #F1F5F8;
  --muted-foreground: #4E5E6B;
  --accent: #EAF0F4;
  --accent-foreground: #18222B;
  --destructive: oklch(0.577 0.245 27.325);
  --destructive-foreground: #FFFFFF;
  --border: #E2E9EF;
  --input: #E2E9EF;
  --rule: rgba(78, 94, 107, 0.7);
  --disabled-fill: #EAF0F4;
  --on-disabled: #4E5E6B;
  --ring: #FF6B5A;
  --confirm: #3E5D86;
  --confirm-soft: #E8EEF7;
  --waiting: #A9560B;
  --waiting-soft: #FBF1DE;
  --bubble-member: #E8EEF7;
  --coral-deep: #C63A28;
  --coral-soft: #FFF2EF;
  --coral-hover: #FF7A6B;
  --sidebar: #F1F5F8;
  --sidebar-foreground: #18222B;
  --sidebar-primary: #FF6B5A;
  --sidebar-primary-foreground: #18222B;
  --sidebar-accent: #EAF0F4;
  --sidebar-accent-foreground: #18222B;
  --sidebar-border: #E2E9EF;
  --sidebar-ring: #FF6B5A;
}

.dark {
  --background: #171E2A;
  --foreground: #DCE0E5;
  --card: #1F2833;
  --card-foreground: #DCE0E5;
  --popover: #1F2833;
  --popover-foreground: #DCE0E5;
  --primary: #E38273;
  --primary-foreground: #18222B;
  --secondary: #2A3646;
  --secondary-foreground: #DCE0E5;
  --muted: #1F2833;
  --muted-foreground: #93A0AD;
  --accent: #2A3646;
  --accent-foreground: #DCE0E5;
  --destructive: oklch(0.704 0.191 22.216);
  --destructive-foreground: #FFFFFF;
  --border: #2A3646;
  --input: #2A3646;
  --rule: rgba(147, 160, 173, 0.7);
  --disabled-fill: #2A3646;
  --on-disabled: #93A0AD;
  --ring: #E38273;
  --confirm: #8FB2DC;
  --confirm-soft: #2E3E58;
  --waiting: #D9BC6A;
  --waiting-soft: #3A3524;
  --bubble-member: #2E3E58;
  --coral-deep: #FF9081;
  --coral-soft: #3A282A;
  --coral-hover: #E98F80;
  --sidebar: #131926;
  --sidebar-foreground: #DCE0E5;
  --sidebar-primary: #E38273;
  --sidebar-primary-foreground: #18222B;
  --sidebar-accent: #2A3646;
  --sidebar-accent-foreground: #DCE0E5;
  --sidebar-border: #2A3646;
  --sidebar-ring: #E38273;
}

@theme inline {
  --font-display: 'Schibsted Grotesk', ui-sans-serif, system-ui, sans-serif;
  --font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --radius-card: var(--radius-card);
  --radius-band: var(--radius-band);
  --shadow-float: var(--shadow-float);
  --ease-arrive: var(--motion-ease-arrive);
  --ease-land: var(--motion-ease-land);
  --ease-micro: var(--motion-ease-micro);
  --ease-press-out: var(--motion-ease-press-out);
  --ease-ambient: var(--motion-ease-ambient);
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-rule: var(--rule);
  --color-disabled-fill: var(--disabled-fill);
  --color-on-disabled: var(--on-disabled);
  --color-ring: var(--ring);
  --color-confirm: var(--confirm);
  --color-confirm-soft: var(--confirm-soft);
  --color-waiting: var(--waiting);
  --color-waiting-soft: var(--waiting-soft);
  --color-bubble-member: var(--bubble-member);
  --color-coral-deep: var(--coral-deep);
  --color-coral-soft: var(--coral-soft);
  --color-coral-hover: var(--coral-hover);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);
}
