/* NetShow shell design tokens (line 15532, shell-reads-design-tokens-r1): the Google path for the split shell.
   Loaded by layouts/netshow-stage.blade.php after css/pages/netshow-stage.css only while ai.features.shell_design_tokens
   is on, when <html> carries data-ns-tokens (and data-industry from the site's split_shell row, SplitShell::industry()).
   The shell sheet declares every --ns-* token once with main's values on .ns-stage-body, .ns-tm and .ns-foot; this file
   re-declares them one step more specific: dark by default, light under prefers-color-scheme: light, and each industry
   re-dresses only the accent family (--ns-gold*, --ns-on-accent) in both schemes. Neutral greys, type and radius follow
   Google's surfaces (#202124 ink, #5f6368 secondary, #dadce0 lines); NetShow keeps its gold accent.
   The caption and tour scrims stay dark in both schemes: they sit on the host's face. The content plane (.ns-main) keeps
   the dark set in both schemes: the pages it carries (the inner pages, the home, /invest, the trade pages) still draw their
   own dark sections, so light dresses the shell (top menu, host plane, bar, footer) until a page is token-aware.
   Swap values here (and split_shell.theme_color for the phone bar); the layout carries no colour of its own.
   Line 15849 (upskill-factory-4-r1): the stage layer mounts <netshow-stage> on <html>, outside .ns-stage-body, so the
   set-me-free host (css/pages/netshow-stage-free.css) and its pointing ring read the same tokens through their own scope. */

:root[data-ns-tokens] { color-scheme: dark; }

/* Door focus colours live with the tokens; moving them here preserves both rendered schemes. */
.ns-doors26 { --ns-focus: #1a73e8; }
@media (prefers-color-scheme: dark) { .ns-doors26 { --ns-focus: #8ab4f8; } }

/* Line 15826 (upskill-looks-10-r1): :root.ns-stage-dark, the present doors behind ai.features.looks_upskill_10, reads this
   dark set in both schemes (her face is drawn on a dark stage); css/pages/alive-present-google-path.css maps the HUD onto it. */
[data-ns-tokens] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
:root.ns-stage-dark,
/* The legacy shelf's keyed contrast block reads these tokens without a token-aware shell. */
:root:has(style[data-mp-title-contrast]) .marketplace-container {
    --ns-bg: #202124;
    --ns-bg-deep: #1b1c1f;
    --ns-surface: #292a2d;
    --ns-elevated: #35363a;
    --ns-card: #2d2e31;
    --ns-text: #e8eaed;
    --ns-text-2: #9aa0a6;
    --ns-gold: #f5a623;
    --ns-gold-light: #fdd663;
    --ns-gold-deep: #c7851a;
    --ns-gold-glow: rgba(245, 166, 35, .22);
    --ns-gold-border: rgba(245, 166, 35, .32);
    --ns-border: rgba(232, 234, 237, .12);
    --ns-border-strong: rgba(232, 234, 237, .2);
    --ns-on-accent: #202124;
    --ns-chrome: rgba(32, 33, 36, .96);
    --ns-chrome-soft: rgba(32, 33, 36, .88);
    --ns-host-glow: #303134;
    --ns-splitter-mid: #3c4043;
    --ns-speaking: #5eead4;
    --ns-font: Roboto, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
    --ns-radius: 12px;
}

[data-ns-tokens] .ns-main { color-scheme: dark; color: var(--ns-text); background: var(--ns-bg); }

/* Industry accents, dark. Line 16008 (google-path-business-sites-industry-looks-r1): a business-site page root .ns-bsl
   with data-ns-look (App\Support\Marketing\BusinessSitesIndustryLooks) wears the same accent family, dark here and light
   below under prefers-color-scheme: light. Line 16881 (live check 0930-11): the same page's top menu and footer wear it
   too (the landing layout that serves /industries/* sets no data-industry, so its filled menu button stayed gold). */
[data-ns-tokens][data-industry="law"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="law"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="law"] { --ns-gold: #8ab4f8; --ns-gold-light: #aecbfa; --ns-gold-deep: #669df6; --ns-gold-glow: rgba(138, 180, 248, .22); --ns-gold-border: rgba(138, 180, 248, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="pool"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="pool"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="pool"] { --ns-gold: #78d9ec; --ns-gold-light: #a1e4f2; --ns-gold-deep: #4ecde6; --ns-gold-glow: rgba(120, 217, 236, .22); --ns-gold-border: rgba(120, 217, 236, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="dental"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="dental"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="dental"] { --ns-gold: #80cbc4; --ns-gold-light: #b2dfdb; --ns-gold-deep: #4db6ac; --ns-gold-glow: rgba(128, 203, 196, .22); --ns-gold-border: rgba(128, 203, 196, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="med-spa"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="med-spa"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="med-spa"] { --ns-gold: #f48fb1; --ns-gold-light: #f8bbd0; --ns-gold-deep: #f06292; --ns-gold-glow: rgba(244, 143, 177, .22); --ns-gold-border: rgba(244, 143, 177, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="home-services"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="home-services"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="home-services"] { --ns-gold: #fcad70; --ns-gold-light: #fdc69c; --ns-gold-deep: #fa903e; --ns-gold-glow: rgba(252, 173, 112, .22); --ns-gold-border: rgba(252, 173, 112, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="real-estate"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="real-estate"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="real-estate"] { --ns-gold: #81c995; --ns-gold-light: #a8dab5; --ns-gold-deep: #5bb974; --ns-gold-glow: rgba(129, 201, 149, .22); --ns-gold-border: rgba(129, 201, 149, .32); --ns-on-accent: #202124; }
/* Line 16344 (business-sites-looks-tokens-11-r1): the eleven looks of the business-site fleet beside the six above
   (docs/research/business-sites-industry-looks-20260929, generated and AA-checked by gen-tokens.py). */
[data-ns-tokens][data-industry="ai-workforce"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="ai-workforce"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="ai-workforce"] { --ns-gold: #fdd663; --ns-gold-light: #fee292; --ns-gold-deep: #cfaf51; --ns-gold-glow: rgba(253, 214, 99, .22); --ns-gold-border: rgba(253, 214, 99, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="enterprise"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="enterprise"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="enterprise"] { --ns-gold: #e8eaed; --ns-gold-light: #eff0f2; --ns-gold-deep: #bec0c2; --ns-gold-glow: rgba(232, 234, 237, .22); --ns-gold-border: rgba(232, 234, 237, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="developer"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="developer"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="developer"] { --ns-gold: #5de0b5; --ns-gold-light: #8ee9cb; --ns-gold-deep: #4cb894; --ns-gold-glow: rgba(93, 224, 181, .22); --ns-gold-border: rgba(93, 224, 181, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="media"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="media"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="media"] { --ns-gold: #f28b82; --ns-gold-light: #f6aea8; --ns-gold-deep: #c6726b; --ns-gold-glow: rgba(242, 139, 130, .22); --ns-gold-border: rgba(242, 139, 130, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="finance"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="finance"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="finance"] { --ns-gold: #aeb6ff; --ns-gold-light: #c6ccff; --ns-gold-deep: #8f95d1; --ns-gold-glow: rgba(174, 182, 255, .22); --ns-gold-border: rgba(174, 182, 255, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="commerce"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="commerce"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="commerce"] { --ns-gold: #ffab91; --ns-gold-light: #ffc4b2; --ns-gold-deep: #d18c77; --ns-gold-glow: rgba(255, 171, 145, .22); --ns-gold-border: rgba(255, 171, 145, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="wellness"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="wellness"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="wellness"] { --ns-gold: #d7bdf7; --ns-gold-light: #e3d1f9; --ns-gold-deep: #b09bcb; --ns-gold-glow: rgba(215, 189, 247, .22); --ns-gold-border: rgba(215, 189, 247, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="industrial"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="industrial"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="industrial"] { --ns-gold: #fbbc04; --ns-gold-light: #fcd04f; --ns-gold-deep: #ce9a03; --ns-gold-glow: rgba(251, 188, 4, .22); --ns-gold-border: rgba(251, 188, 4, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="education"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="education"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="education"] { --ns-gold: #c5b3ff; --ns-gold-light: #d6caff; --ns-gold-deep: #a293d1; --ns-gold-glow: rgba(197, 179, 255, .22); --ns-gold-border: rgba(197, 179, 255, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="consumer"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="consumer"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="consumer"] { --ns-gold: #a8c7fa; --ns-gold-light: #c2d8fc; --ns-gold-deep: #8aa3cd; --ns-gold-glow: rgba(168, 199, 250, .22); --ns-gold-border: rgba(168, 199, 250, .32); --ns-on-accent: #202124; }
[data-ns-tokens][data-industry="science"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring, .ns-main),
[data-ns-tokens]:has(.ns-bsl[data-ns-look="science"]) :is(.ns-tm, .ns-foot),
.ns-bsl[data-ns-look="science"] { --ns-gold: #7fd3d9; --ns-gold-light: #a5e0e4; --ns-gold-deep: #68adb2; --ns-gold-glow: rgba(127, 211, 217, .22); --ns-gold-border: rgba(127, 211, 217, .32); --ns-on-accent: #202124; }

@media (prefers-color-scheme: light) {
    :root[data-ns-tokens] { color-scheme: light; }

    [data-ns-tokens] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring) {
        --ns-bg: #ffffff;
        --ns-bg-deep: #f8f9fa;
        --ns-surface: #f1f3f4;
        --ns-elevated: #e8eaed;
        --ns-card: #ffffff;
        --ns-text: #202124;
        --ns-text-2: #5f6368;
        --ns-gold: #f9ab00;
        --ns-gold-light: #b06000;
        --ns-gold-deep: #e37400;
        --ns-gold-glow: rgba(249, 171, 0, .22);
        --ns-gold-border: rgba(176, 96, 0, .3);
        --ns-border: rgba(60, 64, 67, .14);
        --ns-border-strong: rgba(60, 64, 67, .26);
        --ns-on-accent: #202124;
        --ns-chrome: rgba(255, 255, 255, .96);
        --ns-chrome-soft: rgba(255, 255, 255, .9);
        --ns-host-glow: #eef1f6;
        --ns-splitter-mid: #dadce0;
        --ns-speaking: #00897b;
    }

    /* Line 15850 (upskill-factory-5): the agentic-businesses explainer (.nsab) reads every colour from these tokens,
       so the content plane that carries it takes the light set too (the other pages keep the dark plane, see above). */
    [data-ns-tokens] .ns-main:has(.nsab) {
        color-scheme: light;
        --ns-bg: #ffffff;
        --ns-bg-deep: #f8f9fa;
        --ns-surface: #f1f3f4;
        --ns-elevated: #e8eaed;
        --ns-card: #ffffff;
        --ns-text: #202124;
        --ns-text-2: #5f6368;
        --ns-gold: #f9ab00;
        --ns-gold-light: #b06000;
        --ns-gold-deep: #e37400;
        --ns-gold-glow: rgba(249, 171, 0, .22);
        --ns-gold-border: rgba(176, 96, 0, .3);
        --ns-border: rgba(60, 64, 67, .14);
        --ns-border-strong: rgba(60, 64, 67, .26);
        --ns-on-accent: #202124;
    }

    /* Line 16102 (fix-ui-06-20260929-r1, F-0678, ai.features.fix_ui_06_google_path): the split shell marks <html
       data-ns-plane-light> on the pages whose own sheets read every colour from these tokens (App\Support\Ui\FixUi06),
       so their content plane follows a light device too (with the industry's light accent below); every other page
       keeps the dark plane above. */
    [data-ns-tokens][data-ns-plane-light] .ns-main {
        color-scheme: light;
        --ns-bg: #ffffff;
        --ns-bg-deep: #f8f9fa;
        --ns-surface: #f1f3f4;
        --ns-elevated: #e8eaed;
        --ns-card: #ffffff;
        --ns-text: #202124;
        --ns-text-2: #5f6368;
        --ns-gold: #f9ab00;
        --ns-gold-light: #b06000;
        --ns-gold-deep: #e37400;
        --ns-gold-glow: rgba(249, 171, 0, .22);
        --ns-gold-border: rgba(176, 96, 0, .3);
        --ns-border: rgba(60, 64, 67, .14);
        --ns-border-strong: rgba(60, 64, 67, .26);
        --ns-on-accent: #202124;
    }

    /* Industry accents, light: deep enough to carry white ink on a button and to read as a link on white. */
    [data-ns-tokens][data-industry="law"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="law"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="law"],
    [data-ns-tokens][data-ns-plane-light][data-industry="law"] .ns-main { --ns-gold: #1a73e8; --ns-gold-light: #1967d2; --ns-gold-deep: #174ea6; --ns-gold-glow: rgba(26, 115, 232, .2); --ns-gold-border: rgba(26, 115, 232, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="pool"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="pool"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="pool"],
    [data-ns-tokens][data-ns-plane-light][data-industry="pool"] .ns-main { --ns-gold: #007b83; --ns-gold-light: #00696f; --ns-gold-deep: #005a60; --ns-gold-glow: rgba(0, 123, 131, .2); --ns-gold-border: rgba(0, 123, 131, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="dental"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="dental"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="dental"],
    [data-ns-tokens][data-ns-plane-light][data-industry="dental"] .ns-main { --ns-gold: #00796b; --ns-gold-light: #00695c; --ns-gold-deep: #004d40; --ns-gold-glow: rgba(0, 121, 107, .2); --ns-gold-border: rgba(0, 121, 107, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="med-spa"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="med-spa"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="med-spa"],
    [data-ns-tokens][data-ns-plane-light][data-industry="med-spa"] .ns-main { --ns-gold: #c2185b; --ns-gold-light: #ad1457; --ns-gold-deep: #880e4f; --ns-gold-glow: rgba(194, 24, 91, .2); --ns-gold-border: rgba(194, 24, 91, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="home-services"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="home-services"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="home-services"],
    [data-ns-tokens][data-ns-plane-light][data-industry="home-services"] .ns-main { --ns-gold: #b85c00; --ns-gold-light: #a14f00; --ns-gold-deep: #8a4200; --ns-gold-glow: rgba(184, 92, 0, .2); --ns-gold-border: rgba(184, 92, 0, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="real-estate"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="real-estate"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="real-estate"],
    [data-ns-tokens][data-ns-plane-light][data-industry="real-estate"] .ns-main { --ns-gold: #188038; --ns-gold-light: #137333; --ns-gold-deep: #0d652d; --ns-gold-glow: rgba(24, 128, 56, .2); --ns-gold-border: rgba(24, 128, 56, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="ai-workforce"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="ai-workforce"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="ai-workforce"],
    [data-ns-tokens][data-ns-plane-light][data-industry="ai-workforce"] .ns-main { --ns-gold: #8d6300; --ns-gold-light: #7c5700; --ns-gold-deep: #664700; --ns-gold-glow: rgba(141, 99, 0, .2); --ns-gold-border: rgba(141, 99, 0, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="enterprise"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="enterprise"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="enterprise"],
    [data-ns-tokens][data-ns-plane-light][data-industry="enterprise"] .ns-main { --ns-gold: #202124; --ns-gold-light: #1c1d20; --ns-gold-deep: #17181a; --ns-gold-glow: rgba(32, 33, 36, .2); --ns-gold-border: rgba(32, 33, 36, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="developer"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="developer"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="developer"],
    [data-ns-tokens][data-ns-plane-light][data-industry="developer"] .ns-main { --ns-gold: #0b7a5a; --ns-gold-light: #0a6b4f; --ns-gold-deep: #085841; --ns-gold-glow: rgba(11, 122, 90, .2); --ns-gold-border: rgba(11, 122, 90, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="media"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="media"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="media"],
    [data-ns-tokens][data-ns-plane-light][data-industry="media"] .ns-main { --ns-gold: #c5221f; --ns-gold-light: #ad1e1b; --ns-gold-deep: #8e1816; --ns-gold-glow: rgba(197, 34, 31, .2); --ns-gold-border: rgba(197, 34, 31, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="finance"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="finance"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="finance"],
    [data-ns-tokens][data-ns-plane-light][data-industry="finance"] .ns-main { --ns-gold: #3f4bb8; --ns-gold-light: #3742a2; --ns-gold-deep: #2d3684; --ns-gold-glow: rgba(63, 75, 184, .2); --ns-gold-border: rgba(63, 75, 184, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="commerce"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="commerce"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="commerce"],
    [data-ns-tokens][data-ns-plane-light][data-industry="commerce"] .ns-main { --ns-gold: #c2410c; --ns-gold-light: #ab390b; --ns-gold-deep: #8c2f09; --ns-gold-glow: rgba(194, 65, 12, .2); --ns-gold-border: rgba(194, 65, 12, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="wellness"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="wellness"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="wellness"],
    [data-ns-tokens][data-ns-plane-light][data-industry="wellness"] .ns-main { --ns-gold: #7b4fa0; --ns-gold-light: #6c468d; --ns-gold-deep: #593973; --ns-gold-glow: rgba(123, 79, 160, .2); --ns-gold-border: rgba(123, 79, 160, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="industrial"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="industrial"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="industrial"],
    [data-ns-tokens][data-ns-plane-light][data-industry="industrial"] .ns-main { --ns-gold: #a04f00; --ns-gold-light: #8d4600; --ns-gold-deep: #733900; --ns-gold-glow: rgba(160, 79, 0, .2); --ns-gold-border: rgba(160, 79, 0, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="education"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="education"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="education"],
    [data-ns-tokens][data-ns-plane-light][data-industry="education"] .ns-main { --ns-gold: #6741d9; --ns-gold-light: #5b39bf; --ns-gold-deep: #4a2f9c; --ns-gold-glow: rgba(103, 65, 217, .2); --ns-gold-border: rgba(103, 65, 217, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="consumer"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="consumer"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="consumer"],
    [data-ns-tokens][data-ns-plane-light][data-industry="consumer"] .ns-main { --ns-gold: #0b57d0; --ns-gold-light: #0a4db7; --ns-gold-deep: #083f96; --ns-gold-glow: rgba(11, 87, 208, .2); --ns-gold-border: rgba(11, 87, 208, .3); --ns-on-accent: #ffffff; }
    [data-ns-tokens][data-industry="science"] :is(.ns-stage-body, .ns-tm, .ns-foot, netshow-stage, .ns-free-ring),
    [data-ns-tokens]:has(.ns-bsl[data-ns-look="science"]) :is(.ns-tm, .ns-foot),
    .ns-bsl[data-ns-look="science"],
    [data-ns-tokens][data-ns-plane-light][data-industry="science"] .ns-main { --ns-gold: #0d5c63; --ns-gold-light: #0b5157; --ns-gold-deep: #094247; --ns-gold-glow: rgba(13, 92, 99, .2); --ns-gold-border: rgba(13, 92, 99, .3); --ns-on-accent: #ffffff; }
}

/* Line 15860 (upskill-media-7-r1): the same Google-path tokens for a page that is not inside the split shell.
   A page opts in with class="ns-gp" on its own root (the media pages behind ai.features.media_upskill_7: the merge
   card, the mic/camera consent line, the self-portrait page); its component rules live in css/pages/media-google-path.css.
   Light by default, dark under prefers-color-scheme: dark; the values are the shell's sets above. */
/* Line 15804 (upskill-doors-5-r1): a page inside layouts.app whose root carries .ns-doors-gp dresses its body too. */
/* Line 15928 (invest-growth-case-google-path-r1): the split shell's content plane that carries an investor page whose root
   carries .ns-inv-gp (ai.features.invest_growth_google_path) takes the same set, so the plane around the page matches it.
   Line 16094 (fix-looks-13): so does the plane that carries a live-avatar row page (.ns-looks14, ai.features.looks_upskill_14).
   Line 16008: and the plane that carries a business-site page (.ns-bsl, ai.features.google_path_business_sites_industry_looks).
   Line 16298 (visitor-test-mobile-everything-r1): and the plane that carries /alive (.ns-gp-16156, ai.features.google_path_public_16156),
   whose light-set headings otherwise sat on the dark plane at contrast 1.00.
   Line 17534 (OLDMENU-0004, doors_widget_modern_p1): and each layer of the door menu ([data-ns-gp-menu], css/door-menu.css). */
.ns-gp,
body:has(.ns-polish20-frame.ns-gp),
body:has(.ns-polish20-frame.ns-gp) .ns-main,
body:has(.ns-launch-reading-door),
body:has(.ns-launch-reading-door) :is(.ns-tm, .ns-foot),
body:has(.ns-doors-gp),
:is(.ns-content, .ns-main):has(.ns-inv-gp),
:is(.ns-content, .ns-main):has(.ns-looks14),
:is(.ns-content, .ns-main):has(.ns-bsl),
:is(.ns-content, .ns-main):has(.ns-gp-16156),
[data-ns-gp-menu] {
    --ns-bg: #ffffff;
    --ns-bg-deep: #f8f9fa;
    --ns-surface: #f1f3f4;
    --ns-surface-2: #f1f3f4;
    --ns-line: #dadce0;
    --ns-line-strong: #bdc1c6;
    --ns-chrome-soft: rgba(60, 64, 67, .15);
    --ns-speaking: #5eead4;
    --ns-elevated: #e8eaed;
    --ns-card: #ffffff;
    --ns-text: #202124;
    --ns-text-2: #5f6368;
    --ns-gold: #f9ab00;
    --ns-gold-light: #b06000;
    --ns-gold-deep: #e37400;
    --ns-border: rgba(60, 64, 67, .14);
    --ns-border-strong: rgba(60, 64, 67, .26);
    --ns-on-accent: #202124;
    /* Line 15843 (upskill-voice-12-r1): the accent glow and edge the voice page's Start Talking and call panel read. */
    --ns-gold-glow: rgba(249, 171, 0, .22);
    --ns-gold-border: rgba(176, 96, 0, .3);
    --ns-font: Roboto, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
    --ns-radius: 12px;
    color-scheme: light;
}

@media (prefers-color-scheme: dark) {
    .ns-gp,
    body:has(.ns-polish20-frame.ns-gp),
    body:has(.ns-polish20-frame.ns-gp) .ns-main,
    body:has(.ns-launch-reading-door),
    body:has(.ns-launch-reading-door) :is(.ns-tm, .ns-foot),
    body:has(.ns-doors-gp),
    :is(.ns-content, .ns-main):has(.ns-inv-gp),
    :is(.ns-content, .ns-main):has(.ns-looks14),
    :is(.ns-content, .ns-main):has(.ns-bsl),
    :is(.ns-content, .ns-main):has(.ns-gp-16156),
    [data-ns-gp-menu] {
        --ns-bg: #202124;
        --ns-bg-deep: #1b1c1f;
        --ns-surface: #292a2d;
        --ns-surface-2: #303134;
        --ns-line: #3c4043;
        --ns-line-strong: #5f6368;
        --ns-chrome-soft: rgba(0, 0, 0, .35);
        --ns-speaking: #5eead4;
        --ns-elevated: #35363a;
        --ns-card: #2d2e31;
        --ns-text: #e8eaed;
        --ns-text-2: #9aa0a6;
        --ns-gold: #f5a623;
        --ns-gold-light: #fdd663;
        --ns-gold-deep: #c7851a;
        --ns-border: rgba(232, 234, 237, .12);
        --ns-border-strong: rgba(232, 234, 237, .2);
        --ns-on-accent: #202124;
        --ns-gold-glow: rgba(245, 166, 35, .22);
        --ns-gold-border: rgba(245, 166, 35, .32);
        color-scheme: dark;
    }
}

/* Line 16254 (live-check-try-links-16254-r1): a .ns-gp root inside the split shell under an industry (the
   /talking-websites/{trade} pages, .ns-trade.ns-gp) re-declared the house gold above one level deeper than the
   industry accents, so every trade page wore gold. It wears the shell's industry accent instead: light by default
   (as .ns-gp is), dark under prefers-color-scheme: dark, the same values as the industry rows above. */
[data-ns-tokens][data-industry="law"] .ns-gp { --ns-gold: #1a73e8; --ns-gold-light: #1967d2; --ns-gold-deep: #174ea6; --ns-gold-glow: rgba(26, 115, 232, .2); --ns-gold-border: rgba(26, 115, 232, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="pool"] .ns-gp { --ns-gold: #007b83; --ns-gold-light: #00696f; --ns-gold-deep: #005a60; --ns-gold-glow: rgba(0, 123, 131, .2); --ns-gold-border: rgba(0, 123, 131, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="dental"] .ns-gp { --ns-gold: #00796b; --ns-gold-light: #00695c; --ns-gold-deep: #004d40; --ns-gold-glow: rgba(0, 121, 107, .2); --ns-gold-border: rgba(0, 121, 107, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="med-spa"] .ns-gp { --ns-gold: #c2185b; --ns-gold-light: #ad1457; --ns-gold-deep: #880e4f; --ns-gold-glow: rgba(194, 24, 91, .2); --ns-gold-border: rgba(194, 24, 91, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="home-services"] .ns-gp { --ns-gold: #b85c00; --ns-gold-light: #a14f00; --ns-gold-deep: #8a4200; --ns-gold-glow: rgba(184, 92, 0, .2); --ns-gold-border: rgba(184, 92, 0, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="real-estate"] .ns-gp { --ns-gold: #188038; --ns-gold-light: #137333; --ns-gold-deep: #0d652d; --ns-gold-glow: rgba(24, 128, 56, .2); --ns-gold-border: rgba(24, 128, 56, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="ai-workforce"] .ns-gp { --ns-gold: #8d6300; --ns-gold-light: #7c5700; --ns-gold-deep: #664700; --ns-gold-glow: rgba(141, 99, 0, .2); --ns-gold-border: rgba(141, 99, 0, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="enterprise"] .ns-gp { --ns-gold: #202124; --ns-gold-light: #1c1d20; --ns-gold-deep: #17181a; --ns-gold-glow: rgba(32, 33, 36, .2); --ns-gold-border: rgba(32, 33, 36, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="developer"] .ns-gp { --ns-gold: #0b7a5a; --ns-gold-light: #0a6b4f; --ns-gold-deep: #085841; --ns-gold-glow: rgba(11, 122, 90, .2); --ns-gold-border: rgba(11, 122, 90, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="media"] .ns-gp { --ns-gold: #c5221f; --ns-gold-light: #ad1e1b; --ns-gold-deep: #8e1816; --ns-gold-glow: rgba(197, 34, 31, .2); --ns-gold-border: rgba(197, 34, 31, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="finance"] .ns-gp { --ns-gold: #3f4bb8; --ns-gold-light: #3742a2; --ns-gold-deep: #2d3684; --ns-gold-glow: rgba(63, 75, 184, .2); --ns-gold-border: rgba(63, 75, 184, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="commerce"] .ns-gp { --ns-gold: #c2410c; --ns-gold-light: #ab390b; --ns-gold-deep: #8c2f09; --ns-gold-glow: rgba(194, 65, 12, .2); --ns-gold-border: rgba(194, 65, 12, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="wellness"] .ns-gp { --ns-gold: #7b4fa0; --ns-gold-light: #6c468d; --ns-gold-deep: #593973; --ns-gold-glow: rgba(123, 79, 160, .2); --ns-gold-border: rgba(123, 79, 160, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="industrial"] .ns-gp { --ns-gold: #a04f00; --ns-gold-light: #8d4600; --ns-gold-deep: #733900; --ns-gold-glow: rgba(160, 79, 0, .2); --ns-gold-border: rgba(160, 79, 0, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="education"] .ns-gp { --ns-gold: #6741d9; --ns-gold-light: #5b39bf; --ns-gold-deep: #4a2f9c; --ns-gold-glow: rgba(103, 65, 217, .2); --ns-gold-border: rgba(103, 65, 217, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="consumer"] .ns-gp { --ns-gold: #0b57d0; --ns-gold-light: #0a4db7; --ns-gold-deep: #083f96; --ns-gold-glow: rgba(11, 87, 208, .2); --ns-gold-border: rgba(11, 87, 208, .3); --ns-on-accent: #ffffff; }
[data-ns-tokens][data-industry="science"] .ns-gp { --ns-gold: #0d5c63; --ns-gold-light: #0b5157; --ns-gold-deep: #094247; --ns-gold-glow: rgba(13, 92, 99, .2); --ns-gold-border: rgba(13, 92, 99, .3); --ns-on-accent: #ffffff; }

@media (prefers-color-scheme: dark) {
    [data-ns-tokens][data-industry="law"] .ns-gp { --ns-gold: #8ab4f8; --ns-gold-light: #aecbfa; --ns-gold-deep: #669df6; --ns-gold-glow: rgba(138, 180, 248, .22); --ns-gold-border: rgba(138, 180, 248, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="pool"] .ns-gp { --ns-gold: #78d9ec; --ns-gold-light: #a1e4f2; --ns-gold-deep: #4ecde6; --ns-gold-glow: rgba(120, 217, 236, .22); --ns-gold-border: rgba(120, 217, 236, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="dental"] .ns-gp { --ns-gold: #80cbc4; --ns-gold-light: #b2dfdb; --ns-gold-deep: #4db6ac; --ns-gold-glow: rgba(128, 203, 196, .22); --ns-gold-border: rgba(128, 203, 196, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="med-spa"] .ns-gp { --ns-gold: #f48fb1; --ns-gold-light: #f8bbd0; --ns-gold-deep: #f06292; --ns-gold-glow: rgba(244, 143, 177, .22); --ns-gold-border: rgba(244, 143, 177, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="home-services"] .ns-gp { --ns-gold: #fcad70; --ns-gold-light: #fdc69c; --ns-gold-deep: #fa903e; --ns-gold-glow: rgba(252, 173, 112, .22); --ns-gold-border: rgba(252, 173, 112, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="real-estate"] .ns-gp { --ns-gold: #81c995; --ns-gold-light: #a8dab5; --ns-gold-deep: #5bb974; --ns-gold-glow: rgba(129, 201, 149, .22); --ns-gold-border: rgba(129, 201, 149, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="ai-workforce"] .ns-gp { --ns-gold: #fdd663; --ns-gold-light: #fee292; --ns-gold-deep: #cfaf51; --ns-gold-glow: rgba(253, 214, 99, .22); --ns-gold-border: rgba(253, 214, 99, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="enterprise"] .ns-gp { --ns-gold: #e8eaed; --ns-gold-light: #eff0f2; --ns-gold-deep: #bec0c2; --ns-gold-glow: rgba(232, 234, 237, .22); --ns-gold-border: rgba(232, 234, 237, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="developer"] .ns-gp { --ns-gold: #5de0b5; --ns-gold-light: #8ee9cb; --ns-gold-deep: #4cb894; --ns-gold-glow: rgba(93, 224, 181, .22); --ns-gold-border: rgba(93, 224, 181, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="media"] .ns-gp { --ns-gold: #f28b82; --ns-gold-light: #f6aea8; --ns-gold-deep: #c6726b; --ns-gold-glow: rgba(242, 139, 130, .22); --ns-gold-border: rgba(242, 139, 130, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="finance"] .ns-gp { --ns-gold: #aeb6ff; --ns-gold-light: #c6ccff; --ns-gold-deep: #8f95d1; --ns-gold-glow: rgba(174, 182, 255, .22); --ns-gold-border: rgba(174, 182, 255, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="commerce"] .ns-gp { --ns-gold: #ffab91; --ns-gold-light: #ffc4b2; --ns-gold-deep: #d18c77; --ns-gold-glow: rgba(255, 171, 145, .22); --ns-gold-border: rgba(255, 171, 145, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="wellness"] .ns-gp { --ns-gold: #d7bdf7; --ns-gold-light: #e3d1f9; --ns-gold-deep: #b09bcb; --ns-gold-glow: rgba(215, 189, 247, .22); --ns-gold-border: rgba(215, 189, 247, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="industrial"] .ns-gp { --ns-gold: #fbbc04; --ns-gold-light: #fcd04f; --ns-gold-deep: #ce9a03; --ns-gold-glow: rgba(251, 188, 4, .22); --ns-gold-border: rgba(251, 188, 4, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="education"] .ns-gp { --ns-gold: #c5b3ff; --ns-gold-light: #d6caff; --ns-gold-deep: #a293d1; --ns-gold-glow: rgba(197, 179, 255, .22); --ns-gold-border: rgba(197, 179, 255, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="consumer"] .ns-gp { --ns-gold: #a8c7fa; --ns-gold-light: #c2d8fc; --ns-gold-deep: #8aa3cd; --ns-gold-glow: rgba(168, 199, 250, .22); --ns-gold-border: rgba(168, 199, 250, .32); --ns-on-accent: #202124; }
    [data-ns-tokens][data-industry="science"] .ns-gp { --ns-gold: #7fd3d9; --ns-gold-light: #a5e0e4; --ns-gold-deep: #68adb2; --ns-gold-glow: rgba(127, 211, 217, .22); --ns-gold-border: rgba(127, 211, 217, .32); --ns-on-accent: #202124; }
}

/* Line 15903 (upskill-admin-6-r1): the signed-in owner and admin desks (layouts/app.blade.php marks <body data-ns-admin-6>
   while ai.features.admin_6_modern is on) read the same two sets inside #main-content, following the app's own theme
   switch (data-bs-theme, dark by default) instead of the system scheme; the sidebar keeps its own dress.
   Line 15884 (upskill-agents-5-r1): .ns-gp-ag, the root class of the four owner agent consoles behind
   ai.features.agents_upskill_5 (css/pages/agents-consoles-google-path.css), reads the same two sets the same way.
   Line 15904 (upskill-admin-7): the signed-in sidebar under <body data-ns-admin-7> (ai.features.admin_upskill_7,
   css/pages/admin-upskill-7.css) reads them too.
   Line 16198 (google-path-shared-layouts-r1): so does every layouts.app page under <body data-ns-gp-layout>
   (ai.features.google_path_shared_layouts, css/pages/google-path-shared-layouts.css).
   Line 16157 (google-path-public-16157-r1): so does the /p/{product} top bar of a dressed desk, which sits outside
   #main-content (css/pages/product-apps-google-path.css reads them there).
   fix-ui-02-20260929b-r1 (G-0143): so does the classic offcanvas sidebar under <body data-ns-gp-classic-sidebar>
   (ai.features.google_path_classic_sidebar, css/pages/google-path-classic-sidebar.css). */
body[data-ns-gp-layout],
body:has(.ns-polish-2.ns-gp-ag),
body:has(.ns-polish20-frame.ns-gp-ag),
body:has(.ns-polish-16.ns-gp-ag),
body:has(.ns-polish-21.ns-gp-ag),
[data-ns-admin-6] #main-content,
[data-ns-admin-6] .ns-product-topbar,
[data-ns-admin-7] .ns-sidebar,
body[data-ns-gp-classic-sidebar] #offcanvasExample,
.ns-gp-ag {
    --ns-bg: #ffffff;
    --ns-bg-deep: #f8f9fa;
    --ns-surface: #f1f3f4;
    --ns-elevated: #e8eaed;
    --ns-card: #ffffff;
    --ns-text: #202124;
    --ns-text-2: #5f6368;
    --ns-gold: #f9ab00;
    --ns-gold-light: #b06000;
    --ns-gold-deep: #e37400;
    --ns-border: rgba(60, 64, 67, .14);
    --ns-border-strong: rgba(60, 64, 67, .26);
    --ns-on-accent: #202124;
    --ns-font: Roboto, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
    --ns-radius: 12px;
    color-scheme: light;
}

[data-bs-theme="dark"] body[data-ns-gp-layout],
[data-bs-theme="dark"] body:has(.ns-polish-2.ns-gp-ag),
[data-bs-theme="dark"] body:has(.ns-polish20-frame.ns-gp-ag),
[data-bs-theme="dark"] body:has(.ns-polish-16.ns-gp-ag),
[data-bs-theme="dark"] body:has(.ns-polish-21.ns-gp-ag),
[data-bs-theme="dark"] [data-ns-admin-6] #main-content,
[data-bs-theme="dark"] [data-ns-admin-6] .ns-product-topbar,
[data-bs-theme="dark"] [data-ns-admin-7] .ns-sidebar,
[data-bs-theme="dark"] body[data-ns-gp-classic-sidebar] #offcanvasExample,
[data-bs-theme="dark"] .ns-gp-ag {
    --ns-bg: #202124;
    --ns-bg-deep: #1b1c1f;
    --ns-surface: #292a2d;
    --ns-elevated: #35363a;
    --ns-card: #2d2e31;
    --ns-text: #e8eaed;
    --ns-text-2: #9aa0a6;
    --ns-gold: #f5a623;
    --ns-gold-light: #fdd663;
    --ns-gold-deep: #c7851a;
    --ns-border: rgba(232, 234, 237, .12);
    --ns-border-strong: rgba(232, 234, 237, .2);
    --ns-on-accent: #202124;
    color-scheme: dark;
}

/* Line 22451 (shared-footer-headings-and-links-read-clearly-in-light-mode-r1): when the footer contrast switch
   marks either shared footer, its light presentation uses the canonical ink and ground. Explicit dark theme and
   dark system preference match no rule here, preserving the established dark footer declarations byte-for-byte. */
@media (prefers-color-scheme: light) {
    :root:not([data-bs-theme="dark"]) .ns-footer-light-contrast {
        background: var(--ns-bg-deep);
        color: var(--ns-text);
    }

    :root:not([data-bs-theme="dark"]) .ns-footer-light-contrast :is(.footer-heading, .footer-heading-sum, .ns-footer__col h4) {
        color: var(--ns-text) !important;
    }

    :root:not([data-bs-theme="dark"]) .ns-footer-light-contrast :is(a, .ns-footer__col a) {
        color: var(--ns-text-2) !important;
    }
}

[data-bs-theme="light"] .ns-footer-light-contrast {
    background: var(--ns-bg-deep);
    color: var(--ns-text);
}

[data-bs-theme="light"] .ns-footer-light-contrast :is(.footer-heading, .footer-heading-sum, .ns-footer__col h4) {
    color: var(--ns-text) !important;
}

[data-bs-theme="light"] .ns-footer-light-contrast :is(a, .ns-footer__col a) {
    color: var(--ns-text-2) !important;
}

/* Line 15824 (upskill-looks-8-r2): .ns-gp-stage, the root class of a theatre page that keeps its dark stage in both
   schemes (the 3D present page behind ai.features.looks_upskill_8): the Google-path dark set, type and radius.
   Line 16093 (fix-looks-12, F-0299): it carries every token of :root.ns-stage-dark (the gold glow and border, chrome,
   host glow, splitter and speaking ring too), so one class dresses a dark theatre whichever key painted it. */
.ns-gp-stage {
    --ns-bg: #202124;
    --ns-bg-deep: #1b1c1f;
    --ns-surface: #292a2d;
    --ns-elevated: #35363a;
    --ns-card: #2d2e31;
    --ns-text: #e8eaed;
    --ns-text-2: #9aa0a6;
    --ns-gold: #f5a623;
    --ns-gold-light: #fdd663;
    --ns-gold-deep: #c7851a;
    --ns-gold-glow: rgba(245, 166, 35, .22);
    --ns-gold-border: rgba(245, 166, 35, .32);
    --ns-border: rgba(232, 234, 237, .12);
    --ns-border-strong: rgba(232, 234, 237, .2);
    --ns-on-accent: #202124;
    --ns-chrome: rgba(32, 33, 36, .96);
    --ns-chrome-soft: rgba(32, 33, 36, .88);
    --ns-host-glow: #303134;
    --ns-splitter-mid: #3c4043;
    --ns-speaking: #5eead4;
    --ns-font: Roboto, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
    --ns-radius: 12px;
    color-scheme: dark;
}

/* H-0072: the host role is text ink on the shell ground, not an accent fill. */
[data-ns-tokens] .ns-host-role { color: var(--ns-gold-light); }
