/* The canonical ns-gp token set supplies both device schemes. No new host or voice surface. */
body:has(.ns-launch-reading-door),
body:has(.ns-launch-reading-door) #main-content {
    background: var(--ns-bg);
    color: var(--ns-text);
}
body:has(.ns-launch-reading-door) .ns-tm {
    background: var(--ns-bg);
    color: var(--ns-text);
    border-color: var(--ns-border);
}
body:has(.ns-launch-reading-door) .landing-footer {
    background: var(--ns-bg-deep);
    color: var(--ns-text);
    border-color: var(--ns-border);
}
body:has(.ns-launch-reading-door) .landing-footer :is(a, p, span) { color: var(--ns-text-2); }
body:has(.ns-launch-reading-door) .landing-footer :is(h2, h3, h4, summary, strong) { color: var(--ns-text); }
.ns-launch-reading-door {
    --ns-bg-primary: var(--ns-bg);
    --ns-bg-secondary: var(--ns-surface);
    --ns-bg-card: var(--ns-card);
    --ns-bg-elevated: var(--ns-elevated);
    --ns-text-primary: var(--ns-text);
    --ns-text-secondary: var(--ns-text-2);
    --ns-text-muted: var(--ns-text-2);
    --ns-font-primary: var(--ns-font);
    font-family: var(--ns-font);
    background: var(--ns-bg);
    color: var(--ns-text);
    overflow-wrap: anywhere;
}
.ns-launch-reading-door .launch-reading-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    max-width: 1120px;
    margin: 0 auto;
    padding: 16px 24px;
    border-bottom: 1px solid var(--ns-border);
}
.ns-launch-reading-door .launch-reading-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--ns-text);
    text-underline-offset: 4px;
}
.ns-launch-reading-door :is(a, button, input):focus-visible {
    outline: 2px solid var(--ns-gold-deep);
    outline-offset: 3px;
}
.ns-launch-reading-door :is(.catalog-hero h1, .compare-article h1) {
    color: var(--ns-text);
    -webkit-text-fill-color: var(--ns-text);
    background: none;
    font-weight: 500;
}
.ns-launch-reading-door .text-muted { color: var(--ns-text-2) !important; }
.ns-launch-reading-door .compare-article { padding-top: 32px; }
.ns-launch-reading-door .compare-article :is(h2, h3, dt) { color: var(--ns-text); }
.ns-launch-reading-door .compare-article :is(p, li, dd, td) { color: var(--ns-text-2) !important; }
.ns-launch-reading-door .compare-article table {
    display: block;
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--ns-border);
}
.ns-launch-reading-door .compare-article :is(th, td) { border-color: var(--ns-border); }
.ns-launch-reading-door .compare-article th { background: var(--ns-surface); color: var(--ns-text); }
.ns-launch-reading-door .compare-cta a {
    background: var(--ns-gold) !important;
    color: var(--ns-on-accent) !important;
    border: 1px solid var(--ns-border-strong) !important;
    min-height: 44px;
    margin: 6px !important;
}
.ns-launch-reading-door .cap-card { box-shadow: none; }
.ns-launch-reading-door .cap-card:hover { transform: none; }
.ns-launch-reading-door :is(.cap-badge, .cat-badge, .filter-pill, .cap-icon) {
    color: var(--ns-text);
    background: var(--ns-surface);
    border-color: var(--ns-border);
}
.ns-launch-reading-door .filter-pill.active { color: var(--ns-on-accent); background: var(--ns-gold); }
.ns-launch-reading-door .cap-id { overflow-wrap: anywhere; }
.ns-launch-reading-door .catalog-meta { flex-wrap: wrap; }
@media (max-width: 480px) {
    .ns-launch-reading-door .launch-reading-nav { gap: 0 12px; }
    .ns-launch-reading-door .cap-card { padding: 16px; }
    .ns-launch-reading-door .cap-card-header { flex-wrap: wrap; }
    .ns-launch-reading-door .compare-article :is(th, td) { padding: 10px; }
}
