:root{--bg: #0f172a;--bg-elev: #1e293b;--panel: #1e293b;--panel-hover: #334155;--border: #334155;--border-strong: #475569;--text: #cbd5e1;--text-strong: #f8fafc;--muted: #94a3b8;--muted-2: #64748b;--accent: #f59e0b;--accent-strong: #d97706;--accent-soft: rgba(245, 158, 11, .1);--accent-glow: rgba(245, 158, 11, .06);--success: #10b981;--success-soft: rgba(16, 185, 129, .12);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .12);--danger: #f43f5e;--danger-soft: rgba(244, 63, 94, .12);--info: #3b82f6;--info-soft: rgba(59, 130, 246, .12);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--shadow-glow: 0 0 40px var(--accent-glow);--radius-sm: 2px;--radius: 3px;--radius-lg: 4px;--radius-xl: 4px;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .12s;--duration-mid: .2s;--duration-slow: .35s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-feature-settings:"cv11","ss01","ss03";font-size:var(--text-base);line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}h1,h2,h3,h4{color:var(--text-strong);line-height:1.2;letter-spacing:-.02em}h1{font-size:var(--text-4xl);font-weight:700}h2{font-size:var(--text-2xl);font-weight:600}h3{font-size:var(--text-xl);font-weight:600}a{color:var(--accent);text-decoration:none;transition:color var(--duration-fast) ease}a:hover{color:var(--accent-strong)}input[type=text],input[type=email],input[type=tel],input[type=search],input[type=number],textarea,select{font-family:var(--font-sans);font-size:var(--text-base);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);color:var(--text-strong);outline:none;width:100%;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}input::placeholder,textarea::placeholder{color:var(--muted-2)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:none;border-radius:var(--radius);font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--duration-fast) ease;text-decoration:none;line-height:1}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:var(--accent-strong)}.btn-primary:active{transform:translateY(1px)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--panel-hover);border-color:var(--border-strong);color:var(--text-strong)}.btn-danger{background:var(--danger-soft);color:var(--danger);border:1px solid rgba(239,68,68,.2)}.btn-danger:hover{background:#ef444433}.btn-block{width:100%}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-lg)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-mono{font-family:var(--font-mono)}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.label-upper{text-transform:uppercase;letter-spacing:.08em;font-size:.6875rem;color:var(--muted);font-weight:600}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animate-in{animation:fadeSlideIn var(--duration-mid) var(--ease-out) both}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(max-width:640px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-xl)}}
