/**
 * Trinity Design System (TDS) - Semantic Tokens
 * Version: 2.3.3 (Full Institutional Synchronization)
 * Compliance: WCAG 2.1 AAA
 */

:root {
    /* Palette and roles */
    --tds-brand: #e3340e;
    --tds-brand-dark: #c92f0d;
    --tds-brand-action: #A8280B;
    --tds-brand-action-hover: #8F2109;
    --tds-brand-action-active: #761B07;
    --tds-brand-strong: var(--tds-brand-action);
    --tds-text-main: #111827;
    --tds-text-muted: #4B5563;
    --tds-border-strong: rgba(16, 24, 40, 0.18);
    --tds-border: rgba(16, 24, 40, 0.12);
    --tds-ds-bg: #0B1120;
    --tds-ds-text-main: #FFFFFF;
    --tds-ds-text-muted: #94A3B8;
    --tds-ds-brand-kicker: #FCA5A5;
    --tds-surface: #FFFFFF;
    --tds-surface-subtle: #F7F4F4;
    --tds-surface-hero: #F8FAFC;
    --tds-text-inverse: #FFFFFF;
    --tds-ds-text-soft: rgba(255, 255, 255, 0.86);
    --tds-ink-a04: rgba(16, 24, 40, 0.04);
    --tds-ink-a06: rgba(16, 24, 40, 0.06);
    --tds-ink-a08: rgba(16, 24, 40, 0.08);
    --tds-ink-a10: rgba(16, 24, 40, 0.1);
    --tds-brand-a04: rgba(168, 40, 11, 0.04);
    --tds-brand-a08: rgba(168, 40, 11, 0.08);
    --tds-brand-a12: rgba(168, 40, 11, 0.12);
    --tds-brand-a22: rgba(168, 40, 11, 0.22);
    --tds-brand-a35: rgba(168, 40, 11, 0.35);
    /* deprecated for focus rings (DESIGN-01); use --tds-focus-outline */
    --tds-focus-ring: rgba(168, 40, 11, 0.35);
    --tds-focus-width: 2px;
    --tds-focus-offset: 2px;
    --tds-focus-color: var(--tds-brand-strong);
    --tds-focus-color-inverse: var(--tds-ds-brand-kicker);
    --tds-focus-outline: var(--tds-focus-width) solid var(--tds-focus-color);
    --tds-focus-outline-inverse: var(--tds-focus-width) solid var(--tds-focus-color-inverse);
    --tds-status-success: #166534;
    --tds-status-success-bg: #F0FDF4;

    /* Spacing (rem, 18px root) */
    --tds-space-01: 4px;
    --tds-space-02: 8px;
    --tds-space-03: 16px;
    --tds-space-04: 32px;
    --tds-space-05: 64px;
    --tds-space-06: 96px;
    --tds-space-3xs: 0.25rem;
    --tds-space-2xs: 0.5rem;
    --tds-space-xs: 0.75rem;
    --tds-space-sm: 1rem;
    --tds-space-md: 1.25rem;
    --tds-space-lg: 1.5rem;
    --tds-space-xl: 2rem;
    --tds-space-2xl: 3rem;
    --tds-space-3xl: 4rem;
    --tds-space-4xl: 6rem;

    /* Radius */
    --tds-radius-sm: 2px;
    --tds-radius-md: 4px;
    --tds-shadow-lg: 0 12px 32px var(--tds-border);
    --tds-radius-control: 0.5rem;
    --tds-radius-xl: 1rem;
    --tds-radius-pill: 999px;

    /* Type */
    --tds-f-base: 18px;
    --tds-font-system: 'Rubik', 'Rubik Fallback', 'Noto Sans Bengali', system-ui, sans-serif;
    --tds-font-record: 'Georgia', serif;
    --tds-font-technical: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --tds-type-size-body: 1rem;
    --tds-type-size-meta: 0.875rem;
    --tds-type-size-label: 0.8125rem;
    --tds-type-size-lead: 1.2rem;
    --tds-type-track-label: 0.08em;
    --tds-type-line-body: 1.6;
    --tds-type-line-interface: var(--tds-type-line-ui);
    --tds-reading-measure: 70ch;
    --tds-type-h1: clamp(2rem, 1.4rem + 1.9vw, 2.488rem);
    --tds-type-h2: clamp(1.6rem, 1.2rem + 1.2vw, 2.074rem);
    --tds-type-h3: clamp(1.3rem, 1.1rem + 0.6vw, 1.44rem);
    --tds-type-h4: 1.2rem;
    --tds-type-size-caption: 0.75rem;
    --tds-type-size-ui: 0.9375rem;
    --tds-type-size-body-lg: var(--tds-type-size-body);
    --tds-type-display-sm: var(--tds-type-display);
    --tds-type-display-md: var(--tds-type-display);
    --tds-type-display-lg: var(--tds-type-display);
    --tds-weight-regular: 400;
    --tds-weight-medium: 500;
    --tds-weight-semibold: 600;
    --tds-weight-bold: var(--tds-weight-semibold);
    --tds-weight-heavy: var(--tds-weight-semibold);
    --tds-type-line-display: 1.05;
    --tds-type-line-tight: 1.1;
    --tds-type-line-snug: 1.2;
    --tds-type-line-ui: 1.4;
    --tds-type-line-relaxed: 1.6;
    --tds-type-track-display: -0.02em;
    --tds-type-track-tight: -0.02em;
    --tds-type-track-caps: 0.08em;

    /* Layering */
    --tds-z-elevated: 10;
    --tds-z-localbar: 1020;
    --tds-z-header: 1040;
    --tds-z-overlay: 1050;
    --tds-z-raised: 2;
    --tds-z-mobile-nav: 1000;
    --tds-z-panel-backdrop: 1020;
    --tds-z-panel: 1030;
    --tds-z-floating: 1025;
    --tds-z-menu: 1080;

    /* Motion */
    --tds-motion-duration-snappy: 120ms;
    --tds-motion-duration-standard: 200ms;
    --tds-motion-duration-smooth: 300ms;
    --tds-motion-easing-productive: cubic-bezier(0.2, 0, 0.38, 0.9);
    --tds-motion-easing-expressive: cubic-bezier(0.4, 0, 0.2, 1);
    --tds-motion-duration-hover: 160ms;

    /* Layout */
    --tds-tap-target-min: 44px;
    --tds-max-width: 1584px;

    /* Navigation */
    --tds-header-h: 72px;
    --tds-localbar-h: 44px;
    --tds-header-stack-h: calc(var(--tds-header-h) + var(--tds-localbar-h));
    --tds-nav-bg: rgba(255, 255, 255, 0.98);
    --tds-nav-blur: 12px;
    --tds-localbar-bg: rgba(255, 255, 255, 0.95);
    --tds-localbar-blur: 8px;
    --tds-nav-border: var(--tds-border);
    --tds-nav-link-size: var(--tds-type-size-ui);
    --tds-nav-link-weight: var(--tds-weight-medium);
    --tds-nav-link-color: var(--tds-text-main);
    --tds-nav-link-color-hover: var(--tds-brand-strong);
    --tds-nav-current-color: var(--tds-brand-strong);
    --tds-nav-current-bar: 2px;
    --tds-nav-descriptor-size: var(--tds-type-size-label);
    --tds-nav-descriptor-color: var(--tds-text-muted);
    --tds-nav-item-gap: var(--tds-space-lg);
    --tds-nav-item-min-h: var(--tds-tap-target-min);
    --tds-footer-bg: var(--tds-surface);
    --tds-footer-link: var(--tds-text-main);
    --tds-footer-link-hover: var(--tds-brand-strong);

    --tds-nav-logo-w: 140px;
    --tds-nav-inline-space: var(--tds-space-lg);
    --tds-nav-dropdown-w: 30rem;
    --tds-nav-trigger-min: 8ch;
    --tds-nav-rule: 1px;
    --tds-nav-footer-column: 12rem;

    /* Compatibility aliases and semantic line roles */
    --tds-brand-accessible: var(--tds-brand-strong);
    --tds-type-line-label: 1.3;
    --tds-type-line-meta: 1.45;
    --tds-type-weight-semibold: var(--tds-weight-semibold);
    --tds-type-weight-bold: var(--tds-weight-bold);
    --tds-type-weight-heavy: var(--tds-weight-heavy);
    --tds-font-serif: var(--tds-font-record);
    --tds-border-subtle: var(--tds-border);

    /* Button */
	--tds-btn-border-width: 1px;

	--tds-btn-font-family: var(--tds-font-system);
	--tds-btn-font-weight: var(--tds-weight-medium);
	--tds-btn-letter-spacing: var(--tds-type-track-ui);
	--tds-btn-line-height: var(--tds-type-line-ui);
	--tds-btn-text-decoration: none;

	/* 50+ Baseline Updates */
	--tds-btn-min-height: 2.875rem;     /* Original intact */
	--tds-btn-font-size: var(--tds-type-size-ui);         /* Standardized to 18px */
	--tds-btn-padding-y: 0.75rem;
	--tds-btn-padding-x: 1.25rem;
	--tds-btn-gap: 0.5rem;

	--tds-btn-min-height-sm: 2.5rem;   /* Raised to 45px for AAA Tap Targets */
	--tds-btn-padding-y-sm: 0.5rem;
	--tds-btn-padding-x-sm: 0.875rem;
	--tds-btn-font-size-sm: var(--tds-type-size-ui);

	/* Tamed to 54px (3rem * 18px) to match Form Input Comfort Zone */
	--tds-btn-min-height-lg: 3rem;
	--tds-btn-padding-y-lg: 0.875rem;
	--tds-btn-padding-x-lg: 1.5rem;
	--tds-btn-font-size-lg: var(--tds-type-size-ui); /* ~20px text */

	--tds-btn-transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease,
		box-shadow 160ms ease,
		transform 160ms ease,
		opacity 160ms ease;

	--tds-btn-translate-hover: -1px;
	--tds-btn-translate-active: 1px;

	/* deprecated for focus rings (DESIGN-01); use --tds-focus-outline */
	--tds-btn-focus-ring-outer: var(--tds-brand-a22);
	--tds-btn-focus-ring-inner: rgba(255, 255, 255, 0.82);

	--tds-btn-disabled-opacity: 0.55;
	--tds-btn-spinner-size: 1em;
	--tds-btn-spinner-stroke: 2px;

    /* Panel */
    --tds-panel-w: 450px;
    --tds-panel-top: var(--tds-header-h);
    --tds-nav-panel-duration: 340ms;
    --tds-nav-panel-easing: cubic-bezier(0.22, 0.61, 0.36, 1);
    --tds-nav-accordion-duration: 260ms;
    --tds-nav-accordion-easing: cubic-bezier(0.22, 0.61, 0.36, 1);
    --tds-panel-row-radius: 8px;
    --tds-panel-row-hover: var(--tds-ink-a06);
    --tds-panel-row-active: var(--tds-ink-a06);
    --tds-panel-focus-ring: var(--tds-focus-outline);
    --tds-panel-focus-offset: var(--tds-focus-offset);

    /* Motif */
    --tds-motif-ground: var(--tds-ds-bg);
    --tds-motif-rule: #243049;
    --tds-motif-mark: #74839B;
    --tds-motif-mark-hi: #DCE3EC;
    --tds-motif-data: #B4C1D3;
    --tds-motif-muted: var(--tds-ds-text-muted);
    --tds-motif-stream: #121928;
    --tds-motif-stream-hi: #1E2636;
    --tds-motif-channel: #22304A;
    --tds-motif-channel-hi: #34456A;
    --tds-motif-sheen: #3B4D6E;
    --tds-motif-coast: #2C3A56;
    --tds-motif-accent: var(--tds-brand-dark);
    --tds-motif-ring: var(--tds-motif-accent);
    --tds-type-display: clamp(2.25rem, 1.5rem + 2.4vw, 2.986rem);
    --tds-type-line-caption: 1.4;
    --tds-type-line-lead: 1.5;
    --tds-type-line-h4: 1.3;
    --tds-type-line-h3: 1.25;
    --tds-type-line-h2: 1.15;
    --tds-type-line-h1: 1.1;
    --tds-type-track-caption: 0;
    --tds-type-track-meta: 0;
    --tds-type-track-ui: 0;
    --tds-type-track-body: 0;
    --tds-type-track-lead: 0;
    --tds-type-track-h4: 0;
    --tds-type-track-h3: -0.005em;
    --tds-type-track-h2: -0.01em;
    --tds-type-track-h1: -0.015em;
    --tds-type-track-kicker: 0.08em;
    --tds-type-size-reading: 1.0625rem;
    --tds-type-line-reading: 1.7;
    --tds-body-measure: 68ch;
    --tds-surface-soft: #F9FAFB;
    --tds-shadow-sm: 0 1px 2px var(--tds-ink-a04);
    --tds-shadow-md: 0 12px 24px rgba(15, 23, 42, 0.08);
    --tds-radius-lg: 0.75rem;
}

@media (max-width: 575.98px) {
    :root {
        --tds-panel-top: var(--tds-header-h);
    }
}
