:root{--bg-base:#0c0d0f;--bg-surface:#121519;--bg-subtle:#171b21;--bg-elevated:#1e232b;--bg-hover:#252b35;--bg-active:#2c3340;--border-subtle:#222832;--border-medium:#2e3644;--border-focus:#d4af37;--text-primary:#f4f5f7;--text-secondary:#9da6b5;--text-muted:#646d7e;--text-inverted:#0c0d0f;--gold-primary:#d4af37;--gold-hover:#e5c158;--gold-active:#b89628;--gold-subtle:#d4af371f;--gold-glow:#d4af3740;--gold-border:#d4af3759;--danger-primary:#ef4444;--danger-hover:#dc2626;--danger-subtle:#ef44441f;--danger-border:#ef44444d;--success-primary:#10b981;--success-subtle:#10b9811f;--info-primary:#3b82f6;--info-subtle:#3b82f61f;--sidebar-width:256px;--topbar-height:64px;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 12px 28px #000000a6;--shadow-gold:0 0 16px #d4af3733;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.22s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-base);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5;overflow:hidden}#root{flex-direction:column;width:100%;height:100%;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}button:focus-visible{outline:2px solid var(--gold-primary);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--text-primary);background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:8px 12px}input:focus,textarea:focus,select:focus{border-color:var(--gold-primary);box-shadow:0 0 0 2px var(--gold-subtle);outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}.text-gold{color:var(--gold-primary)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-mono{font-family:var(--font-mono)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--bg-elevated) 50%, var(--bg-subtle) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s ease-in-out infinite shimmer}.badge{border-radius:var(--radius-full);align-items:center;padding:2px 7px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.badge-gold{background:var(--gold-subtle);color:var(--gold-primary);border:1px solid var(--gold-border)}.badge-danger{background:var(--danger-subtle);color:var(--danger-primary);border:1px solid var(--danger-border)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:500px;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) modalIn;display:flex;overflow:hidden}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=768px){.desktop-sidebar{display:none!important}.mobile-menu-btn{display:flex!important}.storage-pill{display:none!important}}.message-row:hover .row-hover-actions{display:flex!important}.message-row:hover{background-color:var(--bg-hover)!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-animation{animation:.8s linear infinite spin}
