@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-primary:#2563eb;--color-on-primary:#fff;--color-secondary:#059669;--color-accent:#d97706;--color-background:#f8fafc;--color-foreground:#0f172a;--color-muted:#475569;--color-border:#e2e8f0;--color-destructive:#dc2626;--color-ring:#2563eb;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--glass-bg:#fff9;--glass-border:#fffc;--glass-shadow:0 8px 32px 0 #1f26871a;--font-sans:"Inter", sans-serif;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-fluid:.5s cubic-bezier(.25, 1, .5, 1)}body.dark{--color-background:#0f172a;--color-foreground:#f8fafc;--color-muted:#94a3b8;--color-border:#334155;--glass-bg:#1e293b66;--glass-border:#ffffff0d;--glass-shadow:0 8px 32px 0 #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);background-image:radial-gradient(circle at 100% 0,#2563eb1a 0%,#0000 40%),radial-gradient(circle at 0 100%,#05966914 0%,#0000 40%);background-attachment:fixed;line-height:1.5}body.dark{background-image:radial-gradient(circle at 100% 0,#2563eb26 0%,#0000 40%),radial-gradient(circle at 0 100%,#0596691a 0%,#0000 40%)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px}.btn-primary{background-color:var(--color-accent);color:#fff;transition:all var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-sm);border-radius:8px;padding:12px 24px;font-weight:600;display:inline-flex}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{color:var(--color-primary);border:2px solid var(--color-primary);transition:all var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-sm);background:0 0;border-radius:8px;padding:12px 24px;font-weight:600;display:inline-flex}.btn-secondary:hover{background:#2563eb1a;transform:translateY(-1px)}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);transition:all var(--transition-normal);cursor:pointer;border-radius:12px;padding:24px}.card:hover{box-shadow:var(--shadow-lg);border-color:#fff}body.dark .card:hover{border-color:#ffffff1a}.input{color:var(--color-foreground);border:1px solid var(--color-border);transition:border-color var(--transition-fast);background:#fffc;border-radius:8px;width:100%;padding:12px 16px;font-size:16px}body.dark .input{background:#0003}.input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb33}.text-gradient{background:linear-gradient(135deg,#0f172a,#334155);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}body.dark .text-gradient{background:linear-gradient(135deg,#fff,#94a3b8)}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{--skeleton-bg:#0000000f;position:relative;overflow:hidden}.skeleton-shimmer:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 25%,#fff6 50%,#0000 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0}body.dark .skeleton-shimmer{--skeleton-bg:#ffffff0f}body.dark .skeleton-shimmer:after{background:linear-gradient(90deg,#0000 25%,#ffffff14 50%,#0000 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}@media print{header,nav,button,input,select,.floating-controls,#minimap-overlay{display:none!important}body{color:#000!important;background:#fff!important}.glass-panel,.card{box-shadow:none!important;color:#000!important;background:#fff!important;border:1px solid #ccc!important}}
