@custom-variant dark (&:is(.dark *));:root{--font-size: 14px;--background: #ffffff;--foreground: #1a365d;--card: #ffffff;--card-foreground: #1a365d;--popover: #ffffff;--popover-foreground: #1a365d;--primary: #1a365d;--primary-foreground: #ffffff;--secondary: #f8fafc;--secondary-foreground: #1a365d;--muted: #f1f5f9;--muted-foreground: #64748b;--accent: #ff6b35;--accent-foreground: #ffffff;--destructive: #dc2626;--destructive-foreground: #ffffff;--border: rgba(26, 54, 93, .1);--input: transparent;--input-background: #f8fafc;--switch-background: #cbd5e1;--font-weight-medium: 500;--font-weight-normal: 400;--ring: #1a365d;--chart-1: #1a365d;--chart-2: #ff6b35;--chart-3: #3b82f6;--chart-4: #10b981;--chart-5: #f59e0b;--radius: .75rem;--sidebar: #f8fafc;--sidebar-foreground: #1a365d;--sidebar-primary: #1a365d;--sidebar-primary-foreground: #ffffff;--sidebar-accent: #f1f5f9;--sidebar-accent-foreground: #1a365d;--sidebar-border: rgba(26, 54, 93, .1);--sidebar-ring: #1a365d}.dark{--background: #0f172a;--foreground: #f8fafc;--card: #1e293b;--card-foreground: #f8fafc;--popover: #1e293b;--popover-foreground: #f8fafc;--primary: #3b82f6;--primary-foreground: #f8fafc;--secondary: #334155;--secondary-foreground: #f8fafc;--muted: #334155;--muted-foreground: #94a3b8;--accent: #ff6b35;--accent-foreground: #ffffff;--destructive: #ef4444;--destructive-foreground: #f8fafc;--border: #334155;--input: #334155;--ring: #3b82f6;--font-weight-medium: 500;--font-weight-normal: 400;--chart-1: #3b82f6;--chart-2: #ff6b35;--chart-3: #10b981;--chart-4: #f59e0b;--chart-5: #ef4444;--sidebar: #1e293b;--sidebar-foreground: #f8fafc;--sidebar-primary: #3b82f6;--sidebar-primary-foreground: #f8fafc;--sidebar-accent: #334155;--sidebar-accent-foreground: #f8fafc;--sidebar-border: #334155;--sidebar-ring: #3b82f6}@theme inline{ --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-input-background: var(--input-background); --color-switch-background: var(--switch-background); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); }@layer base{*{@apply border-border outline-ring/50;}body{@apply bg-background text-foreground;}}@layer base{:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h1{font-size:var(--text-2xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h2{font-size:var(--text-xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h3{font-size:var(--text-lg);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h4{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) p{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) label,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) button{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) input{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}}html{font-size:var(--font-size)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .6s ease-in-out forwards}@keyframes pulse-border{0%,to{box-shadow:0 0 #ff6b3566}50%{box-shadow:0 0 0 8px #ff6b351a}}.program-card:hover{animation:pulse-border 2s infinite}@keyframes bounce-in{0%{transform:scale(1)}50%{transform:scale(.98)}to{transform:scale(1.02)}}.clickable-program:active{animation:bounce-in .2s ease-in-out}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:4px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:#1a365d33;border-radius:2px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:#1a365d4d}@media (max-width: 640px){.fixed{position:fixed!important}}.high-contrast{--background: #000000;--foreground: #ffffff;--primary: #ffffff;--primary-foreground: #000000;--secondary: #333333;--secondary-foreground: #ffffff;--muted: #444444;--muted-foreground: #cccccc;--accent: #ffff00;--accent-foreground: #000000;--border: #ffffff}.reduced-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.dyslexia-font *{font-family:OpenDyslexic,Comic Sans MS,cursive!important}.screen-reader-mode .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}*:focus-visible{outline:2px solid var(--accent)!important;outline-offset:2px!important}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary);color:var(--primary-foreground);padding:8px;text-decoration:none;z-index:1000;border-radius:4px}.skip-link:focus{top:6px}.high-contrast input,.high-contrast textarea,.high-contrast select,.high-contrast button{border:2px solid #ffffff!important;background:#000!important;color:#fff!important}.high-contrast button:hover{background:#fff!important;color:#000!important}@media (max-width: 768px){html{font-size:max(14px,calc(var(--font-size) * .9))}}a{text-decoration:underline;text-decoration-skip-ink:auto}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){.animate-spin,.animate-pulse,.animate-bounce,.animate-float,.animate-fade-in{animation:none!important}}
