style: differentiate rApp tab headers with borders and spacing

Inactive tabs get a subtle background tint, hover/active tabs show
visible borders, active tab uses solid surface background. Wider gap
between tabs and full-width indicator line for clearer separation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-03-04 15:47:20 -08:00
parent 497bfd3db7
commit e2ebd11d75
1 changed files with 12 additions and 8 deletions

View File

@ -1211,7 +1211,7 @@ const STYLES = `
.tabs-scroll { .tabs-scroll {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 2px; gap: 4px;
min-width: 0; min-width: 0;
overflow-x: auto; overflow-x: auto;
overflow-y: visible; overflow-y: visible;
@ -1234,34 +1234,38 @@ const STYLES = `
display: flex; display: flex;
align-items: center; align-items: center;
gap: 6px; gap: 6px;
padding: 4px 12px; padding: 5px 12px;
border-radius: 6px 6px 0 0; border-radius: 6px 6px 0 0;
cursor: pointer; cursor: pointer;
white-space: nowrap; white-space: nowrap;
font-size: 0.8rem; font-size: 0.8rem;
font-weight: 500; font-weight: 500;
transition: background 0.15s, opacity 0.15s; transition: background 0.15s, opacity 0.15s, border-color 0.15s;
user-select: none; user-select: none;
position: relative; position: relative;
flex-shrink: 0; flex-shrink: 0;
color: var(--rs-text-muted); color: var(--rs-text-muted);
background: transparent; background: rgba(255,255,255,0.03);
border: 1px solid transparent;
border-bottom: none;
} }
.tab:hover { .tab:hover {
background: var(--rs-bg-hover); background: var(--rs-bg-hover);
color: var(--rs-text-primary); color: var(--rs-text-primary);
border-color: var(--rs-input-border);
} }
.tab.active { .tab.active {
background: var(--rs-btn-secondary-bg); background: var(--rs-bg-surface);
color: var(--rs-text-primary); color: var(--rs-text-primary);
border-color: var(--rs-input-border);
} }
/* Active indicator line at bottom */ /* Active indicator line at bottom */
.tab-indicator { .tab-indicator {
position: absolute; position: absolute;
bottom: 0; bottom: -1px;
left: 8px; left: 0;
right: 8px; right: 0;
height: 2px; height: 2px;
border-radius: 2px 2px 0 0; border-radius: 2px 2px 0 0;
opacity: 0; opacity: 0;