/* ══════════════════════════════════════════════════════════
   Omniscient Scan — Motor de temas global (omni-theme.css)
   Se carga en TODAS las páginas. Cada tema = tono (--ot-h) + intensidad (--ot-sat).
   styles.css y las páginas ya usan hsl(var(--ot-h,270) …) en lugar de morados fijos,
   así que al cambiar data-omni-theme cambia TODO el sitio a la vez.
   Violeta (270 / 1) reproduce los colores originales.
   ══════════════════════════════════════════════════════════ */
:root{--ot-h:270;--ot-sat:1}

:root,html[data-omni-theme="violeta"]{--ot-h:270;--ot-sat:1;--ot-accent:#a85cff;--ot-accent-2:#cc99ff;--ot-bg:#09050d;--ot-panel:#130b1b;--ot-line:#331e48;--ot-rgb:168,92,255}
html[data-omni-theme="azul"]{--ot-h:219;--ot-sat:1;--ot-accent:#79a9ff;--ot-accent-2:#99bdff;--ot-bg:#05080d;--ot-panel:#0b111b;--ot-line:#1e2d48;--ot-rgb:121,169,255}
html[data-omni-theme="rosa"]{--ot-h:326;--ot-sat:1;--ot-accent:#ff91d0;--ot-accent-2:#ff99d3;--ot-bg:#0d0509;--ot-panel:#1b0b14;--ot-line:#481e36;--ot-rgb:255,145,208}
html[data-omni-theme="celeste"]{--ot-h:198;--ot-sat:1;--ot-accent:#63cfff;--ot-accent-2:#99e0ff;--ot-bg:#050a0d;--ot-panel:#0b161b;--ot-line:#1e3c48;--ot-rgb:99,207,255}
html[data-omni-theme="esmeralda"]{--ot-h:155;--ot-sat:1;--ot-accent:#53d8a0;--ot-accent-2:#99ffd5;--ot-bg:#050d0a;--ot-panel:#0b1b14;--ot-line:#1e4837;--ot-rgb:83,216,160}
html[data-omni-theme="carmesí"]{--ot-h:347;--ot-sat:1;--ot-accent:#ff718f;--ot-accent-2:#ff99af;--ot-bg:#0d0507;--ot-panel:#1b0b0f;--ot-line:#481e27;--ot-rgb:255,113,143}
html[data-omni-theme="ambar"]{--ot-h:40;--ot-sat:1;--ot-accent:#f1bd55;--ot-accent-2:#ffdd99;--ot-bg:#0d0a05;--ot-panel:#1b160b;--ot-line:#483a1e;--ot-rgb:241,189,85}
html[data-omni-theme="glacial"]{--ot-h:187;--ot-sat:1;--ot-accent:#8ce8f5;--ot-accent-2:#99f3ff;--ot-bg:#050c0d;--ot-panel:#0b191b;--ot-line:#1e4348;--ot-rgb:140,232,245}
html[data-omni-theme="obsidiana"]{--ot-h:220;--ot-sat:0.12;--ot-accent:#a9afbc;--ot-accent-2:#c6cad2;--ot-bg:#080909;--ot-panel:#121314;--ot-line:#303236;--ot-rgb:169,175,188}
html[data-omni-theme="bosque"]{--ot-h:106;--ot-sat:1;--ot-accent:#8acb76;--ot-accent-2:#b1ff99;--ot-bg:#070d05;--ot-panel:#0f1b0b;--ot-line:#28481e;--ot-rgb:138,203,118}
html[data-omni-theme="aurora"]{--ot-h:168;--ot-sat:1;--ot-accent:#80e6d2;--ot-accent-2:#99ffeb;--ot-bg:#050d0b;--ot-panel:#0b1b18;--ot-line:#1e4840;--ot-rgb:128,230,210}
html[data-omni-theme="marfil"]{--ot-h:40;--ot-sat:0.75;--ot-accent:#ecc679;--ot-accent-2:#f2d9a6;--ot-bg:#0c0a06;--ot-panel:#19150d;--ot-line:#433823;--ot-rgb:236,198,121}

/* Valores por defecto de "colores propios": siguen al tema mientras el usuario no elija otros */
:root{
  --ot-ink:hsl(var(--ot-h) calc(100% * var(--ot-sat)) 97%);
  --ot-muted:hsl(var(--ot-h) calc(12% * var(--ot-sat)) 66%);
  --ot-comments:hsl(var(--ot-h) calc(100% * var(--ot-sat)) 68%);
  --ot-chapter:hsl(var(--ot-h) calc(100% * var(--ot-sat)) 77%);
  --ot-button:hsl(calc(var(--ot-h) - 13) calc(76% * var(--ot-sat)) 59%);
  --ot-link:hsl(var(--ot-h) calc(100% * var(--ot-sat)) 80%);
}
html{color-scheme:dark;accent-color:var(--ot-accent)}

/* Transición suave al cambiar de tema (solo mientras dura el cambio) */
html.ot-fade,html.ot-fade *,html.ot-fade *::before,html.ot-fade *::after{
  transition:background-color .45s ease,border-color .45s ease,color .35s ease,box-shadow .45s ease,fill .35s ease,stroke .35s ease!important}

/* Selector de temas (Perfil → Estilo) */
.ot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.ot-card{position:relative;display:flex;flex-direction:column;gap:9px;padding:10px;border-radius:14px;cursor:pointer;text-align:left;
  background:rgba(255,255,255,.025);border:1px solid var(--ot-line);color:var(--ot-ink);font:inherit;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),border-color .2s,box-shadow .25s}
.ot-card:hover{transform:translateY(-3px);border-color:rgba(var(--card-rgb),.7)}
.ot-card[aria-pressed="true"]{border-color:rgb(var(--card-rgb));box-shadow:0 0 0 1px rgb(var(--card-rgb)),0 14px 34px -16px rgb(var(--card-rgb))}
.ot-card[aria-pressed="true"]::after{content:"✓";position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;
  display:grid;place-items:center;font-size:12px;font-weight:700;color:#0a0a0a;background:rgb(var(--card-rgb))}
.ot-mini{height:62px;border-radius:9px;position:relative;overflow:hidden;background:var(--card-bg);border:1px solid var(--card-line)}
.ot-mini::before{content:"";position:absolute;left:0;right:0;top:0;height:11px;background:var(--card-panel);border-bottom:1px solid var(--card-line)}
.ot-mini i{position:absolute;left:8px;top:19px;width:46%;height:8px;border-radius:4px;background:var(--card-accent)}
.ot-mini b{position:absolute;left:8px;top:33px;width:70%;height:5px;border-radius:3px;background:var(--card-line)}
.ot-mini u{position:absolute;right:8px;bottom:8px;width:26px;height:12px;border-radius:6px;background:var(--card-accent-2);text-decoration:none}
.ot-card span{font-size:12.5px;font-weight:600;letter-spacing:.02em}
.ot-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.ot-note{font-size:12px;color:var(--ot-muted)}
@media(max-width:520px){.ot-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){html.ot-fade,html.ot-fade *{transition:none!important}.ot-card{transition:none}}

/* ══════ Ajustes de la web (OmniPrefs) ══════ */
/* Animaciones */
html[data-omni-motion="off"] *,html[data-omni-motion="off"] *::before,html[data-omni-motion="off"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-omni-motion="low"] *,html[data-omni-motion="low"] *::before,html[data-omni-motion="low"] *::after{animation-iteration-count:1!important;scroll-behavior:auto!important}
/* Tipografía (no pisa los iconos: Font Awesome, Material, Bootstrap Icons) */
html[data-omni-font="clasica"] *:not(svg,svg *,code,pre,kbd,samp,.fa,.fas,.far,.fab,.fal,.fad,[class^="fa-"],[class*=" fa-"],.material-icons,.material-symbols-outlined,.material-symbols-rounded,.bi,[class^="bi-"],[class*=" bi-"],.es-keep-font){font-family:Georgia,"Times New Roman",serif!important}
html[data-omni-font="mono"] *:not(svg,svg *,code,pre,kbd,samp,.fa,.fas,.far,.fab,.fal,.fad,[class^="fa-"],[class*=" fa-"],.material-icons,.material-symbols-outlined,.material-symbols-rounded,.bi,[class^="bi-"],[class*=" bi-"],.es-keep-font){font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace!important}
html[data-omni-font="redonda"] *:not(svg,svg *,code,pre,kbd,samp,.fa,.fas,.far,.fab,.fal,.fad,[class^="fa-"],[class*=" fa-"],.material-icons,.material-symbols-outlined,.material-symbols-rounded,.bi,[class^="bi-"],[class*=" bi-"],.es-keep-font){font-family:"Nunito",ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif!important}
html[data-omni-font="elegante"] *:not(svg,svg *,code,pre,kbd,samp,.fa,.fas,.far,.fab,.fal,.fad,[class^="fa-"],[class*=" fa-"],.material-icons,.material-symbols-outlined,.material-symbols-rounded,.bi,[class^="bi-"],[class*=" bi-"],.es-keep-font){font-family:"Lora","Cormorant Garamond",Georgia,serif!important}
html[data-omni-font="legible"] *:not(svg,svg *,code,pre,kbd,samp,.fa,.fas,.far,.fab,.fal,.fad,[class^="fa-"],[class*=" fa-"],.material-icons,.material-symbols-outlined,.material-symbols-rounded,.bi,[class^="bi-"],[class*=" bi-"],.es-keep-font){font-family:"Atkinson Hyperlegible",Verdana,system-ui,sans-serif!important}
/* Alto contraste: texto secundario más claro */
html[data-omni-contrast="alto"]{--ot-muted:hsl(var(--ot-h) calc(12% * var(--ot-sat)) 84%);--ot-line:rgba(var(--ot-rgb),.55)}
/* Detalles con tema: barra de desplazamiento y texto seleccionado */
html[data-omni-detail="on"]{scrollbar-color:var(--ot-accent) var(--ot-bg)}
html[data-omni-detail="on"] ::selection{background:rgba(var(--ot-rgb),.5);color:#fff}
html[data-omni-detail="on"] ::-webkit-scrollbar{width:11px;height:11px}
html[data-omni-detail="on"] ::-webkit-scrollbar-track{background:var(--ot-bg)}
html[data-omni-detail="on"] ::-webkit-scrollbar-thumb{background:rgba(var(--ot-rgb),.55);border-radius:99px;border:2px solid var(--ot-bg)}

/* Modo ligero: sin desenfoques ni cristal translúcido (más fluido en móviles modestos) */
html[data-omni-lite="on"] *,html[data-omni-lite="on"] *::before,html[data-omni-lite="on"] *::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Barra de progreso de scroll con el color del tema */
.ot-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);pointer-events:none;z-index:2147483000;
  background:linear-gradient(90deg,var(--ot-accent),var(--ot-accent-2));box-shadow:0 0 10px rgba(var(--ot-rgb),.7)}

/* Efectos al hacer clic */
.ot-ripple,.ot-spark{position:fixed;pointer-events:none;z-index:2147483000;display:block}
.ot-ripple{width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:2px solid var(--ot-accent);animation:otRipple .6s ease-out forwards}
.ot-spark{width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:var(--ot-accent-2);
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:otSpark .75s ease-out forwards}
@keyframes otRipple{to{transform:scale(7);opacity:0}}
@keyframes otSpark{to{transform:translate(var(--dx),var(--dy)) scale(.2) rotate(200deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.ot-ripple,.ot-spark{display:none}}
