* { box-sizing: border-box; } [hidden] { display: none !important; } /* Palette + type lifted from infiniteslop.ai: pure black, hot-pink accent, Tahoma body copy, Shrikhand display logo with a punchy drop-shadow. */ :root { --bg: #000; --text: #fff; --muted: #9a9aa1; --border: #1e1e22; --panel: #0e0e11; --row-hover: #17171a; --accent: #ff90e8; --accent-text: #111; } body { margin: 0; font-family: Tahoma, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; background: var(--bg); color: var(--text); 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 var(--border); flex: 0 0 auto; } .topbar .logo { font-family: "Shrikhand", "Cooper Black", serif; font-weight: 400; font-size: 20px; margin: 0; color: #fff; text-shadow: 2px 2px 0 var(--accent); } .topbar .spacer { flex: 1; } .watching { font-size: 12px; font-weight: 700; color: var(--muted); } .tabs { display: flex; gap: 6px; } .tabs button { background: #fff; border: none; color: var(--accent-text); border-radius: 999px; padding: 6px 14px; font-size: 12px; font-weight: 700; cursor: pointer; } .tabs button.active { background: var(--accent); color: var(--accent-text); } .body { flex: 1; display: flex; min-height: 0; } /* ---- left: queue / browse list ---- */ .left-col { width: 300px; min-width: 240px; border-right: 1px solid var(--border); display: flex; flex-direction: column; overflow: hidden; background: var(--panel); } .left-col .section-title { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 12px 14px 6px; } .clip-list { flex: 1; overflow-y: auto; } .clip-row { padding: 10px 14px; border-bottom: 1px solid var(--border); cursor: pointer; } .clip-row:hover { background: var(--row-hover); } .clip-row.active { background: var(--row-hover); box-shadow: inset 3px 0 0 var(--accent); } .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; font-weight: 700; 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: #ff3b3b; font-weight: 700; margin-right: 4px; } .mute-btn { position: absolute; bottom: 14px; right: 14px; z-index: 2; background: #fff; border: none; color: var(--accent-text); border-radius: 999px; width: 36px; height: 36px; font-size: 15px; font-weight: 700; cursor: pointer; } /* ---- right: prompt input ---- */ .right-col { width: 300px; min-width: 240px; border-left: 1px solid var(--border); display: flex; flex-direction: column; background: var(--panel); } .right-col .section-title { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 12px 14px 6px; } .chat-list { flex: 1; overflow-y: auto; padding: 0 14px; display: flex; flex-direction: column; gap: 8px; } .chat-msg { font-size: 12.5px; line-height: 1.5; word-break: break-word; } .chat-nick { color: var(--accent); font-weight: 700; margin-right: 6px; } .chat-text { color: #e4e4e8; } .chat-status { display: block; font-size: 10.5px; color: var(--muted); font-weight: 700; margin-top: 1px; } .chat-input-row { display: flex; gap: 6px; padding: 10px 14px 4px; } .chat-input-row input { flex: 1; min-width: 0; background: #fff; border: none; border-radius: 999px; padding: 9px 14px; color: var(--accent-text); font-weight: 700; font-size: 13px; font-family: inherit; } .chat-input-row input::placeholder { color: #8a8a8a; font-weight: 400; } .chat-input-row button { background: var(--accent); color: var(--accent-text); border: none; border-radius: 999px; padding: 0 16px; font-weight: 700; font-size: 13px; cursor: pointer; } .chat-input-row button:disabled { opacity: .5; cursor: not-allowed; } .say-hint { padding: 0 14px 10px; font-size: 11.5px; font-weight: 700; color: var(--muted); min-height: 1.4em; } /* ---- nickname modal ---- */ .nickname-modal { position: fixed; inset: 0; z-index: 10; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.7); } .nickname-box { background: #fff; color: var(--accent-text); border-radius: 16px; padding: 20px; width: 260px; display: flex; flex-direction: column; gap: 10px; } .nickname-title { font-weight: 700; font-size: 14px; } .nickname-box input { border: 1px solid #ddd; border-radius: 10px; padding: 8px 12px; font-size: 13px; font-family: inherit; } .nickname-box button { background: var(--accent); color: var(--accent-text); border: none; border-radius: 999px; padding: 9px 0; font-weight: 700; font-size: 13px; cursor: pointer; } /* ---- mobile sub-tabs (live mode only) ---- */ .mobile-subtabs { display: none; border-top: 1px solid var(--border); flex: 0 0 auto; background: var(--panel); } .mobile-subtabs button { flex: 1; background: transparent; border: none; color: var(--muted); font-weight: 700; padding: 11px 0; font-size: 13px; cursor: pointer; } .mobile-subtabs button.active { color: #fff; box-shadow: inset 0 -2px 0 var(--accent); } @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; } }