rl-restore / frontend /src /components /ui /primitives.css
parhamkhoshsolat's picture
Deploy RL-Restore: agent, agent_ft, monolith demo
4633f70 verified
Raw
History Blame Contribute Delete
3.57 kB
/* 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);
}
}