:root{
  --ac-papel:#f4f1e8;--ac-papel-hondo:#ebe6d8;--ac-tinta:#182417;
  --ac-verde:#14382a;--ac-verde-fondo:#14382a;--ac-sobre-verde:#f4f1e8;
  --ac-verde-vivo:#1f6b45;--ac-sobre-verde-vivo:#f4f1e8;
  --ac-gris:#5c6b60;--ac-linea:#d8d2bf;--ac-tarjeta:#fffdf7;
  --ac-acento:#a34b19;--ac-sobre-acento:#fffdf7;--ac-lima:#c8e06a;
  --ac-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --ac-serif:Georgia,"Times New Roman",serif;
  --ac-sombra:0 2px 12px rgba(15,20,15,.18);
  --papel:var(--ac-papel);--papel-hondo:var(--ac-papel-hondo);--tinta:var(--ac-tinta);
  --verde:var(--ac-verde);--verde-fondo:var(--ac-verde-fondo);--sobre-verde:var(--ac-sobre-verde);
  --verde-vivo:var(--ac-verde-vivo);--sobre-verde-vivo:var(--ac-sobre-verde-vivo);
  --gris:var(--ac-gris);--linea:var(--ac-linea);--tarjeta:var(--ac-tarjeta);
  --acento:var(--ac-acento);--sobre-acento:var(--ac-sobre-acento);--lima:var(--ac-lima);
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ac-papel:#10160f;--ac-papel-hondo:#0a0f0a;--ac-tinta:#eae6d8;
  --ac-verde:#8fd6ac;--ac-verde-fondo:#122a1f;--ac-sobre-verde:#eae6d8;
  --ac-verde-vivo:#7fe0a8;--ac-sobre-verde-vivo:#10160f;
  --ac-gris:#a3ad9f;--ac-linea:#2c352a;--ac-tarjeta:#161d15;
  --ac-acento:#f2a46f;--ac-sobre-acento:#10160f;--ac-lima:#c8e06a;
  --ac-sombra:0 2px 12px rgba(0,0,0,.4);
}}
:root[data-theme="dark"]{
  --ac-papel:#10160f;--ac-papel-hondo:#0a0f0a;--ac-tinta:#eae6d8;
  --ac-verde:#8fd6ac;--ac-verde-fondo:#122a1f;--ac-sobre-verde:#eae6d8;
  --ac-verde-vivo:#7fe0a8;--ac-sobre-verde-vivo:#10160f;
  --ac-gris:#a3ad9f;--ac-linea:#2c352a;--ac-tarjeta:#161d15;
  --ac-acento:#f2a46f;--ac-sobre-acento:#10160f;--ac-lima:#c8e06a;
  --ac-sombra:0 2px 12px rgba(0,0,0,.4);
}

body{background:var(--ac-papel);color:var(--ac-tinta)}
.top,.cabecera{background:color-mix(in srgb,var(--ac-papel) 94%,transparent)!important;border-color:var(--ac-linea)!important}
main p>a,main dd>a{color:var(--ac-verde-vivo)}

/* Compatibilidad de los anexos: en sus estilos originales --verde sirve a la
   vez como tinta y como fondo. En oscuro separamos ambos usos para impedir
   superficies pálidas con texto pálido. */
.principio{background:var(--ac-verde-fondo);color:var(--ac-sobre-verde)}
.principio b{color:var(--ac-lima)}
aside.side>.call,.map-head{background:var(--ac-verde-fondo);color:var(--ac-sobre-verde)}
aside.side>.call b,.map-head .ey,.map-head .chev{color:var(--ac-lima)}
.map-head h2{color:var(--ac-sobre-verde)}
.descarga{background:var(--ac-verde-fondo);color:var(--ac-sobre-verde)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .node .tag,:root:not([data-theme="light"]) .map-head .tag{color:var(--ac-sobre-verde-vivo)}}
:root[data-theme="dark"] .node .tag,:root[data-theme="dark"] .map-head .tag{color:var(--ac-sobre-verde-vivo)}

.pie{border-top:1px solid var(--ac-linea);background:var(--ac-papel-hondo);padding:28px 0;color:var(--ac-gris);font:13px/1.5 var(--ac-sans)}
.pie-fila{width:min(1120px,calc(100% - 40px));margin-inline:auto;display:flex;justify-content:space-between;gap:20px;align-items:center}
.pie p{margin:0}.pie strong{color:var(--ac-tinta)}.pie nav{display:flex;gap:16px;flex-wrap:wrap}
.pie a{text-decoration:none;color:var(--ac-gris)}.pie a:hover{color:var(--ac-verde-vivo)}

.burbuja-ia{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.burbuja-ia-btn{position:relative;width:52px;height:52px;border-radius:50%;border:1px solid var(--ac-verde-fondo);background:var(--ac-verde-fondo);color:var(--ac-lima);font:800 16px/1 var(--ac-sans);cursor:pointer;box-shadow:var(--ac-sombra);transition:transform .15s ease}
.burbuja-ia-btn::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid var(--ac-verde-vivo);opacity:.5;animation:halo-ia 2.6s ease-in-out infinite;pointer-events:none}
.burbuja-ia-btn:hover{transform:scale(1.06)}
.burbuja-ia-btn:focus-visible,.panel-ia-cerrar:focus-visible,.panel-ia-cta:focus-visible{outline:3px solid var(--ac-verde-vivo);outline-offset:3px}
@keyframes halo-ia{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.1;transform:scale(1.2)}}
.panel-ia{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);width:min(340px,calc(100vw - 96px));background:var(--ac-tarjeta);border:1px solid var(--ac-linea);border-radius:14px;padding:16px;box-shadow:var(--ac-sombra)}
.panel-ia[hidden]{display:none!important}
.panel-ia-cerrar{position:absolute;top:8px;right:8px;width:28px;height:28px;border:1px solid var(--ac-linea);border-radius:50%;background:transparent;color:var(--ac-gris);font:700 16px/1 var(--ac-sans);cursor:pointer}
.panel-ia-cerrar:hover{color:var(--ac-tinta);border-color:var(--ac-verde-vivo)}
.panel-ia-texto{margin:0 0 14px;padding-right:24px;color:var(--ac-tinta);font:15px/1.5 var(--ac-sans)}
.panel-ia-cta{display:inline-block;text-decoration:none;background:var(--ac-verde-vivo);color:var(--ac-sobre-verde-vivo);border-radius:999px;padding:10px 16px;font:700 14px/1 var(--ac-sans)}
a.autor{color:var(--ac-verde-vivo);text-decoration:none;font-weight:700}
a.autor:hover{text-decoration:underline}
.enlace-demostracion{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid var(--ac-verde-vivo);border-radius:999px;padding:7px 12px;color:var(--ac-verde-vivo);background:var(--ac-tarjeta);text-decoration:none;font:800 12px/1 var(--ac-sans)}
.enlace-demostracion:hover{background:var(--ac-verde-vivo);color:var(--ac-sobre-verde-vivo)}

@media(max-width:700px){.pie-fila{align-items:flex-start;flex-direction:column}.burbuja-ia{right:12px}.panel-ia{right:calc(100% + 8px);width:min(320px,calc(100vw - 96px))}}
@media(prefers-reduced-motion:reduce){.burbuja-ia-btn{transition:none}.burbuja-ia-btn:hover{transform:none}.burbuja-ia-btn::after{animation:none}}
@media print{.burbuja-ia,.enlace-demostracion{display:none!important}}
