/* Route v2 S1 status dot + design-color strip behind the phone clock (black-translucent status bar shows the page). */
body.field-body::before { content: ""; position: fixed; top: 0; left: 0; right: 0; height: env(safe-area-inset-top, 0px); background: var(--bg); z-index: var(--rt-z-toast); pointer-events: none; }
.rt-status { position: absolute; top: calc(env(safe-area-inset-top, 0px) + var(--rt-pad)); right: var(--rt-pad); z-index: var(--rt-z-card); }
.rt-status .rt-dot { width: var(--rt-tap); height: var(--rt-tap); display: grid; place-items: center; background: none; border: 0; padding: 0; cursor: pointer; }
.rt-status .rt-dot svg { display: none; }
.rt-status .rt-dot::after { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px var(--card); transition: background var(--rt-fade), transform var(--rt-fade); }
.rt-status .rt-dot[data-lh="none"]::after { background: var(--muted); }
.rt-status .rt-dot[data-lh="bad"]::after { background: var(--rt-bad); transform: scale(1.35); }
.rt-status .rt-dot[data-lh="warn"]::after { background: var(--orange, var(--rt-bad)); animation: rt-dot-pulse 1.2s infinite; }
@keyframes rt-dot-pulse { 50% { transform: scale(1.4); } }
@media (prefers-reduced-motion: reduce) { .rt-status .rt-dot::after { animation: none; } }
