/* Atkinson Hyperlegible — hosted locally */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/atkinson-400-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/atkinson-400-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/atkinson-700-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/atkinson-700-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/atkinson-400-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/atkinson-400-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/atkinson-700-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/atkinson-700-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root,
html[data-theme="high-contrast"] {
    --hc-surface-alpha:        rgba(8, 8, 8, 0.5);
    --hc-scrollbar-thumb-hover:#6f6f6f;
    --hc-bg: #000;
    --hc-surface: #080808;
    --hc-surface-strong: #101010;
    --hc-border: #6f6f6f;
    --hc-border-strong: #a6a6a6;
    --hc-text: #fff;
    --hc-link: #ffd400;
    --hc-link-strong: #ffff00;
    --hc-accent: #ffd400;
    --hc-accent-strong: #ffff00;
    --hc-surface-hover: #1f1f1f;
    --hc-surface-muted: #333;
    --hc-surface-muted-strong: #222;
    --hc-accent-surface: #665200;
    --hc-success: #0f9d58;
    --hc-danger: #d93025;
    --hc-border-muted: #555;
    --hc-surface-deep: #0f0f0f;
    --hc-bg-deep: #050505;
    --hc-success-surface: #1a5f1a;
    --hc-success-surface-strong: #2a7a2a;
    --hc-gradient-start: #0a0a0a;
    --hc-gradient-end: #1a1a1a;
    --hc-field-line: rgba(255, 255, 255, 0.5);
    --hc-shadow-soft: rgba(0, 0, 0, 0.5);
    --hc-focus-ring-soft: rgba(255, 212, 0, 0.35);
    --hc-focus-ring: rgba(255, 212, 0, 0.4);
    --hc-focus-ring-strong: rgba(255, 212, 0, 0.6);
    --hc-focus-ring-bootstrap: rgba(255, 212, 0, 0.5);
    --hc-divider-subtle: rgba(255, 255, 255, 0.35);
    --hc-overlay-bg: rgba(17, 17, 17, 0.9);
    --hc-card-shadow: none;
    --hc-card-shadow-hover: none;
    --hc-text-on-accent: #000;
    --hc-text-secondary: #d9d9d9;
    --hc-heart:          #f472b6;
    --hc-surface-alpha-strong: rgba(8, 8, 8, 0.8);
    --hc-glow-primary:   transparent;
    --hc-glow-secondary: transparent;
    --hc-accent-glow:    transparent;
}

html[data-theme="dark"] {
    --hc-bg:                  #09090b;
    --hc-surface:             #18181b;
    --hc-surface-strong:      #27272a;
    --hc-surface-hover:       #27272a;
    --hc-surface-muted:       #3f3f46;
    --hc-surface-muted-strong:#3f3f46;
    --hc-surface-deep:        #09090b;
    --hc-bg-deep:             #000000;
    --hc-border:              #27272a;
    --hc-border-strong:       #3f3f46;
    --hc-border-muted:        #27272a;
    --hc-border-input:        #71717a;
    --hc-text:                #fafafa;
    --hc-text-secondary:      #c4c4c8;
    --hc-link:                #10b981;
    --hc-link-strong:         #34d399;
    --hc-accent:              #10b981;
    --hc-accent-strong:       #34d399;
    --hc-accent-surface:      #064e3b;
    --hc-text-on-accent:      #09090b;
    --hc-success:             #10b981;
    --hc-success-surface:     #064e3b;
    --hc-success-surface-strong: #065f46;
    --hc-danger:              #f87171;
    --hc-danger-surface:      #4d1414;
    --hc-warning:             #fb923c;
    --hc-warning-surface:     #4d2000;
    --hc-gold:                #ffd700;
    --hc-loan:                #60a5fa;
    --hc-loan-surface:        #0d1f38;
    --hc-skill:               #f59e0b;
    --hc-skill-surface:       #271900;
    --hc-shadow-soft:         rgba(0, 0, 0, 0.5);
    --hc-focus-ring:          rgba(16, 185, 129, 0.4);
    --hc-focus-ring-soft:     rgba(16, 185, 129, 0.2);
    --hc-focus-ring-strong:   rgba(16, 185, 129, 0.6);
    --hc-focus-ring-bootstrap:rgba(16, 185, 129, 0.4);
    --hc-divider-subtle:      rgba(255, 255, 255, 0.08);
    --hc-overlay-bg:          rgba(9, 9, 11, 0.9);
    --hc-card-shadow:         0 4px 24px rgba(0, 0, 0, 0.4);
    --hc-card-shadow-hover:   0 8px 32px rgba(0, 0, 0, 0.6);
    --hc-gradient-start:      #09090b;
    --hc-gradient-end:        #18181b;
    --hc-field-line:          rgba(255, 255, 255, 0.1);
    --hc-surface-alpha:       rgba(24, 24, 27, 0.5);
    --hc-surface-alpha-strong:rgba(24, 24, 27, 0.8);
    --hc-scrollbar-thumb-hover:#52525b;
    --hc-heart:               #ec4899;
    --hc-glow-primary:        rgba(6, 78, 59, 0.1);
    --hc-glow-secondary:      rgba(30, 58, 138, 0.1);
    --hc-accent-glow:         rgba(16, 185, 129, 0.1);
}

html[data-theme="light"] {
    --hc-bg: #eff3f8;
    --hc-surface: #ffffff;
    --hc-surface-strong: #f6f9fd;
    --hc-border: #cfd8e3;
    --hc-border-strong: #8b99ab;
    --hc-text: #0f172a;
    --hc-link: #1e5fd6;
    --hc-link-strong: #1749a5;
    --hc-accent: #1f6feb;
    --hc-accent-strong: #174ea8;
    --hc-surface-hover: #eaf1fb;
    --hc-surface-muted: #edf3fa;
    --hc-surface-muted-strong: #e4edf8;
    --hc-accent-surface: #dbe9ff;
    --hc-success: #198754;
    --hc-danger: #dc3545;
    --hc-border-muted: #dbe2ec;
    --hc-surface-deep: #f7faff;
    --hc-bg-deep: #f2f6fc;
    --hc-success-surface: #d9ebdf;
    --hc-success-surface-strong: #c5dfd0;
    --hc-gradient-start: #ffffff;
    --hc-gradient-end: #ecf3ff;
    --hc-field-line: rgba(15, 23, 42, 0.2);
    --hc-shadow-soft: rgba(15, 23, 42, 0.1);
    --hc-focus-ring-soft: rgba(31, 111, 235, 0.18);
    --hc-focus-ring: rgba(31, 111, 235, 0.26);
    --hc-focus-ring-strong: rgba(31, 111, 235, 0.35);
    --hc-focus-ring-bootstrap: rgba(31, 111, 235, 0.28);
    --hc-divider-subtle: rgba(15, 23, 42, 0.12);
    --hc-overlay-bg: rgba(255, 255, 255, 0.9);
    --hc-card-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    --hc-card-shadow-hover: 0 6px 16px rgba(15, 23, 42, 0.1);
    --hc-text-on-accent: #ffffff;
    --hc-text-secondary: #475569;
    --hc-surface-alpha:        rgba(255, 255, 255, 0.5);
    --hc-surface-alpha-strong: rgba(255, 255, 255, 0.8);
    --hc-scrollbar-thumb-hover:#8b99ab;
    --hc-heart:                #db2777;
    --hc-glow-primary:         rgba(31, 111, 235, 0.06);
    --hc-glow-secondary:       rgba(15, 23, 42, 0.04);
    --hc-accent-glow:          rgba(31, 111, 235, 0.08);
}
