/* VNTech Theme 5 canonical design tokens. */
:root {
    --t5-accent: #1768ff;
    --t5-accent-strong: #0d55dc;
    --t5-accent-soft: #eaf2ff;
    --t5-navy-950: #030b19;
    --t5-navy-900: #06152d;
    --t5-navy-800: #0a2144;
    --t5-ink-950: #0c1b32;
    --t5-ink-800: #243957;
    --t5-ink-600: #53647e;
    --t5-ink-500: #6b7890;
    --t5-paper: #f5f8fc;
    --t5-paper-strong: #edf2f8;
    --t5-surface: #ffffff;
    --t5-line: rgba(18, 48, 92, 0.12);
    --t5-line-strong: rgba(23, 85, 190, 0.22);
    --t5-shadow-sm: 0 12px 34px rgba(12, 34, 70, 0.07);
    --t5-shadow-md: 0 22px 64px rgba(12, 34, 70, 0.11);
    --t5-shadow-lg: 0 34px 100px rgba(6, 25, 58, 0.2);
    --t5-radius-xs: 8px;
    --t5-radius-sm: 12px;
    --t5-radius-md: 18px;
    --t5-radius-lg: 28px;
    --t5-width: 1180px;
    --t5-width-wide: 1320px;
    --t5-reading-width: 760px;
    --t5-page-gutter: clamp(16px, 3vw, 40px);
    --t5-section-space: clamp(64px, 6vw, 92px);
    --t5-section-space-compact: clamp(44px, 4.5vw, 64px);
    --t5-section-space-large: clamp(84px, 8vw, 124px);
    --t5-header-height: 68px;
    --t5-floating-edge: 20px;
    --t5-floating-size: 52px;
    --t5-floating-gap: 14px;
    --t5-ai-launcher-clearance: calc(var(--t5-floating-size) + var(--t5-floating-gap));
    --t5-focus-ring: 0 0 0 3px rgba(23, 104, 255, 0.3);
    --t5-z-header: 1000;
    --t5-z-drawer: 1100;
    --t5-z-floating: 1050;
    --t5-z-modal: 1400;
    --t5-ease: cubic-bezier(0.2, 0.75, 0.25, 1);
}

body.vntech-theme5 {
    --t5-page-bg: var(--t5-paper);
    --t5-page-text: var(--t5-ink-950);
    --t5-page-muted: var(--t5-ink-600);
}

body.vntech-theme5 :focus-visible {
    outline: 2px solid var(--t5-accent);
    outline-offset: 3px;
    box-shadow: var(--t5-focus-ring);
}
