/* Line 16962 (google-path-polish-17-r2): the landing-frame pages of this unit (/harness, /enterprise signed out,
   /compare/intercom, /compare/ai-answering) on the Google path. Linked by partials/google-path-polish-17 after
   public/css/ns-tokens.css, whose .ns-gp scope on layouts.landing's <body> (line 16912) carries every value, light and
   dark with the device. This sheet holds no colour of its own: every value is a --ns-* token. Each view's own rules
   already read the tokens; this sheet only puts the plane under them on the same ground, so a light device never
   shows token ink on the old dark plane. Scoped to layouts.landing's body (.ns-polish-15): in layouts.app, where
   /enterprise renders signed in, nothing here matches. */
body.ns-polish-15:has(:is(.compare-article, .harness-page, .ns-build-page)) {
    --landing-glow: none;
    background: var(--ns-bg);
    color: var(--ns-text);
    font-family: var(--ns-font);
}
body.ns-polish-15:has(:is(.compare-article, .harness-page, .ns-build-page)) :is(.landing-bg, .landing-main) {
    background: var(--ns-bg) !important;
    color: var(--ns-text);
}
body.ns-polish-15 :is(.compare-article, .harness-page, .ns-build-page) { font-family: var(--ns-font); color: var(--ns-text); }
body.ns-polish-15 :is(.compare-article, .harness-page, .ns-build-page) :is(h1, h2, h3, h4, strong, dt, th, label) { color: var(--ns-text); }
body.ns-polish-15 :is(.compare-article, .ns-build-page) :is(p, li, dd, td) { color: var(--ns-text-2); }
body.ns-polish-15 :is(.compare-article, .ns-build-page) :is(p, li, dd, td) a:not([class]):not([style]) { color: var(--ns-gold-light); }
body.ns-polish-15 .compare-cta p { color: var(--ns-text-2); }

/* /enterprise: the request form's fields, rule and button sit on the page ground (the landing frame keeps Bootstrap's
   dark theme attribute, so its own field colours would stay dark on a light device). */
body.ns-polish-15 .ns-build-page :is(.form-control, .form-select) {
    background-color: var(--ns-card);
    border-color: var(--ns-border-strong);
    color: var(--ns-text);
}
body.ns-polish-15 .ns-build-page :is(.form-control, .form-select)::placeholder { color: var(--ns-text-2); opacity: 1; }
body.ns-polish-15 .ns-build-page :is(.form-control, .form-select):focus { border-color: var(--ns-gold); box-shadow: 0 0 0 3px var(--ns-gold-glow); }
body.ns-polish-15 .ns-build-page :is(.text-muted, .text-secondary, .form-text, small) { color: var(--ns-text-2) !important; }
body.ns-polish-15 .ns-build-page hr { border-color: var(--ns-border-strong); opacity: 1; }
body.ns-polish-15 .ns-build-page .btn-primary {
    background: var(--ns-gold);
    border-color: var(--ns-gold);
    color: var(--ns-on-accent);
    border-radius: 999px;
    font-weight: 500;
}
body.ns-polish-15 .ns-build-page :is(.btn-outline-primary, .btn-outline-secondary, .btn-outline-light, .btn-secondary) {
    background: var(--ns-surface);
    border-color: var(--ns-border-strong);
    color: var(--ns-text);
}
body.ns-polish-15 .ns-build-page :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--ns-gold-light); outline-offset: 2px; }

/* /harness: the meet dialect (meet.partials.tokens) and design-system.css's names point at the tokens, so every rule
   that reads them follows the device with the page. */
body.ns-polish-15 .harness-page {
    --ns-bg-primary: var(--ns-bg);
    --ns-bg-secondary: var(--ns-surface);
    --ns-bg-surface: var(--ns-card);
    --ns-bg-elevated: var(--ns-card);
    --ns-text-primary: var(--ns-text);
    --ns-text-secondary: var(--ns-text-2);
    --ns-text-muted: var(--ns-text-2);
    --ns-accent: var(--ns-gold);
    --ns-border-subtle: var(--ns-border);
    background: var(--ns-bg);
}
