ISR / demo /styles /layout.css
Zhen Ye
feat(demo): collapsible chat panel toggle, matching event log pattern
66e0ddc
/* ── Layout: Top Bar ───────────────────────────────────────────── */
#topBar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20px;
border-bottom: 1px solid var(--panel-border);
background: rgba(2, 6, 23, 0.8);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
/* ── Layout: Main Area ─────────────────────────────────────────── */
#mainArea {
display: flex;
gap: 12px;
padding: 12px;
min-height: 0;
overflow: hidden;
}
#videoFeed {
flex: 7;
min-width: 0;
display: flex;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
}
#drawer {
flex: 3;
min-width: 0;
display: flex;
flex-direction: column;
align-items: stretch;
overflow: hidden;
}
/* ── Layout: Timeline ──────────────────────────────────────────── */
#timeline {
margin: 0 12px;
padding: 10px 16px;
display: flex;
flex-direction: column;
align-items: stretch;
gap: 6px;
min-height: 48px;
position: relative;
}
/* ── Layout: Command Bar ───────────────────────────────────────── */
#commandBar {
margin: 8px 12px 12px;
padding: 10px 16px;
display: flex;
align-items: center;
justify-content: flex-start;
gap: 10px;
background: transparent;
border: 1px solid var(--panel-border);
border-radius: 10px;
min-height: 44px;
position: relative;
}
/* ── Top Bar Internals ────────────────────────────────────────── */
.topbar-left, .topbar-right {
display: flex;
align-items: center;
gap: 10px;
}
.topbar-sep {
color: var(--text-tertiary);
font-weight: 300;
font-size: 16px;
margin: 0 2px;
}
.topbar-mission {
color: var(--success);
letter-spacing: 2.5px;
}
.topbar-pulse {
animation: pulse-dot 2s ease-in-out infinite;
}
.topbar-indicator {
font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
font-size: 10px;
color: var(--text-secondary);
letter-spacing: 0.5px;
display: inline-flex;
align-items: center;
gap: 5px;
}
.topbar-clock {
min-width: 72px;
text-align: right;
}
/* ── Placeholder Labels ────────────────────────────────────────── */
.placeholder-label {
color: var(--text-tertiary);
font-size: 11px;
letter-spacing: 1px;
text-transform: uppercase;
user-select: none;
}
/* ── Drawer ───────────────────────────────────────────────────── */
.drawer-tabs {
display: flex;
border-bottom: 1px solid var(--panel-border);
flex-shrink: 0;
}
.drawer-tab {
flex: 1;
background: none;
border: none;
color: var(--text-tertiary);
font-family: inherit;
font-size: 9px;
font-weight: 600;
letter-spacing: 1.5px;
text-transform: uppercase;
padding: 10px 0;
cursor: pointer;
}
.drawer-tab:hover {
color: var(--text-secondary);
}
.drawer-tab.active {
color: var(--accent-light);
}
.drawer-section {
flex: 1;
overflow-y: auto;
padding: 10px 12px;
}
/* ── Min Width Guard ───────────────────────────────────────────── */
@media (max-width: 1280px) {
body {
min-width: 1280px;
}
}