/* Shared structural-accessibility contract for generated zubnet.ai pages. */
:root {
    /* 7.76:1 and 5.45:1 against the canonical #09090b dark background. */
    --text-dim: #a1a1aa;
    --text-muted: #85858f;
}

[data-theme="light"] {
    /* 7.41:1 and 4.63:1 against the canonical #fafafa light background. */
    --text-dim: #52525b;
    --text-muted: #71717a;
}

.zai-skip-link {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 10000;
    padding: 0.65rem 1rem;
    color: var(--bg, #09090b);
    background: var(--text, #e4e4e7);
    border: 2px solid var(--accent, #8b5cf6);
    border-radius: 8px;
    font: 600 0.875rem/1.3 Inter, system-ui, sans-serif;
    text-decoration: none;
    transform: translateY(calc(-100% - 1rem));
    transition: transform 0.15s ease;
}

.zai-skip-link:focus {
    outline: 3px solid var(--accent, #8b5cf6);
    outline-offset: 2px;
    transform: translateY(0);
}

.zai-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

#main-content:focus {
    outline: none;
}

/* Pulse's generated sidebar headings are sections beneath the page H1. */
.sidebar-card > .zai-sidebar-heading {
    margin-bottom: 1rem;
    color: var(--text-muted, #85858f);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
