/* Shared chrome only. Ad artwork keeps its own colors and media treatment. */
:root {
  --ps-bg: #090c12;
  --ps-panel: #111620;
  --ps-raised: #171e2a;
  --ps-line: #2a3444;
  --ps-text: #edf2f7;
  --ps-muted: #a7b4c7;
  --ps-cyan: #67d6f3;
  --ps-violet: #aa9cff;
  --ps-primary-text: #08212b;
  --ps-danger: #ffa4ae;
  --ps-success: #8bdfb2;
  --ps-warning: #f3cc86;
  --ps-font: 'Segoe UI', system-ui, -apple-system, sans-serif;
}
:root[data-brand-theme='light'], :root[data-brand-theme='light'] .player { color-scheme: light; }
:root[data-brand-theme='dark'], :root[data-brand-theme='dark'] .player { color-scheme: dark; }
.ps-brand-logo { display: block; width: auto; max-width: 72px; height: 32px; object-fit: contain; flex: 0 0 auto; }
.ps-brand > span { min-width: 0; overflow-wrap: anywhere; }
.ps-logo-preview { width: min(100%, 240px); height: 96px; padding: .75rem; object-fit: contain; background: var(--ps-bg); border: 1px solid var(--ps-line); border-radius: 6px; }
.ps-ui textarea { resize: vertical; }
.ps-ai { margin-top: 1.5rem; border-top-color: var(--ps-violet); }
.ps-ai-proposal { padding: 1rem; border-left: 3px solid var(--ps-violet); background: var(--ps-raised); }
.ps-ai-proposal dd { white-space: pre-wrap; text-align: left; }
.ps-ai-image { display: block; width: 100%; max-height: 380px; object-fit: contain; background: var(--ps-bg); }
.ps-ai figcaption { font-size: .8rem; color: var(--ps-muted); }
.ps-ui .ps-feedback { background: var(--ps-panel); color: var(--ps-text); border-color: var(--ps-cyan); }
.ps-ui .ps-feedback[data-tone='error'], .ps-ui .ps-badge[data-tone='error'] { background: var(--ps-panel); color: var(--ps-danger); border-color: var(--ps-danger); }
.ps-ui .ps-feedback[data-tone='success'], .ps-ui .ps-badge[data-tone='success'] { background: var(--ps-panel); color: var(--ps-success); border-color: var(--ps-success); }
.ps-ui .ps-feedback[data-tone='warning'], .ps-ui .ps-badge[data-tone='warning'] { background: var(--ps-panel); color: var(--ps-warning); border-color: var(--ps-warning); }
:root[data-brand-theme='light'] { --ps-danger: #a9213e; --ps-success: #14633e; --ps-warning: #805209; }
.ps-ui .ps-danger { border-color: var(--ps-danger); }
.ps-ui .ps-danger:hover { background: var(--ps-raised); }
.ps-onboarding li[data-complete='true'] .ps-step-number { background: var(--ps-panel); border-color: var(--ps-success); }
.ps-step-number { border-color: var(--ps-violet); }
.ps-empty, .ps-ui dialog { border-color: var(--ps-line); }
.ps-ui input::file-selector-button { border-color: var(--ps-line); }
.ps-bar-list meter, .ps-bar-list meter::-webkit-meter-bar { background: var(--ps-raised); }
.ps-bar-scroll { scrollbar-color: var(--ps-muted) transparent; }

/* The landing illustration is a schematic, not a customer ad or a live reading. */
.ps-hero h1 { font-size: clamp(2.6rem, 5.4vw, 4.65rem); }
.ps-hero-copy > .ps-hero-ai { color: var(--ps-text) !important; font-weight: 650; border-left: 2px solid var(--ps-violet); padding-left: 1rem; }
.ps-hero-ai span { color: var(--ps-muted); font-size: .875rem; font-weight: 400; }
.ps-audience-scene { position: relative; padding-top: 1rem; }
.ps-scene-input { display: flex; align-items: center; gap: .8rem; padding-bottom: 1.2rem; }
.ps-scene-input svg { width: 128px; flex-shrink: 0; fill: none; stroke: var(--ps-cyan); stroke-width: 2; }
.ps-scene-input strong { display: block; max-width: 20ch; font-size: .95rem; margin-top: .5rem; }
.ps-scene-route { position: relative; display: grid; gap: .4rem; padding: .7rem 0 1.8rem 1.5rem; margin-left: 4rem; border-left: 1px solid var(--ps-violet); font-size: .78rem; color: var(--ps-muted); }
.ps-scene-route::before { content: ''; position: absolute; left: -4px; top: 1rem; width: 7px; height: 7px; border-radius: 50%; background: var(--ps-violet); }
.ps-scene-route strong { color: var(--ps-violet); font-size: 1.05rem; }
.ps-scene-fallback { max-width: 30ch; }
.ps-audience-scene .ps-display-inner { position: relative; min-height: 350px; gap: 1.5rem; isolation: isolate; }
.ps-audience-scene .ps-display-inner strong { max-width: 13ch; font-size: clamp(2rem, 3.4vw, 3rem); }
.ps-scene-art { position: absolute; inset: 0; z-index: -1; opacity: .16; overflow: hidden; }
.ps-scene-art i { position: absolute; width: 240px; height: 240px; border: 35px solid var(--ps-cyan); border-radius: 50%; right: -80px; top: 40px; }
.ps-scene-art i:nth-child(2) { right: -15px; top: 110px; border-color: var(--ps-violet); }
.ps-scene-art i:nth-child(3) { right: 50px; top: 180px; }
.ps-audience-editorial { display: grid; gap: 2rem; }
.ps-audience-editorial h2 span { color: var(--ps-cyan); }
.ps-audience-editorial .ps-section-title { align-content: start; }
.ps-audience-notes { display: grid; }
.ps-audience-notes article { padding: 1.6rem 0 1.6rem 1.2rem; border-left: 1px solid var(--ps-line); border-bottom: 1px solid var(--ps-line); }
.ps-audience-notes article:first-child { border-left: 3px solid var(--ps-cyan); padding-top: 0; }
.ps-audience-notes article:last-child { border-bottom: 0; border-left-color: var(--ps-violet); }
.ps-audience-notes article > span { color: var(--ps-violet); font: .7rem ui-monospace, monospace; letter-spacing: .15em; }
.ps-audience-notes h3 { margin-block: .6rem; font-size: 1.15rem; }
.ps-audience-notes p { color: var(--ps-muted); font-size: .925rem; }
@media (min-width: 900px) { .ps-audience-editorial { grid-template-columns: 1fr 1fr; gap: 5rem; } }
@media (max-width: 599px) { .ps-scene-input svg { width: 96px; } .ps-scene-route { margin-left: 3rem; } }

.player { background: var(--bg, var(--ps-bg)); color: var(--ps-text); font-family: var(--ps-font); }
.player-stage { background: var(--bg, var(--ps-bg)); }
.player-brand { display: inline-flex; align-items: center; gap: .65rem; max-width: 65%; overflow-wrap: anywhere; color: var(--ps-text); }
.player-brand span { color: var(--ps-text); background: none; -webkit-text-fill-color: currentColor; }
.player-header .player-brand { padding: .3rem .5rem; border-radius: 6px; background: var(--ps-panel); }
.player .player-card h1 { color: var(--ps-text); }
.player .player-description, .player .pair-form #pairHelp, .player .pair-footnote, .player .operator-note, .player .operator-content dt { color: var(--ps-muted); }
.player .player-eyebrow, .player .player-text-link { color: var(--accent, var(--ps-cyan)); }
.player .player-quiet, .player .operator-panel summary, .player .player-status, .player .operator-content,
.player .pair-entry input, .player .operator-actions button, .player .player-retry { background: var(--ps-panel); color: var(--ps-text); border-color: var(--ps-line); }
.player .pair-entry input::placeholder { color: var(--ps-muted); }
.player .pair-feedback { color: var(--ps-danger); }
.player .demo-badge { color: var(--ps-warning); background: var(--ps-panel); border-color: var(--ps-warning); }
.player .player-noscript { color: var(--ps-danger); background: var(--ps-panel); }
.player .pair-form, .player .operator-content dl > div, .player .unpair-confirm { border-color: var(--ps-line); }
.player .pair-entry button { background: var(--accent, var(--ps-cyan)); color: var(--ps-primary-text); }
.player .player-orbit, .player .player-orbit i { border-color: var(--ps-line); background: none; }
.player :focus-visible { outline-color: var(--accent, var(--ps-cyan)); }
