openvibers/openvibe.live Commits
Faint white tints follow the theme (surfaces and borders vanished on light looks) (#515)
Changes
@@@ -40,7 +40,7 @@/* What happened — lines land one after another like messages */.story { display: grid; gap: 10px; max-width: 640px; margin: 0 auto 24px; text-align: left; }-- .msg { position: relative; padding: 12px 16px; border-radius: 16px 16px 16px 4px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); color: #f3efec; font-size: clamp(1rem, 2.8vw, 1.15rem); line-height: 1.45; font-weight: 600;++ .msg { position: relative; padding: 12px 16px; border-radius: 16px 16px 16px 4px; background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent); border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent); color: #f3efec; font-size: clamp(1rem, 2.8vw, 1.15rem); line-height: 1.45; font-weight: 600;opacity: 0; transform: translateX(-24px) scale(0.98); animation: land var(--ov-dur-4, 0.55s) var(--ov-ease-out, cubic-bezier(.2,.9,.3,1.2)) forwards; animation-delay: var(--d); }.msg.hot { background: rgba(231,76,60,0.16); border-color: rgba(231,76,60,0.55); color: #fff; }.msg.hot::before { content: ''; position: absolute; inset: -1px; border-radius: inherit; animation: ring 1.6s var(--ov-ease-out, ease-out) 1; animation-delay: calc(var(--d) + 0.3s); pointer-events: none; }@@@ -14,8 +14,8 @@.broadcast-page-tabs-nav {position: relative;padding: 0 16px;-- border-bottom: 1px solid rgba(255,255,255,0.08);-- background: rgba(255,255,255,0.02);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);++ background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent);}.broadcast-page-tab-btn {@@@ -59,7 +59,7 @@.bc-tab-header {margin-bottom: 24px;padding-bottom: 16px;-- border-bottom: 1px solid rgba(255,255,255,0.08);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);}.bc-tab-header h2 {@@@ -109,7 +109,7 @@position: absolute;top: 16px;right: 16px;-- background: rgba(255,255,255,0.1);++ background: color-mix(in srgb, var(--text-primary, #fff) 10%, transparent);border: none;width: 40px;height: 40px;@@@ -336,7 +336,7 @@padding: 14px;border: 1px dashed var(--border);border-radius: var(--radius);-- background: rgba(255,255,255,0.02);++ background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent);}/* ── Screen Capture Source Picker ────────────────────────────── */@@@ -367,7 +367,7 @@.bc-screen-advanced {border: 1px solid var(--border);border-radius: var(--radius, 8px);-- background: rgba(255,255,255,0.02);++ background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent);padding: 0;}@@@ -548,8 +548,8 @@text-align: left;padding: 14px 16px;border-radius: 18px;-- border: 1px solid rgba(255,255,255,0.08);-- background: rgba(255,255,255,0.04);++ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);++ background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);color: var(--text-primary);display: flex;align-items: center;@@@ -774,7 +774,7 @@width: 100%;height: 400px;flex-shrink: 0;-- border-top: 1px solid rgba(255,255,255,0.06);++ border-top: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);border-left: none;}}@@@ -807,7 +807,7 @@width: 100%; height: 55vh;max-height: 55vh;max-height: 55dvh;-- border-top: 1px solid rgba(255,255,255,0.06);++ border-top: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);border-left: none;background: var(--bg-secondary);z-index: 1002;@@@ -1220,7 +1220,7 @@gap: 12px;margin: 20px 0 14px;padding-bottom: 10px;-- border-bottom: 1px solid rgba(255,255,255,0.06);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);}.bc-step-header:first-of-type {@@@ -1299,7 +1299,7 @@color: var(--text-secondary);margin-top: 6px;padding-top: 6px;-- border-top: 1px solid rgba(255,255,255,0.06);++ border-top: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);line-height: 1.3;}@@@ -1358,7 +1358,7 @@margin-top: 16px;border: 1px solid var(--border);border-radius: var(--radius);-- background: var(--bg-tertiary, rgba(255,255,255,0.02));++ background: var(--bg-tertiary, color-mix(in srgb, var(--text-primary, #fff) 2%, transparent));overflow: hidden;}@@@ -1446,7 +1446,7 @@font-size: 0.8rem;color: var(--text-primary);padding: 8px 10px;-- background: rgba(255,255,255,0.03);++ background: color-mix(in srgb, var(--text-primary, #fff) 3%, transparent);border-radius: var(--radius-sm, 4px);border-left: 3px solid var(--accent);margin: 0;@@@ -1461,7 +1461,7 @@/* ── FAQ Items ───────────────────────────────────────────────── */.bc-faq-item {padding: 12px 0;-- border-bottom: 1px solid rgba(255,255,255,0.04);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);}.bc-faq-item:last-child {@@@ -1858,7 +1858,7 @@.bc-perm-note i { margin-top: 2px; opacity: .8; flex-shrink: 0; }.bc-perm-step span {flex-shrink: 0; width: 21px; height: 21px; border-radius: 50%;-- background: rgba(255,255,255,.09); display: grid; place-items: center;++ background: color-mix(in srgb, var(--text-primary, #fff) 9%, transparent); display: grid; place-items: center;font-size: .72rem; font-weight: 700;}.bc-perm-step p { margin: 0; font-size: .85rem; line-height: 1.45; color: var(--text-muted, #9aa3b2); }@@@ -441,8 +441,8 @@}.bc-settings-group {-- background: rgba(255,255,255,0.02);-- border: 1px solid rgba(255,255,255,0.08);++ background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent);++ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);border-radius: 12px;padding: 20px;}@@@ -499,7 +499,7 @@@keyframes bcStatsIn { from { opacity: 0; transform: translateY(-4px); } }#bc-stats-overlay .bc-stats-head {grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; margin-bottom: 3px; padding-bottom: 8px;-- border-bottom: 1px solid rgba(255, 255, 255, 0.1); font-weight: 700;++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent); font-weight: 700;}#bc-stats-overlay .bc-stats-title { flex: 1; }#bc-stats-overlay .bc-stats-dot { width: 8px; height: 8px; border-radius: 50%; background: #9ca3af; }@@@ -541,7 +541,7 @@padding: 16px;border: 1px dashed var(--border);border-radius: var(--radius);-- background: rgba(255,255,255,0.02);++ background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent);margin-bottom: 8px;}@@@ -570,7 +570,7 @@align-items: center;gap: 3px;padding: 10px 6px 8px;-- background: var(--surface, rgba(255,255,255,0.04));++ background: var(--surface, color-mix(in srgb, var(--text-primary, #fff) 4%, transparent));border: 2px solid var(--border);border-radius: var(--radius, 8px);color: var(--text-secondary);@@@ -583,7 +583,7 @@.bc-source-btn:hover {border-color: var(--accent);-- background: rgba(255,255,255,0.06);++ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);}.bc-source-btn.selected {@@@ -600,7 +600,7 @@.bc-controls {padding: 16px;overflow-y: auto;-- background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent 65%);++ background: linear-gradient(180deg, color-mix(in srgb, var(--text-primary, #fff) 2%, transparent), transparent 65%);}.bc-ctrl-buttons {@@@ -675,15 +675,15 @@justify-content: space-between;gap: 16px;padding: 18px 18px 14px;-- border-bottom: 1px solid rgba(255,255,255,0.06);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);}.bc-camera-sheet-close {width: 40px;height: 40px;border-radius: 999px;-- border: 1px solid rgba(255,255,255,0.1);-- background: rgba(255,255,255,0.04);++ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent);++ background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);color: var(--text-primary);display: inline-flex;align-items: center;@@@ -693,7 +693,7 @@}.bc-camera-sheet-close:hover {-- background: rgba(255,255,255,0.08);++ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);border-color: rgba(255,255,255,0.18);}@@@ -960,7 +960,7 @@display: flex;align-items: center;padding: 8px 0;-- border-bottom: 1px solid rgba(255, 255, 255, 0.04);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);gap: 12px;}@@@ -2346,14 +2346,14 @@}.bc-perm-icon.is-blocked { background: linear-gradient(135deg, #ef4444, #b91c1c); }.bc-perm-mock {-- border: 1px solid var(--border, rgba(255,255,255,.10));++ border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent));border-radius: 10px; overflow: hidden; margin-bottom: 12px;-- background: rgba(255,255,255,.03);++ background: color-mix(in srgb, var(--text-primary, #fff) 3%, transparent);}.bc-perm-mock-bar {display: flex; align-items: center; gap: 7px;padding: 7px 10px; font-size: .78rem; color: var(--text-muted, #9aa3b2);-- background: rgba(255,255,255,.05); border-bottom: 1px solid var(--border, rgba(255,255,255,.08));++ background: color-mix(in srgb, var(--text-primary, #fff) 5%, transparent); border-bottom: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent));}.bc-perm-mock-pop { padding: 12px 12px 13px; }.bc-perm-mock-btns { display: flex; gap: 8px; justify-content: flex-end; }@@@ -2376,7 +2376,7 @@.bc-mic-meter-wrap { margin-top: 7px; }.bc-mic-meter {width: 100%; height: 22px; display: block;-- border-radius: 5px; background: rgba(255,255,255,.05);++ border-radius: 5px; background: color-mix(in srgb, var(--text-primary, #fff) 5%, transparent);}.bc-mic-meter-status { font-size: .76rem; color: var(--text-muted, #9aa3b2); margin-top: 4px; display: block; }.bc-mic-meter-status.is-good { color: #22c55e; }@@@ -2386,7 +2386,7 @@.bc-cap-row {display: flex; align-items: center; gap: 11px;padding: 8px 11px; border-radius: 8px;-- background: rgba(255,255,255,.035);++ background: color-mix(in srgb, var(--text-primary, #fff) 3.5%, transparent);border: 1px solid transparent;}.bc-cap-row.is-on { border-color: rgba(34,197,94,.28); background: rgba(34,197,94,.07); }@@@ -2652,7 +2652,7 @@ body.bc-studio-on .toast-container { z-index: 1500; }.bcs-cam {display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px; border-radius: 14px; text-align: left;font: inherit; font-size: 0.92rem; font-weight: 700; color: #fff; cursor: pointer;-- background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.12);++ background: color-mix(in srgb, var(--text-primary, #fff) 7%, transparent); border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 12%, transparent);}.bcs-cam span { flex: 1; }.bcs-cam > i:first-child { width: 18px; text-align: center; color: rgba(255, 255, 255, 0.7); }@@@ -2725,23 +2725,23 @@ body.bc-studio-on #bc-chat-messages .chat-conn-status { display: block !importan.bcs-sheet-who { flex: 1; min-width: 0; display: grid; }.bcs-sheet-who b { font-size: 1.02rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.bcs-sheet-who small, .bcs-row small, .bcs-tile small { color: var(--text-secondary, #a1a1aa); font-size: 0.76rem; }--.bcs-x { width: 40px; height: 40px; flex: none; border-radius: 50%; border: 0; background: var(--surface-raised, rgba(255,255,255,0.08)); color: inherit; cursor: pointer; }++.bcs-x { width: 40px; height: 40px; flex: none; border-radius: 50%; border: 0; background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent)); color: inherit; cursor: pointer; }.bcs-chip {display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: 999px; cursor: pointer;-- border: 1px solid var(--border, rgba(255,255,255,0.14)); background: var(--surface-raised, rgba(255,255,255,0.06));++ border: 1px solid var(--border, rgba(255,255,255,0.14)); background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent));color: inherit; font: inherit; font-weight: 600; font-size: 0.88rem;}.bcs-chip-strong { background: var(--accent-strong, #2563eb); color: var(--on-accent-strong, #fff); border-color: transparent; }.bcs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }.bcs-tile {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 82px; padding: 10px 6px;-- border-radius: 14px; border: 1px solid var(--border, rgba(255,255,255,0.08)); background: var(--surface-raised, rgba(255,255,255,0.05));++ border-radius: 14px; border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent)); background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 5%, transparent));color: inherit; font: inherit; font-size: 0.8rem; font-weight: 600; line-height: 1.2; text-align: center; cursor: pointer;}.bcs-tile i { font-size: 1.15rem; color: var(--accent, #60a5fa); }.bcs-row {display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding: 12px;-- border-radius: 14px; border: 1px solid var(--border, rgba(255,255,255,0.08));++ border-radius: 14px; border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent));}.bcs-row > div:first-child { display: grid; gap: 2px; min-width: 0; }.bcs-row-acts { display: flex; gap: 6px; flex: none; }@@@ -2758,7 +2758,7 @@ body.bc-studio-on #bc-chat-messages .chat-conn-status { display: block !importan.bcs-video-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 8px; }.bcs-video-head h3 { margin: 0; }.bcs-video-now { color: var(--text-secondary, #a1a1aa); font-size: 0.76rem; font-variant-numeric: tabular-nums; text-align: right; }--.bcs-seg { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; padding: 4px; margin-bottom: 8px; border-radius: 12px; background: var(--surface-raised, rgba(255,255,255,0.05)); }++.bcs-seg { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; padding: 4px; margin-bottom: 8px; border-radius: 12px; background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 5%, transparent)); }.bcs-seg-b {min-height: 40px; border: 0; border-radius: 9px; background: none; color: inherit; cursor: pointer;font: inherit; font-size: 0.86rem; font-weight: 700;@@@ -2768,7 +2768,7 @@ body.bc-studio-on #bc-chat-messages .chat-conn-status { display: block !importan.bcs-video .bcs-row { margin-top: 4px; }.bcs-switch {position: relative; flex: none; width: 52px; height: 32px; padding: 0; border-radius: 999px; cursor: pointer;-- border: 1px solid var(--border, rgba(255,255,255,0.18)); background: var(--surface-raised, rgba(255,255,255,0.1));++ border: 1px solid var(--border, rgba(255,255,255,0.18)); background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent));}.bcs-switch-k { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: transform var(--ov-dur-2, 0.15s); }.bcs-switch[aria-checked="true"] { background: #16a34a; border-color: transparent; }@@@ -2866,7 +2866,7 @@ body.bc-golive-dock-on #page-broadcast { padding-bottom: calc(104px + var(--ovna.bc-clip-name-acts { display: flex; gap: 8px; justify-content: flex-end; }.bc-clip-name-acts button {min-height: 40px; padding: 0 16px; border-radius: 999px; cursor: pointer; font: inherit; font-weight: 700; font-size: 0.9rem;-- border: 1px solid var(--border, rgba(255,255,255,0.16)); background: var(--surface-raised, rgba(255,255,255,0.06)); color: inherit;++ border: 1px solid var(--border, rgba(255,255,255,0.16)); background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent)); color: inherit;}.bc-clip-name-acts .bc-clip-name-save { background: var(--accent-strong, #2563eb); color: var(--on-accent-strong, #fff); border-color: transparent; }.bc-clip-name-acts button:disabled { opacity: 0.6; cursor: default; }@@@ -3119,7 +3119,7 @@ body.bc-golive-dock-on #page-broadcast { padding-bottom: calc(104px + var(--ovna.bcs-gl-dot::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid var(--live-red, #ef4444); animation: bcs-gl-ping 1.4s var(--ov-ease-out, ease-out) infinite; }@keyframes bcs-gl-ping { from { transform: scale(.5); opacity: .9; } to { transform: scale(1.6); opacity: 0; } }.bcs-gl-x { all: unset; box-sizing: border-box; cursor: pointer; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--text-secondary); }--.bcs-gl-x:hover, .bcs-gl-x:focus-visible { background: rgba(255,255,255,.08); color: var(--text-primary); }++.bcs-gl-x:hover, .bcs-gl-x:focus-visible { background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); color: var(--text-primary); }.bcs-gl-sub { margin: 6px 0 10px; font-size: .92rem; color: var(--text-secondary); }.bcs-gl-link { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; border-radius: 14px; background: var(--bg-primary, #0a0f1c); border: 1px solid var(--border, #1f2d47); }.bcs-gl-link code { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 1rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--text-primary); background: none; user-select: all; -webkit-user-select: all; }@@@ -3129,8 +3129,8 @@ body.bc-golive-dock-on #page-broadcast { padding-bottom: calc(104px + var(--ovna.bcs-gl-copy.is-copied, .bc-ctrl-btn.is-copied { background: var(--success, #16a34a); color: #fff; }.bcs-gl-copy:focus-visible, .bcs-gl-share:focus-visible { outline: 2px solid var(--accent-light, #60a5fa); outline-offset: 2px; }.bcs-gl-more { display: flex; justify-content: flex-end; margin-top: 8px; }--.bcs-gl-share { height: 34px; background: rgba(255,255,255,.08); color: var(--text-primary); }--.bcs-gl-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.06); }++.bcs-gl-share { height: 34px; background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); color: var(--text-primary); }++.bcs-gl-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent); }.bcs-gl-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--live-red, #ef4444), var(--accent, #3b82f6)); transform-origin: left; transition: transform var(--ov-dur-2, .2s) linear; }.bcs-gl-burst { position: absolute; left: 22px; top: 21px; width: 0; height: 0; pointer-events: none; }.bcs-gl-burst i { position: absolute; width: 5px; height: 5px; margin: -2.5px; border-radius: 50%; background: hsl(var(--a), 90%, 66%); opacity: 0; animation: bcs-gl-spark .9s var(--ov-ease-out, cubic-bezier(.2,.8,.3,1)) var(--d) forwards; }@@@ -118,8 +118,8 @@position: absolute;inset: -35%;background:-- radial-gradient(circle at 40% 40%, rgba(255,255,255,0.08), transparent 20%),-- linear-gradient(130deg, transparent 22%, rgba(255,255,255,0.08) 48%, transparent 74%);++ radial-gradient(circle at 40% 40%, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent), transparent 20%),++ linear-gradient(130deg, transparent 22%, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent) 48%, transparent 74%);opacity: 0.45;animation: playerLoaderDrift 18s linear infinite;}@@@ -130,7 +130,7 @@inset: 0;background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--loader-c) 14%, transparent), transparent 58%),-- radial-gradient(circle at 24% 76%, rgba(255, 255, 255, 0.06), transparent 24%);++ radial-gradient(circle at 24% 76%, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent), transparent 24%);opacity: 0.78;mix-blend-mode: screen;pointer-events: none;@@@ -271,7 +271,7 @@.player-loader-core {inset: 37%;-- background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--loader-c) 26%, rgba(255,255,255,0.55)), rgba(255,255,255,0.03) 46%, transparent 72%);++ background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--loader-c) 26%, rgba(255,255,255,0.55)), color-mix(in srgb, var(--text-primary, #fff) 3%, transparent) 46%, transparent 72%);box-shadow:0 0 46px color-mix(in srgb, var(--loader-a) 34%, transparent),inset 0 0 18px rgba(255,255,255,0.06);@@@ -290,7 +290,7 @@.player-loader-sheen {inset: -12%;-- background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.10) 48%, transparent 66%);++ background: linear-gradient(120deg, transparent 30%, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent) 48%, transparent 66%);transform: translateX(-42%) rotate(12deg);animation: playerLoaderSheen 4.6s var(--ov-ease-in-out, ease-in-out) infinite;}@@@ -416,8 +416,8 @@}.player-loader-action {-- border: 1px solid rgba(255,255,255,0.12);-- background: linear-gradient(135deg, color-mix(in srgb, var(--loader-a) 42%, rgba(255,255,255,0.06)), color-mix(in srgb, var(--loader-b) 36%, rgba(255,255,255,0.03)));++ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 12%, transparent);++ background: linear-gradient(135deg, color-mix(in srgb, var(--loader-a) 42%, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent)), color-mix(in srgb, var(--loader-b) 36%, color-mix(in srgb, var(--text-primary, #fff) 3%, transparent)));color: #fff;border-radius: 12px;padding: 10px 14px;@@@ -437,13 +437,13 @@}.player-loader-action.secondary {-- background: rgba(255,255,255,0.04);++ background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);color: rgba(226,232,240,0.9);}.player-loader-diagnostics {border-radius: 14px;-- border: 1px solid rgba(255,255,255,0.12);++ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 12%, transparent);background: rgba(2, 6, 23, 0.48);overflow: hidden;}@@@ -748,14 +748,14 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:.live-tab-badges {font-size: 0.6rem; font-weight: 600;color: var(--text-muted);-- background: rgba(255,255,255,0.06);++ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);padding: 1px 6px; border-radius: 4px;text-transform: uppercase; letter-spacing: 0.5px;display: inline-flex; align-items: center; gap: 4px;}.live-tab.active .live-tab-badges {color: rgba(255,255,255,0.55);-- background: rgba(255,255,255,0.1);++ background: color-mix(in srgb, var(--text-primary, #fff) 10%, transparent);}.live-tab-uptime {font-size: 0.65rem; color: var(--text-muted);@@@ -815,7 +815,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:text-decoration: none;padding: 2px 8px; border-radius: 10px;display: inline-flex; align-items: center; gap: 5px;-- background: rgba(255, 255, 255, 0.06);++ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);transition: all var(--ov-dur-2, 0.15s);}.ch-share-stream {@@@ -1000,13 +1000,13 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:.ch-weather-full {max-width: 100%; width: 100%;padding: 6px 16px 10px; margin: 0;-- border-top: 1px solid var(--border, rgba(255,255,255,0.08));++ border-top: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent));}.ch-weather-full .weather-hourly-scroll { max-width: 100%; }.ch-weather-full .weather-hourly-scroll { display: flex; gap: 8px; }.ch-weather-full .weather-hour { flex: 1 1 0; min-width: 64px; }.ch-weather-full .weather-tabs, .ch-weather-full .weather-daily { width: 100%; }--.ssp-header { display:flex; align-items:center; justify-content:space-between; padding: 8px 12px; border-bottom: 1px solid rgba(255,255,255,0.1); font-weight: 600; }++.ssp-header { display:flex; align-items:center; justify-content:space-between; padding: 8px 12px; border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent); font-weight: 600; }.ssp-close { background: none; border: none; color: #aaa; cursor: pointer; font-size: 0.95rem; padding: 2px 4px; }.ssp-close:hover { color: #fff; }.ssp-body { padding: 8px 12px; display: grid; grid-template-columns: auto 1fr; gap: 5px 12px; }@@@ -1040,7 +1040,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:.weather-meta { font-size: 0.72rem; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.weather-unit-toggle {border: 1px solid var(--border);-- background: var(--bg-elevated, rgba(255, 255, 255, 0.06));++ background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent));color: var(--text-primary);border-radius: 999px;padding: 2px 8px;@@@ -1154,7 +1154,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:border-bottom:1px solid var(--border,#333);}.analytics-table td { padding:8px 12px; border-bottom:1px solid var(--border,#222); color:var(--text,#ddd); }--.analytics-table tbody tr:hover { background:rgba(255,255,255,0.03); }++.analytics-table tbody tr:hover { background:color-mix(in srgb, var(--text-primary, #fff) 3%, transparent); }.analytics-table tbody tr:last-child td { border-bottom:none; }@media (max-width: 1180px) {.stream-layout { flex-direction: column; height: auto; }@@@ -1199,7 +1199,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:transition: all var(--ov-dur-2, 0.15s);}.ct-badge.ct-self { font-style: italic; }--.ct-count { font-size: 0.72rem; opacity: 0.7; background: rgba(255,255,255,.08); border-radius: 999px; padding: 0 6px; }++.ct-count { font-size: 0.72rem; opacity: 0.7; background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); border-radius: 999px; padding: 0 6px; }.ct-badge.active .ct-count { opacity: 0.95; }.ch-panel-bar {display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap;@@@ -1233,15 +1233,15 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:.ai-tl-moment-thumb { width: 96px; height: 54px; object-fit: cover; border-radius: 6px; flex-shrink: 0; background: rgba(0,0,0,0.3); }.ai-tl-stamp { align-self: flex-start; font-size: 0.75rem; font-weight: 700; color: var(--accent, #8b5cf6); background: color-mix(in srgb, var(--accent, #8b5cf6) 12%, transparent); padding: 2px 8px; border-radius: 8px; text-decoration: none; display: inline-flex; align-items: center; gap: 5px; }.ai-tl-stamp:hover { filter: brightness(1.2); }--.ai-tl-stamp--novod { color: var(--text-muted); background: rgba(255,255,255,0.05); }++.ai-tl-stamp--novod { color: var(--text-muted); background: color-mix(in srgb, var(--text-primary, #fff) 5%, transparent); }.ai-tl-moment-desc { color: var(--text-secondary); font-size: 0.88rem; line-height: 1.45; }.ai-tl-tags { display: flex; flex-wrap: wrap; gap: 5px; }--.ai-tl-tag { font-size: 0.68rem; color: var(--text-muted); background: rgba(255,255,255,0.05); padding: 1px 7px; border-radius: 6px; }++.ai-tl-tag { font-size: 0.68rem; color: var(--text-muted); background: color-mix(in srgb, var(--text-primary, #fff) 5%, transparent); padding: 1px 7px; border-radius: 6px; }.ai-tl-empty { text-align: center; padding: 48px 20px; color: var(--text-muted); }@media (max-width: 560px) { .ai-tl-moment-thumb { width: 72px; height: 40px; } }--.ai-tl-months { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--border, rgba(255,255,255,0.06)); }++.ai-tl-months { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent)); }.ai-tl-months-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); font-weight: 700; margin-right: 4px; display: inline-flex; align-items: center; gap: 5px; }--.ai-tl-month { font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); background: var(--bg-elevated, rgba(255,255,255,0.04)); border: 1px solid var(--border, rgba(255,255,255,0.08)); border-radius: 999px; padding: 3px 11px; cursor: pointer; transition: all var(--ov-dur-2, .15s); }++.ai-tl-month { font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 4%, transparent)); border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent)); border-radius: 999px; padding: 3px 11px; cursor: pointer; transition: all var(--ov-dur-2, .15s); }.ai-tl-month:hover { color: var(--accent, #8b5cf6); border-color: color-mix(in srgb, var(--accent, #8b5cf6) 45%, transparent); background: color-mix(in srgb, var(--accent, #8b5cf6) 10%, transparent); }.ai-tl-moments-toggle { margin-top: 8px; display: inline-flex; align-items: center; gap: 7px; font-size: 0.8rem; font-weight: 600; color: var(--accent, #8b5cf6); background: color-mix(in srgb, var(--accent, #8b5cf6) 9%, transparent); border: 1px solid color-mix(in srgb, var(--accent, #8b5cf6) 22%, transparent); border-radius: 8px; padding: 5px 11px; cursor: pointer; transition: all var(--ov-dur-2, .15s); }.ai-tl-moments-toggle:hover { background: color-mix(in srgb, var(--accent, #8b5cf6) 16%, transparent); }@@@ -1250,8 +1250,8 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:.ai-tl-moments { margin-top: 10px; }.ai-tl-session-vodlink { margin: 3px 0 6px; font-size: 0.78rem; }.ai-tl-session-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }--.ai-tl-transcript-toggle { border-color: color-mix(in srgb, var(--text-muted) 30%, transparent); color: var(--text-secondary); background: var(--bg-elevated, rgba(255,255,255,0.03)); }--.ai-tl-transcript { margin-top: 10px; max-height: 340px; overflow-y: auto; border: 1px solid var(--border, rgba(255,255,255,0.07)); border-radius: 10px; padding: 8px 12px; background: var(--bg-elevated, rgba(255,255,255,0.02)); }++.ai-tl-transcript-toggle { border-color: color-mix(in srgb, var(--text-muted) 30%, transparent); color: var(--text-secondary); background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 3%, transparent)); }++.ai-tl-transcript { margin-top: 10px; max-height: 340px; overflow-y: auto; border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 7%, transparent)); border-radius: 10px; padding: 8px 12px; background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 2%, transparent)); }.ai-tl-transcript[hidden] { display: none; }.ai-tl-ts:hover { text-decoration: underline; }.ai-tl-tr-text { color: var(--text-secondary); }@@@ -1261,10 +1261,10 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:/* Wide screens: the tabs sit in the main column (app-channel.js _placeBelowFold) and use its full width. */.channel-below-fold.is-in-main { padding: 4px 0 28px; }.channel-below-fold.is-in-main > .container { max-width: none; width: auto; margin: 0; padding: 0 18px; }--.ch-about-ai-toggle { display: flex; flex-direction: column; gap: 3px; margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; background: var(--bg-elevated, rgba(255,255,255,0.03)); border: 1px solid var(--border, rgba(255,255,255,0.07)); }++.ch-about-ai-toggle { display: flex; flex-direction: column; gap: 3px; margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 3%, transparent)); border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 7%, transparent)); }.ch-about-ai-hint { font-size: 0.78rem; }.ai-tl-side-label { font-size: 0.95rem; font-weight: 800; color: var(--text-primary); margin: 26px 0 14px; display: flex; align-items: center; gap: 9px; padding-bottom: 7px; border-bottom: 2px solid color-mix(in srgb, var(--accent, #8b5cf6) 30%, transparent); }--.ai-tl-subtabs { display: flex; gap: 6px; margin: 14px 0 16px; border-bottom: 1px solid var(--border, rgba(255,255,255,0.08)); }++.ai-tl-subtabs { display: flex; gap: 6px; margin: 14px 0 16px; border-bottom: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent)); }.ai-tl-subtab { font-size: 0.9rem; font-weight: 700; color: var(--text-muted); background: none; border: none; border-bottom: 2px solid transparent; padding: 8px 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; margin-bottom: -1px; transition: color var(--ov-dur-2, .15s); }.ai-tl-pane--hidden { display: none; }.ov-pip:hover { border-color: rgba(255, 255, 255, .38); }@@@ -1298,9 +1298,9 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:.ov-pip-resize { width: 26px; height: 26px; opacity: .8; }.ov-pip-bar { opacity: 1; pointer-events: auto; }}--.ai-tl-tr-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--border, rgba(255,255,255,0.07)); }++.ai-tl-tr-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 7%, transparent)); }.ai-tl-tr-filter { display: inline-flex; gap: 4px; }--.ai-tl-tr-filter button { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border, rgba(255,255,255,0.1)); background: transparent; color: var(--text-secondary); font-size: 0.75rem; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }++.ai-tl-tr-filter button { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent)); background: transparent; color: var(--text-secondary); font-size: 0.75rem; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }.ai-tl-tr-filter button span { font-size: 0.68rem; color: var(--text-muted); }.ai-tl-tr-filter button.active { background: color-mix(in srgb, var(--accent, #8b5cf6) 18%, transparent); border-color: var(--accent, #8b5cf6); color: var(--text-primary); }.ai-tl-tr-hint { font-size: 0.72rem; color: var(--text-muted); }@@@ -1308,7 +1308,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:.ai-tl-tr-sounds { align-items: center; padding: 2px 0; }.ai-tl-ts--sound { color: var(--text-muted); font-weight: 600; }.ai-tl-sound-strip { display: flex; flex-wrap: wrap; gap: 4px; }--.ai-tl-sound { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 999px; font-size: 0.7rem; color: var(--text-secondary); background: var(--bg-elevated, rgba(255,255,255,0.04)); border: 1px solid var(--border, rgba(255,255,255,0.07)); }++.ai-tl-sound { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 999px; font-size: 0.7rem; color: var(--text-secondary); background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 4%, transparent)); border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 7%, transparent)); }.ai-tl-transcript[data-filter="speech"] .ai-tl-tr-sounds { display: none; }.ai-tl-transcript[data-filter="sounds"] .ai-tl-tr-speech { display: none; }/* ── from i18n-star.css ── */@@@ -48,7 +48,7 @@.pc-connecting-head { font-size: 0.98rem; font-weight: 600; color: var(--text); display: inline-flex; align-items: center; gap: 10px; }.pc-manual { font-size: 0.82rem; color: var(--text-muted, #999); display: flex; align-items: center; gap: 8px; justify-content: center; flex-wrap: wrap; }.pc-copy-btn {-- background: rgba(255,255,255,0.06); border: 1px solid var(--border); color: var(--text-secondary);++ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent); border: 1px solid var(--border); color: var(--text-secondary);border-radius: 6px; padding: 3px 9px; font-size: 0.78rem; cursor: pointer; display: inline-flex; align-items: center; gap: 5px;transition: background var(--ov-dur-2, .15s), border-color var(--ov-dur-2, .15s);}@@@ -442,7 +442,7 @@display: flex;align-items: center;padding: 10px 0;-- border-bottom: 1px solid rgba(255, 255, 255, 0.04);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);gap: 12px;}@@@ -312,7 +312,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }color: var(--text-muted);white-space: nowrap;}--.home-about-toggle:hover { background: color-mix(in srgb, var(--accent) 26%, rgba(255,255,255,0.05)); border-color: var(--accent); }++.home-about-toggle:hover { background: color-mix(in srgb, var(--accent) 26%, color-mix(in srgb, var(--text-primary, #fff) 5%, transparent)); border-color: var(--accent); }.home-about-toggle:active { transform: translateY(1px); }.home-cta-banner.about-collapsed .home-about-body { max-height: 0; opacity: 0; margin: 0; }.home-about-toggle-more { display: none; align-items: center; gap: 8px; }@@@ -356,8 +356,8 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;margin: 4px 0 24px; text-align: left;}--.home-cta-feature:hover { transform: translateY(-3px); background: rgba(255,255,255,0.06); border-color: color-mix(in srgb, var(--accent) 35%, transparent); box-shadow: 0 12px 28px rgba(0,0,0,0.35); }--.home-cta-feature.feat-star { border-color: color-mix(in srgb, var(--accent) 30%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, transparent), rgba(255,255,255,0.02)); }++.home-cta-feature:hover { transform: translateY(-3px); background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent); border-color: color-mix(in srgb, var(--accent) 35%, transparent); box-shadow: 0 12px 28px rgba(0,0,0,0.35); }++.home-cta-feature.feat-star { border-color: color-mix(in srgb, var(--accent) 30%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, transparent), color-mix(in srgb, var(--text-primary, #fff) 2%, transparent)); }.home-cta-feature.feat-star::before { content: ''; position: absolute; top: 12px; right: 13px; width: 0.7rem; height: 0.7rem; background-color: var(--accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 3.2l2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.3l-5.3 2.9 1.2-5.9-4.4-4 5.9-.7Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 3.2l2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.3l-5.3 2.9 1.2-5.9-4.4-4 5.9-.7Z'/%3E%3C/svg%3E") center / contain no-repeat; opacity: 0.8; } /* the OpenVibe star, solid at this size */.home-cta-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }.cta-btn-glow::after {@@@ -436,7 +436,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }}.home-changelog {-- background: var(--bg-secondary, rgba(255,255,255,0.03));++ background: var(--bg-secondary, color-mix(in srgb, var(--text-primary, #fff) 3%, transparent));border: 1px solid var(--border);border-radius: 12px;padding: 14px 16px 10px;@@@ -743,7 +743,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }.home-cta-feature:hover > i:first-child { transform: scale(1.1) rotate(-5deg); background: color-mix(in srgb, var(--accent) 22%, transparent); }.cta-method::before, .home-cta-feature::after {content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;-- background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.06) 50%, transparent 60%);++ background: linear-gradient(105deg, transparent 40%, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent) 50%, transparent 60%);transform: translateX(-100%); opacity: 0;}.home-cta-feature { overflow: hidden; }@@@ -1182,7 +1182,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }.cta-btn-primary { background: var(--accent-strong, var(--accent, #3472d8)); color: var(--on-accent-strong, var(--on-accent, #fff));box-shadow: 0 10px 28px color-mix(in srgb, var(--accent, #3b82f6) 35%, transparent); }.cta-btn-primary:hover { filter: brightness(1.1); }--.cta-btn-ghost { color: #e8e6e3; background: rgba(255,255,255,0.04); border: 1px solid color-mix(in srgb, var(--accent, #3b82f6) 40%, transparent); }++.cta-btn-ghost { color: #e8e6e3; background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent); border: 1px solid color-mix(in srgb, var(--accent, #3b82f6) 40%, transparent); }.cta-btn-ghost:hover { background: color-mix(in srgb, var(--accent, #3b82f6) 14%, transparent); }.cta-checks { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; list-style: none; margin: 0 0 18px; padding: 0;font-size: 0.86rem; color: #bcbab6; }@@@ -232,7 +232,7 @@ a.rd-use:hover b { color: var(--accent); }/* Topics (/rundown/topics): a card's summary is a four-line teaser, and the topics after the first dozen fold undertheir count. */.rd-what-clip { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }--.rd-more { margin-top: 14px; border-radius: 14px; border: 1px solid var(--border, rgba(255,255,255,.1)); }++.rd-more { margin-top: 14px; border-radius: 14px; border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent)); }.rd-more > summary { padding: 14px 16px; cursor: pointer; font-weight: 700; list-style: none; display: flex; align-items: center; gap: 10px; }.rd-more > summary::-webkit-details-marker { display: none; }.rd-more > summary::before { content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(-45deg); transition: transform var(--ov-dur-2, .18s) var(--ov-ease-out, ease); }@@@ -11,7 +11,7 @@.ovp-head {display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px 6px;font-size: 0.74rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: rgba(255, 255, 255, 0.65);-- border-bottom: 1px solid rgba(255, 255, 255, 0.1);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent);}.ovp-total { display: inline-flex; align-items: center; gap: 6px; font-size: 0.9rem; letter-spacing: 0; text-transform: none; color: #fff; }.ovp-total b, .ovp-n { font-variant-numeric: tabular-nums; }@@@ -29,7 +29,7 @@.ovp-n.is-live { font-size: 0.72rem; font-weight: 700; color: #fca5a5; text-transform: uppercase; letter-spacing: 0.05em; }@media (prefers-reduced-motion: reduce) { .ovp { animation: none; } }/* A section under the places (the live studio's restreams): each with a state dot, and a way to manage them. */--.ovp-extra { margin-top: 4px; padding-top: 4px; border-top: 1px solid rgba(255, 255, 255, 0.1); }++.ovp-extra { margin-top: 4px; padding-top: 4px; border-top: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent); }.ovp-extra[hidden] { display: none; }.ovp-sub { padding: 4px 14px 0; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); }.ovp-sdot { width: 8px; height: 8px; border-radius: 50%; background: #9ca3af; }@@@ -41,6 +41,6 @@.ovp-action {display: block; width: calc(100% - 20px); margin: 6px 10px 2px; min-height: 36px; border-radius: 10px; cursor: pointer;font: inherit; font-size: 0.82rem; font-weight: 700; color: #fff;-- background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.14);++ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); border: 1px solid rgba(255, 255, 255, 0.14);}.ovp-action:hover, .ovp-action:focus-visible { background: rgba(255, 255, 255, 0.14); outline: none; }@@@ -50,7 +50,7 @@font: inherit; font-weight: 700; font-size: clamp(0.88rem, 1.6vw, 0.98rem); letter-spacing: 0.01em;color: var(--text-primary); text-decoration: none; cursor: pointer; overflow: hidden;background:-- linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0) 46%),++ linear-gradient(180deg, color-mix(in srgb, var(--text-primary, #fff) 7%, transparent), rgba(255,255,255,0) 46%),color-mix(in srgb, var(--c) 10%, var(--bg-card));border: 1px solid color-mix(in srgb, var(--c) 42%, var(--border));box-shadow: 0 2px 0 0 color-mix(in srgb, var(--c) 22%, transparent), 0 8px 20px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.09);@@@ -7,7 +7,7 @@.tour {position: relative; border-radius: 22px; padding: 24px 24px 22px; color: var(--text-primary); overflow: hidden;background: color-mix(in srgb, var(--bg-card) 62%, transparent);-- border: 1px solid rgba(255,255,255,0.08);++ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);box-shadow: 0 24px 60px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.06);/* No backdrop blur: it made this 1.2MP card its own layer re-blurring the page behind it. Thefill is opaque enough on its own. The blur was also the only thing making .tour a stacking@@@ -116,7 +116,7 @@.tour-features { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 20px 0 0; }.tour-feat { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; font-size: 0.76rem; font-weight: 700; color: var(--text-secondary);-- background: color-mix(in srgb, var(--bg-tertiary) 70%, transparent); border: 1px solid rgba(255,255,255,0.08); transition: color var(--ov-dur-2, 0.2s), border-color var(--ov-dur-2, 0.2s), transform var(--ov-dur-2, 0.2s);++ background: color-mix(in srgb, var(--bg-tertiary) 70%, transparent); border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); transition: color var(--ov-dur-2, 0.2s), border-color var(--ov-dur-2, 0.2s), transform var(--ov-dur-2, 0.2s);animation: tourPop var(--ov-dur-4, 0.5s) var(--ov-ease-spring, cubic-bezier(.2,1.5,.3,1)) both; animation-delay: calc(0.15s + var(--i, 0) * 55ms); }.tour-feat i { color: var(--accent-light, var(--accent)); }.tour-feat:hover { color: var(--text-primary); border-color: color-mix(in srgb, var(--accent) 50%, transparent); transform: translateY(-1px); }@@@ -209,7 +209,7 @@.ovg-quest-sheen {position: absolute; top: 0; bottom: 0; left: -40%; width: 32%; z-index: 1; pointer-events: none;-- background: linear-gradient(100deg, transparent, rgba(255,255,255,0.10), transparent);++ background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent), transparent);animation: questSheen 7s var(--ov-ease-in-out, ease-in-out) infinite;}@keyframes questSheen { 0%, 58% { transform: translateX(0); } 100% { transform: translateX(440%); } }@@@ -672,7 +672,7 @@white-space: nowrap;}.msg-thread-dropdown-item:hover {-- background: var(--bg-hover, rgba(255,255,255,0.06));++ background: var(--bg-hover, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent));}.msg-thread-dropdown-item.danger {color: #f38ba8;@@@ -169,7 +169,7 @@ html { -webkit-tap-highlight-color: transparent; }position: fixed; top: 0; left: 0; right: 0; z-index: 1000;height: var(--navbar-h);background: var(--glass);-- border-bottom: 1px solid rgba(255,255,255,0.06);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);display: flex; align-items: center;padding: 0 16px;gap: 16px;@@@ -235,8 +235,8 @@ body.ov-nav-overlay .navbar.ovnav-top {text-decoration: none;}.nav-link:hover {-- background: rgba(255,255,255,0.06);-- border-color: rgba(255,255,255,0.08);++ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);++ border-color: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);color: var(--text-primary);}.nav-link.active {@@@ -499,7 +499,7 @@ body.ov-nav-overlay .navbar.ovnav-top {font-size: 0.82rem; color: var(--text-secondary); margin: 3px 0 0;}.network-card:hover {-- background: rgba(255,255,255,0.06);++ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);border-color: var(--accent-dark);transform: translateY(-2px);box-shadow: 0 4px 20px rgba(0,0,0,0.3);@@@ -583,7 +583,7 @@ body.ov-nav-overlay .navbar.ovnav-top {gap: 4px;padding: 12px 14px;border-radius: var(--radius);-- background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));++ background: linear-gradient(180deg, color-mix(in srgb, var(--text-primary, #fff) 2%, transparent), color-mix(in srgb, var(--text-primary, #fff) 1%, transparent));border: 1px solid var(--border);}.openvibeapp-meta-label {@@@ -706,7 +706,7 @@ body.ov-nav-overlay .navbar.ovnav-top {padding: 12px 14px;border: 1px solid var(--border);border-radius: var(--radius-lg);-- background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));++ background: linear-gradient(180deg, color-mix(in srgb, var(--text-primary, #fff) 2%, transparent), color-mix(in srgb, var(--text-primary, #fff) 1%, transparent));}.media-filter-chip {display: inline-flex;@@@ -922,7 +922,7 @@ body.ov-nav-overlay .navbar.ovnav-top {font-size: 0.65rem;font-weight: 600;vertical-align: middle;-- background: rgba(255,255,255,.12);++ background: color-mix(in srgb, var(--text-primary, #fff) 12%, transparent);color: #fff;}/* On a thumbnail: a small round icon in the corner, not a purple label over the picture (owner, 2026-10-31: the@@@ -1313,7 +1313,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }.home-about-toggle {display: inline-flex; align-items: center; gap: 8px;margin: 6px auto 2px; padding: 9px 18px;-- background: color-mix(in srgb, var(--accent) 16%, rgba(255,255,255,0.04));++ background: color-mix(in srgb, var(--accent) 16%, color-mix(in srgb, var(--text-primary, #fff) 4%, transparent));border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);color: #f4f2ef; font-size: 0.86rem; font-weight: 700; letter-spacing: 0.01em;border-radius: 999px; cursor: pointer;@@@ -1369,7 +1369,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }.home-cta-banner .cta-method span,.home-cta-banner .home-cta-feature > span { color: #918f8b; }.home-cta-banner .cta-method span b { color: #d6d4d0; }--.home-cta-banner .btn-outline { color: #e8e6e3; border-color: color-mix(in srgb, var(--accent) 40%, transparent); background: rgba(255,255,255,0.03); }++.home-cta-banner .btn-outline { color: #e8e6e3; border-color: color-mix(in srgb, var(--accent) 40%, transparent); background: color-mix(in srgb, var(--text-primary, #fff) 3%, transparent); }.home-cta-banner .btn-outline:hover { background: color-mix(in srgb, var(--accent) 14%, transparent); border-color: var(--accent); color: #fff; }/* Eyebrow */@@@ -1409,8 +1409,8 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }/* Three streaming methods */.cta-method {position: relative; padding: 18px 18px 16px; border-radius: 14px;-- background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015));-- border: 1px solid rgba(255,255,255,0.08);++ background: linear-gradient(180deg, color-mix(in srgb, var(--text-primary, #fff) 4.5%, transparent), color-mix(in srgb, var(--text-primary, #fff) 1.5%, transparent));++ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);transition: transform var(--ov-dur-2, .18s) var(--ov-ease-out, ease), border-color var(--ov-dur-2, .18s) var(--ov-ease-out, ease), box-shadow var(--ov-dur-2, .18s) var(--ov-ease-out, ease);overflow: hidden;}@@@ -1424,8 +1424,8 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }.home-cta-feature {position: relative; display: flex; flex-direction: column; gap: 5px;padding: 16px 16px; border-radius: 13px;-- background: rgba(255,255,255,0.028);-- border: 1px solid rgba(255,255,255,0.07);++ background: color-mix(in srgb, var(--text-primary, #fff) 2.8%, transparent);++ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 7%, transparent);transition: transform var(--ov-dur-2, .16s) var(--ov-ease-out, ease), background var(--ov-dur-2, .16s) var(--ov-ease-out, ease), border-color var(--ov-dur-2, .16s) var(--ov-ease-out, ease), box-shadow var(--ov-dur-2, .16s) var(--ov-ease-out, ease);/* `both` holds the from-state (opacity 0) for the whole animation-delay, and a subtree whoserendering is skipped or deferred can sit in that state indefinitely — which is how a card@@@ -1672,7 +1672,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }align-items: flex-start;margin: 12px clamp(20px, 4vw, 42px) 0;padding: 26px 28px;-- border-top: 1px solid rgba(255,255,255,0.06);++ border-top: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);margin-bottom: 0;padding-bottom: clamp(28px, 5vw, 42px);}@@@ -1939,7 +1939,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }height: 10px;border-radius: 999px;overflow: hidden;-- background: rgba(255,255,255,0.07);++ background: color-mix(in srgb, var(--text-primary, #fff) 7%, transparent);box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);}@@@ -2007,7 +2007,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }padding: 11px 14px;font-size: 0.82rem;color: rgba(226, 232, 240, 0.88);-- border-bottom: 1px solid rgba(255,255,255,0.08);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);}.player-loader-diagnostics pre {@@@ -2348,8 +2348,8 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }box-shadow: 0 12px 28px rgba(0,0,0,0.35);}.fullscreen-chat-textarea {-- background: rgba(255,255,255,0.08);-- border-color: rgba(255,255,255,0.12);++ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);++ border-color: color-mix(in srgb, var(--text-primary, #fff) 12%, transparent);color: #fff;}.fullscreen-chat-textarea::placeholder {@@@ -2401,7 +2401,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }.control-keybind {position: absolute; top: 2px; right: 4px;font-size: 0.55rem; font-weight: 700;-- background: rgba(255,255,255,0.12); color: var(--text-secondary);++ background: color-mix(in srgb, var(--text-primary, #fff) 12%, transparent); color: var(--text-secondary);padding: 1px 4px; border-radius: 3px;line-height: 1.2; pointer-events: none;}@@@ -2602,7 +2602,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }/* Hide badges */.chat-hide-badges .chat-badge { display: none !important; }/* Alternating backgrounds */--.chat-alt-bg .chat-msg:nth-child(even) { background: rgba(255,255,255,0.02); border-radius: 2px; padding: 2px 4px; }++.chat-alt-bg .chat-msg:nth-child(even) { background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent); border-radius: 2px; padding: 2px 4px; }/* Hide system messages */.chat-hide-system .chat-msg.system { display: none !important; }/* "Show All Chats Under This Streamer" off → hide other slots' messages */@@@ -2746,7 +2746,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }}.chat-reply-bar-close:hover {color: var(--text-primary, #fff);-- background: rgba(255,255,255,0.08);++ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);}/* ── Reply flash (scroll-to highlight) ───────────────────── */@@@ -2831,7 +2831,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }overflow: hidden;border-radius: 12px;background: rgba(0,0,0,0.24);-- border: 1px solid rgba(255,255,255,0.08);++ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);}.gotti-card-media {background: rgba(0,0,0,0.25);@@@ -2901,7 +2901,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }/* ── Cross-feed messages (global/other streams in stream chat) ── */.chat-msg-crossfeed {-- border-left: 2px solid rgba(255,255,255,0.08);++ border-left: 2px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);padding-left: 6px;opacity: 0.85;}@@@ -3125,7 +3125,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }text-overflow: ellipsis;}.ac-item:hover, .ac-item.ac-selected {-- background: var(--bg-hover, rgba(255,255,255,0.08));++ background: var(--bg-hover, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent));}.ac-item.ac-selected {background: color-mix(in srgb, var(--accent-dark, #7c3aed) 25%, var(--bg-card, #1e1e2e));@@@ -3558,7 +3558,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }.aiv-status { font-size: 0.75rem; font-weight: 600; padding: 2px 8px; border-radius: 999px; }.aiv-status.ok { background: rgba(52,211,153,0.18); color: #34d399; }.aiv-status.off { background: rgba(148,148,148,0.18); color: #b0b0b0; }--.aiv-meter-bar { margin-top: 8px; height: 8px; border-radius: 999px; background: rgba(255,255,255,0.08); overflow: hidden; }++.aiv-meter-bar { margin-top: 8px; height: 8px; border-radius: 999px; background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); overflow: hidden; }.aiv-meter-fill { height: 100%; background: linear-gradient(90deg, #4ecdc4, #60a5fa); transition: width var(--ov-dur-3, 0.3s); }.aiv-meter-fill.over { background: linear-gradient(90deg, #fb923c, #ff6b6b); }@@@ -4411,13 +4411,13 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b}.live-tab.active {color: var(--text-primary); font-weight: 600;-- background: rgba(255,255,255,0.03);++ background: color-mix(in srgb, var(--text-primary, #fff) 3%, transparent);border-bottom-color: var(--accent);}.live-tab-num {font-size: 0.62rem; font-weight: 700;color: var(--text-muted);-- background: rgba(255,255,255,0.06);++ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);width: 18px; height: 18px; border-radius: 50%;display: flex; align-items: center; justify-content: center;flex-shrink: 0; line-height: 1;@@@ -4461,7 +4461,7 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .bwidth: 58px;height: 58px;border-radius: 50%;-- background: linear-gradient(140deg, color-mix(in srgb, var(--accent) 82%, white 8%), rgba(255,255,255,0.08));++ background: linear-gradient(140deg, color-mix(in srgb, var(--accent) 82%, white 8%), color-mix(in srgb, var(--text-primary, #fff) 8%, transparent));box-shadow:0 0 0 1px rgba(255,255,255,0.1),0 18px 32px rgba(0,0,0,0.3),@@@ -4486,7 +4486,7 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b}.ch-hs-badge strong { font-weight: 800; }.ch-hs-badge i { font-size: 0.7rem; }--.ch-restream-badge:hover { background: rgba(255, 255, 255, 0.12); filter: brightness(1.3); }++.ch-restream-badge:hover { background: color-mix(in srgb, var(--text-primary, #fff) 12%, transparent); filter: brightness(1.3); }.ch-restream-badge i { font-size: 0.7rem; }@keyframes pulse-live {0%, 100% { opacity: 1; }@@@ -4810,7 +4810,7 @@ button.uai-tl-more { background: none; border: none; cursor: pointer; padding: 0/* "Also live:" hop bar above chat */.chat-stream-hops {display: flex; flex-wrap: wrap; align-items: center; gap: 6px;-- padding: 6px 10px; border-bottom: 1px solid var(--border, rgba(255,255,255,0.1));++ padding: 6px 10px; border-bottom: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent));background: color-mix(in srgb, var(--accent) 8%, transparent);font-size: 0.78rem;}@@@ -4896,7 +4896,7 @@ button.uai-tl-more { background: none; border: none; cursor: pointer; padding: 0.clip-time-display {font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums;padding: 4px 10px; min-width: 60px; text-align: center;-- background: rgba(255,255,255,0.05); border-radius: 8px;++ background: color-mix(in srgb, var(--text-primary, #fff) 5%, transparent); border-radius: 8px;}/* Duration display */@@@ -4933,7 +4933,7 @@ button.uai-tl-more { background: none; border: none; cursor: pointer; padding: 0border-bottom: 1px solid var(--border);transition: background var(--ov-dur-2, 0.15s) var(--ov-ease-out, ease);}--.comment-item:hover { background: rgba(255,255,255,0.02); }++.comment-item:hover { background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent); }.comment-item:last-child { border-bottom: none; }.comment-avatar {@@@ -5606,7 +5606,7 @@ body.theme-light .btn-outline:hover {transition: background var(--ov-dur-1, 0.12s);}.call-peer-menu-item:hover {-- background: var(--bg-tertiary, rgba(255,255,255,0.05));++ background: var(--bg-tertiary, color-mix(in srgb, var(--text-primary, #fff) 5%, transparent));}.call-peer-menu-item i {width: 16px;@@@ -5858,7 +5858,7 @@ body.theme-light .btn-outline:hover {margin-top: 8px;font-size: 0.76rem;color: var(--text-secondary, #aaa);-- background: rgba(255,255,255,0.04);++ background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);border: 1px solid var(--border);border-radius: var(--radius);padding: 6px 8px;@@@ -5966,7 +5966,7 @@ body.theme-light .btn-outline:hover {transition: background var(--ov-dur-2, 0.15s);}.update-entry:hover {-- background: var(--bg-tertiary, rgba(255,255,255,0.04));++ background: var(--bg-tertiary, color-mix(in srgb, var(--text-primary, #fff) 4%, transparent));}.update-hash {font-family: 'JetBrains Mono', 'Fira Code', monospace;@@@ -6694,7 +6694,7 @@ textarea.paste-textarea {}.screenshot-format-tag {font-size: 0.7rem;-- background: var(--bg-secondary, rgba(255,255,255,0.06));++ background: var(--bg-secondary, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent));border: 1px solid var(--border);border-radius: 6px;padding: 2px 8px;@@@ -6908,7 +6908,7 @@ textarea.paste-textarea {cursor: not-allowed;}.vc-ctrl-btn:hover {-- background: var(--bg-hover, rgba(255,255,255,0.1));++ background: var(--bg-hover, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent));transform: scale(1.08);}.vc-ctrl-btn.active {@@@ -7083,7 +7083,7 @@ textarea.paste-textarea {align-items: center;justify-content: center;color: var(--text-secondary);-- background: rgba(255, 255, 255, 0.08);++ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);}.vc-call-heading {margin-top: 16px;@@@ -7181,7 +7181,7 @@ textarea.paste-textarea {border-radius: 10px;padding: 8px 10px;font-weight: 600;-- background: rgba(255, 255, 255, 0.08);++ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);color: var(--text-primary);display: inline-flex;align-items: center;@@@ -7990,7 +7990,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fajustify-content: space-between;gap: 10px;padding: 8px 0;-- border-bottom: 1px solid rgba(255, 255, 255, 0.05);++ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 5%, transparent);font-size: 0.86rem;color: var(--text-secondary);}@@@ -8802,7 +8802,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fa.paste-ai-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }.paste-ai-tag {font-size: 0.74rem; padding: 2px 9px; border-radius: 12px;-- background: rgba(255,255,255,0.08); color: var(--text-secondary, #bbb);++ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); color: var(--text-secondary, #bbb);}/* ═══ Stream header polish (avatar image, larger title/desc, link) ═══ */@@@ -9158,7 +9158,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fatransition: transform var(--ov-dur-1, .12s) var(--ov-ease-out, ease), box-shadow var(--ov-dur-1, .12s) var(--ov-ease-out, ease);}.cgw-goal:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,.35); }--.cgw-goal.has-img { border-color: rgba(255,255,255,.08); }++.cgw-goal.has-img { border-color: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); }.cgw-media {position: absolute; inset: 0; width: 100%; height: 100%;object-fit: cover; object-position: right center;@@@ -9263,7 +9263,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fa.ai-tl-session-title a { color: var(--text-primary); text-decoration: none; }.ai-tl-session-title a:hover { color: var(--accent, #8b5cf6); }.ai-tl-session-meta i { opacity: 0.75; }--.ai-tl-moment { display: flex; gap: 10px; padding: 8px; border-radius: 10px; background: var(--bg-elevated, rgba(255,255,255,0.03)); border: 1px solid var(--border, rgba(255,255,255,0.06)); }++.ai-tl-moment { display: flex; gap: 10px; padding: 8px; border-radius: 10px; background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 3%, transparent)); border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent)); }.ai-tl-moment-body { min-width: 0; display: flex; flex-direction: column; gap: 4px; }.ai-tl-empty i { font-size: 2rem; color: color-mix(in srgb, var(--accent, #8b5cf6) 60%, transparent); margin-bottom: 12px; }.ai-tl-empty p { margin: 4px 0; }@@@ -9962,7 +9962,7 @@ body.ov-panel-open #floating-chat-fab { opacity: 0; pointer-events: none; transf.openvibe-navbar.navbar {position: fixed; top: 0; left: 0; right: 0; z-index: 1000;height: var(--navbar-h); padding: 0 clamp(10px, 2vw, 16px); gap: clamp(6px, 1.2vw, 14px);-- background: var(--glass); border-bottom: 1px solid rgba(255,255,255,0.06);++ background: var(--glass); border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);--ovnav-h: var(--navbar-h);}@@@ -169,7 +169,7 @@font-size: 0.88rem;}.strike-table th {-- background: rgba(255,255,255,0.04);++ background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);color: var(--muted);text-align: left;padding: 8px 12px;
@@ -40,7 +40,7 @@
@@ -40,7 +40,7 @@
/* What happened — lines land one after another like messages */
/* What happened — lines land one after another like messages */
.story { display: grid; gap: 10px; max-width: 640px; margin: 0 auto 24px; text-align: left; }
.story { display: grid; gap: 10px; max-width: 640px; margin: 0 auto 24px; text-align: left; }
- .msg { position: relative; padding: 12px 16px; border-radius: 16px 16px 16px 4px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); color: #f3efec; font-size: clamp(1rem, 2.8vw, 1.15rem); line-height: 1.45; font-weight: 600;
+ .msg { position: relative; padding: 12px 16px; border-radius: 16px 16px 16px 4px; background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent); border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent); color: #f3efec; font-size: clamp(1rem, 2.8vw, 1.15rem); line-height: 1.45; font-weight: 600;
opacity: 0; transform: translateX(-24px) scale(0.98); animation: land var(--ov-dur-4, 0.55s) var(--ov-ease-out, cubic-bezier(.2,.9,.3,1.2)) forwards; animation-delay: var(--d); }
opacity: 0; transform: translateX(-24px) scale(0.98); animation: land var(--ov-dur-4, 0.55s) var(--ov-ease-out, cubic-bezier(.2,.9,.3,1.2)) forwards; animation-delay: var(--d); }
.msg.hot { background: rgba(231,76,60,0.16); border-color: rgba(231,76,60,0.55); color: #fff; }
.msg.hot { background: rgba(231,76,60,0.16); border-color: rgba(231,76,60,0.55); color: #fff; }
.msg.hot::before { content: ''; position: absolute; inset: -1px; border-radius: inherit; animation: ring 1.6s var(--ov-ease-out, ease-out) 1; animation-delay: calc(var(--d) + 0.3s); pointer-events: none; }
.msg.hot::before { content: ''; position: absolute; inset: -1px; border-radius: inherit; animation: ring 1.6s var(--ov-ease-out, ease-out) 1; animation-delay: calc(var(--d) + 0.3s); pointer-events: none; }
@@ -14,8 +14,8 @@
@@ -14,8 +14,8 @@
.broadcast-page-tabs-nav {
.broadcast-page-tabs-nav {
position: relative;
position: relative;
padding: 0 16px;
padding: 0 16px;
- border-bottom: 1px solid rgba(255,255,255,0.08);
- background: rgba(255,255,255,0.02);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
+ background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent);
}
}
.broadcast-page-tab-btn {
.broadcast-page-tab-btn {
@@ -59,7 +59,7 @@
@@ -59,7 +59,7 @@
.bc-tab-header {
.bc-tab-header {
margin-bottom: 24px;
margin-bottom: 24px;
padding-bottom: 16px;
padding-bottom: 16px;
- border-bottom: 1px solid rgba(255,255,255,0.08);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
}
}
.bc-tab-header h2 {
.bc-tab-header h2 {
@@ -109,7 +109,7 @@
@@ -109,7 +109,7 @@
position: absolute;
position: absolute;
top: 16px;
top: 16px;
right: 16px;
right: 16px;
- background: rgba(255,255,255,0.1);
+ background: color-mix(in srgb, var(--text-primary, #fff) 10%, transparent);
border: none;
border: none;
width: 40px;
width: 40px;
height: 40px;
height: 40px;
@@ -336,7 +336,7 @@
@@ -336,7 +336,7 @@
padding: 14px;
padding: 14px;
border: 1px dashed var(--border);
border: 1px dashed var(--border);
border-radius: var(--radius);
border-radius: var(--radius);
- background: rgba(255,255,255,0.02);
+ background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent);
}
}
/* ── Screen Capture Source Picker ────────────────────────────── */
/* ── Screen Capture Source Picker ────────────────────────────── */
@@ -367,7 +367,7 @@
@@ -367,7 +367,7 @@
.bc-screen-advanced {
.bc-screen-advanced {
border: 1px solid var(--border);
border: 1px solid var(--border);
border-radius: var(--radius, 8px);
border-radius: var(--radius, 8px);
- background: rgba(255,255,255,0.02);
+ background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent);
padding: 0;
padding: 0;
}
}
@@ -548,8 +548,8 @@
@@ -548,8 +548,8 @@
text-align: left;
text-align: left;
padding: 14px 16px;
padding: 14px 16px;
border-radius: 18px;
border-radius: 18px;
- border: 1px solid rgba(255,255,255,0.08);
- background: rgba(255,255,255,0.04);
+ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
+ background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);
color: var(--text-primary);
color: var(--text-primary);
display: flex;
display: flex;
align-items: center;
align-items: center;
@@ -774,7 +774,7 @@
@@ -774,7 +774,7 @@
width: 100%;
width: 100%;
height: 400px;
height: 400px;
flex-shrink: 0;
flex-shrink: 0;
- border-top: 1px solid rgba(255,255,255,0.06);
+ border-top: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
border-left: none;
border-left: none;
}
}
}
}
@@ -807,7 +807,7 @@
@@ -807,7 +807,7 @@
width: 100%; height: 55vh;
width: 100%; height: 55vh;
max-height: 55vh;
max-height: 55vh;
max-height: 55dvh;
max-height: 55dvh;
- border-top: 1px solid rgba(255,255,255,0.06);
+ border-top: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
border-left: none;
border-left: none;
background: var(--bg-secondary);
background: var(--bg-secondary);
z-index: 1002;
z-index: 1002;
@@ -1220,7 +1220,7 @@
@@ -1220,7 +1220,7 @@
gap: 12px;
gap: 12px;
margin: 20px 0 14px;
margin: 20px 0 14px;
padding-bottom: 10px;
padding-bottom: 10px;
- border-bottom: 1px solid rgba(255,255,255,0.06);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
}
}
.bc-step-header:first-of-type {
.bc-step-header:first-of-type {
@@ -1299,7 +1299,7 @@
@@ -1299,7 +1299,7 @@
color: var(--text-secondary);
color: var(--text-secondary);
margin-top: 6px;
margin-top: 6px;
padding-top: 6px;
padding-top: 6px;
- border-top: 1px solid rgba(255,255,255,0.06);
+ border-top: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
line-height: 1.3;
line-height: 1.3;
}
}
@@ -1358,7 +1358,7 @@
@@ -1358,7 +1358,7 @@
margin-top: 16px;
margin-top: 16px;
border: 1px solid var(--border);
border: 1px solid var(--border);
border-radius: var(--radius);
border-radius: var(--radius);
- background: var(--bg-tertiary, rgba(255,255,255,0.02));
+ background: var(--bg-tertiary, color-mix(in srgb, var(--text-primary, #fff) 2%, transparent));
overflow: hidden;
overflow: hidden;
}
}
@@ -1446,7 +1446,7 @@
@@ -1446,7 +1446,7 @@
font-size: 0.8rem;
font-size: 0.8rem;
color: var(--text-primary);
color: var(--text-primary);
padding: 8px 10px;
padding: 8px 10px;
- background: rgba(255,255,255,0.03);
+ background: color-mix(in srgb, var(--text-primary, #fff) 3%, transparent);
border-radius: var(--radius-sm, 4px);
border-radius: var(--radius-sm, 4px);
border-left: 3px solid var(--accent);
border-left: 3px solid var(--accent);
margin: 0;
margin: 0;
@@ -1461,7 +1461,7 @@
@@ -1461,7 +1461,7 @@
/* ── FAQ Items ───────────────────────────────────────────────── */
/* ── FAQ Items ───────────────────────────────────────────────── */
.bc-faq-item {
.bc-faq-item {
padding: 12px 0;
padding: 12px 0;
- border-bottom: 1px solid rgba(255,255,255,0.04);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);
}
}
.bc-faq-item:last-child {
.bc-faq-item:last-child {
@@ -1858,7 +1858,7 @@
@@ -1858,7 +1858,7 @@
.bc-perm-note i { margin-top: 2px; opacity: .8; flex-shrink: 0; }
.bc-perm-note i { margin-top: 2px; opacity: .8; flex-shrink: 0; }
.bc-perm-step span {
.bc-perm-step span {
flex-shrink: 0; width: 21px; height: 21px; border-radius: 50%;
flex-shrink: 0; width: 21px; height: 21px; border-radius: 50%;
- background: rgba(255,255,255,.09); display: grid; place-items: center;
+ background: color-mix(in srgb, var(--text-primary, #fff) 9%, transparent); display: grid; place-items: center;
font-size: .72rem; font-weight: 700;
font-size: .72rem; font-weight: 700;
}
}
.bc-perm-step p { margin: 0; font-size: .85rem; line-height: 1.45; color: var(--text-muted, #9aa3b2); }
.bc-perm-step p { margin: 0; font-size: .85rem; line-height: 1.45; color: var(--text-muted, #9aa3b2); }
@@ -441,8 +441,8 @@
@@ -441,8 +441,8 @@
}
}
.bc-settings-group {
.bc-settings-group {
- background: rgba(255,255,255,0.02);
- border: 1px solid rgba(255,255,255,0.08);
+ background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent);
+ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
border-radius: 12px;
border-radius: 12px;
padding: 20px;
padding: 20px;
}
}
@@ -499,7 +499,7 @@
@@ -499,7 +499,7 @@
@keyframes bcStatsIn { from { opacity: 0; transform: translateY(-4px); } }
@keyframes bcStatsIn { from { opacity: 0; transform: translateY(-4px); } }
#bc-stats-overlay .bc-stats-head {
#bc-stats-overlay .bc-stats-head {
grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; margin-bottom: 3px; padding-bottom: 8px;
grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; margin-bottom: 3px; padding-bottom: 8px;
- border-bottom: 1px solid rgba(255, 255, 255, 0.1); font-weight: 700;
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent); font-weight: 700;
}
}
#bc-stats-overlay .bc-stats-title { flex: 1; }
#bc-stats-overlay .bc-stats-title { flex: 1; }
#bc-stats-overlay .bc-stats-dot { width: 8px; height: 8px; border-radius: 50%; background: #9ca3af; }
#bc-stats-overlay .bc-stats-dot { width: 8px; height: 8px; border-radius: 50%; background: #9ca3af; }
@@ -541,7 +541,7 @@
@@ -541,7 +541,7 @@
padding: 16px;
padding: 16px;
border: 1px dashed var(--border);
border: 1px dashed var(--border);
border-radius: var(--radius);
border-radius: var(--radius);
- background: rgba(255,255,255,0.02);
+ background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent);
margin-bottom: 8px;
margin-bottom: 8px;
}
}
@@ -570,7 +570,7 @@
@@ -570,7 +570,7 @@
align-items: center;
align-items: center;
gap: 3px;
gap: 3px;
padding: 10px 6px 8px;
padding: 10px 6px 8px;
- background: var(--surface, rgba(255,255,255,0.04));
+ background: var(--surface, color-mix(in srgb, var(--text-primary, #fff) 4%, transparent));
border: 2px solid var(--border);
border: 2px solid var(--border);
border-radius: var(--radius, 8px);
border-radius: var(--radius, 8px);
color: var(--text-secondary);
color: var(--text-secondary);
@@ -583,7 +583,7 @@
@@ -583,7 +583,7 @@
.bc-source-btn:hover {
.bc-source-btn:hover {
border-color: var(--accent);
border-color: var(--accent);
- background: rgba(255,255,255,0.06);
+ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
}
}
.bc-source-btn.selected {
.bc-source-btn.selected {
@@ -600,7 +600,7 @@
@@ -600,7 +600,7 @@
.bc-controls {
.bc-controls {
padding: 16px;
padding: 16px;
overflow-y: auto;
overflow-y: auto;
- background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent 65%);
+ background: linear-gradient(180deg, color-mix(in srgb, var(--text-primary, #fff) 2%, transparent), transparent 65%);
}
}
.bc-ctrl-buttons {
.bc-ctrl-buttons {
@@ -675,15 +675,15 @@
@@ -675,15 +675,15 @@
justify-content: space-between;
justify-content: space-between;
gap: 16px;
gap: 16px;
padding: 18px 18px 14px;
padding: 18px 18px 14px;
- border-bottom: 1px solid rgba(255,255,255,0.06);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
}
}
.bc-camera-sheet-close {
.bc-camera-sheet-close {
width: 40px;
width: 40px;
height: 40px;
height: 40px;
border-radius: 999px;
border-radius: 999px;
- border: 1px solid rgba(255,255,255,0.1);
- background: rgba(255,255,255,0.04);
+ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent);
+ background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);
color: var(--text-primary);
color: var(--text-primary);
display: inline-flex;
display: inline-flex;
align-items: center;
align-items: center;
@@ -693,7 +693,7 @@
@@ -693,7 +693,7 @@
}
}
.bc-camera-sheet-close:hover {
.bc-camera-sheet-close:hover {
- background: rgba(255,255,255,0.08);
+ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
border-color: rgba(255,255,255,0.18);
border-color: rgba(255,255,255,0.18);
}
}
@@ -960,7 +960,7 @@
@@ -960,7 +960,7 @@
display: flex;
display: flex;
align-items: center;
align-items: center;
padding: 8px 0;
padding: 8px 0;
- border-bottom: 1px solid rgba(255, 255, 255, 0.04);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);
gap: 12px;
gap: 12px;
}
}
@@ -2346,14 +2346,14 @@
@@ -2346,14 +2346,14 @@
}
}
.bc-perm-icon.is-blocked { background: linear-gradient(135deg, #ef4444, #b91c1c); }
.bc-perm-icon.is-blocked { background: linear-gradient(135deg, #ef4444, #b91c1c); }
.bc-perm-mock {
.bc-perm-mock {
- border: 1px solid var(--border, rgba(255,255,255,.10));
+ border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent));
border-radius: 10px; overflow: hidden; margin-bottom: 12px;
border-radius: 10px; overflow: hidden; margin-bottom: 12px;
- background: rgba(255,255,255,.03);
+ background: color-mix(in srgb, var(--text-primary, #fff) 3%, transparent);
}
}
.bc-perm-mock-bar {
.bc-perm-mock-bar {
display: flex; align-items: center; gap: 7px;
display: flex; align-items: center; gap: 7px;
padding: 7px 10px; font-size: .78rem; color: var(--text-muted, #9aa3b2);
padding: 7px 10px; font-size: .78rem; color: var(--text-muted, #9aa3b2);
- background: rgba(255,255,255,.05); border-bottom: 1px solid var(--border, rgba(255,255,255,.08));
+ background: color-mix(in srgb, var(--text-primary, #fff) 5%, transparent); border-bottom: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent));
}
}
.bc-perm-mock-pop { padding: 12px 12px 13px; }
.bc-perm-mock-pop { padding: 12px 12px 13px; }
.bc-perm-mock-btns { display: flex; gap: 8px; justify-content: flex-end; }
.bc-perm-mock-btns { display: flex; gap: 8px; justify-content: flex-end; }
@@ -2376,7 +2376,7 @@
@@ -2376,7 +2376,7 @@
.bc-mic-meter-wrap { margin-top: 7px; }
.bc-mic-meter-wrap { margin-top: 7px; }
.bc-mic-meter {
.bc-mic-meter {
width: 100%; height: 22px; display: block;
width: 100%; height: 22px; display: block;
- border-radius: 5px; background: rgba(255,255,255,.05);
+ border-radius: 5px; background: color-mix(in srgb, var(--text-primary, #fff) 5%, transparent);
}
}
.bc-mic-meter-status { font-size: .76rem; color: var(--text-muted, #9aa3b2); margin-top: 4px; display: block; }
.bc-mic-meter-status { font-size: .76rem; color: var(--text-muted, #9aa3b2); margin-top: 4px; display: block; }
.bc-mic-meter-status.is-good { color: #22c55e; }
.bc-mic-meter-status.is-good { color: #22c55e; }
@@ -2386,7 +2386,7 @@
@@ -2386,7 +2386,7 @@
.bc-cap-row {
.bc-cap-row {
display: flex; align-items: center; gap: 11px;
display: flex; align-items: center; gap: 11px;
padding: 8px 11px; border-radius: 8px;
padding: 8px 11px; border-radius: 8px;
- background: rgba(255,255,255,.035);
+ background: color-mix(in srgb, var(--text-primary, #fff) 3.5%, transparent);
border: 1px solid transparent;
border: 1px solid transparent;
}
}
.bc-cap-row.is-on { border-color: rgba(34,197,94,.28); background: rgba(34,197,94,.07); }
.bc-cap-row.is-on { border-color: rgba(34,197,94,.28); background: rgba(34,197,94,.07); }
@@ -2652,7 +2652,7 @@ body.bc-studio-on .toast-container { z-index: 1500; }
@@ -2652,7 +2652,7 @@ body.bc-studio-on .toast-container { z-index: 1500; }
.bcs-cam {
.bcs-cam {
display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px; border-radius: 14px; text-align: left;
display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px; border-radius: 14px; text-align: left;
font: inherit; font-size: 0.92rem; font-weight: 700; color: #fff; cursor: pointer;
font: inherit; font-size: 0.92rem; font-weight: 700; color: #fff; cursor: pointer;
- background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.12);
+ background: color-mix(in srgb, var(--text-primary, #fff) 7%, transparent); border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 12%, transparent);
}
}
.bcs-cam span { flex: 1; }
.bcs-cam span { flex: 1; }
.bcs-cam > i:first-child { width: 18px; text-align: center; color: rgba(255, 255, 255, 0.7); }
.bcs-cam > i:first-child { width: 18px; text-align: center; color: rgba(255, 255, 255, 0.7); }
@@ -2725,23 +2725,23 @@ body.bc-studio-on #bc-chat-messages .chat-conn-status { display: block !importan
@@ -2725,23 +2725,23 @@ body.bc-studio-on #bc-chat-messages .chat-conn-status { display: block !importan
.bcs-sheet-who { flex: 1; min-width: 0; display: grid; }
.bcs-sheet-who { flex: 1; min-width: 0; display: grid; }
.bcs-sheet-who b { font-size: 1.02rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bcs-sheet-who b { font-size: 1.02rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bcs-sheet-who small, .bcs-row small, .bcs-tile small { color: var(--text-secondary, #a1a1aa); font-size: 0.76rem; }
.bcs-sheet-who small, .bcs-row small, .bcs-tile small { color: var(--text-secondary, #a1a1aa); font-size: 0.76rem; }
-.bcs-x { width: 40px; height: 40px; flex: none; border-radius: 50%; border: 0; background: var(--surface-raised, rgba(255,255,255,0.08)); color: inherit; cursor: pointer; }
+.bcs-x { width: 40px; height: 40px; flex: none; border-radius: 50%; border: 0; background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent)); color: inherit; cursor: pointer; }
.bcs-chip {
.bcs-chip {
display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: 999px; cursor: pointer;
display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: 999px; cursor: pointer;
- border: 1px solid var(--border, rgba(255,255,255,0.14)); background: var(--surface-raised, rgba(255,255,255,0.06));
+ border: 1px solid var(--border, rgba(255,255,255,0.14)); background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent));
color: inherit; font: inherit; font-weight: 600; font-size: 0.88rem;
color: inherit; font: inherit; font-weight: 600; font-size: 0.88rem;
}
}
.bcs-chip-strong { background: var(--accent-strong, #2563eb); color: var(--on-accent-strong, #fff); border-color: transparent; }
.bcs-chip-strong { background: var(--accent-strong, #2563eb); color: var(--on-accent-strong, #fff); border-color: transparent; }
.bcs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.bcs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.bcs-tile {
.bcs-tile {
display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 82px; padding: 10px 6px;
display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 82px; padding: 10px 6px;
- border-radius: 14px; border: 1px solid var(--border, rgba(255,255,255,0.08)); background: var(--surface-raised, rgba(255,255,255,0.05));
+ border-radius: 14px; border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent)); background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 5%, transparent));
color: inherit; font: inherit; font-size: 0.8rem; font-weight: 600; line-height: 1.2; text-align: center; cursor: pointer;
color: inherit; font: inherit; font-size: 0.8rem; font-weight: 600; line-height: 1.2; text-align: center; cursor: pointer;
}
}
.bcs-tile i { font-size: 1.15rem; color: var(--accent, #60a5fa); }
.bcs-tile i { font-size: 1.15rem; color: var(--accent, #60a5fa); }
.bcs-row {
.bcs-row {
display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding: 12px;
display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding: 12px;
- border-radius: 14px; border: 1px solid var(--border, rgba(255,255,255,0.08));
+ border-radius: 14px; border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent));
}
}
.bcs-row > div:first-child { display: grid; gap: 2px; min-width: 0; }
.bcs-row > div:first-child { display: grid; gap: 2px; min-width: 0; }
.bcs-row-acts { display: flex; gap: 6px; flex: none; }
.bcs-row-acts { display: flex; gap: 6px; flex: none; }
@@ -2758,7 +2758,7 @@ body.bc-studio-on #bc-chat-messages .chat-conn-status { display: block !importan
@@ -2758,7 +2758,7 @@ body.bc-studio-on #bc-chat-messages .chat-conn-status { display: block !importan
.bcs-video-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.bcs-video-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.bcs-video-head h3 { margin: 0; }
.bcs-video-head h3 { margin: 0; }
.bcs-video-now { color: var(--text-secondary, #a1a1aa); font-size: 0.76rem; font-variant-numeric: tabular-nums; text-align: right; }
.bcs-video-now { color: var(--text-secondary, #a1a1aa); font-size: 0.76rem; font-variant-numeric: tabular-nums; text-align: right; }
-.bcs-seg { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; padding: 4px; margin-bottom: 8px; border-radius: 12px; background: var(--surface-raised, rgba(255,255,255,0.05)); }
+.bcs-seg { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; padding: 4px; margin-bottom: 8px; border-radius: 12px; background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 5%, transparent)); }
.bcs-seg-b {
.bcs-seg-b {
min-height: 40px; border: 0; border-radius: 9px; background: none; color: inherit; cursor: pointer;
min-height: 40px; border: 0; border-radius: 9px; background: none; color: inherit; cursor: pointer;
font: inherit; font-size: 0.86rem; font-weight: 700;
font: inherit; font-size: 0.86rem; font-weight: 700;
@@ -2768,7 +2768,7 @@ body.bc-studio-on #bc-chat-messages .chat-conn-status { display: block !importan
@@ -2768,7 +2768,7 @@ body.bc-studio-on #bc-chat-messages .chat-conn-status { display: block !importan
.bcs-video .bcs-row { margin-top: 4px; }
.bcs-video .bcs-row { margin-top: 4px; }
.bcs-switch {
.bcs-switch {
position: relative; flex: none; width: 52px; height: 32px; padding: 0; border-radius: 999px; cursor: pointer;
position: relative; flex: none; width: 52px; height: 32px; padding: 0; border-radius: 999px; cursor: pointer;
- border: 1px solid var(--border, rgba(255,255,255,0.18)); background: var(--surface-raised, rgba(255,255,255,0.1));
+ border: 1px solid var(--border, rgba(255,255,255,0.18)); background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent));
}
}
.bcs-switch-k { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: transform var(--ov-dur-2, 0.15s); }
.bcs-switch-k { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: transform var(--ov-dur-2, 0.15s); }
.bcs-switch[aria-checked="true"] { background: #16a34a; border-color: transparent; }
.bcs-switch[aria-checked="true"] { background: #16a34a; border-color: transparent; }
@@ -2866,7 +2866,7 @@ body.bc-golive-dock-on #page-broadcast { padding-bottom: calc(104px + var(--ovna
@@ -2866,7 +2866,7 @@ body.bc-golive-dock-on #page-broadcast { padding-bottom: calc(104px + var(--ovna
.bc-clip-name-acts { display: flex; gap: 8px; justify-content: flex-end; }
.bc-clip-name-acts { display: flex; gap: 8px; justify-content: flex-end; }
.bc-clip-name-acts button {
.bc-clip-name-acts button {
min-height: 40px; padding: 0 16px; border-radius: 999px; cursor: pointer; font: inherit; font-weight: 700; font-size: 0.9rem;
min-height: 40px; padding: 0 16px; border-radius: 999px; cursor: pointer; font: inherit; font-weight: 700; font-size: 0.9rem;
- border: 1px solid var(--border, rgba(255,255,255,0.16)); background: var(--surface-raised, rgba(255,255,255,0.06)); color: inherit;
+ border: 1px solid var(--border, rgba(255,255,255,0.16)); background: var(--surface-raised, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent)); color: inherit;
}
}
.bc-clip-name-acts .bc-clip-name-save { background: var(--accent-strong, #2563eb); color: var(--on-accent-strong, #fff); border-color: transparent; }
.bc-clip-name-acts .bc-clip-name-save { background: var(--accent-strong, #2563eb); color: var(--on-accent-strong, #fff); border-color: transparent; }
.bc-clip-name-acts button:disabled { opacity: 0.6; cursor: default; }
.bc-clip-name-acts button:disabled { opacity: 0.6; cursor: default; }
@@ -3119,7 +3119,7 @@ body.bc-golive-dock-on #page-broadcast { padding-bottom: calc(104px + var(--ovna
@@ -3119,7 +3119,7 @@ body.bc-golive-dock-on #page-broadcast { padding-bottom: calc(104px + var(--ovna
.bcs-gl-dot::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid var(--live-red, #ef4444); animation: bcs-gl-ping 1.4s var(--ov-ease-out, ease-out) infinite; }
.bcs-gl-dot::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid var(--live-red, #ef4444); animation: bcs-gl-ping 1.4s var(--ov-ease-out, ease-out) infinite; }
@keyframes bcs-gl-ping { from { transform: scale(.5); opacity: .9; } to { transform: scale(1.6); opacity: 0; } }
@keyframes bcs-gl-ping { from { transform: scale(.5); opacity: .9; } to { transform: scale(1.6); opacity: 0; } }
.bcs-gl-x { all: unset; box-sizing: border-box; cursor: pointer; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--text-secondary); }
.bcs-gl-x { all: unset; box-sizing: border-box; cursor: pointer; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--text-secondary); }
-.bcs-gl-x:hover, .bcs-gl-x:focus-visible { background: rgba(255,255,255,.08); color: var(--text-primary); }
+.bcs-gl-x:hover, .bcs-gl-x:focus-visible { background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); color: var(--text-primary); }
.bcs-gl-sub { margin: 6px 0 10px; font-size: .92rem; color: var(--text-secondary); }
.bcs-gl-sub { margin: 6px 0 10px; font-size: .92rem; color: var(--text-secondary); }
.bcs-gl-link { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; border-radius: 14px; background: var(--bg-primary, #0a0f1c); border: 1px solid var(--border, #1f2d47); }
.bcs-gl-link { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; border-radius: 14px; background: var(--bg-primary, #0a0f1c); border: 1px solid var(--border, #1f2d47); }
.bcs-gl-link code { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 1rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--text-primary); background: none; user-select: all; -webkit-user-select: all; }
.bcs-gl-link code { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 1rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--text-primary); background: none; user-select: all; -webkit-user-select: all; }
@@ -3129,8 +3129,8 @@ body.bc-golive-dock-on #page-broadcast { padding-bottom: calc(104px + var(--ovna
@@ -3129,8 +3129,8 @@ body.bc-golive-dock-on #page-broadcast { padding-bottom: calc(104px + var(--ovna
.bcs-gl-copy.is-copied, .bc-ctrl-btn.is-copied { background: var(--success, #16a34a); color: #fff; }
.bcs-gl-copy.is-copied, .bc-ctrl-btn.is-copied { background: var(--success, #16a34a); color: #fff; }
.bcs-gl-copy:focus-visible, .bcs-gl-share:focus-visible { outline: 2px solid var(--accent-light, #60a5fa); outline-offset: 2px; }
.bcs-gl-copy:focus-visible, .bcs-gl-share:focus-visible { outline: 2px solid var(--accent-light, #60a5fa); outline-offset: 2px; }
.bcs-gl-more { display: flex; justify-content: flex-end; margin-top: 8px; }
.bcs-gl-more { display: flex; justify-content: flex-end; margin-top: 8px; }
-.bcs-gl-share { height: 34px; background: rgba(255,255,255,.08); color: var(--text-primary); }
-.bcs-gl-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.06); }
+.bcs-gl-share { height: 34px; background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); color: var(--text-primary); }
+.bcs-gl-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent); }
.bcs-gl-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--live-red, #ef4444), var(--accent, #3b82f6)); transform-origin: left; transition: transform var(--ov-dur-2, .2s) linear; }
.bcs-gl-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--live-red, #ef4444), var(--accent, #3b82f6)); transform-origin: left; transition: transform var(--ov-dur-2, .2s) linear; }
.bcs-gl-burst { position: absolute; left: 22px; top: 21px; width: 0; height: 0; pointer-events: none; }
.bcs-gl-burst { position: absolute; left: 22px; top: 21px; width: 0; height: 0; pointer-events: none; }
.bcs-gl-burst i { position: absolute; width: 5px; height: 5px; margin: -2.5px; border-radius: 50%; background: hsl(var(--a), 90%, 66%); opacity: 0; animation: bcs-gl-spark .9s var(--ov-ease-out, cubic-bezier(.2,.8,.3,1)) var(--d) forwards; }
.bcs-gl-burst i { position: absolute; width: 5px; height: 5px; margin: -2.5px; border-radius: 50%; background: hsl(var(--a), 90%, 66%); opacity: 0; animation: bcs-gl-spark .9s var(--ov-ease-out, cubic-bezier(.2,.8,.3,1)) var(--d) forwards; }
@@ -118,8 +118,8 @@
@@ -118,8 +118,8 @@
position: absolute;
position: absolute;
inset: -35%;
inset: -35%;
background:
background:
- radial-gradient(circle at 40% 40%, rgba(255,255,255,0.08), transparent 20%),
- linear-gradient(130deg, transparent 22%, rgba(255,255,255,0.08) 48%, transparent 74%);
+ radial-gradient(circle at 40% 40%, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent), transparent 20%),
+ linear-gradient(130deg, transparent 22%, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent) 48%, transparent 74%);
opacity: 0.45;
opacity: 0.45;
animation: playerLoaderDrift 18s linear infinite;
animation: playerLoaderDrift 18s linear infinite;
}
}
@@ -130,7 +130,7 @@
@@ -130,7 +130,7 @@
inset: 0;
inset: 0;
background:
background:
radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--loader-c) 14%, transparent), transparent 58%),
radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--loader-c) 14%, transparent), transparent 58%),
- radial-gradient(circle at 24% 76%, rgba(255, 255, 255, 0.06), transparent 24%);
+ radial-gradient(circle at 24% 76%, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent), transparent 24%);
opacity: 0.78;
opacity: 0.78;
mix-blend-mode: screen;
mix-blend-mode: screen;
pointer-events: none;
pointer-events: none;
@@ -271,7 +271,7 @@
@@ -271,7 +271,7 @@
.player-loader-core {
.player-loader-core {
inset: 37%;
inset: 37%;
- background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--loader-c) 26%, rgba(255,255,255,0.55)), rgba(255,255,255,0.03) 46%, transparent 72%);
+ background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--loader-c) 26%, rgba(255,255,255,0.55)), color-mix(in srgb, var(--text-primary, #fff) 3%, transparent) 46%, transparent 72%);
box-shadow:
box-shadow:
0 0 46px color-mix(in srgb, var(--loader-a) 34%, transparent),
0 0 46px color-mix(in srgb, var(--loader-a) 34%, transparent),
inset 0 0 18px rgba(255,255,255,0.06);
inset 0 0 18px rgba(255,255,255,0.06);
@@ -290,7 +290,7 @@
@@ -290,7 +290,7 @@
.player-loader-sheen {
.player-loader-sheen {
inset: -12%;
inset: -12%;
- background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.10) 48%, transparent 66%);
+ background: linear-gradient(120deg, transparent 30%, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent) 48%, transparent 66%);
transform: translateX(-42%) rotate(12deg);
transform: translateX(-42%) rotate(12deg);
animation: playerLoaderSheen 4.6s var(--ov-ease-in-out, ease-in-out) infinite;
animation: playerLoaderSheen 4.6s var(--ov-ease-in-out, ease-in-out) infinite;
}
}
@@ -416,8 +416,8 @@
@@ -416,8 +416,8 @@
}
}
.player-loader-action {
.player-loader-action {
- border: 1px solid rgba(255,255,255,0.12);
- background: linear-gradient(135deg, color-mix(in srgb, var(--loader-a) 42%, rgba(255,255,255,0.06)), color-mix(in srgb, var(--loader-b) 36%, rgba(255,255,255,0.03)));
+ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 12%, transparent);
+ background: linear-gradient(135deg, color-mix(in srgb, var(--loader-a) 42%, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent)), color-mix(in srgb, var(--loader-b) 36%, color-mix(in srgb, var(--text-primary, #fff) 3%, transparent)));
color: #fff;
color: #fff;
border-radius: 12px;
border-radius: 12px;
padding: 10px 14px;
padding: 10px 14px;
@@ -437,13 +437,13 @@
@@ -437,13 +437,13 @@
}
}
.player-loader-action.secondary {
.player-loader-action.secondary {
- background: rgba(255,255,255,0.04);
+ background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);
color: rgba(226,232,240,0.9);
color: rgba(226,232,240,0.9);
}
}
.player-loader-diagnostics {
.player-loader-diagnostics {
border-radius: 14px;
border-radius: 14px;
- border: 1px solid rgba(255,255,255,0.12);
+ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 12%, transparent);
background: rgba(2, 6, 23, 0.48);
background: rgba(2, 6, 23, 0.48);
overflow: hidden;
overflow: hidden;
}
}
@@ -748,14 +748,14 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -748,14 +748,14 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
.live-tab-badges {
.live-tab-badges {
font-size: 0.6rem; font-weight: 600;
font-size: 0.6rem; font-weight: 600;
color: var(--text-muted);
color: var(--text-muted);
- background: rgba(255,255,255,0.06);
+ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
padding: 1px 6px; border-radius: 4px;
padding: 1px 6px; border-radius: 4px;
text-transform: uppercase; letter-spacing: 0.5px;
text-transform: uppercase; letter-spacing: 0.5px;
display: inline-flex; align-items: center; gap: 4px;
display: inline-flex; align-items: center; gap: 4px;
}
}
.live-tab.active .live-tab-badges {
.live-tab.active .live-tab-badges {
color: rgba(255,255,255,0.55);
color: rgba(255,255,255,0.55);
- background: rgba(255,255,255,0.1);
+ background: color-mix(in srgb, var(--text-primary, #fff) 10%, transparent);
}
}
.live-tab-uptime {
.live-tab-uptime {
font-size: 0.65rem; color: var(--text-muted);
font-size: 0.65rem; color: var(--text-muted);
@@ -815,7 +815,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -815,7 +815,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
text-decoration: none;
text-decoration: none;
padding: 2px 8px; border-radius: 10px;
padding: 2px 8px; border-radius: 10px;
display: inline-flex; align-items: center; gap: 5px;
display: inline-flex; align-items: center; gap: 5px;
- background: rgba(255, 255, 255, 0.06);
+ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
transition: all var(--ov-dur-2, 0.15s);
transition: all var(--ov-dur-2, 0.15s);
}
}
.ch-share-stream {
.ch-share-stream {
@@ -1000,13 +1000,13 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -1000,13 +1000,13 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
.ch-weather-full {
.ch-weather-full {
max-width: 100%; width: 100%;
max-width: 100%; width: 100%;
padding: 6px 16px 10px; margin: 0;
padding: 6px 16px 10px; margin: 0;
- border-top: 1px solid var(--border, rgba(255,255,255,0.08));
+ border-top: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent));
}
}
.ch-weather-full .weather-hourly-scroll { max-width: 100%; }
.ch-weather-full .weather-hourly-scroll { max-width: 100%; }
.ch-weather-full .weather-hourly-scroll { display: flex; gap: 8px; }
.ch-weather-full .weather-hourly-scroll { display: flex; gap: 8px; }
.ch-weather-full .weather-hour { flex: 1 1 0; min-width: 64px; }
.ch-weather-full .weather-hour { flex: 1 1 0; min-width: 64px; }
.ch-weather-full .weather-tabs, .ch-weather-full .weather-daily { width: 100%; }
.ch-weather-full .weather-tabs, .ch-weather-full .weather-daily { width: 100%; }
-.ssp-header { display:flex; align-items:center; justify-content:space-between; padding: 8px 12px; border-bottom: 1px solid rgba(255,255,255,0.1); font-weight: 600; }
+.ssp-header { display:flex; align-items:center; justify-content:space-between; padding: 8px 12px; border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent); font-weight: 600; }
.ssp-close { background: none; border: none; color: #aaa; cursor: pointer; font-size: 0.95rem; padding: 2px 4px; }
.ssp-close { background: none; border: none; color: #aaa; cursor: pointer; font-size: 0.95rem; padding: 2px 4px; }
.ssp-close:hover { color: #fff; }
.ssp-close:hover { color: #fff; }
.ssp-body { padding: 8px 12px; display: grid; grid-template-columns: auto 1fr; gap: 5px 12px; }
.ssp-body { padding: 8px 12px; display: grid; grid-template-columns: auto 1fr; gap: 5px 12px; }
@@ -1040,7 +1040,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -1040,7 +1040,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
.weather-meta { font-size: 0.72rem; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.weather-meta { font-size: 0.72rem; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.weather-unit-toggle {
.weather-unit-toggle {
border: 1px solid var(--border);
border: 1px solid var(--border);
- background: var(--bg-elevated, rgba(255, 255, 255, 0.06));
+ background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent));
color: var(--text-primary);
color: var(--text-primary);
border-radius: 999px;
border-radius: 999px;
padding: 2px 8px;
padding: 2px 8px;
@@ -1154,7 +1154,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -1154,7 +1154,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
border-bottom:1px solid var(--border,#333);
border-bottom:1px solid var(--border,#333);
}
}
.analytics-table td { padding:8px 12px; border-bottom:1px solid var(--border,#222); color:var(--text,#ddd); }
.analytics-table td { padding:8px 12px; border-bottom:1px solid var(--border,#222); color:var(--text,#ddd); }
-.analytics-table tbody tr:hover { background:rgba(255,255,255,0.03); }
+.analytics-table tbody tr:hover { background:color-mix(in srgb, var(--text-primary, #fff) 3%, transparent); }
.analytics-table tbody tr:last-child td { border-bottom:none; }
.analytics-table tbody tr:last-child td { border-bottom:none; }
@media (max-width: 1180px) {
@media (max-width: 1180px) {
.stream-layout { flex-direction: column; height: auto; }
.stream-layout { flex-direction: column; height: auto; }
@@ -1199,7 +1199,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -1199,7 +1199,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
transition: all var(--ov-dur-2, 0.15s);
transition: all var(--ov-dur-2, 0.15s);
}
}
.ct-badge.ct-self { font-style: italic; }
.ct-badge.ct-self { font-style: italic; }
-.ct-count { font-size: 0.72rem; opacity: 0.7; background: rgba(255,255,255,.08); border-radius: 999px; padding: 0 6px; }
+.ct-count { font-size: 0.72rem; opacity: 0.7; background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); border-radius: 999px; padding: 0 6px; }
.ct-badge.active .ct-count { opacity: 0.95; }
.ct-badge.active .ct-count { opacity: 0.95; }
.ch-panel-bar {
.ch-panel-bar {
display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap;
display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap;
@@ -1233,15 +1233,15 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -1233,15 +1233,15 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
.ai-tl-moment-thumb { width: 96px; height: 54px; object-fit: cover; border-radius: 6px; flex-shrink: 0; background: rgba(0,0,0,0.3); }
.ai-tl-moment-thumb { width: 96px; height: 54px; object-fit: cover; border-radius: 6px; flex-shrink: 0; background: rgba(0,0,0,0.3); }
.ai-tl-stamp { align-self: flex-start; font-size: 0.75rem; font-weight: 700; color: var(--accent, #8b5cf6); background: color-mix(in srgb, var(--accent, #8b5cf6) 12%, transparent); padding: 2px 8px; border-radius: 8px; text-decoration: none; display: inline-flex; align-items: center; gap: 5px; }
.ai-tl-stamp { align-self: flex-start; font-size: 0.75rem; font-weight: 700; color: var(--accent, #8b5cf6); background: color-mix(in srgb, var(--accent, #8b5cf6) 12%, transparent); padding: 2px 8px; border-radius: 8px; text-decoration: none; display: inline-flex; align-items: center; gap: 5px; }
.ai-tl-stamp:hover { filter: brightness(1.2); }
.ai-tl-stamp:hover { filter: brightness(1.2); }
-.ai-tl-stamp--novod { color: var(--text-muted); background: rgba(255,255,255,0.05); }
+.ai-tl-stamp--novod { color: var(--text-muted); background: color-mix(in srgb, var(--text-primary, #fff) 5%, transparent); }
.ai-tl-moment-desc { color: var(--text-secondary); font-size: 0.88rem; line-height: 1.45; }
.ai-tl-moment-desc { color: var(--text-secondary); font-size: 0.88rem; line-height: 1.45; }
.ai-tl-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.ai-tl-tags { display: flex; flex-wrap: wrap; gap: 5px; }
-.ai-tl-tag { font-size: 0.68rem; color: var(--text-muted); background: rgba(255,255,255,0.05); padding: 1px 7px; border-radius: 6px; }
+.ai-tl-tag { font-size: 0.68rem; color: var(--text-muted); background: color-mix(in srgb, var(--text-primary, #fff) 5%, transparent); padding: 1px 7px; border-radius: 6px; }
.ai-tl-empty { text-align: center; padding: 48px 20px; color: var(--text-muted); }
.ai-tl-empty { text-align: center; padding: 48px 20px; color: var(--text-muted); }
@media (max-width: 560px) { .ai-tl-moment-thumb { width: 72px; height: 40px; } }
@media (max-width: 560px) { .ai-tl-moment-thumb { width: 72px; height: 40px; } }
-.ai-tl-months { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--border, rgba(255,255,255,0.06)); }
+.ai-tl-months { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent)); }
.ai-tl-months-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); font-weight: 700; margin-right: 4px; display: inline-flex; align-items: center; gap: 5px; }
.ai-tl-months-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); font-weight: 700; margin-right: 4px; display: inline-flex; align-items: center; gap: 5px; }
-.ai-tl-month { font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); background: var(--bg-elevated, rgba(255,255,255,0.04)); border: 1px solid var(--border, rgba(255,255,255,0.08)); border-radius: 999px; padding: 3px 11px; cursor: pointer; transition: all var(--ov-dur-2, .15s); }
+.ai-tl-month { font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 4%, transparent)); border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent)); border-radius: 999px; padding: 3px 11px; cursor: pointer; transition: all var(--ov-dur-2, .15s); }
.ai-tl-month:hover { color: var(--accent, #8b5cf6); border-color: color-mix(in srgb, var(--accent, #8b5cf6) 45%, transparent); background: color-mix(in srgb, var(--accent, #8b5cf6) 10%, transparent); }
.ai-tl-month:hover { color: var(--accent, #8b5cf6); border-color: color-mix(in srgb, var(--accent, #8b5cf6) 45%, transparent); background: color-mix(in srgb, var(--accent, #8b5cf6) 10%, transparent); }
.ai-tl-moments-toggle { margin-top: 8px; display: inline-flex; align-items: center; gap: 7px; font-size: 0.8rem; font-weight: 600; color: var(--accent, #8b5cf6); background: color-mix(in srgb, var(--accent, #8b5cf6) 9%, transparent); border: 1px solid color-mix(in srgb, var(--accent, #8b5cf6) 22%, transparent); border-radius: 8px; padding: 5px 11px; cursor: pointer; transition: all var(--ov-dur-2, .15s); }
.ai-tl-moments-toggle { margin-top: 8px; display: inline-flex; align-items: center; gap: 7px; font-size: 0.8rem; font-weight: 600; color: var(--accent, #8b5cf6); background: color-mix(in srgb, var(--accent, #8b5cf6) 9%, transparent); border: 1px solid color-mix(in srgb, var(--accent, #8b5cf6) 22%, transparent); border-radius: 8px; padding: 5px 11px; cursor: pointer; transition: all var(--ov-dur-2, .15s); }
.ai-tl-moments-toggle:hover { background: color-mix(in srgb, var(--accent, #8b5cf6) 16%, transparent); }
.ai-tl-moments-toggle:hover { background: color-mix(in srgb, var(--accent, #8b5cf6) 16%, transparent); }
@@ -1250,8 +1250,8 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -1250,8 +1250,8 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
.ai-tl-moments { margin-top: 10px; }
.ai-tl-moments { margin-top: 10px; }
.ai-tl-session-vodlink { margin: 3px 0 6px; font-size: 0.78rem; }
.ai-tl-session-vodlink { margin: 3px 0 6px; font-size: 0.78rem; }
.ai-tl-session-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ai-tl-session-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
-.ai-tl-transcript-toggle { border-color: color-mix(in srgb, var(--text-muted) 30%, transparent); color: var(--text-secondary); background: var(--bg-elevated, rgba(255,255,255,0.03)); }
-.ai-tl-transcript { margin-top: 10px; max-height: 340px; overflow-y: auto; border: 1px solid var(--border, rgba(255,255,255,0.07)); border-radius: 10px; padding: 8px 12px; background: var(--bg-elevated, rgba(255,255,255,0.02)); }
+.ai-tl-transcript-toggle { border-color: color-mix(in srgb, var(--text-muted) 30%, transparent); color: var(--text-secondary); background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 3%, transparent)); }
+.ai-tl-transcript { margin-top: 10px; max-height: 340px; overflow-y: auto; border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 7%, transparent)); border-radius: 10px; padding: 8px 12px; background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 2%, transparent)); }
.ai-tl-transcript[hidden] { display: none; }
.ai-tl-transcript[hidden] { display: none; }
.ai-tl-ts:hover { text-decoration: underline; }
.ai-tl-ts:hover { text-decoration: underline; }
.ai-tl-tr-text { color: var(--text-secondary); }
.ai-tl-tr-text { color: var(--text-secondary); }
@@ -1261,10 +1261,10 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -1261,10 +1261,10 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
/* Wide screens: the tabs sit in the main column (app-channel.js _placeBelowFold) and use its full width. */
/* Wide screens: the tabs sit in the main column (app-channel.js _placeBelowFold) and use its full width. */
.channel-below-fold.is-in-main { padding: 4px 0 28px; }
.channel-below-fold.is-in-main { padding: 4px 0 28px; }
.channel-below-fold.is-in-main > .container { max-width: none; width: auto; margin: 0; padding: 0 18px; }
.channel-below-fold.is-in-main > .container { max-width: none; width: auto; margin: 0; padding: 0 18px; }
-.ch-about-ai-toggle { display: flex; flex-direction: column; gap: 3px; margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; background: var(--bg-elevated, rgba(255,255,255,0.03)); border: 1px solid var(--border, rgba(255,255,255,0.07)); }
+.ch-about-ai-toggle { display: flex; flex-direction: column; gap: 3px; margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 3%, transparent)); border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 7%, transparent)); }
.ch-about-ai-hint { font-size: 0.78rem; }
.ch-about-ai-hint { font-size: 0.78rem; }
.ai-tl-side-label { font-size: 0.95rem; font-weight: 800; color: var(--text-primary); margin: 26px 0 14px; display: flex; align-items: center; gap: 9px; padding-bottom: 7px; border-bottom: 2px solid color-mix(in srgb, var(--accent, #8b5cf6) 30%, transparent); }
.ai-tl-side-label { font-size: 0.95rem; font-weight: 800; color: var(--text-primary); margin: 26px 0 14px; display: flex; align-items: center; gap: 9px; padding-bottom: 7px; border-bottom: 2px solid color-mix(in srgb, var(--accent, #8b5cf6) 30%, transparent); }
-.ai-tl-subtabs { display: flex; gap: 6px; margin: 14px 0 16px; border-bottom: 1px solid var(--border, rgba(255,255,255,0.08)); }
+.ai-tl-subtabs { display: flex; gap: 6px; margin: 14px 0 16px; border-bottom: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent)); }
.ai-tl-subtab { font-size: 0.9rem; font-weight: 700; color: var(--text-muted); background: none; border: none; border-bottom: 2px solid transparent; padding: 8px 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; margin-bottom: -1px; transition: color var(--ov-dur-2, .15s); }
.ai-tl-subtab { font-size: 0.9rem; font-weight: 700; color: var(--text-muted); background: none; border: none; border-bottom: 2px solid transparent; padding: 8px 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; margin-bottom: -1px; transition: color var(--ov-dur-2, .15s); }
.ai-tl-pane--hidden { display: none; }
.ai-tl-pane--hidden { display: none; }
.ov-pip:hover { border-color: rgba(255, 255, 255, .38); }
.ov-pip:hover { border-color: rgba(255, 255, 255, .38); }
@@ -1298,9 +1298,9 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -1298,9 +1298,9 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
.ov-pip-resize { width: 26px; height: 26px; opacity: .8; }
.ov-pip-resize { width: 26px; height: 26px; opacity: .8; }
.ov-pip-bar { opacity: 1; pointer-events: auto; }
.ov-pip-bar { opacity: 1; pointer-events: auto; }
}
}
-.ai-tl-tr-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--border, rgba(255,255,255,0.07)); }
+.ai-tl-tr-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 7%, transparent)); }
.ai-tl-tr-filter { display: inline-flex; gap: 4px; }
.ai-tl-tr-filter { display: inline-flex; gap: 4px; }
-.ai-tl-tr-filter button { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border, rgba(255,255,255,0.1)); background: transparent; color: var(--text-secondary); font-size: 0.75rem; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }
+.ai-tl-tr-filter button { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent)); background: transparent; color: var(--text-secondary); font-size: 0.75rem; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }
.ai-tl-tr-filter button span { font-size: 0.68rem; color: var(--text-muted); }
.ai-tl-tr-filter button span { font-size: 0.68rem; color: var(--text-muted); }
.ai-tl-tr-filter button.active { background: color-mix(in srgb, var(--accent, #8b5cf6) 18%, transparent); border-color: var(--accent, #8b5cf6); color: var(--text-primary); }
.ai-tl-tr-filter button.active { background: color-mix(in srgb, var(--accent, #8b5cf6) 18%, transparent); border-color: var(--accent, #8b5cf6); color: var(--text-primary); }
.ai-tl-tr-hint { font-size: 0.72rem; color: var(--text-muted); }
.ai-tl-tr-hint { font-size: 0.72rem; color: var(--text-muted); }
@@ -1308,7 +1308,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -1308,7 +1308,7 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
.ai-tl-tr-sounds { align-items: center; padding: 2px 0; }
.ai-tl-tr-sounds { align-items: center; padding: 2px 0; }
.ai-tl-ts--sound { color: var(--text-muted); font-weight: 600; }
.ai-tl-ts--sound { color: var(--text-muted); font-weight: 600; }
.ai-tl-sound-strip { display: flex; flex-wrap: wrap; gap: 4px; }
.ai-tl-sound-strip { display: flex; flex-wrap: wrap; gap: 4px; }
-.ai-tl-sound { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 999px; font-size: 0.7rem; color: var(--text-secondary); background: var(--bg-elevated, rgba(255,255,255,0.04)); border: 1px solid var(--border, rgba(255,255,255,0.07)); }
+.ai-tl-sound { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 999px; font-size: 0.7rem; color: var(--text-secondary); background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 4%, transparent)); border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 7%, transparent)); }
.ai-tl-transcript[data-filter="speech"] .ai-tl-tr-sounds { display: none; }
.ai-tl-transcript[data-filter="speech"] .ai-tl-tr-sounds { display: none; }
.ai-tl-transcript[data-filter="sounds"] .ai-tl-tr-speech { display: none; }
.ai-tl-transcript[data-filter="sounds"] .ai-tl-tr-speech { display: none; }
/* ── from i18n-star.css ── */
/* ── from i18n-star.css ── */
@@ -48,7 +48,7 @@
@@ -48,7 +48,7 @@
.pc-connecting-head { font-size: 0.98rem; font-weight: 600; color: var(--text); display: inline-flex; align-items: center; gap: 10px; }
.pc-connecting-head { font-size: 0.98rem; font-weight: 600; color: var(--text); display: inline-flex; align-items: center; gap: 10px; }
.pc-manual { font-size: 0.82rem; color: var(--text-muted, #999); display: flex; align-items: center; gap: 8px; justify-content: center; flex-wrap: wrap; }
.pc-manual { font-size: 0.82rem; color: var(--text-muted, #999); display: flex; align-items: center; gap: 8px; justify-content: center; flex-wrap: wrap; }
.pc-copy-btn {
.pc-copy-btn {
- background: rgba(255,255,255,0.06); border: 1px solid var(--border); color: var(--text-secondary);
+ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent); border: 1px solid var(--border); color: var(--text-secondary);
border-radius: 6px; padding: 3px 9px; font-size: 0.78rem; cursor: pointer; display: inline-flex; align-items: center; gap: 5px;
border-radius: 6px; padding: 3px 9px; font-size: 0.78rem; cursor: pointer; display: inline-flex; align-items: center; gap: 5px;
transition: background var(--ov-dur-2, .15s), border-color var(--ov-dur-2, .15s);
transition: background var(--ov-dur-2, .15s), border-color var(--ov-dur-2, .15s);
}
}
@@ -442,7 +442,7 @@
@@ -442,7 +442,7 @@
display: flex;
display: flex;
align-items: center;
align-items: center;
padding: 10px 0;
padding: 10px 0;
- border-bottom: 1px solid rgba(255, 255, 255, 0.04);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);
gap: 12px;
gap: 12px;
}
}
@@ -312,7 +312,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }
@@ -312,7 +312,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }
color: var(--text-muted);
color: var(--text-muted);
white-space: nowrap;
white-space: nowrap;
}
}
-.home-about-toggle:hover { background: color-mix(in srgb, var(--accent) 26%, rgba(255,255,255,0.05)); border-color: var(--accent); }
+.home-about-toggle:hover { background: color-mix(in srgb, var(--accent) 26%, color-mix(in srgb, var(--text-primary, #fff) 5%, transparent)); border-color: var(--accent); }
.home-about-toggle:active { transform: translateY(1px); }
.home-about-toggle:active { transform: translateY(1px); }
.home-cta-banner.about-collapsed .home-about-body { max-height: 0; opacity: 0; margin: 0; }
.home-cta-banner.about-collapsed .home-about-body { max-height: 0; opacity: 0; margin: 0; }
.home-about-toggle-more { display: none; align-items: center; gap: 8px; }
.home-about-toggle-more { display: none; align-items: center; gap: 8px; }
@@ -356,8 +356,8 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }
@@ -356,8 +356,8 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }
display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
margin: 4px 0 24px; text-align: left;
margin: 4px 0 24px; text-align: left;
}
}
-.home-cta-feature:hover { transform: translateY(-3px); background: rgba(255,255,255,0.06); border-color: color-mix(in srgb, var(--accent) 35%, transparent); box-shadow: 0 12px 28px rgba(0,0,0,0.35); }
-.home-cta-feature.feat-star { border-color: color-mix(in srgb, var(--accent) 30%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, transparent), rgba(255,255,255,0.02)); }
+.home-cta-feature:hover { transform: translateY(-3px); background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent); border-color: color-mix(in srgb, var(--accent) 35%, transparent); box-shadow: 0 12px 28px rgba(0,0,0,0.35); }
+.home-cta-feature.feat-star { border-color: color-mix(in srgb, var(--accent) 30%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, transparent), color-mix(in srgb, var(--text-primary, #fff) 2%, transparent)); }
.home-cta-feature.feat-star::before { content: ''; position: absolute; top: 12px; right: 13px; width: 0.7rem; height: 0.7rem; background-color: var(--accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 3.2l2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.3l-5.3 2.9 1.2-5.9-4.4-4 5.9-.7Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 3.2l2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.3l-5.3 2.9 1.2-5.9-4.4-4 5.9-.7Z'/%3E%3C/svg%3E") center / contain no-repeat; opacity: 0.8; } /* the OpenVibe star, solid at this size */
.home-cta-feature.feat-star::before { content: ''; position: absolute; top: 12px; right: 13px; width: 0.7rem; height: 0.7rem; background-color: var(--accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 3.2l2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.3l-5.3 2.9 1.2-5.9-4.4-4 5.9-.7Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 3.2l2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.3l-5.3 2.9 1.2-5.9-4.4-4 5.9-.7Z'/%3E%3C/svg%3E") center / contain no-repeat; opacity: 0.8; } /* the OpenVibe star, solid at this size */
.home-cta-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.home-cta-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.cta-btn-glow::after {
.cta-btn-glow::after {
@@ -436,7 +436,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }
@@ -436,7 +436,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }
}
}
.home-changelog {
.home-changelog {
- background: var(--bg-secondary, rgba(255,255,255,0.03));
+ background: var(--bg-secondary, color-mix(in srgb, var(--text-primary, #fff) 3%, transparent));
border: 1px solid var(--border);
border: 1px solid var(--border);
border-radius: 12px;
border-radius: 12px;
padding: 14px 16px 10px;
padding: 14px 16px 10px;
@@ -743,7 +743,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }
@@ -743,7 +743,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }
.home-cta-feature:hover > i:first-child { transform: scale(1.1) rotate(-5deg); background: color-mix(in srgb, var(--accent) 22%, transparent); }
.home-cta-feature:hover > i:first-child { transform: scale(1.1) rotate(-5deg); background: color-mix(in srgb, var(--accent) 22%, transparent); }
.cta-method::before, .home-cta-feature::after {
.cta-method::before, .home-cta-feature::after {
content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
- background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.06) 50%, transparent 60%);
+ background: linear-gradient(105deg, transparent 40%, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent) 50%, transparent 60%);
transform: translateX(-100%); opacity: 0;
transform: translateX(-100%); opacity: 0;
}
}
.home-cta-feature { overflow: hidden; }
.home-cta-feature { overflow: hidden; }
@@ -1182,7 +1182,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }
@@ -1182,7 +1182,7 @@ body.egg-rainbow { animation: eggRainbow 2.6s linear; }
.cta-btn-primary { background: var(--accent-strong, var(--accent, #3472d8)); color: var(--on-accent-strong, var(--on-accent, #fff));
.cta-btn-primary { background: var(--accent-strong, var(--accent, #3472d8)); color: var(--on-accent-strong, var(--on-accent, #fff));
box-shadow: 0 10px 28px color-mix(in srgb, var(--accent, #3b82f6) 35%, transparent); }
box-shadow: 0 10px 28px color-mix(in srgb, var(--accent, #3b82f6) 35%, transparent); }
.cta-btn-primary:hover { filter: brightness(1.1); }
.cta-btn-primary:hover { filter: brightness(1.1); }
-.cta-btn-ghost { color: #e8e6e3; background: rgba(255,255,255,0.04); border: 1px solid color-mix(in srgb, var(--accent, #3b82f6) 40%, transparent); }
+.cta-btn-ghost { color: #e8e6e3; background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent); border: 1px solid color-mix(in srgb, var(--accent, #3b82f6) 40%, transparent); }
.cta-btn-ghost:hover { background: color-mix(in srgb, var(--accent, #3b82f6) 14%, transparent); }
.cta-btn-ghost:hover { background: color-mix(in srgb, var(--accent, #3b82f6) 14%, transparent); }
.cta-checks { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; list-style: none; margin: 0 0 18px; padding: 0;
.cta-checks { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; list-style: none; margin: 0 0 18px; padding: 0;
font-size: 0.86rem; color: #bcbab6; }
font-size: 0.86rem; color: #bcbab6; }
@@ -232,7 +232,7 @@ a.rd-use:hover b { color: var(--accent); }
@@ -232,7 +232,7 @@ a.rd-use:hover b { color: var(--accent); }
/* Topics (/rundown/topics): a card's summary is a four-line teaser, and the topics after the first dozen fold under
/* Topics (/rundown/topics): a card's summary is a four-line teaser, and the topics after the first dozen fold under
their count. */
their count. */
.rd-what-clip { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
.rd-what-clip { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
-.rd-more { margin-top: 14px; border-radius: 14px; border: 1px solid var(--border, rgba(255,255,255,.1)); }
+.rd-more { margin-top: 14px; border-radius: 14px; border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent)); }
.rd-more > summary { padding: 14px 16px; cursor: pointer; font-weight: 700; list-style: none; display: flex; align-items: center; gap: 10px; }
.rd-more > summary { padding: 14px 16px; cursor: pointer; font-weight: 700; list-style: none; display: flex; align-items: center; gap: 10px; }
.rd-more > summary::-webkit-details-marker { display: none; }
.rd-more > summary::-webkit-details-marker { display: none; }
.rd-more > summary::before { content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(-45deg); transition: transform var(--ov-dur-2, .18s) var(--ov-ease-out, ease); }
.rd-more > summary::before { content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(-45deg); transition: transform var(--ov-dur-2, .18s) var(--ov-ease-out, ease); }
@@ -11,7 +11,7 @@
@@ -11,7 +11,7 @@
.ovp-head {
.ovp-head {
display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px 6px;
display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px 6px;
font-size: 0.74rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: rgba(255, 255, 255, 0.65);
font-size: 0.74rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: rgba(255, 255, 255, 0.65);
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent);
}
}
.ovp-total { display: inline-flex; align-items: center; gap: 6px; font-size: 0.9rem; letter-spacing: 0; text-transform: none; color: #fff; }
.ovp-total { display: inline-flex; align-items: center; gap: 6px; font-size: 0.9rem; letter-spacing: 0; text-transform: none; color: #fff; }
.ovp-total b, .ovp-n { font-variant-numeric: tabular-nums; }
.ovp-total b, .ovp-n { font-variant-numeric: tabular-nums; }
@@ -29,7 +29,7 @@
@@ -29,7 +29,7 @@
.ovp-n.is-live { font-size: 0.72rem; font-weight: 700; color: #fca5a5; text-transform: uppercase; letter-spacing: 0.05em; }
.ovp-n.is-live { font-size: 0.72rem; font-weight: 700; color: #fca5a5; text-transform: uppercase; letter-spacing: 0.05em; }
@media (prefers-reduced-motion: reduce) { .ovp { animation: none; } }
@media (prefers-reduced-motion: reduce) { .ovp { animation: none; } }
/* A section under the places (the live studio's restreams): each with a state dot, and a way to manage them. */
/* A section under the places (the live studio's restreams): each with a state dot, and a way to manage them. */
-.ovp-extra { margin-top: 4px; padding-top: 4px; border-top: 1px solid rgba(255, 255, 255, 0.1); }
+.ovp-extra { margin-top: 4px; padding-top: 4px; border-top: 1px solid color-mix(in srgb, var(--text-primary, #fff) 10%, transparent); }
.ovp-extra[hidden] { display: none; }
.ovp-extra[hidden] { display: none; }
.ovp-sub { padding: 4px 14px 0; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); }
.ovp-sub { padding: 4px 14px 0; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); }
.ovp-sdot { width: 8px; height: 8px; border-radius: 50%; background: #9ca3af; }
.ovp-sdot { width: 8px; height: 8px; border-radius: 50%; background: #9ca3af; }
@@ -41,6 +41,6 @@
@@ -41,6 +41,6 @@
.ovp-action {
.ovp-action {
display: block; width: calc(100% - 20px); margin: 6px 10px 2px; min-height: 36px; border-radius: 10px; cursor: pointer;
display: block; width: calc(100% - 20px); margin: 6px 10px 2px; min-height: 36px; border-radius: 10px; cursor: pointer;
font: inherit; font-size: 0.82rem; font-weight: 700; color: #fff;
font: inherit; font-size: 0.82rem; font-weight: 700; color: #fff;
- background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.14);
+ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); border: 1px solid rgba(255, 255, 255, 0.14);
}
}
.ovp-action:hover, .ovp-action:focus-visible { background: rgba(255, 255, 255, 0.14); outline: none; }
.ovp-action:hover, .ovp-action:focus-visible { background: rgba(255, 255, 255, 0.14); outline: none; }
@@ -50,7 +50,7 @@
@@ -50,7 +50,7 @@
font: inherit; font-weight: 700; font-size: clamp(0.88rem, 1.6vw, 0.98rem); letter-spacing: 0.01em;
font: inherit; font-weight: 700; font-size: clamp(0.88rem, 1.6vw, 0.98rem); letter-spacing: 0.01em;
color: var(--text-primary); text-decoration: none; cursor: pointer; overflow: hidden;
color: var(--text-primary); text-decoration: none; cursor: pointer; overflow: hidden;
background:
background:
- linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0) 46%),
+ linear-gradient(180deg, color-mix(in srgb, var(--text-primary, #fff) 7%, transparent), rgba(255,255,255,0) 46%),
color-mix(in srgb, var(--c) 10%, var(--bg-card));
color-mix(in srgb, var(--c) 10%, var(--bg-card));
border: 1px solid color-mix(in srgb, var(--c) 42%, var(--border));
border: 1px solid color-mix(in srgb, var(--c) 42%, var(--border));
box-shadow: 0 2px 0 0 color-mix(in srgb, var(--c) 22%, transparent), 0 8px 20px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.09);
box-shadow: 0 2px 0 0 color-mix(in srgb, var(--c) 22%, transparent), 0 8px 20px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.09);
@@ -7,7 +7,7 @@
@@ -7,7 +7,7 @@
.tour {
.tour {
position: relative; border-radius: 22px; padding: 24px 24px 22px; color: var(--text-primary); overflow: hidden;
position: relative; border-radius: 22px; padding: 24px 24px 22px; color: var(--text-primary); overflow: hidden;
background: color-mix(in srgb, var(--bg-card) 62%, transparent);
background: color-mix(in srgb, var(--bg-card) 62%, transparent);
- border: 1px solid rgba(255,255,255,0.08);
+ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
box-shadow: 0 24px 60px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.06);
box-shadow: 0 24px 60px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.06);
/* No backdrop blur: it made this 1.2MP card its own layer re-blurring the page behind it. The
/* No backdrop blur: it made this 1.2MP card its own layer re-blurring the page behind it. The
fill is opaque enough on its own. The blur was also the only thing making .tour a stacking
fill is opaque enough on its own. The blur was also the only thing making .tour a stacking
@@ -116,7 +116,7 @@
@@ -116,7 +116,7 @@
.tour-features { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 20px 0 0; }
.tour-features { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 20px 0 0; }
.tour-feat { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; font-size: 0.76rem; font-weight: 700; color: var(--text-secondary);
.tour-feat { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; font-size: 0.76rem; font-weight: 700; color: var(--text-secondary);
- background: color-mix(in srgb, var(--bg-tertiary) 70%, transparent); border: 1px solid rgba(255,255,255,0.08); transition: color var(--ov-dur-2, 0.2s), border-color var(--ov-dur-2, 0.2s), transform var(--ov-dur-2, 0.2s);
+ background: color-mix(in srgb, var(--bg-tertiary) 70%, transparent); border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); transition: color var(--ov-dur-2, 0.2s), border-color var(--ov-dur-2, 0.2s), transform var(--ov-dur-2, 0.2s);
animation: tourPop var(--ov-dur-4, 0.5s) var(--ov-ease-spring, cubic-bezier(.2,1.5,.3,1)) both; animation-delay: calc(0.15s + var(--i, 0) * 55ms); }
animation: tourPop var(--ov-dur-4, 0.5s) var(--ov-ease-spring, cubic-bezier(.2,1.5,.3,1)) both; animation-delay: calc(0.15s + var(--i, 0) * 55ms); }
.tour-feat i { color: var(--accent-light, var(--accent)); }
.tour-feat i { color: var(--accent-light, var(--accent)); }
.tour-feat:hover { color: var(--text-primary); border-color: color-mix(in srgb, var(--accent) 50%, transparent); transform: translateY(-1px); }
.tour-feat:hover { color: var(--text-primary); border-color: color-mix(in srgb, var(--accent) 50%, transparent); transform: translateY(-1px); }
@@ -209,7 +209,7 @@
@@ -209,7 +209,7 @@
.ovg-quest-sheen {
.ovg-quest-sheen {
position: absolute; top: 0; bottom: 0; left: -40%; width: 32%; z-index: 1; pointer-events: none;
position: absolute; top: 0; bottom: 0; left: -40%; width: 32%; z-index: 1; pointer-events: none;
- background: linear-gradient(100deg, transparent, rgba(255,255,255,0.10), transparent);
+ background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent), transparent);
animation: questSheen 7s var(--ov-ease-in-out, ease-in-out) infinite;
animation: questSheen 7s var(--ov-ease-in-out, ease-in-out) infinite;
}
}
@keyframes questSheen { 0%, 58% { transform: translateX(0); } 100% { transform: translateX(440%); } }
@keyframes questSheen { 0%, 58% { transform: translateX(0); } 100% { transform: translateX(440%); } }
@@ -672,7 +672,7 @@
@@ -672,7 +672,7 @@
white-space: nowrap;
white-space: nowrap;
}
}
.msg-thread-dropdown-item:hover {
.msg-thread-dropdown-item:hover {
- background: var(--bg-hover, rgba(255,255,255,0.06));
+ background: var(--bg-hover, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent));
}
}
.msg-thread-dropdown-item.danger {
.msg-thread-dropdown-item.danger {
color: #f38ba8;
color: #f38ba8;
@@ -169,7 +169,7 @@ html { -webkit-tap-highlight-color: transparent; }
@@ -169,7 +169,7 @@ html { -webkit-tap-highlight-color: transparent; }
position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
height: var(--navbar-h);
height: var(--navbar-h);
background: var(--glass);
background: var(--glass);
- border-bottom: 1px solid rgba(255,255,255,0.06);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
display: flex; align-items: center;
display: flex; align-items: center;
padding: 0 16px;
padding: 0 16px;
gap: 16px;
gap: 16px;
@@ -235,8 +235,8 @@ body.ov-nav-overlay .navbar.ovnav-top {
@@ -235,8 +235,8 @@ body.ov-nav-overlay .navbar.ovnav-top {
text-decoration: none;
text-decoration: none;
}
}
.nav-link:hover {
.nav-link:hover {
- background: rgba(255,255,255,0.06);
- border-color: rgba(255,255,255,0.08);
+ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
+ border-color: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
color: var(--text-primary);
color: var(--text-primary);
}
}
.nav-link.active {
.nav-link.active {
@@ -499,7 +499,7 @@ body.ov-nav-overlay .navbar.ovnav-top {
@@ -499,7 +499,7 @@ body.ov-nav-overlay .navbar.ovnav-top {
font-size: 0.82rem; color: var(--text-secondary); margin: 3px 0 0;
font-size: 0.82rem; color: var(--text-secondary); margin: 3px 0 0;
}
}
.network-card:hover {
.network-card:hover {
- background: rgba(255,255,255,0.06);
+ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
border-color: var(--accent-dark);
border-color: var(--accent-dark);
transform: translateY(-2px);
transform: translateY(-2px);
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
@@ -583,7 +583,7 @@ body.ov-nav-overlay .navbar.ovnav-top {
@@ -583,7 +583,7 @@ body.ov-nav-overlay .navbar.ovnav-top {
gap: 4px;
gap: 4px;
padding: 12px 14px;
padding: 12px 14px;
border-radius: var(--radius);
border-radius: var(--radius);
- background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
+ background: linear-gradient(180deg, color-mix(in srgb, var(--text-primary, #fff) 2%, transparent), color-mix(in srgb, var(--text-primary, #fff) 1%, transparent));
border: 1px solid var(--border);
border: 1px solid var(--border);
}
}
.openvibeapp-meta-label {
.openvibeapp-meta-label {
@@ -706,7 +706,7 @@ body.ov-nav-overlay .navbar.ovnav-top {
@@ -706,7 +706,7 @@ body.ov-nav-overlay .navbar.ovnav-top {
padding: 12px 14px;
padding: 12px 14px;
border: 1px solid var(--border);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
border-radius: var(--radius-lg);
- background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
+ background: linear-gradient(180deg, color-mix(in srgb, var(--text-primary, #fff) 2%, transparent), color-mix(in srgb, var(--text-primary, #fff) 1%, transparent));
}
}
.media-filter-chip {
.media-filter-chip {
display: inline-flex;
display: inline-flex;
@@ -922,7 +922,7 @@ body.ov-nav-overlay .navbar.ovnav-top {
@@ -922,7 +922,7 @@ body.ov-nav-overlay .navbar.ovnav-top {
font-size: 0.65rem;
font-size: 0.65rem;
font-weight: 600;
font-weight: 600;
vertical-align: middle;
vertical-align: middle;
- background: rgba(255,255,255,.12);
+ background: color-mix(in srgb, var(--text-primary, #fff) 12%, transparent);
color: #fff;
color: #fff;
}
}
/* On a thumbnail: a small round icon in the corner, not a purple label over the picture (owner, 2026-10-31: the
/* On a thumbnail: a small round icon in the corner, not a purple label over the picture (owner, 2026-10-31: the
@@ -1313,7 +1313,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -1313,7 +1313,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.home-about-toggle {
.home-about-toggle {
display: inline-flex; align-items: center; gap: 8px;
display: inline-flex; align-items: center; gap: 8px;
margin: 6px auto 2px; padding: 9px 18px;
margin: 6px auto 2px; padding: 9px 18px;
- background: color-mix(in srgb, var(--accent) 16%, rgba(255,255,255,0.04));
+ background: color-mix(in srgb, var(--accent) 16%, color-mix(in srgb, var(--text-primary, #fff) 4%, transparent));
border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
color: #f4f2ef; font-size: 0.86rem; font-weight: 700; letter-spacing: 0.01em;
color: #f4f2ef; font-size: 0.86rem; font-weight: 700; letter-spacing: 0.01em;
border-radius: 999px; cursor: pointer;
border-radius: 999px; cursor: pointer;
@@ -1369,7 +1369,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -1369,7 +1369,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.home-cta-banner .cta-method span,
.home-cta-banner .cta-method span,
.home-cta-banner .home-cta-feature > span { color: #918f8b; }
.home-cta-banner .home-cta-feature > span { color: #918f8b; }
.home-cta-banner .cta-method span b { color: #d6d4d0; }
.home-cta-banner .cta-method span b { color: #d6d4d0; }
-.home-cta-banner .btn-outline { color: #e8e6e3; border-color: color-mix(in srgb, var(--accent) 40%, transparent); background: rgba(255,255,255,0.03); }
+.home-cta-banner .btn-outline { color: #e8e6e3; border-color: color-mix(in srgb, var(--accent) 40%, transparent); background: color-mix(in srgb, var(--text-primary, #fff) 3%, transparent); }
.home-cta-banner .btn-outline:hover { background: color-mix(in srgb, var(--accent) 14%, transparent); border-color: var(--accent); color: #fff; }
.home-cta-banner .btn-outline:hover { background: color-mix(in srgb, var(--accent) 14%, transparent); border-color: var(--accent); color: #fff; }
/* Eyebrow */
/* Eyebrow */
@@ -1409,8 +1409,8 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -1409,8 +1409,8 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
/* Three streaming methods */
/* Three streaming methods */
.cta-method {
.cta-method {
position: relative; padding: 18px 18px 16px; border-radius: 14px;
position: relative; padding: 18px 18px 16px; border-radius: 14px;
- background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015));
- border: 1px solid rgba(255,255,255,0.08);
+ background: linear-gradient(180deg, color-mix(in srgb, var(--text-primary, #fff) 4.5%, transparent), color-mix(in srgb, var(--text-primary, #fff) 1.5%, transparent));
+ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
transition: transform var(--ov-dur-2, .18s) var(--ov-ease-out, ease), border-color var(--ov-dur-2, .18s) var(--ov-ease-out, ease), box-shadow var(--ov-dur-2, .18s) var(--ov-ease-out, ease);
transition: transform var(--ov-dur-2, .18s) var(--ov-ease-out, ease), border-color var(--ov-dur-2, .18s) var(--ov-ease-out, ease), box-shadow var(--ov-dur-2, .18s) var(--ov-ease-out, ease);
overflow: hidden;
overflow: hidden;
}
}
@@ -1424,8 +1424,8 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -1424,8 +1424,8 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.home-cta-feature {
.home-cta-feature {
position: relative; display: flex; flex-direction: column; gap: 5px;
position: relative; display: flex; flex-direction: column; gap: 5px;
padding: 16px 16px; border-radius: 13px;
padding: 16px 16px; border-radius: 13px;
- background: rgba(255,255,255,0.028);
- border: 1px solid rgba(255,255,255,0.07);
+ background: color-mix(in srgb, var(--text-primary, #fff) 2.8%, transparent);
+ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 7%, transparent);
transition: transform var(--ov-dur-2, .16s) var(--ov-ease-out, ease), background var(--ov-dur-2, .16s) var(--ov-ease-out, ease), border-color var(--ov-dur-2, .16s) var(--ov-ease-out, ease), box-shadow var(--ov-dur-2, .16s) var(--ov-ease-out, ease);
transition: transform var(--ov-dur-2, .16s) var(--ov-ease-out, ease), background var(--ov-dur-2, .16s) var(--ov-ease-out, ease), border-color var(--ov-dur-2, .16s) var(--ov-ease-out, ease), box-shadow var(--ov-dur-2, .16s) var(--ov-ease-out, ease);
/* `both` holds the from-state (opacity 0) for the whole animation-delay, and a subtree whose
/* `both` holds the from-state (opacity 0) for the whole animation-delay, and a subtree whose
rendering is skipped or deferred can sit in that state indefinitely — which is how a card
rendering is skipped or deferred can sit in that state indefinitely — which is how a card
@@ -1672,7 +1672,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -1672,7 +1672,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
align-items: flex-start;
align-items: flex-start;
margin: 12px clamp(20px, 4vw, 42px) 0;
margin: 12px clamp(20px, 4vw, 42px) 0;
padding: 26px 28px;
padding: 26px 28px;
- border-top: 1px solid rgba(255,255,255,0.06);
+ border-top: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
margin-bottom: 0;
margin-bottom: 0;
padding-bottom: clamp(28px, 5vw, 42px);
padding-bottom: clamp(28px, 5vw, 42px);
}
}
@@ -1939,7 +1939,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -1939,7 +1939,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
height: 10px;
height: 10px;
border-radius: 999px;
border-radius: 999px;
overflow: hidden;
overflow: hidden;
- background: rgba(255,255,255,0.07);
+ background: color-mix(in srgb, var(--text-primary, #fff) 7%, transparent);
box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}
}
@@ -2007,7 +2007,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -2007,7 +2007,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
padding: 11px 14px;
padding: 11px 14px;
font-size: 0.82rem;
font-size: 0.82rem;
color: rgba(226, 232, 240, 0.88);
color: rgba(226, 232, 240, 0.88);
- border-bottom: 1px solid rgba(255,255,255,0.08);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
}
}
.player-loader-diagnostics pre {
.player-loader-diagnostics pre {
@@ -2348,8 +2348,8 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -2348,8 +2348,8 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
box-shadow: 0 12px 28px rgba(0,0,0,0.35);
box-shadow: 0 12px 28px rgba(0,0,0,0.35);
}
}
.fullscreen-chat-textarea {
.fullscreen-chat-textarea {
- background: rgba(255,255,255,0.08);
- border-color: rgba(255,255,255,0.12);
+ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
+ border-color: color-mix(in srgb, var(--text-primary, #fff) 12%, transparent);
color: #fff;
color: #fff;
}
}
.fullscreen-chat-textarea::placeholder {
.fullscreen-chat-textarea::placeholder {
@@ -2401,7 +2401,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -2401,7 +2401,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.control-keybind {
.control-keybind {
position: absolute; top: 2px; right: 4px;
position: absolute; top: 2px; right: 4px;
font-size: 0.55rem; font-weight: 700;
font-size: 0.55rem; font-weight: 700;
- background: rgba(255,255,255,0.12); color: var(--text-secondary);
+ background: color-mix(in srgb, var(--text-primary, #fff) 12%, transparent); color: var(--text-secondary);
padding: 1px 4px; border-radius: 3px;
padding: 1px 4px; border-radius: 3px;
line-height: 1.2; pointer-events: none;
line-height: 1.2; pointer-events: none;
}
}
@@ -2602,7 +2602,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -2602,7 +2602,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
/* Hide badges */
/* Hide badges */
.chat-hide-badges .chat-badge { display: none !important; }
.chat-hide-badges .chat-badge { display: none !important; }
/* Alternating backgrounds */
/* Alternating backgrounds */
-.chat-alt-bg .chat-msg:nth-child(even) { background: rgba(255,255,255,0.02); border-radius: 2px; padding: 2px 4px; }
+.chat-alt-bg .chat-msg:nth-child(even) { background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent); border-radius: 2px; padding: 2px 4px; }
/* Hide system messages */
/* Hide system messages */
.chat-hide-system .chat-msg.system { display: none !important; }
.chat-hide-system .chat-msg.system { display: none !important; }
/* "Show All Chats Under This Streamer" off → hide other slots' messages */
/* "Show All Chats Under This Streamer" off → hide other slots' messages */
@@ -2746,7 +2746,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -2746,7 +2746,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
}
}
.chat-reply-bar-close:hover {
.chat-reply-bar-close:hover {
color: var(--text-primary, #fff);
color: var(--text-primary, #fff);
- background: rgba(255,255,255,0.08);
+ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
}
}
/* ── Reply flash (scroll-to highlight) ───────────────────── */
/* ── Reply flash (scroll-to highlight) ───────────────────── */
@@ -2831,7 +2831,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -2831,7 +2831,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
overflow: hidden;
overflow: hidden;
border-radius: 12px;
border-radius: 12px;
background: rgba(0,0,0,0.24);
background: rgba(0,0,0,0.24);
- border: 1px solid rgba(255,255,255,0.08);
+ border: 1px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
}
}
.gotti-card-media {
.gotti-card-media {
background: rgba(0,0,0,0.25);
background: rgba(0,0,0,0.25);
@@ -2901,7 +2901,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -2901,7 +2901,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
/* ── Cross-feed messages (global/other streams in stream chat) ── */
/* ── Cross-feed messages (global/other streams in stream chat) ── */
.chat-msg-crossfeed {
.chat-msg-crossfeed {
- border-left: 2px solid rgba(255,255,255,0.08);
+ border-left: 2px solid color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
padding-left: 6px;
padding-left: 6px;
opacity: 0.85;
opacity: 0.85;
}
}
@@ -3125,7 +3125,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -3125,7 +3125,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
text-overflow: ellipsis;
text-overflow: ellipsis;
}
}
.ac-item:hover, .ac-item.ac-selected {
.ac-item:hover, .ac-item.ac-selected {
- background: var(--bg-hover, rgba(255,255,255,0.08));
+ background: var(--bg-hover, color-mix(in srgb, var(--text-primary, #fff) 8%, transparent));
}
}
.ac-item.ac-selected {
.ac-item.ac-selected {
background: color-mix(in srgb, var(--accent-dark, #7c3aed) 25%, var(--bg-card, #1e1e2e));
background: color-mix(in srgb, var(--accent-dark, #7c3aed) 25%, var(--bg-card, #1e1e2e));
@@ -3558,7 +3558,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
@@ -3558,7 +3558,7 @@ a.pulse-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.aiv-status { font-size: 0.75rem; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
.aiv-status { font-size: 0.75rem; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
.aiv-status.ok { background: rgba(52,211,153,0.18); color: #34d399; }
.aiv-status.ok { background: rgba(52,211,153,0.18); color: #34d399; }
.aiv-status.off { background: rgba(148,148,148,0.18); color: #b0b0b0; }
.aiv-status.off { background: rgba(148,148,148,0.18); color: #b0b0b0; }
-.aiv-meter-bar { margin-top: 8px; height: 8px; border-radius: 999px; background: rgba(255,255,255,0.08); overflow: hidden; }
+.aiv-meter-bar { margin-top: 8px; height: 8px; border-radius: 999px; background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); overflow: hidden; }
.aiv-meter-fill { height: 100%; background: linear-gradient(90deg, #4ecdc4, #60a5fa); transition: width var(--ov-dur-3, 0.3s); }
.aiv-meter-fill { height: 100%; background: linear-gradient(90deg, #4ecdc4, #60a5fa); transition: width var(--ov-dur-3, 0.3s); }
.aiv-meter-fill.over { background: linear-gradient(90deg, #fb923c, #ff6b6b); }
.aiv-meter-fill.over { background: linear-gradient(90deg, #fb923c, #ff6b6b); }
@@ -4411,13 +4411,13 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b
@@ -4411,13 +4411,13 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b
}
}
.live-tab.active {
.live-tab.active {
color: var(--text-primary); font-weight: 600;
color: var(--text-primary); font-weight: 600;
- background: rgba(255,255,255,0.03);
+ background: color-mix(in srgb, var(--text-primary, #fff) 3%, transparent);
border-bottom-color: var(--accent);
border-bottom-color: var(--accent);
}
}
.live-tab-num {
.live-tab-num {
font-size: 0.62rem; font-weight: 700;
font-size: 0.62rem; font-weight: 700;
color: var(--text-muted);
color: var(--text-muted);
- background: rgba(255,255,255,0.06);
+ background: color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
width: 18px; height: 18px; border-radius: 50%;
width: 18px; height: 18px; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
display: flex; align-items: center; justify-content: center;
flex-shrink: 0; line-height: 1;
flex-shrink: 0; line-height: 1;
@@ -4461,7 +4461,7 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b
@@ -4461,7 +4461,7 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b
width: 58px;
width: 58px;
height: 58px;
height: 58px;
border-radius: 50%;
border-radius: 50%;
- background: linear-gradient(140deg, color-mix(in srgb, var(--accent) 82%, white 8%), rgba(255,255,255,0.08));
+ background: linear-gradient(140deg, color-mix(in srgb, var(--accent) 82%, white 8%), color-mix(in srgb, var(--text-primary, #fff) 8%, transparent));
box-shadow:
box-shadow:
0 0 0 1px rgba(255,255,255,0.1),
0 0 0 1px rgba(255,255,255,0.1),
0 18px 32px rgba(0,0,0,0.3),
0 18px 32px rgba(0,0,0,0.3),
@@ -4486,7 +4486,7 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b
@@ -4486,7 +4486,7 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b
}
}
.ch-hs-badge strong { font-weight: 800; }
.ch-hs-badge strong { font-weight: 800; }
.ch-hs-badge i { font-size: 0.7rem; }
.ch-hs-badge i { font-size: 0.7rem; }
-.ch-restream-badge:hover { background: rgba(255, 255, 255, 0.12); filter: brightness(1.3); }
+.ch-restream-badge:hover { background: color-mix(in srgb, var(--text-primary, #fff) 12%, transparent); filter: brightness(1.3); }
.ch-restream-badge i { font-size: 0.7rem; }
.ch-restream-badge i { font-size: 0.7rem; }
@keyframes pulse-live {
@keyframes pulse-live {
0%, 100% { opacity: 1; }
0%, 100% { opacity: 1; }
@@ -4810,7 +4810,7 @@ button.uai-tl-more { background: none; border: none; cursor: pointer; padding: 0
@@ -4810,7 +4810,7 @@ button.uai-tl-more { background: none; border: none; cursor: pointer; padding: 0
/* "Also live:" hop bar above chat */
/* "Also live:" hop bar above chat */
.chat-stream-hops {
.chat-stream-hops {
display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
- padding: 6px 10px; border-bottom: 1px solid var(--border, rgba(255,255,255,0.1));
+ padding: 6px 10px; border-bottom: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent));
background: color-mix(in srgb, var(--accent) 8%, transparent);
background: color-mix(in srgb, var(--accent) 8%, transparent);
font-size: 0.78rem;
font-size: 0.78rem;
}
}
@@ -4896,7 +4896,7 @@ button.uai-tl-more { background: none; border: none; cursor: pointer; padding: 0
@@ -4896,7 +4896,7 @@ button.uai-tl-more { background: none; border: none; cursor: pointer; padding: 0
.clip-time-display {
.clip-time-display {
font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums;
font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums;
padding: 4px 10px; min-width: 60px; text-align: center;
padding: 4px 10px; min-width: 60px; text-align: center;
- background: rgba(255,255,255,0.05); border-radius: 8px;
+ background: color-mix(in srgb, var(--text-primary, #fff) 5%, transparent); border-radius: 8px;
}
}
/* Duration display */
/* Duration display */
@@ -4933,7 +4933,7 @@ button.uai-tl-more { background: none; border: none; cursor: pointer; padding: 0
@@ -4933,7 +4933,7 @@ button.uai-tl-more { background: none; border: none; cursor: pointer; padding: 0
border-bottom: 1px solid var(--border);
border-bottom: 1px solid var(--border);
transition: background var(--ov-dur-2, 0.15s) var(--ov-ease-out, ease);
transition: background var(--ov-dur-2, 0.15s) var(--ov-ease-out, ease);
}
}
-.comment-item:hover { background: rgba(255,255,255,0.02); }
+.comment-item:hover { background: color-mix(in srgb, var(--text-primary, #fff) 2%, transparent); }
.comment-item:last-child { border-bottom: none; }
.comment-item:last-child { border-bottom: none; }
.comment-avatar {
.comment-avatar {
@@ -5606,7 +5606,7 @@ body.theme-light .btn-outline:hover {
@@ -5606,7 +5606,7 @@ body.theme-light .btn-outline:hover {
transition: background var(--ov-dur-1, 0.12s);
transition: background var(--ov-dur-1, 0.12s);
}
}
.call-peer-menu-item:hover {
.call-peer-menu-item:hover {
- background: var(--bg-tertiary, rgba(255,255,255,0.05));
+ background: var(--bg-tertiary, color-mix(in srgb, var(--text-primary, #fff) 5%, transparent));
}
}
.call-peer-menu-item i {
.call-peer-menu-item i {
width: 16px;
width: 16px;
@@ -5858,7 +5858,7 @@ body.theme-light .btn-outline:hover {
@@ -5858,7 +5858,7 @@ body.theme-light .btn-outline:hover {
margin-top: 8px;
margin-top: 8px;
font-size: 0.76rem;
font-size: 0.76rem;
color: var(--text-secondary, #aaa);
color: var(--text-secondary, #aaa);
- background: rgba(255,255,255,0.04);
+ background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);
border: 1px solid var(--border);
border: 1px solid var(--border);
border-radius: var(--radius);
border-radius: var(--radius);
padding: 6px 8px;
padding: 6px 8px;
@@ -5966,7 +5966,7 @@ body.theme-light .btn-outline:hover {
@@ -5966,7 +5966,7 @@ body.theme-light .btn-outline:hover {
transition: background var(--ov-dur-2, 0.15s);
transition: background var(--ov-dur-2, 0.15s);
}
}
.update-entry:hover {
.update-entry:hover {
- background: var(--bg-tertiary, rgba(255,255,255,0.04));
+ background: var(--bg-tertiary, color-mix(in srgb, var(--text-primary, #fff) 4%, transparent));
}
}
.update-hash {
.update-hash {
font-family: 'JetBrains Mono', 'Fira Code', monospace;
font-family: 'JetBrains Mono', 'Fira Code', monospace;
@@ -6694,7 +6694,7 @@ textarea.paste-textarea {
@@ -6694,7 +6694,7 @@ textarea.paste-textarea {
}
}
.screenshot-format-tag {
.screenshot-format-tag {
font-size: 0.7rem;
font-size: 0.7rem;
- background: var(--bg-secondary, rgba(255,255,255,0.06));
+ background: var(--bg-secondary, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent));
border: 1px solid var(--border);
border: 1px solid var(--border);
border-radius: 6px;
border-radius: 6px;
padding: 2px 8px;
padding: 2px 8px;
@@ -6908,7 +6908,7 @@ textarea.paste-textarea {
@@ -6908,7 +6908,7 @@ textarea.paste-textarea {
cursor: not-allowed;
cursor: not-allowed;
}
}
.vc-ctrl-btn:hover {
.vc-ctrl-btn:hover {
- background: var(--bg-hover, rgba(255,255,255,0.1));
+ background: var(--bg-hover, color-mix(in srgb, var(--text-primary, #fff) 10%, transparent));
transform: scale(1.08);
transform: scale(1.08);
}
}
.vc-ctrl-btn.active {
.vc-ctrl-btn.active {
@@ -7083,7 +7083,7 @@ textarea.paste-textarea {
@@ -7083,7 +7083,7 @@ textarea.paste-textarea {
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
color: var(--text-secondary);
color: var(--text-secondary);
- background: rgba(255, 255, 255, 0.08);
+ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
}
}
.vc-call-heading {
.vc-call-heading {
margin-top: 16px;
margin-top: 16px;
@@ -7181,7 +7181,7 @@ textarea.paste-textarea {
@@ -7181,7 +7181,7 @@ textarea.paste-textarea {
border-radius: 10px;
border-radius: 10px;
padding: 8px 10px;
padding: 8px 10px;
font-weight: 600;
font-weight: 600;
- background: rgba(255, 255, 255, 0.08);
+ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent);
color: var(--text-primary);
color: var(--text-primary);
display: inline-flex;
display: inline-flex;
align-items: center;
align-items: center;
@@ -7990,7 +7990,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fa
@@ -7990,7 +7990,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fa
justify-content: space-between;
justify-content: space-between;
gap: 10px;
gap: 10px;
padding: 8px 0;
padding: 8px 0;
- border-bottom: 1px solid rgba(255, 255, 255, 0.05);
+ border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 5%, transparent);
font-size: 0.86rem;
font-size: 0.86rem;
color: var(--text-secondary);
color: var(--text-secondary);
}
}
@@ -8802,7 +8802,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fa
@@ -8802,7 +8802,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fa
.paste-ai-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.paste-ai-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.paste-ai-tag {
.paste-ai-tag {
font-size: 0.74rem; padding: 2px 9px; border-radius: 12px;
font-size: 0.74rem; padding: 2px 9px; border-radius: 12px;
- background: rgba(255,255,255,0.08); color: var(--text-secondary, #bbb);
+ background: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); color: var(--text-secondary, #bbb);
}
}
/* ═══ Stream header polish (avatar image, larger title/desc, link) ═══ */
/* ═══ Stream header polish (avatar image, larger title/desc, link) ═══ */
@@ -9158,7 +9158,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fa
@@ -9158,7 +9158,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fa
transition: transform var(--ov-dur-1, .12s) var(--ov-ease-out, ease), box-shadow var(--ov-dur-1, .12s) var(--ov-ease-out, ease);
transition: transform var(--ov-dur-1, .12s) var(--ov-ease-out, ease), box-shadow var(--ov-dur-1, .12s) var(--ov-ease-out, ease);
}
}
.cgw-goal:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,.35); }
.cgw-goal:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,.35); }
-.cgw-goal.has-img { border-color: rgba(255,255,255,.08); }
+.cgw-goal.has-img { border-color: color-mix(in srgb, var(--text-primary, #fff) 8%, transparent); }
.cgw-media {
.cgw-media {
position: absolute; inset: 0; width: 100%; height: 100%;
position: absolute; inset: 0; width: 100%; height: 100%;
object-fit: cover; object-position: right center;
object-fit: cover; object-position: right center;
@@ -9263,7 +9263,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fa
@@ -9263,7 +9263,7 @@ body.fabs-tucked .messenger-toggle, body.fabs-tucked .floating-chat-fab, body.fa
.ai-tl-session-title a { color: var(--text-primary); text-decoration: none; }
.ai-tl-session-title a { color: var(--text-primary); text-decoration: none; }
.ai-tl-session-title a:hover { color: var(--accent, #8b5cf6); }
.ai-tl-session-title a:hover { color: var(--accent, #8b5cf6); }
.ai-tl-session-meta i { opacity: 0.75; }
.ai-tl-session-meta i { opacity: 0.75; }
-.ai-tl-moment { display: flex; gap: 10px; padding: 8px; border-radius: 10px; background: var(--bg-elevated, rgba(255,255,255,0.03)); border: 1px solid var(--border, rgba(255,255,255,0.06)); }
+.ai-tl-moment { display: flex; gap: 10px; padding: 8px; border-radius: 10px; background: var(--bg-elevated, color-mix(in srgb, var(--text-primary, #fff) 3%, transparent)); border: 1px solid var(--border, color-mix(in srgb, var(--text-primary, #fff) 6%, transparent)); }
.ai-tl-moment-body { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ai-tl-moment-body { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ai-tl-empty i { font-size: 2rem; color: color-mix(in srgb, var(--accent, #8b5cf6) 60%, transparent); margin-bottom: 12px; }
.ai-tl-empty i { font-size: 2rem; color: color-mix(in srgb, var(--accent, #8b5cf6) 60%, transparent); margin-bottom: 12px; }
.ai-tl-empty p { margin: 4px 0; }
.ai-tl-empty p { margin: 4px 0; }
@@ -9962,7 +9962,7 @@ body.ov-panel-open #floating-chat-fab { opacity: 0; pointer-events: none; transf
@@ -9962,7 +9962,7 @@ body.ov-panel-open #floating-chat-fab { opacity: 0; pointer-events: none; transf
.openvibe-navbar.navbar {
.openvibe-navbar.navbar {
position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
height: var(--navbar-h); padding: 0 clamp(10px, 2vw, 16px); gap: clamp(6px, 1.2vw, 14px);
height: var(--navbar-h); padding: 0 clamp(10px, 2vw, 16px); gap: clamp(6px, 1.2vw, 14px);
- background: var(--glass); border-bottom: 1px solid rgba(255,255,255,0.06);
+ background: var(--glass); border-bottom: 1px solid color-mix(in srgb, var(--text-primary, #fff) 6%, transparent);
backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
--ovnav-h: var(--navbar-h);
--ovnav-h: var(--navbar-h);
}
}
@@ -169,7 +169,7 @@
@@ -169,7 +169,7 @@
font-size: 0.88rem;
font-size: 0.88rem;
}
}
.strike-table th {
.strike-table th {
- background: rgba(255,255,255,0.04);
+ background: color-mix(in srgb, var(--text-primary, #fff) 4%, transparent);
color: var(--muted);
color: var(--muted);
text-align: left;
text-align: left;
padding: 8px 12px;
padding: 8px 12px;