/* Presentation only for the server-gated registered-tool local preview. */
html.kbt-msn-tool-local { --msn-tool-width: 1440px; --msn-blog-surface: #333; }
html.kbt-msn-tool-local[data-kbt-msn-theme="light"] { --msn-blog-surface: #fff; }
html.kbt-msn-tool-local .msn-tool-intro,
html.kbt-msn-tool-local body .landing-main > .msn-tool-stage {
    box-sizing: border-box;
    width: min(100% - 32px, var(--msn-tool-width));
    max-width: none;
    margin-inline: auto;
}
html.kbt-msn-tool-local .msn-tool-intro { margin-bottom: 28px; }
html.kbt-msn-tool-local body .landing-main .msn-tool-intro .msn-tool-intro-card { min-width: 0; }
html.kbt-msn-tool-local body .landing-main .msn-tool-intro .home-hero .home-banner-media,
html.kbt-msn-tool-local body .landing-main .msn-tool-intro .msn-tool-intro-media { height: 100px !important; }
html.kbt-msn-tool-local body .landing-main .msn-tool-intro .home-banner-content { padding: 14px 18px !important; }
html.kbt-msn-tool-local body .landing-main .msn-tool-intro h1.msn-tool-intro-title {
    margin: 0 0 7px !important;
    font: 600 clamp(22px, 1.9vw, 28px)/1.2 var(--msn-font) !important;
    overflow-wrap: anywhere;
}
html.kbt-msn-tool-local body .landing-main .msn-tool-intro--long-title h1.msn-tool-intro-title { font-size: 21px !important; }
html.kbt-msn-tool-local body .landing-main .msn-tool-intro .msn-tool-intro-lede {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font: 400 15px/22px var(--msn-font) !important;
}
html.kbt-msn-tool-local body .landing-main > .msn-tool-stage { margin-block: 16px; padding: 14px 0 0 !important; border-top: 1px solid var(--msn-muted); }
html.kbt-msn-tool-local body .landing-main .msn-tool-stage > .msn-tool-shell { width: 100%; max-width: none; margin-inline: auto; }

/* One index-based guide skin, enabled only after canonical content normalization. */
html.kbt-msn-tool-local .msn-tool-reading { box-sizing: border-box; width: 100%; max-width: none; margin: 0; padding: 0; }
html.kbt-msn-tool-local .msn-tool-guide-block,
html.kbt-msn-tool-local .msn-tool-guide-section { scroll-margin-top: 88px; }
html.kbt-msn-tool-local .msn-tool-guide-block { box-sizing: border-box; width: 100%; max-width: none; margin-inline: 0; padding: 0 !important; }
html.kbt-msn-tool-local .msn-tool-guide-heading { box-sizing: border-box; width: min(100% - 32px, var(--msn-tool-width)); margin: 24px auto 16px; padding-top: 16px; border-top: 1px solid var(--msn-muted); }
html.kbt-msn-tool-local .msn-tool-guide-heading h2 { margin: 0; color: var(--msn-ink); font: 600 28px/36px var(--msn-font); }
html.kbt-msn-tool-local body .msn-tool-guide-section[data-msn-guide-normalized] { box-sizing: border-box; width: min(100% - 32px, var(--msn-tool-width)) !important; max-width: none !important; margin: 0 auto 24px; margin-inline: auto; padding: 0 !important; border: 0 !important; background: transparent !important; }
html.kbt-msn-tool-local body .msn-tool-guide-section > :is(.msn-tool-guide-heading, .msn-home-guide-heading) { width: 100%; max-width: none; padding: 16px 0 0; border: 0; border-top: 1px solid var(--msn-muted); border-radius: 0; background: transparent; box-shadow: none; }
html.kbt-msn-tool-local body.home-redesign .landing-main > .msn-tool-reading > .msn-tool-guide-section > .msn-tool-guide-grid { padding-top: 0 !important; border-top: 0 !important; }
html.kbt-msn-tool-local body .msn-tool-guide-section > .container { box-sizing: border-box; width: 100%; max-width: none; margin: 0; padding: 0; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; box-sizing: border-box; width: 100% !important; max-width: none !important; align-items: stretch !important; gap: 16px !important; margin: 0 !important; padding: 0 !important; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-grid > :is(.home-guideline-copy, .home-faq-panel) { display: flex; flex-direction: column; box-sizing: border-box; min-width: 0; height: auto; margin: 0; padding: 24px !important; border: 1px solid var(--msn-line) !important; border-radius: var(--msn-radius); background: var(--msn-card) !important; color: var(--msn-ink); box-shadow: none; overflow-wrap: anywhere; }
/* Keep old anchors/content, but discard their former nested card/grid surfaces. */
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(div, section, article, aside).msn-tool-guide-source:not(.home-guideline-steps) { display: contents !important; width: auto !important; max-width: none !important; min-width: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(div, section, article, aside).msn-tool-guide-source[id]:not(.home-guideline-steps) { display: block !important; width: 100% !important; scroll-margin-top: 88px; }
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(div, section, article, aside).msn-tool-guide-source:not(.home-guideline-steps)::before,
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(div, section, article, aside).msn-tool-guide-source:not(.home-guideline-steps)::after { content: none !important; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-grid .msn-tool-faq-anchor.msn-tool-guide-source { display: block !important; flex: none; box-sizing: border-box; width: 100% !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; scroll-margin-top: 88px; }
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(.home-guideline-copy, .home-faq-panel) > .section-kicker { margin: 0 0 10px !important; padding: 0; color: var(--msn-link) !important; font: 600 12.48px/18px var(--msn-font) !important; letter-spacing: 0; text-transform: none; text-align: start; }
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(.home-guideline-copy, .home-faq-panel) > :is(h2, h3) { margin: 6px 0 16px !important; color: var(--msn-ink) !important; font: 600 24px/32px var(--msn-font) !important; letter-spacing: 0; text-align: start; }
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(p:not(.section-kicker), .home-guideline-step small, .home-guideline-note, .msn-tool-step-body, .msn-tool-faq-answer) { max-width: none; color: var(--msn-muted) !important; font: 400 16px/25px var(--msn-font) !important; text-align: justify; text-align-last: start; hyphens: auto; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-guideline-copy > p:not(.section-kicker) { margin: 0 0 20px; padding: 0; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-guideline-steps { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; margin: 28px 0 22px; padding: 0; border: 0; border-top: 1px solid var(--msn-line); background: transparent; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-guideline-step { display: grid !important; grid-template-columns: 38px minmax(0, 1fr) !important; gap: 14px !important; align-items: start; box-sizing: border-box; width: 100% !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 18px 0 !important; border: 0 !important; border-bottom: 1px solid var(--msn-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-guideline-step::before,
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-guideline-step::after { content: none !important; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-guideline-step-number { display: block; margin: 0; padding: 0; color: var(--msn-link) !important; font: 700 .88rem/1.35 var(--msn-font) !important; text-align: start; white-space: nowrap; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-step-body { min-width: 0; max-width: 100%; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-reference.msn-tool-step-body { display: block !important; box-sizing: border-box; width: 100% !important; max-width: none !important; min-width: 0; height: auto; margin: 0 !important; padding: 18px 0 !important; border: 0 !important; border-bottom: 1px solid var(--msn-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-reference::before,
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-reference::after { content: none !important; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-step-title { display: block; margin: 0 0 5px !important; padding: 0; color: var(--msn-ink) !important; font: 600 16px/24px var(--msn-font) !important; letter-spacing: 0; text-align: start; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-grid .msn-tool-guide-subtitle { margin: 18px 0 8px !important; padding: 0; color: var(--msn-ink) !important; font: 600 16px/24px var(--msn-font) !important; letter-spacing: 0; text-align: start; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-guideline-step small { display: block; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-step-body > p { margin: 0 0 12px; padding: 0; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-step-body > :last-child { margin-bottom: 0; }
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(.home-guideline-copy, .home-faq-panel) :is(ul, ol) { margin-block: 10px 12px; padding-inline-start: 22px; color: var(--msn-muted) !important; font: 400 16px/25px var(--msn-font) !important; text-align: justify; text-align-last: start; hyphens: auto; }
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(.home-guideline-copy, .home-faq-panel) li { color: var(--msn-muted) !important; font: 400 16px/25px var(--msn-font) !important; text-align: justify; text-align-last: start; }
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(.msn-tool-step-body, .msn-tool-faq-answer) :is(h4, h5, h6, table, code, pre) { text-align: start; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-faq-list { display: block !important; flex: 0 1 auto !important; margin: 18px 0 0; padding: 0; border: 0; border-top: 1px solid var(--msn-line); background: transparent; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-faq-item { display: block !important; flex: none !important; margin: 0; padding: 0 !important; border: 0; border-bottom: 1px solid var(--msn-line); border-radius: 0; background: transparent !important; box-shadow: none; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-faq-item > summary { position: relative; display: block; margin: 0; padding: 16px 0; padding-inline-end: 32px; list-style: none; cursor: pointer; color: var(--msn-ink) !important; font: 600 16px/24px var(--msn-font) !important; text-align: start; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-faq-item[open] > summary { padding-bottom: 8px; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-faq-item > summary::-webkit-details-marker { display: none; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-faq-item > summary::marker { content: ''; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-faq-item > summary::after { content: '+'; position: absolute; top: 18px; left: auto; right: auto; inset-inline-end: 4px; float: none; margin: 0; color: var(--msn-link); font: 400 19.2px/1 var(--msn-font); }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-faq-item[open] > summary::after { content: '-'; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-faq-answer { padding: 0 0 16px; padding-inline-end: 32px; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-faq-answer p { margin: 0 0 12px; padding: 0 !important; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-faq-answer > :last-child { margin-bottom: 0; }
html.kbt-msn-tool-local [data-msn-guide-normalized] .home-faq-item > summary:focus-visible { outline: 2px solid var(--msn-link); outline-offset: 2px; }
html.kbt-msn-tool-local [data-msn-guide-normalized] a { color: var(--msn-link); overflow-wrap: anywhere; }
html.kbt-msn-tool-local [data-msn-guide-normalized] :is(pre, .table-wrap, .table-responsive) { max-width: 100%; overflow-x: auto; }
html.kbt-msn-tool-local [data-msn-guide-normalized] [hidden] { display: none !important; }
html.kbt-msn-tool-local .msn-tool-category-blog { box-sizing: border-box; width: min(100% - 32px, var(--msn-tool-width)); margin: 32px auto; padding-top: 16px; border-top: 1px solid var(--msn-muted); }
html.kbt-msn-tool-local .msn-tool-reading > .msn-tool-category-blog { padding-inline: 0 !important; }
html.kbt-msn-tool-local body .msn-tool-category-blog > .msn-blog-category { padding-top: 0 !important; border-top: 0 !important; }
/* The webcam preview stays black in both themes, so its placeholder needs light text. */
html.kbt-msn-tool-local #wc-videoContainer #wc-placeholder,
html.kbt-msn-tool-local #wc-videoContainer #wc-placeholder p { color: #dedede !important; }
html.kbt-msn-tool-local .msn-tool-guide-jump { box-sizing: border-box; display: flex; justify-content: flex-end; width: min(100% - 32px, var(--msn-tool-width)); margin: 0 auto 12px; }
html.kbt-msn-tool-local .msn-tool-guide-jump a { display: inline-flex; align-items: center; min-height: 44px; gap: 7px; color: var(--msn-link); font: 600 14px/22px var(--msn-font); text-decoration: none; }
html.kbt-msn-tool-local .msn-tool-guide-jump a:is(:hover, :focus-visible) { text-decoration: underline; }
html.kbt-msn-tool-local .msn-tool-guide-jump a:focus-visible { outline: 2px solid var(--msn-link); outline-offset: 3px; }

/* Fill sparse category rows without adding unrelated tools or empty cells. */
html.kbt-msn-tool-local .msn-tool-discovery .msn-feed-row:is([data-msn-row-card-count="1"], [data-msn-row-card-count="2"]) { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); }
html.kbt-msn-tool-local .msn-tool-discovery .msn-feed-row:is([data-msn-row-card-count="1"], [data-msn-row-card-count="2"]) > * { grid-column: auto; }
html.kbt-msn-tool-local .msn-tool-discovery .msn-feed-row:is([data-msn-row-card-count="1"], [data-msn-row-card-count="2"]) .msn-feed-card-link { height: 304px; }
html.kbt-msn-tool-local .msn-tool-discovery .msn-feed-row:is([data-msn-row-card-count="1"], [data-msn-row-card-count="2"]) .msn-feed-card-media { position: absolute; inset: 0; aspect-ratio: auto; z-index: -2; }
html.kbt-msn-tool-local .msn-tool-discovery .msn-feed-row:is([data-msn-row-card-count="1"], [data-msn-row-card-count="2"]) .msn-feed-card-link::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 20%, #0005 45%, #000e 100%); }
html.kbt-msn-tool-local .msn-tool-discovery .msn-feed-row:is([data-msn-row-card-count="1"], [data-msn-row-card-count="2"]) .msn-feed-card-copy { flex: 0 1 auto; margin-top: auto; padding: 18px; color: #fff; }
html.kbt-msn-tool-local .msn-tool-discovery .msn-feed-row:is([data-msn-row-card-count="1"], [data-msn-row-card-count="2"]) .msn-feed-card-copy h3 { max-width: 50ch; font-size: 23px; line-height: 30px; }
html.kbt-msn-tool-local .msn-tool-discovery .msn-feed-row:is([data-msn-row-card-count="1"], [data-msn-row-card-count="2"]) :is(.msn-feed-card-category, .msn-feed-card-category > span, .msn-feed-card-cta, .msn-feed-rating-meta) { color: #fff; }
html.kbt-msn-tool-local .msn-tool-discovery .msn-feed-row:is([data-msn-row-card-count="1"], [data-msn-row-card-count="2"]) .msn-feed-rating-stars > span { color: #ffbf47; }
html.kbt-msn-tool-local .msn-tool-category-blog[data-msn-blog-count="1"] .msn-blog-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: 340px; }
html.kbt-msn-tool-local .msn-tool-category-blog[data-msn-blog-count="1"] .msn-blog-card--lead { grid-column: 1; grid-row: 1; min-height: 0; }
@media (min-width: 601px) {
    html.kbt-msn-tool-local .msn-tool-discovery .msn-feed-row[data-msn-row-card-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html.kbt-msn-tool-local .msn-tool-category-blog[data-msn-blog-count="2"] .msn-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 340px; }
    html.kbt-msn-tool-local .msn-tool-category-blog[data-msn-blog-count="2"] .msn-blog-card { grid-column: auto; grid-row: 1; min-height: 0; }
    html.kbt-msn-tool-local .msn-tool-category-blog[data-msn-blog-count="2"] .msn-blog-card-link { display: block; padding: 0; }
    html.kbt-msn-tool-local .msn-tool-category-blog[data-msn-blog-count="2"] .msn-blog-card-media { position: absolute; inset: 0; height: 100%; border-radius: 0; }
    html.kbt-msn-tool-local .msn-tool-category-blog[data-msn-blog-count="2"] .msn-blog-card-link::after { display: block; }
    html.kbt-msn-tool-local .msn-tool-category-blog[data-msn-blog-count="2"] .msn-blog-card-copy { position: absolute; inset: auto 0 0; padding: 18px; color: #fff; text-shadow: 0 1px 4px #0008; }
    html.kbt-msn-tool-local .msn-tool-category-blog[data-msn-blog-count="2"] .msn-blog-card-copy h3 { font-size: 24px; line-height: 31px; }
    html.kbt-msn-tool-local .msn-tool-category-blog[data-msn-blog-count="2"] :is(.msn-blog-card-source, .msn-blog-card-meta) { color: #ededed; }
}

@media (min-width: 1051px) {
    html.kbt-msn-tool-local body .landing-main .msn-tool-intro .home-hero .home-banner-media,
    html.kbt-msn-tool-local body .landing-main .msn-tool-intro .msn-tool-intro-media { height: 90px !important; }
    html.kbt-msn-tool-local .msn-tool-intro-card { min-height: 250px; }
    html.kbt-msn-tool-local .msn-tool-intro .msn-local-ad-slot { min-height: 250px; }
    html.kbt-msn-tool-local body .landing-main .msn-tool-intro .msn-tool-intro-lede { -webkit-line-clamp: 2; }
    html.kbt-msn-tool-local body .landing-main .msn-tool-intro--compact .home-banner-content { padding: 10px 14px !important; }
    html.kbt-msn-tool-local body .landing-main .msn-tool-intro--compact h1.msn-tool-intro-title { font-size: 21px !important; }
    html.kbt-msn-tool-local body .landing-main .msn-tool-intro--compact .home-hero .home-banner-media { height: 70px !important; }
}
@media (max-width: 800px) {
    html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-grid { grid-template-columns: minmax(0, 1fr) !important; }
    html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-grid > :is(.home-guideline-copy, .home-faq-panel) { padding: 20px !important; }
    html.kbt-msn-tool-local .msn-tool-guide-block,
    html.kbt-msn-tool-local .msn-tool-guide-section { scroll-margin-top: 124px; }
    html.kbt-msn-tool-local [data-msn-guide-normalized] :is(div, section, article, aside).msn-tool-guide-source[id]:not(.home-guideline-steps) { scroll-margin-top: 124px; }
    html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-grid .msn-tool-faq-anchor.msn-tool-guide-source { scroll-margin-top: 124px; }
}
@media (max-width: 480px) {
    html.kbt-msn-tool-local [data-msn-guide-normalized] .msn-tool-guide-grid > :is(.home-guideline-copy, .home-faq-panel) { padding: 16px !important; }
}

/* Localized keyboard homepage uses the same control skin; original labels and nodes stay intact. */
html.kbt-msn-tool-local #keyboard-home :is(.keyboard-container, #keyboard-controls, .feature-controls) { width: 100%; max-width: none; }
/* Compact homepage controls, using the same neutral surfaces as the cards. */
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls { --control-height: 88px; min-height: 0; padding: 8px; gap: 10px; border-color: var(--msn-line); border-radius: var(--msn-radius); background: var(--msn-card); color: var(--msn-ink); box-shadow: none; }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .textarea-wrapper { height: var(--control-height); border-color: var(--msn-line); border-radius: 4px; background: var(--msn-bg); }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .textarea-label { display: none; }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .text-box { height: 100%; min-height: 0; padding: 10px 12px; background: var(--msn-bg); color: var(--msn-ink); }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .text-box:focus { background: var(--msn-bg); box-shadow: inset 0 0 0 2px var(--msn-link); }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .text-box::placeholder { color: var(--msn-muted); }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls :is(.select-wrapper, .reset-button) { border-color: var(--msn-line); border-radius: 4px; background: var(--msn-bg); color: var(--msn-ink); box-shadow: none; }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .select-wrapper { padding: 3px 8px; gap: 2px; }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .select-wrapper label { color: var(--msn-muted); }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .select-wrapper select { min-height: 20px; color: var(--msn-ink); }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .select-wrapper option { background: var(--msn-bg); color: var(--msn-ink); }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .reset-button:hover { border-color: var(--msn-muted); background: var(--msn-hover); color: var(--msn-ink); }
html.kbt-msn-tool-local .msn-local-hero-row ~ #keyboard-home #keyboard-controls .advanced-toggle-btn { border-radius: 4px; }

/* Advanced diagnostics follow the page theme independently of the keycap theme. */
html.kbt-msn-tool-local body.home-redesign #keyboard-home :is(#feature-controls, .stats-panel) {
    --bg-primary: var(--msn-bg);
    --bg-secondary: var(--msn-card);
    --bg-tertiary: var(--msn-raised);
    --key-text: var(--msn-ink);
    --key-border: var(--msn-line);
    --text-primary: var(--msn-ink);
    --text-secondary: var(--msn-muted);
    --text-muted: var(--msn-muted);
    --border-subtle: var(--msn-line);
    --accent-primary: var(--msn-link);
    --accent-success: #64d996;
    --accent-warning: #ffd166;
    --accent-danger: #ff8a8a;
    --glow-color: transparent;
    color: var(--msn-ink);
    font-family: var(--msn-font);
    border-color: var(--msn-line);
    border-radius: var(--msn-radius);
    background: var(--msn-card);
    box-shadow: none;
}
html.kbt-msn-tool-local[data-kbt-msn-theme="light"] body.home-redesign #keyboard-home :is(#feature-controls, .stats-panel) {
    --accent-success: #167044;
    --accent-warning: #8a5700;
    --accent-danger: #b42318;
}
html.kbt-msn-tool-local body.home-redesign #keyboard-home #feature-controls .feature-button { border-color: var(--msn-line); background: var(--msn-bg); color: var(--msn-ink); }
html.kbt-msn-tool-local body.home-redesign #keyboard-home #feature-controls .feature-button:hover { border-color: var(--msn-muted); background: var(--msn-hover); color: var(--msn-ink); }
html.kbt-msn-tool-local body.home-redesign #keyboard-home #feature-controls .feature-button.active { border-color: #0067b8; background: #0067b8; color: #fff; }
html.kbt-msn-tool-local body.home-redesign #keyboard-home .stats-panel :is(.status-indicator, .status-indicator span) { color: var(--msn-ink); }
html.kbt-msn-tool-local body.home-redesign #keyboard-home .stats-panel .info-text { color: var(--msn-muted); }
html.kbt-msn-tool-local body.home-redesign #keyboard-home .stats-panel .big-latency { background: none; background-clip: border-box; -webkit-background-clip: border-box; -webkit-text-fill-color: currentColor; color: var(--msn-link); }
html.kbt-msn-tool-local body.home-redesign #keyboard-home .stats-panel :is(.stat-item, .log-container, .rating-box, .action-btn, .close-btn) { border-radius: var(--msn-radius); }
html.kbt-msn-tool-local body.home-redesign #keyboard-home .stats-panel .info-box { background: var(--msn-raised); }
html.kbt-msn-tool-local body.home-redesign #keyboard-home .stats-panel .action-btn.primary { border-color: #0067b8; background: #0067b8; color: #fff; box-shadow: none; }
html.kbt-msn-tool-local body.home-redesign #keyboard-home :is(#feature-controls, .stats-panel) :is(button, summary):focus-visible { outline: 2px solid var(--msn-link); outline-offset: 3px; }
html.kbt-msn-tool-local body.home-redesign #keyboard-home #adv-pro-panel {
    --pn-bg: var(--msn-card);
    --pn-bg-card: var(--msn-bg);
    --pn-bg-elev: var(--msn-raised);
    --pn-border: var(--msn-line);
    --pn-border-2: var(--msn-muted);
    --pn-text: var(--msn-ink);
    --pn-text-2: var(--msn-muted);
    --pn-text-3: var(--msn-muted);
    --pn-accent: var(--msn-link);
    --pn-accent-2: var(--msn-link);
    --pn-accent-soft: var(--msn-raised);
    --pn-success: var(--accent-success);
    --pn-success-soft: rgba(62, 207, 142, .1);
    --pn-danger: var(--accent-danger);
    --pn-danger-soft: rgba(239, 68, 68, .1);
    --pn-r-lg: var(--msn-radius);
    --pn-r: var(--msn-radius);
    --pn-r-sm: 4px;
    --pn-shadow: none;
    --pn-shadow-lg: none;
}
html.kbt-msn-tool-local body.home-redesign #keyboard-home #adv-pro-panel .adv-preset-active { background: #0067b8; color: #fff; }


/* Localized keyboard trust panel shares the existing widget and ad clearance. */
/* One existing inline ad, with the genuine usage and rating widgets beside it. */
html.kbt-msn-tool-local #keyboard-home .msn-local-ad-trust-row { order: 16; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 16px; width: 100%; margin: 12px 0 0; }
html.kbt-msn-tool-local #keyboard-home .msn-local-ad-trust-row > .kbt-keyboard-inline-surface { order: 0; width: min(970px, 100%); margin: 0 auto; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 90px; padding: 10px 8px; border: 1px solid var(--msn-line); border-radius: var(--msn-radius); background: var(--msn-card); color: var(--msn-ink); }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust :is(.kbt-usage-row, .kbt-rating-row) { width: 100%; margin: 0 !important; padding: 0 !important; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust .kbt-usage { white-space: nowrap; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust .kbt-rating { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--msn-ink); font: 500 13px/20px var(--msn-font); white-space: nowrap; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust .kbt-rating-label { flex: 0 0 auto; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust .kbt-rating-star { font-size: 20px; padding: 0; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust .kbt-rating-meta { gap: 4px; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust .kbt-rating-avg { font-size: 13px; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust .kbt-rating-count { font-size: 12px; }
html.kbt-msn-tool-local body.home-redesign #keyboard-home .msn-local-trust .kbt-rating-prompt { display: none; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust :is(.kbt-rating-prompt, .kbt-rating-thanks) { flex-basis: 100%; white-space: normal; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust .msn-local-rating-feedback-link { display: inline-block; margin-inline-start: 4px; color: var(--msn-link); text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust .msn-local-rating-feedback-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 2px; }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust :is(.kbt-rating-label, .kbt-rating-avg, .kbt-rating-prompt, .kbt-usage b) { color: var(--msn-ink); }
html.kbt-msn-tool-local #keyboard-home .msn-local-trust :is(.kbt-rating-count, .kbt-usage) { color: var(--msn-muted); }
@media (min-width: 1281px) {
    html.kbt-msn-tool-local #keyboard-home .msn-local-ad-trust-row { grid-template-columns: 970px minmax(0, 1fr); gap: 24px; }
    html.kbt-msn-tool-local #keyboard-home .msn-local-ad-trust-row > .kbt-keyboard-inline-surface { margin: 0; }
}

html.kbt-msn-tool-local #keyboard-home .msn-local-ad-trust-row { padding-bottom: 17px; }
