:root{--bg: #0a0d12;--bg-deep: #050709;--bg-elev: rgba(255, 255, 255, .04);--bg-elev-2: rgba(255, 255, 255, .08);--fg: #f0f4f8;--fg-muted: #94a3b8;--fg-dim: #64748b;--accent: #00ff9d;--accent-hover: #00cc7d;--accent-soft: rgba(0, 255, 157, .12);--accent-glow: rgba(0, 255, 157, .4);--accent-fg: #000;--danger: #ff6b6b;--danger-soft: rgba(255, 107, 107, .12);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .12);--success: #10b981;--success-soft: rgba(16, 185, 129, .12);--glass-bg: rgba(255, 255, 255, .04);--glass-bg-strong: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .1);--glass-border-strong: rgba(255, 255, 255, .18);--glass-blur: 24px;--glass-blur-strong: 40px;--glass-saturation: 180%;--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4);--glass-shadow-lg: 0 20px 60px rgba(0, 0, 0, .6);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .1);--glass-highlight-strong: inset 0 1px 0 rgba(255, 255, 255, .2);--radius: 14px;--radius-sm: 8px;--radius-lg: 22px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration: .25s;--duration-slow: .4s}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);font-size:14px;line-height:1.5;color:var(--fg);background:radial-gradient(at 20% 0%,rgba(0,255,157,.08) 0%,transparent 50%),radial-gradient(at 80% 100%,rgba(99,102,241,.06) 0%,transparent 50%),var(--bg-deep);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}a{color:var(--accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--accent-hover);text-decoration:none}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:600;letter-spacing:-.02em}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem}p{margin:0 0 .75rem}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow),var(--glass-highlight);transition:background var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out),transform var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out)}.glass:hover{background:var(--glass-bg-strong)}.glass-strong{background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur-strong)) saturate(200%);-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(200%);border:1px solid var(--glass-border-strong);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow-lg),var(--glass-highlight-strong)}.glass-interactive{cursor:pointer}.glass-interactive:hover{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);transform:translateY(-2px);box-shadow:var(--glass-shadow-lg),var(--glass-highlight-strong)}.glass-interactive:active{transform:translateY(0)}button{font:inherit;cursor:pointer;padding:.5rem 1rem;border-radius:var(--radius-sm);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);border:1px solid var(--glass-border);color:var(--fg);transition:background var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration) var(--ease-out);position:relative;overflow:hidden}button:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 50%);opacity:.6;pointer-events:none;transition:opacity var(--duration) var(--ease-out)}button:hover{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);transform:translateY(-1px)}button:hover:before{opacity:1}button:active{transform:translateY(0)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600;box-shadow:0 0 24px var(--accent-soft),var(--glass-highlight)}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 32px var(--accent-glow),var(--glass-highlight-strong)}button.primary:before{background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 50%)}button.danger{color:var(--danger);border-color:#ff6b6b66;background:var(--danger-soft)}button.danger:hover{background:#ff6b6b33;border-color:var(--danger)}button.ghost{background:transparent;border-color:transparent}button.ghost:hover{background:var(--glass-bg);border-color:var(--glass-border)}input,textarea,select{font:inherit;width:100%;padding:.65rem .9rem;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);color:var(--fg);transition:border-color var(--duration) var(--ease-out),background var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);background:var(--glass-bg-strong);box-shadow:0 0 0 4px var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--fg-dim)}select option,select optgroup{background:#000;color:#fff}select option:checked{background:linear-gradient(0deg,var(--accent) 0%,var(--accent) 100%);color:#000}select option:hover{background:var(--accent-soft);color:var(--fg)}.card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--glass-shadow),var(--glass-highlight)}.card.hoverable{cursor:pointer;transition:transform var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out),background var(--duration) var(--ease-out)}.card.hoverable:hover{transform:translateY(-2px);border-color:var(--glass-border-strong);background:var(--glass-bg-strong)}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:500;background:var(--glass-bg-strong);border:1px solid var(--glass-border);letter-spacing:.02em;text-transform:uppercase}.pill.ok{background:var(--success-soft);border-color:#10b98166;color:var(--success)}.pill.warn{background:var(--warn-soft);border-color:#fbbf2466;color:var(--warn)}.pill.err{background:var(--danger-soft);border-color:#ff6b6b66;color:var(--danger)}.pill.accent{background:var(--accent-soft);border-color:#00ff9d66;color:var(--accent)}.dot{width:6px;height:6px;border-radius:50%;background:var(--fg-dim);flex-shrink:0}.dot.live{background:var(--success);box-shadow:0 0 8px var(--success);animation:pulse 2s var(--ease-in-out) infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 8px var(--success)}50%{opacity:.6;box-shadow:0 0 16px var(--success)}}table{width:100%;border-collapse:collapse}th{text-align:left;padding:.6rem .85rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);border-bottom:1px solid var(--glass-border)}td{padding:.85rem;border-bottom:1px solid rgba(255,255,255,.04);font-size:.92rem;transition:background var(--duration-fast) var(--ease-out)}tr:hover td{background:var(--glass-bg)}.muted{color:var(--fg-muted)}.dim{color:var(--fg-dim)}.row{display:flex;gap:1rem;align-items:center}.col{display:flex;flex-direction:column;gap:.5rem}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:1rem}code,pre{font-family:var(--font-mono);font-size:12.5px}code{padding:.1rem .4rem;border-radius:4px;background:var(--glass-bg-strong);border:1px solid var(--glass-border)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.anim-enter{animation:fadeInUp var(--duration-slow) var(--ease-out) both}.anim-fade{animation:fadeIn var(--duration) var(--ease-out) both}.anim-scale{animation:scaleIn var(--duration) var(--ease-out) both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:50ms}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.15s}.stagger>*:nth-child(5){animation-delay:.2s}.stagger>*:nth-child(6){animation-delay:.25s}.stagger>*:nth-child(n+7){animation-delay:.3s}.skeleton{background:linear-gradient(90deg,var(--glass-bg) 0%,var(--glass-bg-strong) 50%,var(--glass-bg) 100%);background-size:200% 100%;animation:shimmer 1.5s linear infinite;border-radius:var(--radius-sm)}.toast-container{position:fixed;top:var(--space-6);right:var(--space-6);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{pointer-events:auto;padding:.85rem 1.1rem;min-width:280px;max-width:360px;animation:slideInRight var(--duration-slow) var(--ease-out)}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.modal-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:999;display:flex;align-items:center;justify-content:center;padding:var(--space-6);animation:fadeIn var(--duration) var(--ease-out)}.modal{max-width:520px;width:100%;padding:var(--space-8);animation:scaleIn var(--duration-slow) var(--ease-out)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-bg-strong);border-radius:5px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--glass-border-strong);background-clip:content-box}.badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;border-radius:999px;letter-spacing:.02em;text-transform:lowercase;border:1px solid transparent;line-height:1.4}.badge.ok{color:#00ff9d;border-color:#00ff9d66;background:#00ff9d14}.badge.warn{color:#ffb86b;border-color:#ffb86b66;background:#ffb86b14}.badge.err{color:#ff6b6b;border-color:#ff6b6b66;background:#ff6b6b14}
