:root{--brand-primary: #3b82f6;--brand-accent: #1e40af;--brand-text: #1e293b;--bg: #f1f5f9;--panel: #ffffff;--panel-2: #f8fafc;--border: #e2e8f0;--muted: #64748b;--danger: #ef4444;--success: #22c55e;--wire: #334155;--shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .06);--radius: 12px}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Poppins,system-ui,-apple-system,Arial,sans-serif;color:var(--brand-text);background:var(--bg)}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.btn{border:1px solid var(--border);background:var(--panel);color:var(--brand-text);padding:8px 14px;border-radius:10px;font-weight:600;font-size:13px;transition:transform .08s ease,box-shadow .15s ease,background .15s ease}.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn.primary{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.btn.primary:hover{background:var(--brand-accent);border-color:var(--brand-accent)}.btn.ghost{background:transparent}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);width:max-content;max-width:280px;white-space:pre-line;text-align:left;background:#0f172a;color:#f8fafc;font-size:12px;font-weight:500;line-height:1.45;padding:8px 10px;border-radius:10px;box-shadow:0 10px 24px #0f172a4d;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:100}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0);transition-delay:.25s}[data-tip].tip-end:after{left:auto;right:0;transform:translateY(-4px)}[data-tip].tip-end:hover:after,[data-tip].tip-end:focus-visible:after{transform:translateY(0)}[data-tip].tip-start:after{left:0;transform:translateY(-4px)}[data-tip].tip-start:hover:after,[data-tip].tip-start:focus-visible:after{transform:translateY(0)}
