:root { color-scheme: dark; font-family: ui-rounded, "SF Pro Rounded", "Avenir Next", sans-serif; --night-deep: #080c0d; --ink: #f2ece1; --muted: #aaa79d; --panel: rgb(25 31 30 / 78%); --line: rgb(242 236 225 / 14%); --connecting: #d2b779; --live: #91b69d; --offline: #d27f70; } * { box-sizing: border-box; } html, body { margin: 0; overflow: hidden; background: var(--night-deep); } body { color: var(--ink); -webkit-font-smoothing: antialiased; --state-color: var(--connecting); } body[data-state="live"] { --state-color: var(--live); } body[data-state="offline"] { --state-color: var(--offline); } .monitor { position: relative; height: 100vh; height: 100dvh; background: radial-gradient( circle at 50% 44%, #26302d 0, #151d1c 42%, #0a0f10 78% ); } .monitor::after { position: absolute; z-index: 2; inset: 0; border: 1px solid rgb(242 236 225 / 6%); box-shadow: inset 0 0 120px rgb(0 0 0 / 58%), inset 0 -48px 90px rgb(0 0 0 / 18%); content: ""; pointer-events: none; } video { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: contain; background: var(--night-deep); } .status { position: absolute; z-index: 4; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 0 15px; border: 1px solid var(--line); border-radius: 999px; background: linear-gradient(145deg, rgb(46 54 51 / 38%), transparent 52%), var(--panel); box-shadow: 0 12px 36px rgb(0 0 0 / 30%), inset 0 1px rgb(255 255 255 / 5%); -webkit-backdrop-filter: blur(18px) saturate(115%); backdrop-filter: blur(18px) saturate(115%); font-size: 12px; font-weight: 600; letter-spacing: 0.015em; text-transform: capitalize; pointer-events: none; } .status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--state-color); box-shadow: 0 0 0 4px color-mix(in srgb, var(--state-color) 11%, transparent); } body[data-state="connecting"] .status-dot { animation: breathe 2.8s ease-in-out infinite; } .empty-state { position: absolute; z-index: 3; inset: 0; display: grid; place-content: center; padding: 24px; background: radial-gradient( circle at 50% 48%, color-mix(in srgb, var(--state-color) 8%, transparent) 0, transparent 34% ), linear-gradient(180deg, rgb(255 255 255 / 1.5%), transparent 30%); text-align: center; pointer-events: none; transition: opacity 260ms ease; } body[data-state="live"] .empty-state { opacity: 0; } .eyebrow { margin: 0 0 17px; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: 0.075em; } h1 { margin: 0; font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif; font-size: clamp(44px, 8vw, 76px); font-weight: 400; letter-spacing: -0.042em; line-height: 0.96; text-shadow: 0 12px 38px rgb(0 0 0 / 25%); } .detail { margin: 20px 0 0; color: var(--muted); font-size: 13px; font-weight: 500; letter-spacing: 0.01em; line-height: 1.5; } @keyframes breathe { 50% { opacity: 0.55; transform: scale(0.84); } } @media (prefers-reduced-motion: reduce) { body[data-state="connecting"] .status-dot { animation: none; } .empty-state { transition: none; } }