/* ProPresenter Look — the live look's name, as big as the tile allows. Colors come from the shell's variables only. */ [data-module="propresenter-looks"] .pl-screen { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; user-select: none; -webkit-user-select: none; background: linear-gradient( 160deg, color-mix(in srgb, var(--accent) 12%, transparent), color-mix(in srgb, var(--bg) 60%, transparent) ); } /* ── top row: heading and live status ── */ [data-module="propresenter-looks"] .pl-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-shrink: 0; min-height: 0; } [data-module="propresenter-looks"] .pl-top[hidden], [data-module="propresenter-looks"] .pl-heading[hidden], [data-module="propresenter-looks"] .pl-live[hidden], [data-module="propresenter-looks"] .pl-meta[hidden], [data-module="propresenter-looks"] .pl-tag[hidden], [data-module="propresenter-looks"] .pl-since[hidden] { display: none; } [data-module="propresenter-looks"] .pl-heading { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); } [data-module="propresenter-looks"] .pl-live { display: flex; align-items: center; gap: 6px; margin-left: auto; font-size: 10px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); } [data-module="propresenter-looks"] .pl-live-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--border); transition: background 0.3s ease; } [data-module="propresenter-looks"] .pl-live.is-live .pl-live-dot { background: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent); } [data-module="propresenter-looks"] .pl-live.is-down .pl-live-dot { background: var(--danger); box-shadow: 0 0 0 2px color-mix(in srgb, var(--danger) 16%, transparent); } [data-module="propresenter-looks"] .pl-live.is-down .pl-live-text { color: var(--danger); } /* ── the look's name ── */ [data-module="propresenter-looks"] .pl-name-box { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; } [data-module="propresenter-looks"] .pl-name { max-width: 100%; font-size: 11px; font-weight: 800; line-height: 1.05; text-align: center; white-space: normal; word-break: normal; hyphens: none; color: var(--text); } [data-module="propresenter-looks"] .pl-name.is-waiting { font-weight: 600; color: var(--muted); } /* Unreachable: the last known look stays, visibly stale. */ [data-module="propresenter-looks"] .pl-screen.is-offline { background: color-mix(in srgb, var(--danger) 8%, transparent); } [data-module="propresenter-looks"] .pl-screen.is-offline .pl-name:not(.is-waiting) { opacity: 0.45; } /* ── footer: modified tag and when it changed ── */ [data-module="propresenter-looks"] .pl-meta { display: flex; align-items: center; justify-content: center; gap: 8px; flex-shrink: 0; font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; } [data-module="propresenter-looks"] .pl-tag { padding: 1px 7px; border-radius: 999px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; font-size: 10px; color: var(--warn); background: color-mix(in srgb, var(--warn) 16%, transparent); } /* A new look: one bright pulse so a glance catches the change. */ [data-module="propresenter-looks"] .pl-screen.is-changed { animation: pl-changed 2.6s ease-out; } @keyframes pl-changed { 0%, 20% { box-shadow: inset 0 0 0 3px var(--accent); background-color: color-mix(in srgb, var(--accent) 22%, transparent); } 100% { box-shadow: inset 0 0 0 3px transparent; background-color: transparent; } }