/* HISD design tokens — generated by build_tokens.py. Do not edit by hand. */
/* Light is the default; dark applies via [data-theme="dark"] or the OS preference */
/* unless [data-theme="light"] forces light. Mirrors the School Navigator pattern. */
/* Brand fonts are self-hosted from ./fonts/ — no external CDN. */

@font-face { font-family: "Radio Canada"; src: url("fonts/RadioCanada-VariableFont_wdth,wght.woff2") format("woff2-variations"); font-weight: 300 700; font-stretch: 75% 100%; font-display: swap; }
@font-face { font-family: "Parkinsans"; src: url("fonts/Parkinsans-VariableFont_wght.woff2") format("woff2-variations"); font-weight: 300 800; font-display: swap; }

:root {
  --hisd-teal-50: #F0F9FA;
  --hisd-teal-100: #DBF2F4;
  --hisd-teal-200: #B8E5E9;
  --hisd-teal-300: #8CD6DB;
  --hisd-teal-400: #4CBFC7;
  --hisd-teal-500: #00A3AF;
  --hisd-teal-600: #028F9A;
  --hisd-teal-700: #037882;
  --hisd-teal-800: #05626A;
  --hisd-teal-900: #074B51;
  --hisd-teal-950: #093439;
  --hisd-dark-green-50: #F0F6F5;
  --hisd-dark-green-100: #DBEBE8;
  --hisd-dark-green-200: #B8D7D1;
  --hisd-dark-green-300: #8CBEB5;
  --hisd-dark-green-400: #4C9A8C;
  --hisd-dark-green-500: #006F5B;
  --hisd-dark-green-600: #026252;
  --hisd-dark-green-700: #035447;
  --hisd-dark-green-800: #05463C;
  --hisd-dark-green-900: #073731;
  --hisd-dark-green-950: #092927;
  --hisd-light-green-50: #F6FBF3;
  --hisd-light-green-100: #EBF5E4;
  --hisd-light-green-200: #D6EBC9;
  --hisd-light-green-300: #BDDFA8;
  --hisd-light-green-400: #99CD77;
  --hisd-light-green-500: #6DB83D;
  --hisd-light-green-600: #5FA138;
  --hisd-light-green-700: #508732;
  --hisd-light-green-800: #406D2C;
  --hisd-light-green-900: #305326;
  --hisd-light-green-950: #213920;
  --hisd-yellow-50: #FFFCF4;
  --hisd-yellow-100: #FEF8E6;
  --hisd-yellow-200: #FDF2CD;
  --hisd-yellow-300: #FCEAAF;
  --hisd-yellow-400: #FBDE83;
  --hisd-yellow-500: #F9D04E;
  --hisd-yellow-600: #D8B646;
  --hisd-yellow-700: #B2983E;
  --hisd-yellow-800: #8C7A35;
  --hisd-yellow-900: #655C2D;
  --hisd-yellow-950: #3F3E24;
  --hisd-purple-50: #F4F4F9;
  --hisd-purple-100: #E5E6F1;
  --hisd-purple-200: #CBCEE2;
  --hisd-purple-300: #ACB0D1;
  --hisd-purple-400: #7E84B8;
  --hisd-purple-500: #474F99;
  --hisd-purple-600: #3F4787;
  --hisd-purple-700: #353E72;
  --hisd-purple-800: #2B345E;
  --hisd-purple-900: #222B49;
  --hisd-purple-950: #182234;
  --hisd-blue-50: #F4F7FB;
  --hisd-blue-100: #E6ECF6;
  --hisd-blue-200: #CCD8ED;
  --hisd-blue-300: #ADC1E1;
  --hisd-blue-400: #809ED1;
  --hisd-blue-500: #4975BD;
  --hisd-blue-600: #4068A6;
  --hisd-blue-700: #36588B;
  --hisd-blue-800: #2C4971;
  --hisd-blue-900: #233957;
  --hisd-blue-950: #192A3C;
  --hisd-red-50: #FDF6F6;
  --hisd-red-100: #FAE9E9;
  --hisd-red-200: #F4D3D4;
  --hisd-red-300: #EEB9B9;
  --hisd-red-400: #E49292;
  --hisd-red-500: #D96364;
  --hisd-red-600: #BC5859;
  --hisd-red-700: #9B4C4D;
  --hisd-red-800: #7A3F41;
  --hisd-red-900: #593335;
  --hisd-red-950: #382629;
  --hisd-neutral-50: #F6F7F7;
  --hisd-neutral-100: #EDEFEF;
  --hisd-neutral-200: #DCDFE0;
  --hisd-neutral-300: #C2C7C8;
  --hisd-neutral-400: #969FA1;
  --hisd-neutral-500: #6E7C7E;
  --hisd-neutral-600: #4B5C5F;
  --hisd-neutral-700: #314448;
  --hisd-neutral-800: #24383C;
  --hisd-neutral-900: #19282C;
  --hisd-neutral-950: #121F22;
  --hisd-amber-50: #FAF5F0;
  --hisd-amber-100: #F4E7DD;
  --hisd-amber-200: #EACFBA;
  --hisd-amber-300: #DDB290;
  --hisd-amber-400: #CA8753;
  --hisd-amber-500: #B45309;
  --hisd-amber-600: #9C4A0B;
  --hisd-amber-700: #81400E;
  --hisd-amber-800: #663610;
  --hisd-amber-900: #4B2D12;
  --hisd-amber-950: #302315;
  --hisd-teal: #00A3AF;
  --hisd-dark-green: #006F5B;
  --hisd-light-green: #6DB83D;
  --hisd-yellow: #F9D04E;
  --hisd-purple: #474F99;
  --hisd-blue: #4975BD;
  --hisd-red: #D96364;
  --hisd-dark-grey: #24383C;
  --hisd-light-grey: #D4D4D5;
  --hisd-off-white: #FFFFED;
  --font-sans: "Radio Canada", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-display: "Parkinsans", "Parkin Sans", "Radio Canada", system-ui, sans-serif;
  --font-serif: "Lora", Georgia, "Times New Roman", serif;
  --font-mono: ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, monospace;
  --text-2xs: 0.6875rem;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;
  --text-7xl: 4.5rem;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;
  --leading-none: 1;
  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;
  --space-0: 0;
  --space-px: 1px;
  --space-0.5: 0.125rem;
  --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;
  --space-24: 6rem;
  --space-32: 8rem;
  --radius-none: 0;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-pill: 9999px;
  --duration-instant: 75ms;
  --duration-fast: 150ms;
  --duration-base: 200ms;
  --duration-slow: 300ms;
  --duration-slower: 500ms;
  --ease-standard: cubic-bezier(.2,0,0,1);
  --ease-emphasized: cubic-bezier(.3,0,0,1);
  --ease-decelerate: cubic-bezier(0,0,0,1);
  --ease-accelerate: cubic-bezier(.3,0,1,1);
  --dataviz-1: #00A3AF;
  --dataviz-2: #474F99;
  --dataviz-3: #026252;
  --dataviz-4: #4975BD;
  --dataviz-5: #D96364;
  --dataviz-6: #5FA138;
  --dataviz-7: #314448;
}

:root,
[data-theme="light"] {
  --color-bg: #F5F5F5;
  --color-surface: #FFFFFF;
  --color-surface-raised: #FFFFFF;
  --color-surface-sunken: #EDEFEF;
  --color-surface-inverse: #19282C;
  --color-surface-hover: #EDEFEF;
  --color-surface-active: #DCDFE0;
  --color-text: #19282C;
  --color-text-muted: #4B5C5F;
  --color-text-subtle: #6E7C7E;
  --color-text-on-accent: #FFFFFF;
  --color-text-inverse: #F6F7F7;
  --color-border: #DCDFE0;
  --color-border-strong: #C2C7C8;
  --color-brand: #00A3AF;
  --color-action: #037882;
  --color-action-hover: #05626A;
  --color-action-active: #074B51;
  --color-on-action: #FFFFFF;
  --color-accent: #474F99;
  --color-focus: #037882;
  --color-selected: #DBF2F4;
  --color-text-on-selected: #074B51;
  --color-selected-border: #00A3AF;
  --color-success: #026252;
  --color-success-strong: #035447;
  --color-success-surface: #F0F6F5;
  --color-success-border: #8CBEB5;
  --color-on-success: #FFFFFF;
  --color-danger: #9B4C4D;
  --color-danger-strong: #9B4C4D;
  --color-danger-surface: #FDF6F6;
  --color-danger-border: #EEB9B9;
  --color-on-danger: #FFFFFF;
  --color-warning: #9C4A0B;
  --color-warning-strong: #81400E;
  --color-warning-surface: #FAF5F0;
  --color-warning-border: #DDB290;
  --color-on-warning: #FFFFFF;
  --color-info: #4068A6;
  --color-info-strong: #36588B;
  --color-info-surface: #F4F7FB;
  --color-info-border: #ADC1E1;
  --color-on-info: #FFFFFF;
  --color-neutral: #4B5C5F;
  --color-neutral-strong: #314448;
  --color-neutral-surface: #EDEFEF;
  --color-neutral-border: #C2C7C8;
  --color-on-neutral: #FFFFFF;
  --color-link: #037882;
  --shadow-0: none;
  --shadow-1: 0 1px 2px rgba(11,21,24,.06), 0 1px 1px rgba(11,21,24,.04);
  --shadow-2: 0 2px 4px rgba(11,21,24,.08), 0 1px 2px rgba(11,21,24,.05);
  --shadow-3: 0 6px 16px rgba(11,21,24,.10), 0 2px 4px rgba(11,21,24,.06);
  --shadow-4: 0 12px 32px rgba(11,21,24,.14), 0 4px 8px rgba(11,21,24,.08);
}

[data-theme="dark"] {
  --color-bg: #121F22;
  --color-surface: #19282C;
  --color-surface-raised: #24383C;
  --color-surface-sunken: #121F22;
  --color-surface-inverse: #EDEFEF;
  --color-surface-hover: #24383C;
  --color-surface-active: #314448;
  --color-text: #F6F7F7;
  --color-text-muted: #C2C7C8;
  --color-text-subtle: #969FA1;
  --color-text-on-accent: #121F22;
  --color-text-inverse: #19282C;
  --color-border: #314448;
  --color-border-strong: #4B5C5F;
  --color-brand: #8CD6DB;
  --color-action: #4CBFC7;
  --color-action-hover: #8CD6DB;
  --color-action-active: #B8E5E9;
  --color-on-action: #121F22;
  --color-accent: #ACB0D1;
  --color-focus: #8CD6DB;
  --color-selected: #05626A;
  --color-text-on-selected: #F0F9FA;
  --color-selected-border: #4CBFC7;
  --color-success: #99CD77;
  --color-success-strong: #BDDFA8;
  --color-success-surface: #073731;
  --color-success-border: #026252;
  --color-on-success: #121F22;
  --color-danger: #E49292;
  --color-danger-strong: #EEB9B9;
  --color-danger-surface: #593335;
  --color-danger-border: #BC5859;
  --color-on-danger: #121F22;
  --color-warning: #CA8753;
  --color-warning-strong: #DDB290;
  --color-warning-surface: #4B2D12;
  --color-warning-border: #9C4A0B;
  --color-on-warning: #121F22;
  --color-info: #ADC1E1;
  --color-info-strong: #ADC1E1;
  --color-info-surface: #233957;
  --color-info-border: #4068A6;
  --color-on-info: #121F22;
  --color-neutral: #969FA1;
  --color-neutral-strong: #C2C7C8;
  --color-neutral-surface: #24383C;
  --color-neutral-border: #4B5C5F;
  --color-on-neutral: #121F22;
  --color-link: #8CD6DB;
  --shadow-0: none;
  --shadow-1: 0 1px 2px rgba(0,0,0,.4);
  --shadow-2: 0 2px 6px rgba(0,0,0,.5);
  --shadow-3: 0 8px 20px rgba(0,0,0,.55);
  --shadow-4: 0 16px 40px rgba(0,0,0,.6);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-bg: #121F22;
    --color-surface: #19282C;
    --color-surface-raised: #24383C;
    --color-surface-sunken: #121F22;
    --color-surface-inverse: #EDEFEF;
    --color-surface-hover: #24383C;
    --color-surface-active: #314448;
    --color-text: #F6F7F7;
    --color-text-muted: #C2C7C8;
    --color-text-subtle: #969FA1;
    --color-text-on-accent: #121F22;
    --color-text-inverse: #19282C;
    --color-border: #314448;
    --color-border-strong: #4B5C5F;
    --color-brand: #8CD6DB;
    --color-action: #4CBFC7;
    --color-action-hover: #8CD6DB;
    --color-action-active: #B8E5E9;
    --color-on-action: #121F22;
    --color-accent: #ACB0D1;
    --color-focus: #8CD6DB;
    --color-selected: #05626A;
    --color-text-on-selected: #F0F9FA;
    --color-selected-border: #4CBFC7;
    --color-success: #99CD77;
    --color-success-strong: #BDDFA8;
    --color-success-surface: #073731;
    --color-success-border: #026252;
    --color-on-success: #121F22;
    --color-danger: #E49292;
    --color-danger-strong: #EEB9B9;
    --color-danger-surface: #593335;
    --color-danger-border: #BC5859;
    --color-on-danger: #121F22;
    --color-warning: #CA8753;
    --color-warning-strong: #DDB290;
    --color-warning-surface: #4B2D12;
    --color-warning-border: #9C4A0B;
    --color-on-warning: #121F22;
    --color-info: #ADC1E1;
    --color-info-strong: #ADC1E1;
    --color-info-surface: #233957;
    --color-info-border: #4068A6;
    --color-on-info: #121F22;
    --color-neutral: #969FA1;
    --color-neutral-strong: #C2C7C8;
    --color-neutral-surface: #24383C;
    --color-neutral-border: #4B5C5F;
    --color-on-neutral: #121F22;
    --color-link: #8CD6DB;
    --shadow-0: none;
    --shadow-1: 0 1px 2px rgba(0,0,0,.4);
    --shadow-2: 0 2px 6px rgba(0,0,0,.5);
    --shadow-3: 0 8px 20px rgba(0,0,0,.55);
    --shadow-4: 0 16px 40px rgba(0,0,0,.6);
  }
}

@media (prefers-reduced-motion: reduce) {
  :root { --duration-instant: 0ms; --duration-fast: 0ms; --duration-base: 0ms; --duration-slow: 0ms; --duration-slower: 0ms; }
}
