ap; gap: 12px; } .header-left { flex: 1; min-width: 0; } .header h1 { font-family: 'Orbitron', sans-serif; font-weight: 700; font-size: 1.5rem; letter-spacing: 0.15em; margin: 0 0 6px; color: var(--text-bright); text-shadow: 0 0 20px rgba(0, 255, 242, 0.4); } [data-theme="light"] .header h1 { text-shadow: none; } .header .sub { font-size: 11px; color: var(--glow-cyan); letter-spacing: 0.2em; opacity: 0.9; } .theme-toggle { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; background: var(--bg-panel); border: 1px solid var(--border); color: var(--glow-cyan); font-family: inherit; font-size: 12px; letter-spacing: 0.08em; cursor: pointer; transition: box-shadow .2s, border-color .2s; } .theme-toggle:hover { box-shadow: 0 0 14px rgba(0, 255, 242, 0.25); } [data-theme="light"] .theme-toggle:hover { box-shadow: 0 2px 12px rgba(0, 136, 204, 0.2); } .theme-toggle .icon { font-size: 14px; } .meta { font-size: 11px; color: var(--text-dim); margin-bottom: 20px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; } .meta a { color: var(--glow-cyan); text-decoration: none; } .meta a:hover { text-shadow: 0 0 8px var(--glow-cyan); } [data-theme="light"] .meta a:hover { text-shadow: none; opacity: 0.85; } .meta .dot { color: var(--glow-magenta); } .filters { margin-bottom: 20px; display: flex; align-items: center; gap: 10px; } .filters label { font-size: 11px; color: var(--text-dim); letter-spacing: 0.1em; } .filters select { padding: 8px 12px; background: var(--bg-panel); border: 1px solid var(--border); color: var(--glow-cyan); font-family: inherit; font-size: 12px; cursor: pointer; outline: none; } .filters select:hover, .filters select:focus { box-shadow: 0 0 12px rgba(0, 255, 242, 0.2); } [data-theme="light"] .filters select { color: #0066a0; } [data-theme="light"] .filters select:hover, [data-theme="light"] .filters select:focus { box-shadow: 0 2px 10px rgba(0, 136, 204, 0.15); } .filter-wrap { position: relative; } .filter-trigger { display: none; width: 100%; min-height: 48px; padding: 12px 44px 12px 16px; font-size: 16px; text-align: left; background: var(--bg-panel); border: 1px solid var(--border); color: var(--glow-cyan); font-family: inherit; cursor: pointer; border-radius: 0; } .filter-trigger::after { content: ''; position: absolute; right: 14px; top: 50%; margin-top: -4px; border: 6px solid transparent; border-top-color: var(--glow-cyan); } .filter-overlay { display: none; position: fixed; inset: 0; z-index: 100; background: rgba(0, 0, 0, 0.5); -webkit-tap-highlight-color: transparent; } .filter-overlay.is-open { display: block; } .filter-panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: 70vh; overflow: auto; -webkit-overflow-scrolling: touch; background: var(--bg-panel); border-top: 1px solid var(--border); border-radius: 16px 16px 0 0; padding: 12px 0 24px; padding-bottom: calc(24px + env(safe-area-inset-bottom)); } .filter-panel-title { padding: 12px 20px 8px; font-size: 12px; color: var(--text-dim); letter-spacing: 0.1em; } .filter-option { display: block; width: 100%; min-height: 48px; padding: 14px 20px; font-size: 16px; line-height: 1.4; text-align: left; background: none; border: none; border-bottom: 1px solid var(--border); color: var(--text); font-family: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; } .filter-option:last-child { border-bottom: none; } .filter-option:hover, .filter-option:active { background: rgba(0, 255, 242, 0.08); } .filter-option.selected { color: var(--glow-cyan); } @media (max-width: 768px) { .filters { flex-wrap: wrap; gap: 12px; } .filters label { width: 100%; font-size: 12px; } .filters .filter-select-native { display: none !important; } .filters .filter-trigger { display: block; } } @media (min-width: 769px) { .filter-trigger { display: none !important; } .filter-overlay { display: none !important; } } ul { list-style: none; margin: 0; padding: 0; } li { display: flex; align-items: center; padding: 14px 18px; margin-bottom: 8px; background: var(--bg-panel); border: 1px solid var(--border); border-left: 2px solid transparent; gap: 14px; transition: border-color .2s, box-shadow .2s, background .2s; } li:hover { border-left-color: var(--glow-cyan); box-shadow: var(--item-hover-shadow); background: var(--item-hover-bg); } .source { flex-shrink: 0; font-size: 10px; padding: 4px 10px; border: 1px solid var(--source-border); color: var(--glow-magenta); background: var(--source-bg); letter-spacing: 0.05em; max-width: 76px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .title { flex: 1; font-size: 14px; line-height: 1.5; min-width: 0; color: var(--text); } .heat { flex-shrink: 0; font-size: 11px; color: var(--glow-cyan); opacity: 0.9; } a.item-link { color: inherit; text-decoration: none; display: flex; align-items: center; gap: 14px; width: 100%; } a.item-link:hover .title { color: var(--glow-cyan); text-shadow: 0 0 12px rgba(0, 255, 242, 0.3); } [data-theme="light"] a.item-link:hover .title { text-shadow: none; } .empty { text-align: center; padding: 48px 24px; color: var(--text-dim); border: 1px dashed var(--border); font-size: 13px; } .footer { margin-top: 32px; font-size: 10px; color: var(--text-dim); letter-spacing: 0.15em; } .scroll-btns { position: fixed; bottom: 24px; right: 24px; z-index: 10; display: flex; flex-direction: column; gap: 8px; } .scroll-btn { width: 44px; height: 44px; padding: 0; display: flex; align-items: center; justify-content: center; bac