孙家明
deploy: OilVerse for HuggingFace (Node.js 18 fix)
fab9847
Raw
History Blame Contribute Delete
3.46 kB
/* ═══════════════════════════════════════════════════
Sidebar — Premium Glass Design
═══════════════════════════════════════════════════ */
.sidebar {
width: 250px;
background: linear-gradient(180deg, rgba(13,21,37,.95) 0%, rgba(8,14,28,.98) 100%);
backdrop-filter: blur(16px);
border-right: 1px solid var(--border);
padding: 22px 14px;
flex-shrink: 0;
position: fixed;
height: 100vh;
display: flex;
flex-direction: column;
z-index: 100;
overflow-y: auto;
box-shadow: 4px 0 20px rgba(0,0,0,.3);
}
/* ── Brand ── */
.brand { margin-bottom: 18px; padding: 0 4px; }
.brand-eyebrow {
font-size: .58rem;
text-transform: uppercase;
letter-spacing: 3px;
color: var(--accent);
font-weight: 700;
opacity: .8;
}
.brand-title {
font-size: 1.3rem;
font-weight: 800;
margin: 8px 0 4px;
line-height: 1.2;
background: linear-gradient(135deg, var(--accent-bright) 0%, var(--purple) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.brand-sub {
font-size: .68rem;
color: var(--muted);
font-weight: 500;
}
/* ── Selectors ── */
.selector-group {
margin: 6px 0;
padding: 10px 12px;
background: var(--card);
backdrop-filter: var(--blur);
border-radius: 10px;
border: 1px solid var(--border);
transition: border-color .2s;
}
.selector-group:hover { border-color: var(--border-hover); }
.selector-group label {
font-size: .6rem;
color: var(--muted);
text-transform: uppercase;
letter-spacing: 1.5px;
display: block;
margin-bottom: 5px;
font-weight: 600;
}
.selector-group select {
width: 100%;
padding: 8px 10px;
border-radius: 8px;
border: 1px solid var(--border);
background: var(--surface);
color: var(--text);
font-size: .78rem;
cursor: pointer;
transition: border-color .2s;
font-family: inherit;
}
.selector-group select:focus {
border-color: var(--accent);
outline: none;
box-shadow: 0 0 0 2px var(--accent-glow);
}
/* ── Navigation ── */
.nav-list { margin-top: 14px; flex: 1; }
.nav-item {
display: flex;
align-items: center;
gap: 8px;
padding: 9px 12px;
border-radius: 10px;
font-size: .76rem;
font-weight: 500;
color: var(--muted);
text-decoration: none;
margin-bottom: 2px;
transition: all .25s;
border-left: 3px solid transparent;
position: relative;
}
.nav-item:hover {
background: rgba(79,143,247,.06);
color: var(--text);
padding-left: 14px;
}
.nav-item.active {
background: linear-gradient(135deg, rgba(79,143,247,.1), rgba(168,85,247,.06));
color: var(--accent-bright);
border-left-color: var(--accent);
font-weight: 600;
}
.nav-item.active::after {
content: '';
position: absolute;
right: 8px;
width: 5px;
height: 5px;
border-radius: 50%;
background: var(--accent);
box-shadow: 0 0 6px var(--accent);
}
.nav-icon { font-size: 14px; width: 20px; text-align: center; }
/* ── Footer ── */
.sidebar-footer {
margin-top: auto;
font-size: .62rem;
color: var(--muted);
padding: 10px 8px;
border-top: 1px solid var(--border);
line-height: 1.5;
}
.sidebar-footer strong {
color: var(--text);
display: block;
margin-top: 3px;
font-size: .65rem;
}
@media (max-width: 1024px) {
.sidebar { display: none; }
}