Spaces:
Sleeping
Sleeping
| .statusWrap { | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| } | |
| .statusDot { | |
| width: 6px; | |
| height: 6px; | |
| border-radius: 50%; | |
| display: inline-block; | |
| flex-shrink: 0; | |
| } | |
| .statusGreen { | |
| background: var(--nx-green); | |
| } | |
| .statusAmber { | |
| background: var(--nx-yellow); | |
| } | |
| .statusRed { | |
| background: var(--nx-red); | |
| } | |
| .statusPulse { | |
| animation: statusPulseAnim 2s ease-in-out infinite; | |
| } | |
| @keyframes statusPulseAnim { | |
| 0%, | |
| 100% { | |
| opacity: 1; | |
| box-shadow: 0 0 0 0 currentColor; | |
| } | |
| 50% { | |
| opacity: 0.6; | |
| box-shadow: 0 0 6px 2px currentColor; | |
| } | |
| } | |
| .statusLabel { | |
| font-size: 10px; | |
| text-transform: uppercase; | |
| letter-spacing: 0.06em; | |
| color: var(--nx-text-dim); | |
| } | |
| /* ββ Replay Controls βββββββββββββββββββββββββββ */ | |
| .replayBar { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 8px; | |
| padding: 6px 12px; | |
| background: var(--nx-surface); | |
| border: 1px solid var(--nx-border); | |
| border-radius: 2px; | |
| width: 100%; | |
| max-width: 600px; | |
| } | |
| .replayGroup, | |
| .replayGroupCenter, | |
| .replayGroupRight { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| } | |
| .replayGroup { | |
| flex: 1; | |
| /* Match the space taken by scrubber so center is geometrically true */ | |
| } | |
| .replayGroupCenter { | |
| gap: 12px; | |
| justify-content: center; | |
| } | |
| .replayGroupRight { | |
| flex: 1; | |
| justify-content: flex-end; | |
| } | |
| .replayBtn { | |
| font-family: var(--nx-font, 'JetBrains Mono', monospace); | |
| font-size: 10px; | |
| padding: 3px 8px; | |
| border: 1px solid var(--nx-border); | |
| border-radius: 2px; | |
| background: transparent; | |
| color: var(--nx-text-dim); | |
| cursor: pointer; | |
| transition: all 0.2s; | |
| text-transform: uppercase; | |
| letter-spacing: 0.04em; | |
| } | |
| .replayBtn:hover { | |
| border-color: var(--nx-orange); | |
| color: var(--nx-orange); | |
| } | |
| .replayBtnActive { | |
| border-color: var(--nx-orange); | |
| color: var(--nx-orange); | |
| background: var(--nx-orange-glow2); | |
| } | |
| .replayPlayBtn { | |
| font-size: 14px; | |
| padding: 4px 12px; | |
| } | |
| .replayScrubber { | |
| width: 120px; | |
| /* Don't flex 1 here, let it be fixed size so it looks neat */ | |
| height: 3px; | |
| appearance: none; | |
| background: var(--nx-border); | |
| border-radius: 2px; | |
| outline: none; | |
| cursor: pointer; | |
| } | |
| .replayScrubber::-webkit-slider-thumb { | |
| appearance: none; | |
| width: 10px; | |
| height: 10px; | |
| border-radius: 2px; | |
| background: var(--nx-orange); | |
| cursor: pointer; | |
| } | |
| .replayStep { | |
| font-size: 10px; | |
| color: var(--nx-text-dim); | |
| font-variant-numeric: tabular-nums; | |
| min-width: 48px; | |
| text-align: right; | |
| } |