/* Shared appearance control. A charcoal canvas with blue engineering accents and acid interaction states. */
:root {color-scheme:light;--theme-focus:#2A3BF0}
.theme-control{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;color:inherit;border-radius:3px}
.theme-control[hidden],.theme-control [hidden]{display:none!important}
.theme-control>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;pointer-events:none}
.theme-control select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.theme-control:hover{background:var(--linea,rgba(18,4,107,.08))}
.theme-control:has(select:focus-visible){outline:2px solid var(--theme-focus);outline-offset:2px}
.brand .brand-dark{display:none}
:root[data-theme=dark] .brand .brand-light{display:none}
:root[data-theme=dark] .brand .brand-dark{display:block}

:root[data-theme=dark]{
  color-scheme:dark;
  --dark-canvas:#111317;--dark-surface:#1C2026;--dark-inset:#161A20;--dark-ink:#F4F5F7;
  --dark-selected:#293747;--on-dark:#BDC3CD;
  --txt-1:var(--dark-ink);--txt-2:#BDC3CD;--txt-3:#BDC3CD;
  --linea:rgba(255,255,255,.18);--linea-fuerte:rgba(255,255,255,.5);
  --theme-focus:#3D9BFF;--estado-alerta-fg:#FFB8C5;
}
:root[data-theme=dark] body,:root[data-theme=dark] .site-header{background:var(--dark-canvas);color:var(--dark-ink)}
html[data-theme=dark]{scrollbar-color:#3D9BFF var(--dark-canvas)}
:root[data-theme=dark] :is(.hero-second,.capability-scope,.section-number,.ai-symbol,.faq-toggle){color:#3D9BFF}
:root[data-theme=dark] :is(a,button,select,summary):focus-visible{outline-color:var(--theme-focus)}
:root[data-theme=dark] :is(.architecture-lab,.method-section,.site-footer) :focus-visible{outline-color:#E8FF4D}
:root[data-theme=dark] .method-section .section-number{color:#3D9BFF}
:root[data-theme=dark] #language{background:var(--dark-canvas);color:var(--txt-2)}
:root[data-theme=dark] .button-primary{background:#E8FF4D;color:#0A0244}
:root[data-theme=dark] .button-primary:hover{background:#fff}
:root[data-theme=dark] .architecture-lab{background:var(--dark-surface);outline:1px solid var(--linea);outline-offset:-1px}
:root[data-theme=dark] .architecture-tabs,:root[data-theme=dark] .architecture-tabs button+button{border-color:var(--linea-fuerte)}
:root[data-theme=dark] .architecture-tabs button:hover{background:#242C35}
:root[data-theme=dark] .architecture-tabs button[aria-pressed=true]{background:var(--dark-selected)}
:root[data-theme=dark] .layer-key strong{color:var(--dark-ink)}
:root[data-theme=dark] .fallback-plane{fill:var(--dark-surface)}
:root[data-theme=dark] .method-section{background:var(--dark-inset);border-block:1px solid var(--linea)}
:root[data-theme=dark] .method-graphic .scene-label{background:var(--dark-inset)}
:root[data-theme=dark] .method-detail .text-link{color:var(--dark-ink)}
:root[data-theme=dark] .method-tabs .mono{color:var(--txt-2)}
:root[data-theme=dark] .method-tabs button[aria-selected=true] .mono{color:var(--acido)}
:root[data-theme=dark] :is(.approach-section,.contact-section){background:var(--dark-surface);color:var(--dark-ink)}
:root[data-theme=dark] .contact-form{color:#fff;--azul-600:#3D9BFF}
:root[data-theme=dark] :is(.field input,.field textarea){background:var(--dark-canvas);color:var(--dark-ink);caret-color:#3D9BFF}
:root[data-theme=dark] .field-error{color:#FFB8C5}
:root[data-theme=dark] .field [aria-invalid=true]{border-color:#FFB8C5}
:root[data-theme=dark] .contact-recovery{color:#fff}
:root[data-theme=dark] :is(.capability-demo,.capability-demo .scene-label){background:var(--dark-surface);color:#fff;--azul-600:#3D9BFF}
:root[data-theme=dark] .demo-footer{border-color:var(--linea)}
:root[data-theme=dark] .demo-toggle{color:#3D9BFF}
:root[data-theme=dark] .demo-nodes{fill:var(--dark-surface);stroke:#3D9BFF}
:root[data-theme=dark] .demo-labels{fill:#fff}
:root[data-theme=dark] :is(.demo-signal,.demo-comparison){stroke:#3D9BFF}
:root[data-theme=dark] .mobile-node{background:var(--dark-surface);color:#fff;border-color:#3D9BFF}
:root[data-theme=dark] [data-active=true] :is(.mobile-api,.mobile-model-b){background:#E8FF4D;color:#0A0244}
:root[data-theme=dark] [data-demo="2"][data-active=true] .demo-labels text:nth-child(3){fill:#0A0244}

/* The separate privacy document shares the preference and approved wordmark. */
:root[data-theme=dark] .privacy-page{--text-secondary:#BDC3CD;--text-muted:#BDC3CD;--line:rgba(255,255,255,.18);--line-strong:rgba(255,255,255,.5);--mist:var(--dark-surface);--blue-600:#3D9BFF}
:root[data-theme=dark] .privacy-page header{background:var(--dark-canvas)}
:root[data-theme=dark] .privacy-page :is(.back,.contact-email){color:#fff}
:root[data-theme=dark] .privacy-page .language-select{background:var(--dark-canvas);color:var(--txt-2)}
.privacy-page .header-inner{min-height:64px;height:auto;flex-wrap:wrap;padding-block:8px}
.privacy-page .header-actions{flex-wrap:wrap}
.privacy-page h1{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:550px){
  .site-header .brand img{width:120px}
  .site-header .header-inner{gap:12px}
  .site-header .header-actions{gap:8px}
  .privacy-page .header-actions{gap:8px}
  .privacy-page .brand img{width:120px}
  .privacy-page .language-select{max-width:112px;min-height:44px}
}
@media(forced-colors:active){.theme-control:has(select:focus-visible){outline-color:Highlight}}

:root[data-theme=dark] :is(.site-footer,.privacy-page footer){background:#0C0E11}
:root[data-theme=dark] .dc-consent-banner{--dc-consent-indigo-900:#161A20;--dc-consent-muted:#BDC3CD;outline:1px solid rgba(255,255,255,.18)}
