@font-face { font-family: 'Inter'; src: url('/assets/fonts/inter/inter-400.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/assets/fonts/inter/inter-500.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/assets/fonts/inter/inter-600.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/assets/fonts/inter/inter-700.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }

:root {
    color-scheme: light;
    --btn-height: 2.5rem; --btn-padding-y: .5rem; --btn-padding-x: 1rem; --btn-font-size: .875rem; --btn-font-weight: 600; --btn-border-radius: .5rem; --btn-border-width: 1px; --btn-background: #2563eb; --btn-background-hover: #1d4ed8; --btn-text-color: #fff; --btn-border-color: transparent;
    --input-height: 2.75rem; --input-padding-y: .625rem; --input-padding-x: 1rem; --input-font-size: .875rem; --input-font-weight: 400; --input-border-radius: .625rem; --input-border-width: 1px; --input-background: #fff; --input-text-color: #1f2937; --input-border-color: #d1d5db; --input-border-focus-color: #2563eb; --input-placeholder-color: #9ca3af;
    --select-height: 2.75rem; --select-padding-y: .625rem; --select-padding-x: 1rem; --select-font-size: .875rem; --select-font-weight: 400; --select-border-radius: .625rem; --select-border-width: 1px; --select-background: #fff; --select-text-color: #1f2937; --select-border-color: #d1d5db; --select-border-focus-color: #2563eb;
    --textarea-min-height: 7rem; --textarea-padding-y: .75rem; --textarea-padding-x: 1rem; --textarea-font-size: .875rem; --textarea-font-weight: 400; --textarea-border-radius: .625rem; --textarea-border-width: 1px; --textarea-background: #fff; --textarea-text-color: #1f2937; --textarea-border-color: #d1d5db; --textarea-border-focus-color: #2563eb; --textarea-placeholder-color: #9ca3af;
    --card-padding: 1.25rem; --card-border-radius: .75rem; --card-border-width: 1px; --card-background: #fff; --card-border-color: #e5e7eb; --card-shadow: 0 1px 3px rgba(0,0,0,.08);
    --checkbox-size: 1rem; --checkbox-border-radius: .25rem; --checkbox-border-width: 1px; --checkbox-background: #fff; --checkbox-background-checked: #2563eb; --checkbox-border-color: #d1d5db; --checkbox-border-checked-color: #2563eb; --checkbox-checkmark-color: #fff;
    --radio-size: 1rem; --radio-border-width: 1px; --radio-background: #fff; --radio-border-color: #d1d5db; --radio-border-checked-color: #2563eb; --radio-dot-color: #2563eb;
    --header-font-size: .875rem; --footer-font-size: .875rem; --footer-link-color: #cbd5e1; --footer-link-hover-color: #fff; --footer-heading-color: #fff;
}

*, *::before, *::after { box-sizing: border-box; }
html { font-family: 'Inter', sans-serif; background: #fff; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body, button, input, select, textarea { font-family: inherit; }
body { margin: 0; min-height: 100vh; color: #0f172a; background: #fff; }
button, input, select, textarea { font: inherit; }
img, svg { display: block; max-width: 100%; }
[hidden], [x-cloak] { display: none !important; }

#app-content[aria-busy="true"] { min-height: 100vh; }
#app-content[aria-busy="true"]::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent, #2563eb, transparent);
    background-size: 200% 100%;
    animation: app-loading 1s linear infinite;
}

@keyframes app-loading { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
