/*
* demo_director — overlay styles
*
* Self-contained, no framework dependency. All selectors are namespaced
* under .demo-director__* so they cannot collide with host-app CSS.
*/
.demo-director__subtitle {
position: fixed;
left: 50%;
bottom: 40px;
transform: translateX(-50%);
max-width: min(820px, calc(100vw - 32px));
padding: 18px 28px;
background: #000;
color: #fde047;
font: 600 22px/1.35 system-ui, -apple-system, "Segoe UI", sans-serif;
letter-spacing: 0.01em;
border-radius: 12px;
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
z-index: 2147483646;
pointer-events: none;
text-align: left;
opacity: 0;
transition: opacity 180ms ease;
}
.demo-director__subtitle[data-visible="true"] {
opacity: 1;
}
.demo-director__highlight {
position: fixed;
border: 2px solid #ef4444;
border-radius: 4px;
pointer-events: none;
z-index: 2147483645;
transition: opacity 180ms ease;
opacity: 0;
}
.demo-director__highlight[data-visible="true"] {
opacity: 1;
}
.demo-director__end {
position: fixed;
left: 50%;
bottom: 40px;
transform: translateX(-50%);
padding: 14px 22px;
background: #000;
color: #fde047;
font: 600 18px/1.35 system-ui, -apple-system, "Segoe UI", sans-serif;
border-radius: 12px;
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
z-index: 2147483646;
display: flex;
align-items: center;
gap: 16px;
opacity: 0;
transition: opacity 220ms ease;
}
.demo-director__end[data-visible="true"] {
opacity: 1;
}
.demo-director__end__label {
letter-spacing: 0.01em;
}
.demo-director__end__back {
color: #f8fafc;
background: rgba(255, 255, 255, 0.12);
font: 600 14px/1 system-ui, -apple-system, "Segoe UI", sans-serif;
padding: 8px 14px;
border-radius: 8px;
text-decoration: none;
transition: background 120ms ease;
}
.demo-director__end__back:hover {
background: rgba(255, 255, 255, 0.22);
text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
.demo-director__subtitle,
.demo-director__highlight,
.demo-director__end {
transition: opacity 0ms;
}
}