/* ADRICAL tokens v0.5.0 · Rubik · Concrete and Industrial · generated from tokens.json. Do not edit by hand. */
/* Tier 1: primitives (68 colours). Constants: defined once on :root. */
:root {
  --p-concrete-0: #FFFFFF;
  --p-concrete-25: #FAFAF8;
  --p-concrete-50: #F4F5F4;
  --p-concrete-75: #EEF0F0;
  --p-concrete-100: #E9ECEC;
  --p-concrete-150: #E2E6E7;
  --p-concrete-200: #DCE3E6;
  --p-concrete-250: #D3D8DA;
  --p-concrete-300: #B7C2C7;
  --p-concrete-350: #A9B5BA;
  --p-concrete-400: #A7B0B4;
  --p-concrete-450: #7E8E96;
  --p-concrete-500: #7C878C;
  --p-slate-75: #E5ECF1;
  --p-slate-100: #DCE7EE;
  --p-slate-150: #DFE6EA;
  --p-slate-200: #D3E0EA;
  --p-slate-250: #BCD2E2;
  --p-slate-300: #B9CEDD;
  --p-slate-350: #9DBAD0;
  --p-slate-400: #8FA3AE;
  --p-slate-450: #6F8EA5;
  --p-slate-600: #4A5C64;
  --p-slate-650: #3B5A73;
  --p-slate-700: #35454C;
  --p-slate-750: #2B4556;
  --p-slate-800: #34424A;
  --p-slate-850: #2E3E47;
  --p-slate-900: #2A363C;
  --p-slate-925: #24323A;
  --p-slate-950: #0F1518;
  --p-charcoal-550: #5C6C74;
  --p-charcoal-600: #5C686E;
  --p-charcoal-650: #4E5B61;
  --p-charcoal-750: #283439;
  --p-charcoal-800: #263136;
  --p-charcoal-850: #232E33;
  --p-charcoal-900: #222C31;
  --p-charcoal-925: #1C2529;
  --p-charcoal-950: #1A2226;
  --p-charcoal-975: #141A1D;
  --p-red-100: #F6E3E0;
  --p-red-200: #F7B8B0;
  --p-red-300: #F0958B;
  --p-red-600: #A8322A;
  --p-red-700: #852720;
  --p-red-800: #3A2220;
  --p-green-75: #E2EFE7;
  --p-green-250: #7FCFA3;
  --p-green-600: #2E6B4A;
  --p-green-800: #1A2E24;
  --p-amber-75: #F4EAD5;
  --p-amber-150: #FFD23F;
  --p-amber-200: #F2C879;
  --p-amber-250: #E8C27A;
  --p-amber-600: #7A5410;
  --p-amber-650: #6E4A0E;
  --p-amber-800: #33291A;
  --p-violet-75: #ECEAF5;
  --p-violet-200: #C8BFF0;
  --p-violet-700: #4A3D86;
  --p-violet-800: #2A2742;
  --p-alpha-scrim: rgba(28,37,41,.55);
  --p-alpha-scrim-dark: rgba(0,0,0,.6);
  --p-alpha-grid-light: rgba(53,69,76,.06);
  --p-alpha-grid-dark: rgba(157,186,208,.05);
  --p-alpha-shade-light: rgba(28,37,41,.10);
  --p-alpha-shade-dark: rgba(0,0,0,.45);
  --font-text: 'Rubik', system-ui, sans-serif;
  --font-quote: 'David Libre', 'Heebo', serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-heavy: 800;
  --font-size-caption: 0.8125rem;
  --font-size-small: 0.875rem;
  --font-size-body: 1rem;
  --font-size-body-l: 1.125rem;
  --font-size-h3: 1.25rem;
  --font-size-h2: 1.5rem;
  --font-size-h1: 2.25rem;
  --font-size-display: 3rem;
  --line-height-tight: 1.1;
  --line-height-heading: 1.25;
  --line-height-snug: 1.4;
  --line-height-body: 1.6;
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --radius-none: 0;
  --radius-s: 4px;
  --radius-m: 8px;
  --radius-l: 12px;
  --radius-pill: 999px;
  --duration-instant: 0ms;
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 320ms;
  --easing-out: cubic-bezier(.2,.7,.2,1);
  --easing-in-out: cubic-bezier(.4,0,.2,1);
  --breakpoint-sm: 600px;
  --breakpoint-md: 900px;
  --breakpoint-lg: 1200px;
  --breakpoint-xl: 1440px;
  --z-base: 0;
  --z-sticky: 100;
  --z-rail: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;
  --z-skip: 600;
}

/* Tier 2: semantic. Defined on :root and on any [data-theme] element, so a themed subtree resolves its own values. */
:root, [data-theme="light"] {
  color-scheme: light;
  --color-surface-page: var(--p-concrete-75);
  --color-surface-card: var(--p-concrete-25);
  --color-surface-sunk: var(--p-concrete-150);
  --color-surface-raised: var(--p-concrete-0);
  --color-surface-inverse: var(--p-slate-700);
  --color-text: var(--p-charcoal-850);
  --color-text-muted: var(--p-charcoal-650);
  --color-text-on-action: var(--p-concrete-0);
  --color-text-inverse: var(--p-concrete-50);
  --color-text-link: var(--p-slate-700);
  --color-border: var(--p-concrete-250);
  --color-border-strong: var(--p-concrete-400);
  --color-border-input: var(--p-concrete-500);
  --color-action: var(--p-slate-700);
  --color-action-hover: var(--p-charcoal-750);
  --color-action-active: var(--p-charcoal-925);
  --color-action-subtle: var(--p-slate-150);
  --color-action-subtle-text: var(--p-slate-750);
  --color-danger: var(--p-red-600);
  --color-danger-hover: var(--p-red-700);
  --color-focus: var(--p-slate-650);
  --color-focus-halo: var(--p-concrete-0);
  --color-info: var(--p-slate-650);
  --color-info-bg: var(--p-slate-75);
  --color-success: var(--p-green-600);
  --color-success-bg: var(--p-green-75);
  --color-warning: var(--p-amber-600);
  --color-warning-bg: var(--p-amber-75);
  --color-error: var(--p-red-600);
  --color-error-bg: var(--p-red-100);
  --color-source-official: var(--p-slate-750);
  --color-source-official-bg: var(--p-slate-75);
  --color-source-official-border: var(--p-slate-650);
  --color-source-secondary: var(--p-charcoal-650);
  --color-source-secondary-bg: var(--p-concrete-25);
  --color-value: var(--p-charcoal-850);
  --color-value-unit: var(--p-charcoal-600);
  --color-qualifier: var(--p-slate-700);
  --color-qualifier-bg: var(--p-concrete-150);
  --color-changed: var(--p-amber-650);
  --color-changed-bg: var(--p-amber-75);
  --color-ai-generated: var(--p-violet-700);
  --color-ai-generated-bg: var(--p-violet-75);
  --color-verified: var(--p-slate-650);
  --color-compliant: var(--p-green-600);
  --color-compliant-bg: var(--p-green-75);
  --color-non-compliant: var(--p-red-600);
  --color-non-compliant-bg: var(--p-red-100);
  --color-needs-check: var(--p-amber-600);
  --color-needs-check-bg: var(--p-amber-75);
  --color-accent: var(--p-slate-650);
  --color-margin-number: var(--p-slate-650);
  --color-rail-bg: var(--p-slate-700);
  --color-rail-text: var(--p-concrete-50);
  --color-rail-muted: var(--p-concrete-300);
  --color-rail-active-bg: var(--p-slate-600);
  --color-rail-active-text: var(--p-concrete-0);
  --color-scrim: var(--p-alpha-scrim);
  --color-grid-line: var(--p-alpha-grid-light);
  --color-shadow: var(--p-alpha-shade-light);
  --color-logo-primary: var(--p-slate-700);
  --color-logo-accent: var(--p-slate-400);
  --color-rail-logo-primary: var(--p-concrete-50);
  --color-rail-logo-accent: var(--p-slate-400);
  --color-rail-logo-iq: var(--p-concrete-300);
  --shadow-1: 0 1px 2px rgba(28,37,41,.07), 0 3px 8px rgba(28,37,41,.09);
  --shadow-2: 0 1px 2px rgba(28,37,41,.10), 0 6px 14px rgba(28,37,41,.09), 0 18px 36px rgba(28,37,41,.12);
  --shadow-3: 0 2px 6px rgba(28,37,41,.10), 0 16px 32px rgba(28,37,41,.14), 0 40px 80px rgba(28,37,41,.18);
  --shadow-inset: inset 0 1px 2px rgba(28,37,41,.12);
  --shadow-control: 0 1px 1px rgba(28,37,41,.12), 0 2px 5px rgba(28,37,41,.09);
  --shadow-control-strong: 0 1px 2px rgba(28,37,41,.22), 0 3px 8px rgba(28,37,41,.16);
  --shadow-press: inset 0 2px 4px rgba(28,37,41,.22);
  --highlight: inset 0 1px 0 rgba(255,255,255,.75);
  --highlight-strong: inset 0 1px 0 rgba(255,255,255,.18);
  --surface-light: linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,0));
  --rail-shadow: 0 0 24px rgba(28,37,41,.22);
  --border-width-ui: 1px;
  --grid-image: linear-gradient(var(--color-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--color-grid-line) 1px, transparent 1px);
}
/* Dark mode is not designed yet: its tokens stay in tokens.json (semantic.dark) but are not shipped, so no device lands in an undesigned theme. */
[data-theme="hc"] {
  color-scheme: light;
  --color-surface-page: var(--p-concrete-0);
  --color-surface-card: var(--p-concrete-0);
  --color-surface-sunk: var(--p-concrete-150);
  --color-surface-raised: var(--p-concrete-0);
  --color-surface-inverse: var(--p-slate-700);
  --color-text: var(--p-slate-950);
  --color-text-muted: var(--p-charcoal-800);
  --color-text-on-action: var(--p-concrete-0);
  --color-text-inverse: var(--p-concrete-50);
  --color-text-link: var(--p-charcoal-925);
  --color-border: var(--p-charcoal-800);
  --color-border-strong: var(--p-slate-950);
  --color-border-input: var(--p-slate-950);
  --color-action: var(--p-charcoal-925);
  --color-action-hover: var(--p-slate-950);
  --color-action-active: var(--p-slate-950);
  --color-action-subtle: var(--p-slate-150);
  --color-action-subtle-text: var(--p-slate-750);
  --color-danger: var(--p-red-600);
  --color-danger-hover: var(--p-red-700);
  --color-focus: var(--p-slate-950);
  --color-focus-halo: var(--p-amber-150);
  --color-info: var(--p-slate-650);
  --color-info-bg: var(--p-slate-75);
  --color-success: var(--p-green-600);
  --color-success-bg: var(--p-green-75);
  --color-warning: var(--p-amber-600);
  --color-warning-bg: var(--p-amber-75);
  --color-error: var(--p-red-600);
  --color-error-bg: var(--p-red-100);
  --color-source-official: var(--p-slate-750);
  --color-source-official-bg: var(--p-slate-75);
  --color-source-official-border: var(--p-slate-950);
  --color-source-secondary: var(--p-charcoal-650);
  --color-source-secondary-bg: var(--p-concrete-25);
  --color-value: var(--p-slate-950);
  --color-value-unit: var(--p-charcoal-800);
  --color-qualifier: var(--p-slate-950);
  --color-qualifier-bg: var(--p-concrete-200);
  --color-changed: var(--p-slate-950);
  --color-changed-bg: var(--p-concrete-200);
  --color-ai-generated: var(--p-violet-700);
  --color-ai-generated-bg: var(--p-violet-75);
  --color-verified: var(--p-slate-650);
  --color-compliant: var(--p-green-600);
  --color-compliant-bg: var(--p-green-75);
  --color-non-compliant: var(--p-red-600);
  --color-non-compliant-bg: var(--p-red-100);
  --color-needs-check: var(--p-amber-600);
  --color-needs-check-bg: var(--p-amber-75);
  --color-accent: var(--p-slate-650);
  --color-margin-number: var(--p-slate-950);
  --color-rail-bg: var(--p-concrete-0);
  --color-rail-text: var(--p-slate-950);
  --color-rail-muted: var(--p-charcoal-800);
  --color-rail-active-bg: var(--p-slate-950);
  --color-rail-active-text: var(--p-concrete-0);
  --color-scrim: var(--p-alpha-scrim);
  --color-grid-line: var(--p-alpha-grid-light);
  --color-shadow: var(--p-alpha-shade-light);
  --color-logo-primary: var(--p-slate-700);
  --color-logo-accent: var(--p-slate-400);
  --color-rail-logo-primary: var(--p-slate-700);
  --color-rail-logo-accent: var(--p-slate-400);
  --color-rail-logo-iq: var(--p-slate-750);
  --shadow-1: 0 0 0 0 transparent;
  --shadow-2: 0 2px 0 rgba(15,21,24,1);
  --shadow-3: 0 4px 0 rgba(15,21,24,1), 0 24px 48px rgba(28,37,41,.25);
  --shadow-inset: 0 0 0 0 transparent;
  --shadow-control: 0 0 0 0 transparent;
  --shadow-control-strong: 0 0 0 0 transparent;
  --shadow-press: inset 0 0 0 1px rgba(15,21,24,1);
  --highlight: 0 0 0 0 transparent;
  --highlight-strong: 0 0 0 0 transparent;
  --surface-light: none;
  --rail-shadow: 0 0 0 0 transparent;
  --border-width-ui: 2px;
  --grid-image: none;
}
@media (prefers-contrast: more) {
  :root:not([data-theme]) {
    --color-surface-page: var(--p-concrete-0);
    --color-surface-card: var(--p-concrete-0);
    --color-surface-sunk: var(--p-concrete-150);
    --color-surface-raised: var(--p-concrete-0);
    --color-surface-inverse: var(--p-slate-700);
    --color-text: var(--p-slate-950);
    --color-text-muted: var(--p-charcoal-800);
    --color-text-on-action: var(--p-concrete-0);
    --color-text-inverse: var(--p-concrete-50);
    --color-text-link: var(--p-charcoal-925);
    --color-border: var(--p-charcoal-800);
    --color-border-strong: var(--p-slate-950);
    --color-border-input: var(--p-slate-950);
    --color-action: var(--p-charcoal-925);
    --color-action-hover: var(--p-slate-950);
    --color-action-active: var(--p-slate-950);
    --color-action-subtle: var(--p-slate-150);
    --color-action-subtle-text: var(--p-slate-750);
    --color-danger: var(--p-red-600);
    --color-danger-hover: var(--p-red-700);
    --color-focus: var(--p-slate-950);
    --color-focus-halo: var(--p-amber-150);
    --color-info: var(--p-slate-650);
    --color-info-bg: var(--p-slate-75);
    --color-success: var(--p-green-600);
    --color-success-bg: var(--p-green-75);
    --color-warning: var(--p-amber-600);
    --color-warning-bg: var(--p-amber-75);
    --color-error: var(--p-red-600);
    --color-error-bg: var(--p-red-100);
    --color-source-official: var(--p-slate-750);
    --color-source-official-bg: var(--p-slate-75);
    --color-source-official-border: var(--p-slate-950);
    --color-source-secondary: var(--p-charcoal-650);
    --color-source-secondary-bg: var(--p-concrete-25);
    --color-value: var(--p-slate-950);
    --color-value-unit: var(--p-charcoal-800);
    --color-qualifier: var(--p-slate-950);
    --color-qualifier-bg: var(--p-concrete-200);
    --color-changed: var(--p-slate-950);
    --color-changed-bg: var(--p-concrete-200);
    --color-ai-generated: var(--p-violet-700);
    --color-ai-generated-bg: var(--p-violet-75);
    --color-verified: var(--p-slate-650);
    --color-compliant: var(--p-green-600);
    --color-compliant-bg: var(--p-green-75);
    --color-non-compliant: var(--p-red-600);
    --color-non-compliant-bg: var(--p-red-100);
    --color-needs-check: var(--p-amber-600);
    --color-needs-check-bg: var(--p-amber-75);
    --color-accent: var(--p-slate-650);
    --color-margin-number: var(--p-slate-950);
    --color-rail-bg: var(--p-concrete-0);
    --color-rail-text: var(--p-slate-950);
    --color-rail-muted: var(--p-charcoal-800);
    --color-rail-active-bg: var(--p-slate-950);
    --color-rail-active-text: var(--p-concrete-0);
    --color-scrim: var(--p-alpha-scrim);
    --color-grid-line: var(--p-alpha-grid-light);
    --color-shadow: var(--p-alpha-shade-light);
    --color-logo-primary: var(--p-slate-700);
    --color-logo-accent: var(--p-slate-400);
    --color-rail-logo-primary: var(--p-slate-700);
    --color-rail-logo-accent: var(--p-slate-400);
    --color-rail-logo-iq: var(--p-slate-750);
    --shadow-1: 0 0 0 0 transparent;
    --shadow-2: 0 2px 0 rgba(15,21,24,1);
    --shadow-3: 0 4px 0 rgba(15,21,24,1), 0 24px 48px rgba(28,37,41,.25);
    --shadow-inset: 0 0 0 0 transparent;
    --shadow-control: 0 0 0 0 transparent;
    --shadow-control-strong: 0 0 0 0 transparent;
    --shadow-press: inset 0 0 0 1px rgba(15,21,24,1);
    --highlight: 0 0 0 0 transparent;
    --highlight-strong: 0 0 0 0 transparent;
    --surface-light: none;
    --rail-shadow: 0 0 0 0 transparent;
    --border-width-ui: 2px;
    --grid-image: none;
  }
}
[data-background="plain"] { --grid-image: none; }

/* Tier 3: component tokens. Re-declared wherever a theme is set, so values derived from semantic tokens resolve in that subtree. */
:root, [data-theme] {
  --focus-width: 3px;
  --focus-offset: 2px;
  --button-height-s: 2.75rem;
  --button-height-m: 3rem;
  --button-height-l: 3.5rem;
  --button-radius: var(--radius-m);
  --button-padding-inline: var(--space-5);
  --input-height: 3rem;
  --input-radius: var(--radius-m);
  --input-padding-inline: var(--space-4);
  --card-radius: var(--radius-l);
  --card-padding: var(--space-6);
  --row-min-height: 3rem;
  --row-padding-block: var(--space-3);
  --row-padding-inline: var(--space-5);
  --rail-width: 17rem;
  --appbar-height: 3.5rem;
  --tabbar-height: 3.5rem;
  --reading-width: 68ch;
  --content-width: 75rem;
  --modal-width: 36rem;
  --sheet-radius: var(--radius-l);
  --toast-width: 24rem;
  --tooltip-max-width: 20rem;
  --icon-stroke: 1.75;
  --icon-size-s: 1rem;
  --icon-size-m: 1.25rem;
  --icon-size-l: 1.5rem;
  --value-size-hero: 3.5rem;
  --value-size-kpi: 2rem;
  --value-size-row: 1.375rem;
  --value-weight: var(--font-weight-bold);
  --margin-number-width: 3rem;
  --elevation-1: var(--shadow-1);
  --elevation-2: var(--shadow-2);
  --elevation-3: var(--shadow-3);
}
@media (max-width: 899.98px) {
  :root, [data-theme] { --row-min-height: 3.5rem; --card-padding: var(--space-4); --value-size-hero: 3rem; }
}

/* Real text size: the settings control sets data-text-size on <html>; everything is rem-based. */
html[data-text-size="s"] { font-size: 93.75%; }
html[data-text-size="l"] { font-size: 125%; }

/* Reduced motion: a rule on the tokens, not per component. */
@media not all {
  :root, [data-theme] { --duration-fast: 0ms; --duration-base: 0ms; --duration-slow: 0ms; }
}
[data-motion="reduce"] { --duration-fast: 0ms; --duration-base: 0ms; --duration-slow: 0ms; }
