:root{--primary:36 96% 50%;--primary-foreground:24 40% 8%;--primary-hover:36 96% 44%;--secondary:30 30% 96%;--secondary-foreground:24 30% 14%;--muted:30 20% 95%;--muted-foreground:24 12% 42%;--accent:30 24% 93%;--accent-foreground:24 30% 10%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--background:40 30% 97%;--foreground:24 30% 10%;--card:0 0% 100%;--card-foreground:24 30% 10%;--popover:0 0% 100%;--popover-foreground:24 30% 10%;--border:30 20% 89%;--input:30 20% 89%;--ring:36 96% 50%;--success:152 60% 38%;--warning:38 92% 50%;--error:0 72% 51%;--info:210 80% 52%;--sidebar-background:40 30% 97%;--sidebar-foreground:24 30% 10%;--sidebar-primary:36 96% 50%;--sidebar-primary-foreground:24 40% 8%;--sidebar-accent:30 20% 95%;--sidebar-accent-foreground:24 30% 10%;--sidebar-border:30 20% 89%;--sidebar-ring:36 96% 50%;--font-sans:"Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--heading-font:var(--font-sans);--heading-weight:700;--heading-tracking:-.03em;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-.025em;--letter-spacing-normal:0em;--letter-spacing-wide:.025em;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000a;--shadow-md:0 4px 12px -2px #00000014, 0 2px 4px -2px #0000000a;--shadow-lg:0 12px 24px -4px #0000001a, 0 4px 8px -4px #0000000f;--border-width-default:1px;--border-width-strong:2px;--duration-fast:.1s;--duration-normal:.2s;--duration-slow:.3s;--duration-slower:.5s;--ease-default:cubic-bezier(.4, 0, .2, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-spring:cubic-bezier(.175, .885, .32, 1.275);--z-dropdown:1000;--z-sticky:1020;--z-modal:1050;--z-popover:1060;--z-toast:1080;--spacing-card:var(--spacing-lg);--spacing-button-x:var(--spacing-md);--spacing-button-y:var(--spacing-sm);--spacing-input-x:var(--spacing-md);--spacing-input-y:var(--spacing-sm);--spacing-badge-x:var(--spacing-sm);--spacing-badge-y:var(--spacing-xs);--spacing-modal:var(--spacing-xl);--spacing-section:var(--spacing-xl);--spacing-gap-xs:var(--spacing-xs);--spacing-gap-sm:var(--spacing-sm);--spacing-gap-md:var(--spacing-md);--spacing-gap-lg:var(--spacing-lg);--radius-card:var(--radius-lg);--radius-button:var(--radius-md);--radius-input:var(--radius-md);--radius-badge:var(--radius-full);--radius-modal:var(--radius-lg);--radius-dropdown:var(--radius-md);--shadow-card:var(--shadow-sm);--shadow-dropdown:var(--shadow-md);--shadow-modal:var(--shadow-lg)}.dark{--primary:36 90% 58%;--primary-foreground:24 40% 8%;--primary-hover:36 90% 50%;--secondary:225 30% 15%;--secondary-foreground:30 20% 90%;--muted:225 25% 14%;--muted-foreground:24 10% 55%;--accent:225 25% 17%;--accent-foreground:30 15% 92%;--destructive:0 72% 60%;--destructive-foreground:0 30% 8%;--background:225 35% 8%;--foreground:30 15% 92%;--card:225 30% 12%;--card-foreground:30 15% 92%;--popover:225 30% 12%;--popover-foreground:30 15% 92%;--border:225 25% 18%;--input:225 25% 18%;--ring:36 90% 58%;--success:152 55% 48%;--warning:38 92% 55%;--error:0 72% 60%;--info:210 80% 60%;--sidebar-background:225 35% 8%;--sidebar-foreground:30 15% 92%;--sidebar-primary:36 90% 58%;--sidebar-primary-foreground:24 40% 8%;--sidebar-accent:225 25% 14%;--sidebar-accent-foreground:30 15% 92%;--sidebar-border:225 25% 18%;--sidebar-ring:36 90% 58%;--shadow-sm:0 1px 3px 0 #0003;--shadow-md:0 4px 12px -2px #0000004d, 0 2px 4px -2px #0003;--shadow-lg:0 12px 24px -4px #0006, 0 4px 8px -4px #0000004d}
:root{--spacing-card:var(--spacing-lg);--radius-card:var(--radius-md);--shadow-card:var(--shadow-sm);--spacing-button-x:var(--spacing-md);--spacing-button-y:var(--spacing-sm);--radius-button:var(--radius-md);--spacing-input-x:var(--spacing-md);--spacing-input-y:var(--spacing-sm);--radius-input:var(--radius-md);--spacing-badge-x:var(--spacing-sm);--spacing-badge-y:var(--spacing-xs);--radius-badge:var(--radius-full);--spacing-modal:var(--spacing-xl);--radius-modal:var(--radius-lg);--shadow-modal:var(--shadow-lg);--shadow-dropdown:var(--shadow-md);--radius-dropdown:var(--radius-md);--spacing-gap-xs:var(--spacing-xs);--spacing-gap-sm:var(--spacing-sm);--spacing-gap-md:var(--spacing-md);--spacing-gap-lg:var(--spacing-lg);--spacing-section:var(--spacing-xl)}
:root:not(.dark) .text-emerald-300,:root:not(.dark) .hover\:text-emerald-300:hover,:root:not(.dark) .group:hover .group-hover\:text-emerald-300,:root:not(.dark) .focus\:text-emerald-300:focus,:root:not(.dark) .text-emerald-400,:root:not(.dark) .hover\:text-emerald-400:hover,:root:not(.dark) .group:hover .group-hover\:text-emerald-400,:root:not(.dark) .focus\:text-emerald-400:focus,:root:not(.dark) .text-emerald-500,:root:not(.dark) .hover\:text-emerald-500:hover,:root:not(.dark) .group:hover .group-hover\:text-emerald-500,:root:not(.dark) .focus\:text-emerald-500:focus,:root:not(.dark) .text-emerald-600,:root:not(.dark) .hover\:text-emerald-600:hover,:root:not(.dark) .group:hover .group-hover\:text-emerald-600,:root:not(.dark) .focus\:text-emerald-600:focus{color:#065f46}:root.dark .text-emerald-700,:root.dark .hover\:text-emerald-700:hover,:root.dark .group:hover .group-hover\:text-emerald-700,:root.dark .focus\:text-emerald-700:focus,:root.dark .text-emerald-800,:root.dark .hover\:text-emerald-800:hover,:root.dark .group:hover .group-hover\:text-emerald-800,:root.dark .focus\:text-emerald-800:focus{color:#34d399}:root:not(.dark) .text-green-300,:root:not(.dark) .hover\:text-green-300:hover,:root:not(.dark) .group:hover .group-hover\:text-green-300,:root:not(.dark) .focus\:text-green-300:focus,:root:not(.dark) .text-green-400,:root:not(.dark) .hover\:text-green-400:hover,:root:not(.dark) .group:hover .group-hover\:text-green-400,:root:not(.dark) .focus\:text-green-400:focus,:root:not(.dark) .text-green-500,:root:not(.dark) .hover\:text-green-500:hover,:root:not(.dark) .group:hover .group-hover\:text-green-500,:root:not(.dark) .focus\:text-green-500:focus,:root:not(.dark) .text-green-600,:root:not(.dark) .hover\:text-green-600:hover,:root:not(.dark) .group:hover .group-hover\:text-green-600,:root:not(.dark) .focus\:text-green-600:focus{color:#166534}:root.dark .text-green-700,:root.dark .hover\:text-green-700:hover,:root.dark .group:hover .group-hover\:text-green-700,:root.dark .focus\:text-green-700:focus,:root.dark .text-green-800,:root.dark .hover\:text-green-800:hover,:root.dark .group:hover .group-hover\:text-green-800,:root.dark .focus\:text-green-800:focus{color:#4ade80}:root:not(.dark) .text-rose-300,:root:not(.dark) .hover\:text-rose-300:hover,:root:not(.dark) .group:hover .group-hover\:text-rose-300,:root:not(.dark) .focus\:text-rose-300:focus,:root:not(.dark) .text-rose-400,:root:not(.dark) .hover\:text-rose-400:hover,:root:not(.dark) .group:hover .group-hover\:text-rose-400,:root:not(.dark) .focus\:text-rose-400:focus,:root:not(.dark) .text-rose-500,:root:not(.dark) .hover\:text-rose-500:hover,:root:not(.dark) .group:hover .group-hover\:text-rose-500,:root:not(.dark) .focus\:text-rose-500:focus,:root:not(.dark) .text-rose-600,:root:not(.dark) .hover\:text-rose-600:hover,:root:not(.dark) .group:hover .group-hover\:text-rose-600,:root:not(.dark) .focus\:text-rose-600:focus{color:#be123c}:root.dark .text-rose-600,:root.dark .hover\:text-rose-600:hover,:root.dark .group:hover .group-hover\:text-rose-600,:root.dark .focus\:text-rose-600:focus,:root.dark .text-rose-700,:root.dark .hover\:text-rose-700:hover,:root.dark .group:hover .group-hover\:text-rose-700,:root.dark .focus\:text-rose-700:focus,:root.dark .text-rose-800,:root.dark .hover\:text-rose-800:hover,:root.dark .group:hover .group-hover\:text-rose-800,:root.dark .focus\:text-rose-800:focus{color:#fb7185}:root:not(.dark) .text-red-300,:root:not(.dark) .hover\:text-red-300:hover,:root:not(.dark) .group:hover .group-hover\:text-red-300,:root:not(.dark) .focus\:text-red-300:focus,:root:not(.dark) .text-red-400,:root:not(.dark) .hover\:text-red-400:hover,:root:not(.dark) .group:hover .group-hover\:text-red-400,:root:not(.dark) .focus\:text-red-400:focus,:root:not(.dark) .text-red-500,:root:not(.dark) .hover\:text-red-500:hover,:root:not(.dark) .group:hover .group-hover\:text-red-500,:root:not(.dark) .focus\:text-red-500:focus,:root:not(.dark) .text-red-600,:root:not(.dark) .hover\:text-red-600:hover,:root:not(.dark) .group:hover .group-hover\:text-red-600,:root:not(.dark) .focus\:text-red-600:focus{color:#b91c1c}:root.dark .text-red-600,:root.dark .hover\:text-red-600:hover,:root.dark .group:hover .group-hover\:text-red-600,:root.dark .focus\:text-red-600:focus,:root.dark .text-red-700,:root.dark .hover\:text-red-700:hover,:root.dark .group:hover .group-hover\:text-red-700,:root.dark .focus\:text-red-700:focus,:root.dark .text-red-800,:root.dark .hover\:text-red-800:hover,:root.dark .group:hover .group-hover\:text-red-800,:root.dark .focus\:text-red-800:focus{color:#f87171}:root:not(.dark) .text-amber-300,:root:not(.dark) .hover\:text-amber-300:hover,:root:not(.dark) .group:hover .group-hover\:text-amber-300,:root:not(.dark) .focus\:text-amber-300:focus,:root:not(.dark) .text-amber-400,:root:not(.dark) .hover\:text-amber-400:hover,:root:not(.dark) .group:hover .group-hover\:text-amber-400,:root:not(.dark) .focus\:text-amber-400:focus,:root:not(.dark) .text-amber-500,:root:not(.dark) .hover\:text-amber-500:hover,:root:not(.dark) .group:hover .group-hover\:text-amber-500,:root:not(.dark) .focus\:text-amber-500:focus,:root:not(.dark) .text-amber-600,:root:not(.dark) .hover\:text-amber-600:hover,:root:not(.dark) .group:hover .group-hover\:text-amber-600,:root:not(.dark) .focus\:text-amber-600:focus{color:#92400e}:root.dark .text-amber-700,:root.dark .hover\:text-amber-700:hover,:root.dark .group:hover .group-hover\:text-amber-700,:root.dark .focus\:text-amber-700:focus,:root.dark .text-amber-800,:root.dark .hover\:text-amber-800:hover,:root.dark .group:hover .group-hover\:text-amber-800,:root.dark .focus\:text-amber-800:focus{color:#fbbf24}:root:not(.dark) .text-yellow-300,:root:not(.dark) .hover\:text-yellow-300:hover,:root:not(.dark) .group:hover .group-hover\:text-yellow-300,:root:not(.dark) .focus\:text-yellow-300:focus,:root:not(.dark) .text-yellow-400,:root:not(.dark) .hover\:text-yellow-400:hover,:root:not(.dark) .group:hover .group-hover\:text-yellow-400,:root:not(.dark) .focus\:text-yellow-400:focus,:root:not(.dark) .text-yellow-500,:root:not(.dark) .hover\:text-yellow-500:hover,:root:not(.dark) .group:hover .group-hover\:text-yellow-500,:root:not(.dark) .focus\:text-yellow-500:focus,:root:not(.dark) .text-yellow-600,:root:not(.dark) .hover\:text-yellow-600:hover,:root:not(.dark) .group:hover .group-hover\:text-yellow-600,:root:not(.dark) .focus\:text-yellow-600:focus{color:#854d0e}:root.dark .text-yellow-700,:root.dark .hover\:text-yellow-700:hover,:root.dark .group:hover .group-hover\:text-yellow-700,:root.dark .focus\:text-yellow-700:focus,:root.dark .text-yellow-800,:root.dark .hover\:text-yellow-800:hover,:root.dark .group:hover .group-hover\:text-yellow-800,:root.dark .focus\:text-yellow-800:focus{color:#facc15}:root:not(.dark) .text-orange-300,:root:not(.dark) .hover\:text-orange-300:hover,:root:not(.dark) .group:hover .group-hover\:text-orange-300,:root:not(.dark) .focus\:text-orange-300:focus,:root:not(.dark) .text-orange-400,:root:not(.dark) .hover\:text-orange-400:hover,:root:not(.dark) .group:hover .group-hover\:text-orange-400,:root:not(.dark) .focus\:text-orange-400:focus,:root:not(.dark) .text-orange-500,:root:not(.dark) .hover\:text-orange-500:hover,:root:not(.dark) .group:hover .group-hover\:text-orange-500,:root:not(.dark) .focus\:text-orange-500:focus,:root:not(.dark) .text-orange-600,:root:not(.dark) .hover\:text-orange-600:hover,:root:not(.dark) .group:hover .group-hover\:text-orange-600,:root:not(.dark) .focus\:text-orange-600:focus{color:#9a3412}:root.dark .text-orange-700,:root.dark .hover\:text-orange-700:hover,:root.dark .group:hover .group-hover\:text-orange-700,:root.dark .focus\:text-orange-700:focus,:root.dark .text-orange-800,:root.dark .hover\:text-orange-800:hover,:root.dark .group:hover .group-hover\:text-orange-800,:root.dark .focus\:text-orange-800:focus{color:#fb923c}:root:not(.dark) .text-lime-300,:root:not(.dark) .hover\:text-lime-300:hover,:root:not(.dark) .group:hover .group-hover\:text-lime-300,:root:not(.dark) .focus\:text-lime-300:focus,:root:not(.dark) .text-lime-400,:root:not(.dark) .hover\:text-lime-400:hover,:root:not(.dark) .group:hover .group-hover\:text-lime-400,:root:not(.dark) .focus\:text-lime-400:focus,:root:not(.dark) .text-lime-500,:root:not(.dark) .hover\:text-lime-500:hover,:root:not(.dark) .group:hover .group-hover\:text-lime-500,:root:not(.dark) .focus\:text-lime-500:focus,:root:not(.dark) .text-lime-600,:root:not(.dark) .hover\:text-lime-600:hover,:root:not(.dark) .group:hover .group-hover\:text-lime-600,:root:not(.dark) .focus\:text-lime-600:focus{color:#3f6212}:root.dark .text-lime-700,:root.dark .hover\:text-lime-700:hover,:root.dark .group:hover .group-hover\:text-lime-700,:root.dark .focus\:text-lime-700:focus,:root.dark .text-lime-800,:root.dark .hover\:text-lime-800:hover,:root.dark .group:hover .group-hover\:text-lime-800,:root.dark .focus\:text-lime-800:focus{color:#a3e635}:root:not(.dark) .text-teal-300,:root:not(.dark) .hover\:text-teal-300:hover,:root:not(.dark) .group:hover .group-hover\:text-teal-300,:root:not(.dark) .focus\:text-teal-300:focus,:root:not(.dark) .text-teal-400,:root:not(.dark) .hover\:text-teal-400:hover,:root:not(.dark) .group:hover .group-hover\:text-teal-400,:root:not(.dark) .focus\:text-teal-400:focus,:root:not(.dark) .text-teal-500,:root:not(.dark) .hover\:text-teal-500:hover,:root:not(.dark) .group:hover .group-hover\:text-teal-500,:root:not(.dark) .focus\:text-teal-500:focus,:root:not(.dark) .text-teal-600,:root:not(.dark) .hover\:text-teal-600:hover,:root:not(.dark) .group:hover .group-hover\:text-teal-600,:root:not(.dark) .focus\:text-teal-600:focus{color:#115e59}:root.dark .text-teal-700,:root.dark .hover\:text-teal-700:hover,:root.dark .group:hover .group-hover\:text-teal-700,:root.dark .focus\:text-teal-700:focus,:root.dark .text-teal-800,:root.dark .hover\:text-teal-800:hover,:root.dark .group:hover .group-hover\:text-teal-800,:root.dark .focus\:text-teal-800:focus{color:#2dd4bf}:root:not(.dark) .text-cyan-300,:root:not(.dark) .hover\:text-cyan-300:hover,:root:not(.dark) .group:hover .group-hover\:text-cyan-300,:root:not(.dark) .focus\:text-cyan-300:focus,:root:not(.dark) .text-cyan-400,:root:not(.dark) .hover\:text-cyan-400:hover,:root:not(.dark) .group:hover .group-hover\:text-cyan-400,:root:not(.dark) .focus\:text-cyan-400:focus,:root:not(.dark) .text-cyan-500,:root:not(.dark) .hover\:text-cyan-500:hover,:root:not(.dark) .group:hover .group-hover\:text-cyan-500,:root:not(.dark) .focus\:text-cyan-500:focus,:root:not(.dark) .text-cyan-600,:root:not(.dark) .hover\:text-cyan-600:hover,:root:not(.dark) .group:hover .group-hover\:text-cyan-600,:root:not(.dark) .focus\:text-cyan-600:focus{color:#155e75}:root.dark .text-cyan-700,:root.dark .hover\:text-cyan-700:hover,:root.dark .group:hover .group-hover\:text-cyan-700,:root.dark .focus\:text-cyan-700:focus,:root.dark .text-cyan-800,:root.dark .hover\:text-cyan-800:hover,:root.dark .group:hover .group-hover\:text-cyan-800,:root.dark .focus\:text-cyan-800:focus{color:#22d3ee}:root:not(.dark) .text-sky-300,:root:not(.dark) .hover\:text-sky-300:hover,:root:not(.dark) .group:hover .group-hover\:text-sky-300,:root:not(.dark) .focus\:text-sky-300:focus,:root:not(.dark) .text-sky-400,:root:not(.dark) .hover\:text-sky-400:hover,:root:not(.dark) .group:hover .group-hover\:text-sky-400,:root:not(.dark) .focus\:text-sky-400:focus,:root:not(.dark) .text-sky-500,:root:not(.dark) .hover\:text-sky-500:hover,:root:not(.dark) .group:hover .group-hover\:text-sky-500,:root:not(.dark) .focus\:text-sky-500:focus,:root:not(.dark) .text-sky-600,:root:not(.dark) .hover\:text-sky-600:hover,:root:not(.dark) .group:hover .group-hover\:text-sky-600,:root:not(.dark) .focus\:text-sky-600:focus{color:#0369a1}:root.dark .text-sky-600,:root.dark .hover\:text-sky-600:hover,:root.dark .group:hover .group-hover\:text-sky-600,:root.dark .focus\:text-sky-600:focus,:root.dark .text-sky-700,:root.dark .hover\:text-sky-700:hover,:root.dark .group:hover .group-hover\:text-sky-700,:root.dark .focus\:text-sky-700:focus,:root.dark .text-sky-800,:root.dark .hover\:text-sky-800:hover,:root.dark .group:hover .group-hover\:text-sky-800,:root.dark .focus\:text-sky-800:focus{color:#38bdf8}:root:not(.dark) .text-blue-300,:root:not(.dark) .hover\:text-blue-300:hover,:root:not(.dark) .group:hover .group-hover\:text-blue-300,:root:not(.dark) .focus\:text-blue-300:focus,:root:not(.dark) .text-blue-400,:root:not(.dark) .hover\:text-blue-400:hover,:root:not(.dark) .group:hover .group-hover\:text-blue-400,:root:not(.dark) .focus\:text-blue-400:focus,:root:not(.dark) .text-blue-500,:root:not(.dark) .hover\:text-blue-500:hover,:root:not(.dark) .group:hover .group-hover\:text-blue-500,:root:not(.dark) .focus\:text-blue-500:focus,:root:not(.dark) .text-blue-600,:root:not(.dark) .hover\:text-blue-600:hover,:root:not(.dark) .group:hover .group-hover\:text-blue-600,:root:not(.dark) .focus\:text-blue-600:focus{color:#1d4ed8}:root.dark .text-blue-600,:root.dark .hover\:text-blue-600:hover,:root.dark .group:hover .group-hover\:text-blue-600,:root.dark .focus\:text-blue-600:focus,:root.dark .text-blue-700,:root.dark .hover\:text-blue-700:hover,:root.dark .group:hover .group-hover\:text-blue-700,:root.dark .focus\:text-blue-700:focus,:root.dark .text-blue-800,:root.dark .hover\:text-blue-800:hover,:root.dark .group:hover .group-hover\:text-blue-800,:root.dark .focus\:text-blue-800:focus{color:#60a5fa}:root:not(.dark) .text-indigo-300,:root:not(.dark) .hover\:text-indigo-300:hover,:root:not(.dark) .group:hover .group-hover\:text-indigo-300,:root:not(.dark) .focus\:text-indigo-300:focus,:root:not(.dark) .text-indigo-400,:root:not(.dark) .hover\:text-indigo-400:hover,:root:not(.dark) .group:hover .group-hover\:text-indigo-400,:root:not(.dark) .focus\:text-indigo-400:focus,:root:not(.dark) .text-indigo-500,:root:not(.dark) .hover\:text-indigo-500:hover,:root:not(.dark) .group:hover .group-hover\:text-indigo-500,:root:not(.dark) .focus\:text-indigo-500:focus{color:#4f46e5}:root.dark .text-indigo-500,:root.dark .hover\:text-indigo-500:hover,:root.dark .group:hover .group-hover\:text-indigo-500,:root.dark .focus\:text-indigo-500:focus,:root.dark .text-indigo-600,:root.dark .hover\:text-indigo-600:hover,:root.dark .group:hover .group-hover\:text-indigo-600,:root.dark .focus\:text-indigo-600:focus,:root.dark .text-indigo-700,:root.dark .hover\:text-indigo-700:hover,:root.dark .group:hover .group-hover\:text-indigo-700,:root.dark .focus\:text-indigo-700:focus,:root.dark .text-indigo-800,:root.dark .hover\:text-indigo-800:hover,:root.dark .group:hover .group-hover\:text-indigo-800,:root.dark .focus\:text-indigo-800:focus{color:#818cf8}:root:not(.dark) .text-violet-300,:root:not(.dark) .hover\:text-violet-300:hover,:root:not(.dark) .group:hover .group-hover\:text-violet-300,:root:not(.dark) .focus\:text-violet-300:focus,:root:not(.dark) .text-violet-400,:root:not(.dark) .hover\:text-violet-400:hover,:root:not(.dark) .group:hover .group-hover\:text-violet-400,:root:not(.dark) .focus\:text-violet-400:focus,:root:not(.dark) .text-violet-500,:root:not(.dark) .hover\:text-violet-500:hover,:root:not(.dark) .group:hover .group-hover\:text-violet-500,:root:not(.dark) .focus\:text-violet-500:focus,:root:not(.dark) .text-violet-600,:root:not(.dark) .hover\:text-violet-600:hover,:root:not(.dark) .group:hover .group-hover\:text-violet-600,:root:not(.dark) .focus\:text-violet-600:focus{color:#6d28d9}:root.dark .text-violet-500,:root.dark .hover\:text-violet-500:hover,:root.dark .group:hover .group-hover\:text-violet-500,:root.dark .focus\:text-violet-500:focus,:root.dark .text-violet-600,:root.dark .hover\:text-violet-600:hover,:root.dark .group:hover .group-hover\:text-violet-600,:root.dark .focus\:text-violet-600:focus,:root.dark .text-violet-700,:root.dark .hover\:text-violet-700:hover,:root.dark .group:hover .group-hover\:text-violet-700,:root.dark .focus\:text-violet-700:focus,:root.dark .text-violet-800,:root.dark .hover\:text-violet-800:hover,:root.dark .group:hover .group-hover\:text-violet-800,:root.dark .focus\:text-violet-800:focus{color:#a78bfa}:root:not(.dark) .text-purple-300,:root:not(.dark) .hover\:text-purple-300:hover,:root:not(.dark) .group:hover .group-hover\:text-purple-300,:root:not(.dark) .focus\:text-purple-300:focus,:root:not(.dark) .text-purple-400,:root:not(.dark) .hover\:text-purple-400:hover,:root:not(.dark) .group:hover .group-hover\:text-purple-400,:root:not(.dark) .focus\:text-purple-400:focus,:root:not(.dark) .text-purple-500,:root:not(.dark) .hover\:text-purple-500:hover,:root:not(.dark) .group:hover .group-hover\:text-purple-500,:root:not(.dark) .focus\:text-purple-500:focus,:root:not(.dark) .text-purple-600,:root:not(.dark) .hover\:text-purple-600:hover,:root:not(.dark) .group:hover .group-hover\:text-purple-600,:root:not(.dark) .focus\:text-purple-600:focus{color:#7e22ce}:root.dark .text-purple-500,:root.dark .hover\:text-purple-500:hover,:root.dark .group:hover .group-hover\:text-purple-500,:root.dark .focus\:text-purple-500:focus,:root.dark .text-purple-600,:root.dark .hover\:text-purple-600:hover,:root.dark .group:hover .group-hover\:text-purple-600,:root.dark .focus\:text-purple-600:focus,:root.dark .text-purple-700,:root.dark .hover\:text-purple-700:hover,:root.dark .group:hover .group-hover\:text-purple-700,:root.dark .focus\:text-purple-700:focus,:root.dark .text-purple-800,:root.dark .hover\:text-purple-800:hover,:root.dark .group:hover .group-hover\:text-purple-800,:root.dark .focus\:text-purple-800:focus{color:#c084fc}:root:not(.dark) .text-fuchsia-300,:root:not(.dark) .hover\:text-fuchsia-300:hover,:root:not(.dark) .group:hover .group-hover\:text-fuchsia-300,:root:not(.dark) .focus\:text-fuchsia-300:focus,:root:not(.dark) .text-fuchsia-400,:root:not(.dark) .hover\:text-fuchsia-400:hover,:root:not(.dark) .group:hover .group-hover\:text-fuchsia-400,:root:not(.dark) .focus\:text-fuchsia-400:focus,:root:not(.dark) .text-fuchsia-500,:root:not(.dark) .hover\:text-fuchsia-500:hover,:root:not(.dark) .group:hover .group-hover\:text-fuchsia-500,:root:not(.dark) .focus\:text-fuchsia-500:focus,:root:not(.dark) .text-fuchsia-600,:root:not(.dark) .hover\:text-fuchsia-600:hover,:root:not(.dark) .group:hover .group-hover\:text-fuchsia-600,:root:not(.dark) .focus\:text-fuchsia-600:focus{color:#a21caf}:root.dark .text-fuchsia-600,:root.dark .hover\:text-fuchsia-600:hover,:root.dark .group:hover .group-hover\:text-fuchsia-600,:root.dark .focus\:text-fuchsia-600:focus,:root.dark .text-fuchsia-700,:root.dark .hover\:text-fuchsia-700:hover,:root.dark .group:hover .group-hover\:text-fuchsia-700,:root.dark .focus\:text-fuchsia-700:focus,:root.dark .text-fuchsia-800,:root.dark .hover\:text-fuchsia-800:hover,:root.dark .group:hover .group-hover\:text-fuchsia-800,:root.dark .focus\:text-fuchsia-800:focus{color:#e879f9}:root:not(.dark) .text-pink-300,:root:not(.dark) .hover\:text-pink-300:hover,:root:not(.dark) .group:hover .group-hover\:text-pink-300,:root:not(.dark) .focus\:text-pink-300:focus,:root:not(.dark) .text-pink-400,:root:not(.dark) .hover\:text-pink-400:hover,:root:not(.dark) .group:hover .group-hover\:text-pink-400,:root:not(.dark) .focus\:text-pink-400:focus,:root:not(.dark) .text-pink-500,:root:not(.dark) .hover\:text-pink-500:hover,:root:not(.dark) .group:hover .group-hover\:text-pink-500,:root:not(.dark) .focus\:text-pink-500:focus,:root:not(.dark) .text-pink-600,:root:not(.dark) .hover\:text-pink-600:hover,:root:not(.dark) .group:hover .group-hover\:text-pink-600,:root:not(.dark) .focus\:text-pink-600:focus{color:#9d174d}:root.dark .text-pink-600,:root.dark .hover\:text-pink-600:hover,:root.dark .group:hover .group-hover\:text-pink-600,:root.dark .focus\:text-pink-600:focus,:root.dark .text-pink-700,:root.dark .hover\:text-pink-700:hover,:root.dark .group:hover .group-hover\:text-pink-700,:root.dark .focus\:text-pink-700:focus,:root.dark .text-pink-800,:root.dark .hover\:text-pink-800:hover,:root.dark .group:hover .group-hover\:text-pink-800,:root.dark .focus\:text-pink-800:focus{color:#f472b6}
html[data-motion=reduce] *,html[data-motion=reduce] :before,html[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){html .animate-spin{animation-duration:1s!important;animation-iteration-count:infinite!important}}html[data-motion=reduce] .animate-spin{animation-duration:1s!important;animation-iteration-count:infinite!important}html[data-density=compact]{--control-h:2.25rem;--control-h-sm:2rem;--control-h-lg:2.5rem;--table-head-h:2.25rem;--table-cell-px:.75rem;--table-cell-py:.5rem;--spacing-card:1rem;--spacing-input-x:.75rem;--spacing-input-y:.375rem;--spacing-button-x:.75rem;--spacing-button-y:.375rem}
@font-face{font-family:Archivo Field;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo/archivo-latin-wdth-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lamp-alarm:3 79% 53%;--lamp-trouble:42 100% 47%;--lamp-normal:145 59% 45%;--signal-alarm:4 76% 40%;--signal-trouble:36 100% 28%;--signal-normal:146 61% 27%}:root.dark{--signal-alarm:4 86% 64%;--signal-trouble:41 92% 60%;--signal-normal:146 58% 55%}.field-display{font-family:"Archivo Field", var(--font-sans), ui-sans-serif, system-ui, sans-serif;letter-spacing:-.005em;font-weight:700;font-stretch:78%;line-height:1.05}.field-numeral{font-family:"Archivo Field", var(--font-sans), ui-sans-serif, system-ui, sans-serif;font-variant-numeric:tabular-nums lining-nums;font-weight:800;font-stretch:70%;line-height:1}.field-lamp{background:hsl(var(--muted));width:.875rem;height:.875rem;box-shadow:inset 0 1px 2px #00000059, 0 0 0 1px hsl(var(--border));border-radius:9999px;flex-shrink:0;display:inline-block}.field-lamp[data-lit=alarm]{--lamp:var(--lamp-alarm)}.field-lamp[data-lit=trouble]{--lamp:var(--lamp-trouble)}.field-lamp[data-lit=normal]{--lamp:var(--lamp-normal)}.field-lamp[data-lit]{background:radial-gradient(circle at 35% 30%, hsl(var(--lamp) / .55), hsl(var(--lamp)) 60%);box-shadow:0 0 0 1px hsl(var(--lamp) / .6), 0 0 10px 1px hsl(var(--lamp) / .45)}@media (prefers-reduced-motion:no-preference){html:not([data-motion=reduce]) .field-lamp[data-lit=alarm]{animation:2s ease-in-out infinite field-lamp-pulse}}@keyframes field-lamp-pulse{50%{box-shadow:0 0 0 1px hsl(var(--lamp) / .6), 0 0 16px 3px hsl(var(--lamp) / .7)}}.text-signal-alarm{color:hsl(var(--signal-alarm))}.text-signal-trouble{color:hsl(var(--signal-trouble))}.text-signal-normal{color:hsl(var(--signal-normal))}.field-faceplate{background:hsl(var(--background));box-shadow:inset 0 2px 6px #00000059, 0 0 0 1px hsl(var(--border));border-radius:.75rem}.field-window{background:hsl(var(--card));box-shadow:0 0 0 1px hsl(var(--border));border-radius:.5rem}.field-window[data-lit=alarm]{--lamp:var(--lamp-alarm)}.field-window[data-lit=trouble]{--lamp:var(--lamp-trouble)}.field-window[data-lit=normal]{--lamp:var(--lamp-normal)}.field-window[data-lit]{background:linear-gradient(180deg, hsl(var(--lamp) / .16), hsl(var(--lamp) / .05));box-shadow:0 0 0 1px hsl(var(--lamp) / .45)}.field-rail[data-lit=alarm]{--lamp:var(--lamp-alarm)}.field-rail[data-lit=trouble]{--lamp:var(--lamp-trouble)}.field-rail[data-lit=normal]{--lamp:var(--lamp-normal)}.field-rail[data-lit]{border-left-color:hsl(var(--lamp))}
