/* Line 15829 (upskill-looks-13-r1, ai.features.looks_doors_2026_stack): the Google-path look for the live avatars' doors.
   Loaded only while the key is lit (App\Support\Looks\LooksDoors2026::stylesheet(), once per page), so key-off pages keep
   main's bytes. Every value reads the ns-tokens.css token first (a page inside the split shell wears its shell's set and
   its industry accent) and falls back to the same Google-path values ns-tokens.css declares: light by default, dark under
   prefers-color-scheme: dark. The older /compare pages (a light card inside the shell's dark content plane) keep their
   own light and dark sets so their ink never meets the plane's dark tokens. 375 px first, 44 px touch targets. */

:root .ns-avatar-menu,
:root .ns-stage-adapter[data-stage-adapter-character],
:root .ns-trust-band,
:root [data-features-gp],
:root .ns-looks-moved {
    --lg-bg: var(--ns-card, #ffffff);
    --lg-surface: var(--ns-surface, #f1f3f4);
    --lg-text: var(--ns-text, #202124);
    --lg-text-2: var(--ns-text-2, #5f6368);
    --lg-border: var(--ns-border-strong, rgba(60, 64, 67, .26));
    --lg-line: var(--ns-border, rgba(60, 64, 67, .14));
    --lg-accent: var(--ns-gold, #f9ab00);
    --lg-link: var(--ns-gold-light, #b06000);
    --lg-on-accent: var(--ns-on-accent, #202124);
    --lg-font: var(--ns-font, Roboto, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif);
    --lg-radius: var(--ns-radius, 12px);
    --lg-scrim: rgba(32, 33, 36, .45);
}

@media (prefers-color-scheme: dark) {
    :root .ns-avatar-menu,
    :root .ns-stage-adapter[data-stage-adapter-character],
    :root .ns-trust-band,
    :root [data-features-gp],
    :root .ns-looks-moved {
        --lg-bg: var(--ns-card, #2d2e31);
        --lg-surface: var(--ns-surface, #292a2d);
        --lg-text: var(--ns-text, #e8eaed);
        --lg-text-2: var(--ns-text-2, #9aa0a6);
        --lg-border: var(--ns-border-strong, rgba(232, 234, 237, .2));
        --lg-line: var(--ns-border, rgba(232, 234, 237, .12));
        --lg-accent: var(--ns-gold, #f5a623);
        --lg-link: var(--ns-gold-light, #fdd663);
        --lg-scrim: rgba(0, 0, 0, .6);
    }
}

/* The trust band and the /features cards sit on layouts that stay dark in both schemes (layouts.landing, layouts.content),
   so they wear the Google dark set whatever the browser asks for; a split-shell token still wins where one is set. */
:root .ns-trust-band,
:root [data-features-gp] {
    --lg-bg: var(--ns-card, #2d2e31);
    --lg-surface: var(--ns-surface, #292a2d);
    --lg-text: var(--ns-text, #e8eaed);
    --lg-text-2: var(--ns-text-2, #9aa0a6);
    --lg-border: var(--ns-border-strong, rgba(232, 234, 237, .2));
    --lg-line: var(--ns-border, rgba(232, 234, 237, .12));
    --lg-accent: var(--ns-gold, #f5a623);
    --lg-link: var(--ns-gold-light, #fdd663);
}

/* SEED-0789, SEED-0747, HANDOFF1-0044: the one avatar menu (its button, panel, rows and the phone sheet's close bar). */
:root .ns-avatar-menu { color: var(--lg-text); font-family: var(--lg-font); }
:root .ns-avatar-menu .ns-avatar-menu-button:not(.ns-avatar-menu-button--badge),
:root .ns-avatar-menu .ns-avatar-menu-panel {
    border-color: var(--lg-border);
    background: var(--lg-bg);
    color: var(--lg-text);
}
:root .ns-avatar-menu .ns-avatar-menu-panel { border-radius: var(--lg-radius); box-shadow: 0 1px 3px rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15); }
:root .ns-avatar-menu .ns-avatar-menu-row { border-bottom-color: var(--lg-line); }
:root .ns-avatar-menu .ns-avatar-menu-reason,
:root .ns-avatar-menu .ns-avatar-menu-note,
:root .ns-avatar-menu .ns-avatar-menu-option input:disabled + span { color: var(--lg-text-2); }
:root .ns-avatar-menu .ns-avatar-menu-option input { accent-color: var(--lg-accent); }
:root .ns-avatar-menu .ns-avatar-menu-panel a,
:root .ns-avatar-menu .ns-avatar-menu-face-link { color: var(--lg-link) !important; }
:root .ns-avatar-menu .ns-avatar-menu-panel [data-avatar-menu-own] { border-color: var(--lg-border); color: var(--lg-text); }
:root .ns-avatar-menu .ns-avatar-menu-button:focus-visible,
:root .ns-avatar-menu .ns-avatar-menu-panel:focus-visible,
:root .ns-avatar-menu .ns-avatar-menu-option input:focus-visible,
:root .ns-avatar-menu .ns-avatar-menu-close:focus-visible { outline-color: var(--lg-accent); }
:root .ns-public-avatar-menu.ns-public-avatar-menu--sheet .ns-avatar-menu .ns-avatar-menu-close {
    border-bottom-color: var(--lg-line);
    background: var(--lg-bg);
    color: var(--lg-text);
    font-family: var(--lg-font);
}
:root .ns-public-avatar-menu.ns-public-avatar-menu--sheet .ns-avatar-menu:has(> div.ns-avatar-menu-panel:not([hidden]))::before { background: var(--lg-scrim); }

/* SEED-1019: the stage adapter's welcome bubble beside her face (never a chat box: her words, her face, one menu). */
:root .ns-stage-adapter[data-stage-adapter-character] {
    background: var(--lg-bg);
    color: var(--lg-text);
    font-family: var(--lg-font);
    border: 1px solid var(--lg-line);
    border-radius: var(--lg-radius);
    box-shadow: 0 1px 3px rgba(60, 64, 67, .3);
}
:root .ns-stage-adapter[data-stage-adapter-character] .ns-stage-adapter__face { background: var(--lg-surface); }
:root .ns-stage-adapter[data-stage-adapter-character] .ns-stage-adapter__ai { background: var(--lg-surface); color: var(--lg-text-2); border: 1px solid var(--lg-line); }
:root .ns-stage-adapter[data-stage-adapter-character] .ns-stage-adapter__burger { background: transparent; color: var(--lg-text-2); width: 44px; height: 44px; }
:root .ns-stage-adapter[data-stage-adapter-character] .ns-stage-adapter__panel { background: var(--lg-bg); color: var(--lg-text); border: 1px solid var(--lg-line); border-radius: var(--lg-radius); }
:root .ns-stage-adapter[data-stage-adapter-character] .ns-stage-adapter__row { background: var(--lg-surface); color: var(--lg-text); min-height: 44px; }

/* SEED-1061: the trust band (talk to a person, the build-call steps, the no-charge promise). */
:root .ns-trust-band { background: var(--lg-surface); color: var(--lg-text); border-top-color: var(--lg-line); font-family: var(--lg-font); }
:root .ns-trust-band h2,
:root .ns-trust-band .ns-trust-band__clear { color: var(--lg-text) !important; }
:root .ns-trust-band p,
:root .ns-trust-band ol { color: var(--lg-text-2); }
:root .ns-trust-band .ns-trust-band__actions a { border-radius: 22px; background: var(--lg-accent); color: var(--lg-on-accent); font-weight: 500; }
:root .ns-trust-band .ns-trust-band__links a { color: var(--lg-link); }
:root .ns-trust-band a:focus-visible { outline-color: var(--lg-text); }

/* SEED-0854: the /features cards (the page's inline colours are the fallbacks the key replaces). */
:root [data-features-gp] .ns-content-card { background: var(--lg-bg); border-color: var(--lg-line); border-radius: var(--lg-radius); font-family: var(--lg-font); }
:root [data-features-gp] .ns-content-card > div { background: var(--lg-surface) !important; border-color: var(--lg-line) !important; color: var(--lg-link) !important; }
:root [data-features-gp] .ns-content-card h3 { color: var(--lg-text) !important; font-weight: 500 !important; }
:root [data-features-gp] .ns-content-card p { color: var(--lg-text-2) !important; }
:root [data-features-gp] .ns-content-card span { color: var(--lg-link) !important; font-weight: 500 !important; }

/* SEED-0942: the older /compare pages (a light card in the shell's dark plane: its own light and dark sets). */
:root .ns-compare.ns-compare--gp {
    --ink: #202124;
    --muted: #5f6368;
    --blue: #1a73e8;
    --lg-line: #dadce0;
    --lg-tint: #f8f9fa;
    --lg-tint-2: #e8f0fe;
    --lg-link: #1967d2;
    background: #ffffff;
    font-family: Roboto, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
    :root .ns-compare.ns-compare--gp {
        --ink: #e8eaed;
        --muted: #9aa0a6;
        --blue: #8ab4f8;
        --lg-line: rgba(232, 234, 237, .16);
        --lg-tint: #292a2d;
        --lg-tint-2: #303134;
        --lg-link: #8ab4f8;
        background: #202124;
    }
    :root .ns-compare.ns-compare--gp .ns-compare-button { color: #202124 !important; }
}
:root .ns-compare--gp h1,
:root .ns-compare--gp h2 { font-weight: 500; letter-spacing: 0; }
:root .ns-compare--gp .ns-compare-eyebrow { font-weight: 500; }
:root .ns-compare--gp .ns-compare-button { border-radius: 22px; font-weight: 500; }
:root .ns-compare--gp .ns-compare-button:hover { background: var(--blue); filter: brightness(.92); }
:root .ns-compare--gp .ns-compare-link,
:root .ns-compare--gp a:not(.ns-compare-button) { color: var(--lg-link); font-weight: 500; }
:root .ns-compare--gp .ns-compare-section,
:root .ns-compare--gp .ns-compare-faq-item { border-top-color: var(--lg-line); border-bottom-color: var(--lg-line); }
:root .ns-compare--gp .ns-compare-table-wrap { border-color: var(--lg-line); border-radius: var(--ns-radius, 12px); }
:root .ns-compare--gp .ns-compare-table th,
:root .ns-compare--gp .ns-compare-table td { border-bottom-color: var(--lg-line); }
:root .ns-compare--gp .ns-compare-table thead th { background: var(--lg-tint); font-weight: 500; }
:root .ns-compare--gp .ns-compare-table thead th:nth-child(2),
:root .ns-compare--gp .ns-compare-table tbody td:nth-child(2) { background: var(--lg-tint-2); }
:root .ns-compare--gp .ns-compare-fair,
:root .ns-compare--gp .ns-compare-includes li { background: var(--lg-tint); }
:root .ns-compare--gp .ns-compare-package { background: var(--lg-tint-2); border-color: var(--lg-line); }
:root .ns-compare--gp .ns-compare-price { color: var(--ink); font-weight: 500; }
:root .ns-compare--gp .ns-compare-tag { background: var(--lg-tint-2); font-weight: 500; }
:root .ns-compare--gp .ns-compare-final { background: var(--lg-tint); color: var(--ink); border: 1px solid var(--lg-line); }
@media (max-width: 575.98px) { :root .ns-compare--gp .ns-compare-table-cards tbody tr { border-bottom-color: var(--lg-line); } }

/* LOOKS-0140, ROUTES-0799, ROUTES-0815: the card a retired photo-face page shows (resources/views/looks/legacy-face-moved). */
.ns-looks-moved-page { margin: 0; min-height: 100vh; background: var(--ns-bg, #ffffff); color: var(--ns-text, #202124); }
:root .ns-looks-moved {
    box-sizing: border-box;
    max-width: 560px;
    margin: 0 auto;
    padding: 48px 16px;
    font-family: var(--lg-font);
    color: var(--lg-text);
}
:root .ns-looks-moved h1 { margin: 0 0 12px; font-size: 24px; line-height: 1.3; font-weight: 400; }
:root .ns-looks-moved p { margin: 0 0 24px; font-size: 16px; line-height: 1.5; color: var(--lg-text-2); }
:root .ns-looks-moved nav { display: flex; flex-direction: column; gap: 8px; }
:root .ns-looks-moved a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 24px;
    border-radius: 22px;
    font: 500 14px/1 var(--lg-font);
    text-decoration: none;
}
:root .ns-looks-moved .ns-looks-moved__primary { background: var(--lg-accent); color: var(--lg-on-accent); }
:root .ns-looks-moved .ns-looks-moved__link { border: 1px solid var(--lg-border); color: var(--lg-link); }
:root .ns-looks-moved a:focus-visible { outline: 2px solid var(--lg-text); outline-offset: 2px; }
@media (min-width: 600px) { :root .ns-looks-moved nav { flex-direction: row; flex-wrap: wrap; } }
