* { box-sizing: border-box; } [hidden] { display: none !important; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #0a0a0c; color: #f2f2f4; font-size: 14px; } .channel { display: flex; flex-direction: column; height: 100vh; } .topbar { display: flex; align-items: center; gap: 14px; padding: 10px 16px; border-bottom: 1px solid #1e1e22; flex: 0 0 auto; } .topbar h1 { font-size: 15px; margin: 0; font-style: italic; } .topbar .spacer { flex: 1; } .watching { font-size: 12px; color: #9a9aa1; } .tabs { display: flex; gap: 6px; } .tabs button { background: #17171a; border: 1px solid #26262b; color: #b8b8bf; border-radius: 999px; padding: 5px 14px; font-size: 12px; cursor: pointer; } .tabs button.active { background: #f2f2f4; color: #0a0a0c; border-color: #f2f2f4; } .body { flex: 1; display: flex; min-height: 0; } /* ---- left: queue / browse list ---- */ .left-col { width: 300px; min-width: 240px; border-right: 1px solid #1e1e22; display: flex; flex-direction: column; overflow: hidden; } .left-col .section-title { font-size: 11px; letter-spacing: .06em; color: #77777f; padding: 12px 14px 6px; } .clip-list { flex: 1; overflow-y: auto; } .clip-row { padding: 10px 14px; border-bottom: 1px solid #17171a; cursor: pointer; } .clip-row:hover { background: #131316; } .clip-row.active { background: #1a1a1f; } .clip-row .prompt { font-size: 12.5px; line-height: 1.4; color: #d8d8dd; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .clip-row .meta { font-size: 10.5px; color: #6b6b72; margin-top: 4px; } .empty-hint { color: #6b6b72; text-align: center; margin-top: 40px; font-size: 13px; } /* ---- center: player, no native controls — pure "watch only" ---- */ .player-col { flex: 1; display: flex; flex-direction: column; min-width: 0; background: #000; } .player-wrap { flex: 1; display: flex; align-items: center; justify-content: center; position: relative; min-height: 0; } .player-wrap video { max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain; } .now-playing-bar { position: absolute; top: 0; left: 0; right: 0; z-index: 2; padding: 12px 16px; font-size: 13px; line-height: 1.4; color: #fff; background: linear-gradient(to bottom, rgba(0,0,0,.75), rgba(0,0,0,0)); } .now-playing-bar #liveDot { color: #ff5c5c; font-weight: 700; margin-right: 4px; } .mute-btn { position: absolute; bottom: 14px; right: 14px; z-index: 2; background: rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.25); color: #fff; border-radius: 999px; width: 34px; height: 34px; font-size: 15px; cursor: pointer; } /* ---- right: prompt input ---- */ .right-col { width: 300px; min-width: 240px; border-left: 1px solid #1e1e22; display: flex; flex-direction: column; } .right-col .section-title { font-size: 11px; letter-spacing: .06em; color: #77777f; padding: 12px 14px 6px; } .say-panel { padding: 0 14px 14px; display: flex; flex-direction: column; gap: 8px; flex: 1; } .say-panel textarea { background: #17171a; border: 1px solid #26262b; border-radius: 10px; padding: 10px 12px; color: #f2f2f4; font-size: 13px; resize: none; min-height: 90px; font-family: inherit; } .say-panel textarea::placeholder { color: #5c5c63; } .say-panel button { background: #f2f2f4; color: #0a0a0c; border: none; border-radius: 999px; padding: 9px 0; font-weight: 600; font-size: 13px; cursor: pointer; } .say-panel button:disabled { opacity: .5; cursor: not-allowed; } .say-hint { font-size: 11.5px; color: #9a9aa1; min-height: 1.4em; } /* ---- mobile sub-tabs (live mode only) ---- */ .mobile-subtabs { display: none; border-top: 1px solid #1e1e22; flex: 0 0 auto; } .mobile-subtabs button { flex: 1; background: #0e0e11; border: none; color: #9a9aa1; padding: 11px 0; font-size: 13px; cursor: pointer; } .mobile-subtabs button.active { color: #fff; font-weight: 600; box-shadow: inset 0 -2px 0 #fff; } @media (max-width: 768px) { .body { flex-direction: column; } .player-col { order: 1; flex: 0 0 46vh; } .mobile-subtabs { display: flex; order: 2; } .left-col, .right-col { order: 3; width: 100%; min-width: 0; border: none; flex: 1; } .left-col.mobile-inactive, .right-col.mobile-inactive { display: none; } }