/* Shared primitive styling. Glows are accent-tinted, never grey. */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: var(--r-control); border: 1px solid var(--hairline-strong); background: var(--panel-elevated); color: var(--text); font-size: 14px; font-weight: 500; letter-spacing: -0.01em; transition: transform var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); } .btn:hover { border-color: var(--accent-a); transform: translateY(-1px); } .btn:active { transform: translateY(0); } .btn:disabled { opacity: 0.45; cursor: not-allowed; transform: none; } .btn--primary { border: none; color: #fff; background: var(--accent-gradient); box-shadow: var(--glow-accent); font-weight: 600; } .btn--primary:hover { box-shadow: 0 0 0 1px rgba(123, 108, 255, 0.5), 0 14px 36px -10px rgba(79, 124, 255, 0.6); } .btn--ghost { background: transparent; border-color: transparent; color: var(--text-dim); } .btn--ghost:hover { background: var(--panel-elevated); color: var(--text); border-color: transparent; } .btn--icon { width: 44px; height: 44px; padding: 0; border-radius: var(--r-control); } .btn.is-active { border-color: var(--accent-a); color: var(--text); box-shadow: var(--glow-accent); } .pill { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 11px; border-radius: var(--r-pill); font-size: 12px; font-weight: 600; letter-spacing: 0.01em; border: 1px solid var(--hairline-strong); color: var(--text-dim); background: rgba(255, 255, 255, 0.02); white-space: nowrap; } .pill--accent { color: #c9d4ff; border-color: rgba(79, 124, 255, 0.4); background: rgba(79, 124, 255, 0.12); } .pill--success { color: #b7f0d4; border-color: rgba(61, 214, 140, 0.4); background: rgba(61, 214, 140, 0.12); } .pill--warn { color: #f7d3a0; border-color: rgba(242, 163, 60, 0.4); background: rgba(242, 163, 60, 0.12); } .pill--danger { color: #f7b1b3; border-color: rgba(242, 85, 90, 0.4); background: rgba(242, 85, 90, 0.12); } .panel { background: var(--panel); border: 1px solid var(--hairline); border-radius: var(--r-card); box-shadow: var(--shadow-panel); } .panel--elevated { background: var(--panel-elevated); } .panel--glow { border-color: rgba(79, 124, 255, 0.32); box-shadow: var(--glow-accent); } .segmented { display: inline-flex; padding: 4px; gap: 2px; background: var(--panel); border: 1px solid var(--hairline); border-radius: var(--r-pill); } .segmented__opt { border: none; background: transparent; color: var(--text-dim); border-radius: var(--r-pill); height: 36px; padding: 0 16px; font-size: 13px; font-weight: 600; transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); } .segmented--sm .segmented__opt { height: 30px; padding: 0 12px; font-size: 12px; } .segmented__opt.is-active { color: #fff; background: var(--accent-gradient); box-shadow: var(--glow-accent); } .segmented__opt:not(.is-active):hover { color: var(--text); } .spinner { display: inline-block; border-radius: 50%; border-style: solid; border-color: rgba(255, 255, 255, 0.18); border-top-color: var(--accent-a); animation: spin 0.7s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } }