body {
    font-family: var(--font-body);
    color: var(--color-text);
    background: var(--color-bg);
    overflow-x: hidden;
}

:focus-visible {
    outline: 2px solid var(--color-primary-strong);
    outline-offset: 3px;
}

::selection {
    color: var(--color-on-primary);
    background: var(--color-primary);
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.display {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: -0.035em;
}

.label {
    font-family: var(--font-label);
    font-size: 0.8rem;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-muted);
}

.label b {
    margin-right: 0.6em;
    font-weight: 400;
    color: var(--color-primary-strong);
}

.fine {
    font-family: var(--font-label);
    font-weight: 300;
    font-variant-numeric: tabular-nums;
}

.text-accent {
    color: var(--color-primary-strong);
}

.text-muted {
    color: var(--color-muted);
}

.wordmark {
    display: inline-flex;
    align-items: center;
    gap: 0.45em;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1;
}

.wordmark__bang {
    color: var(--color-primary-strong);
}

.eq {
    display: inline-flex;
    align-items: flex-end;
    gap: 0.12em;
    height: 0.8em;
}

.eq i {
    width: 0.16em;
    height: 100%;
    background: var(--color-primary);
    border-radius: 1px;
    transform-origin: bottom;
    animation: eq-bounce 1.1s ease-in-out infinite;
}

.eq i:nth-child(2) { animation-delay: -0.35s; }
.eq i:nth-child(3) { animation-delay: -0.7s; }
.eq i:nth-child(4) { animation-delay: -0.2s; }

.eq.is-paused i {
    animation-play-state: paused;
}

.screen {
    display: none;
}

.screen.is-active {
    display: flex;
    animation: fade-in var(--dur-base) var(--ease-out) both;
}

.topbar {
    display: flex;
    align-items: center;
    gap: var(--space-5);
    border-bottom: var(--hairline);
}

.topbar__meta {
    margin-left: auto;
}

.topbar__alert {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-family: var(--font-label);
    font-weight: 300;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-danger);
}

.topbar__alert::before {
    content: '';
    width: 7px;
    height: 7px;
    background: currentColor;
    border-radius: 50%;
    animation: caret 1s steps(1) infinite;
}
