/* ═══════════════════════════════════════════ TOP BAR ═══════════════════════════════════════════ */ .topbar { height: 50px; background: var(--surface); border-bottom: 1px solid var(--border); display: flex; align-items: center; padding: 0 16px; gap: 12px; flex-shrink: 0; position: relative; z-index: 100; } .logo { font-family: 'Share Tech Mono', monospace; font-size: 13px; color: var(--accent); letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; } .logo span { color: var(--text-dim); margin: 0 5px; } .logo-sub { display: inline; } .live-dot { display: flex; align-items: center; gap: 6px; font-size: 11px; font-family: 'Share Tech Mono', monospace; color: var(--accent-live); letter-spacing: 0.1em; margin-left: auto; flex-shrink: 0; } .live-dot::before { content: ''; width: 7px; height: 7px; background: var(--accent-live); border-radius: 50%; animation: pulse 1.4s ease-in-out infinite; } @keyframes pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:0.3; transform:scale(0.7); } } .clock { font-family: 'Share Tech Mono', monospace; font-size: 20px; color: var(--text-bright); letter-spacing: 0.05em; flex-shrink: 0; } .date-label { font-family: 'Share Tech Mono', monospace; font-size: 10px; color: var(--text-dim); letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; } .nav-btns { display: flex; gap: 4px; flex-shrink: 0; } .nav-btn { background: var(--surface2); border: 1px solid var(--border); color: var(--text); font-family: 'Barlow Condensed', sans-serif; font-size: 12px; letter-spacing: 0.06em; padding: 4px 10px; cursor: pointer; text-transform: uppercase; transition: all 0.15s; white-space: nowrap; } .nav-btn:hover, .nav-btn.active { background: var(--accent); color: #000; border-color: var(--accent); } .copy-btns { display: flex; gap: 4px; flex-shrink: 0; } .copy-btn { background: transparent; border: 1px solid var(--border-bright); color: var(--text-dim); text-decoration: none; font-family: 'Share Tech Mono', monospace; font-size: 10px; letter-spacing: 0.1em; padding: 4px 9px; cursor: pointer; text-transform: uppercase; transition: all 0.15s; white-space: nowrap; position: relative; } .copy-btn:hover { border-color: var(--accent2); color: var(--accent2); } .copy-btn.copied { border-color: var(--accent); color: var(--accent); } /* ═══════════════════════════════════════════ RESPONSIVE ═══════════════════════════════════════════ */ @media (max-width: 900px) { :root { --channel-w: 110px; } .logo-sub { display: none; } .date-label { display: none; } .clock { font-size: 16px; } } /* ═══════════════════════════════════════════ THEME SELECTOR ═══════════════════════════════════════════ */ .theme-select { background: transparent; border: 1px solid var(--border-bright); color: var(--text-dim); font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; padding: 4px 8px; cursor: pointer; text-transform: uppercase; transition: all 0.15s; flex-shrink: 0; -webkit-appearance: none; appearance: none; } .theme-select:hover { border-color: var(--accent2); color: var(--accent2); } .theme-select option { background: #111; color: #eee; font-family: sans-serif; } .category-filter { background: transparent; border: 1px solid var(--border-bright); color: var(--text-dim); font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; padding: 4px 8px; cursor: pointer; text-transform: uppercase; transition: all 0.15s; flex-shrink: 0; max-width: 180px; -webkit-appearance: none; appearance: none; } .category-filter:hover { border-color: var(--accent2); color: var(--accent2); } .category-filter option { background: #111; color: #eee; font-family: sans-serif; } body { overflow: hidden; } .topbar { height: auto; flex-wrap: wrap; padding: 8px 12px; gap: 8px; } .logo { font-size: 11px; } .clock { font-size: 14px; } .category-filter { max-width: 100%; } .grid-wrapper { display: none; } .mobile-view { display: block; } .tooltip { display: none !important; } #navBtns { display: none !important; } } /* ── SOURCE SELECTOR ─────────────────────────────────────────────────────── */ .source-select { background-color: var(--surface2) !important; border: 1px solid var(--border-bright); color: var(--text) !important; font-family: var(--font-mono); font-size: 11px; padding: 5px 8px; cursor: pointer; letter-spacing: 0.06em; height: 28px; outline: none; transition: border-color 0.15s, color 0.15s; max-width: 130px; -webkit-appearance: none; appearance: none; } .source-select:hover { border-color: var(--accent2); color: var(--accent2) !important; } .source-select option { background: #111 !important; color: #eee !important; font-family: sans-serif; } /* ── SOURCE DROPDOWN ─────────────────────────────────────────────────────── */ .source-dropdown { position: relative; flex-shrink: 0; } .source-dropdown-btn { display: flex; align-items: center; gap: 6px; background: var(--surface2); border: 1px solid var(--border-bright); color: var(--text); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; padding: 5px 10px; height: 28px; cursor: pointer; white-space: nowrap; transition: border-color 0.15s, color 0.15s; } .source-dropdown-btn:hover { border-color: var(--accent2); color: var(--accent2); } .source-dropdown-arrow { font-size: 8px; opacity: 0.6; } .source-dropdown-menu { display: none; position: absolute; top: calc(100% + 4px); left: 0; background: var(--surface); border: 1px solid var(--border-bright); min-width: 160px; z-index: 1000; flex-direction: column; box-shadow: 0 8px 24px rgba(0,0,0,0.6); } .source-dropdown-menu.open { display: flex; } .source-dropdown-item { background: none; border: none; color: var(--text); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; padding: 10px 14px; text-align: left; cursor: pointer; white-space: nowrap; transition: background 0.1s, color 0.1s; border-bottom: 1px solid var(--border); } .source-dropdown-item:last-child { border-bottom: none; } .source-dropdown-item:hover { background: var(--surface2); color: var(--accent2); } .source-dropdown-item.active { color: var(--accent); } .source-dropdown-personal { color: var(--accent2); }