﻿/* Los valores heredados de la app siguen siendo la fuente de las tarjetas de libros. */
body[data-palette="violeta"]{--bg:#111126;--surface:#1c1930;--surface2:#29233d;--text:#f7efff;--muted:#bdb1cb;--line:#ffffff24;--scroll:#9279a4;background:#0c0c1c;color-scheme:dark}
body[data-palette="azul"]{--bg:#102536;--surface:#18364a;--surface2:#23475a;--text:#f2fbff;--muted:#b9d0da;--line:#ffffff29;--scroll:#80aabb;background:#091d2b;color-scheme:dark}
body[data-palette="verde"]{--bg:#192a24;--surface:#233d32;--surface2:#315046;--text:#f2fff6;--muted:#b7d0be;--line:#ffffff29;--scroll:#88aa96;background:#102119;color-scheme:dark}
body[data-palette="ambar"]{--bg:#31241e;--surface:#443128;--surface2:#594236;--text:#fff8ed;--muted:#dfc9b6;--line:#ffffff29;--scroll:#c0a18a;background:#261a15;color-scheme:dark}
body[data-palette="rosa"]{--bg:#31232e;--surface:#493443;--surface2:#5b4354;--text:#fff5fb;--muted:#e0c5d6;--line:#ffffff29;--scroll:#c49eaf;background:#251722;color-scheme:dark}
body[data-palette] .app-shell{background:radial-gradient(ellipse at 75% 0%,var(--surface2),transparent 40%),var(--bg)}
body[data-palette] .bottom-nav{background:var(--surface)}
.theme-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.theme-choice{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px;color:var(--text);text-align:left;background:var(--surface2);border:1px solid var(--line);border-radius:12px}
.theme-choice[aria-pressed="true"]{outline:2px solid #e8d0ff;outline-offset:1px}
.palette-swatch{display:block;width:25px;height:25px;flex:none;border-radius:50%;border:1px solid #ffffff80}
.palette-auto{background:conic-gradient(#789b78 0 25%,#6f9fb1 0 50%,#bb8d55 0 75%,#987eb1 0)}
.palette-violeta{background:#9276b1}.palette-azul{background:#638ea4}.palette-verde{background:#718f75}.palette-ambar{background:#b2865e}.palette-rosa{background:#b1819b}
.book-audio{margin:18px 0;padding:14px;border:1px solid var(--cover-border,var(--line));border-radius:14px}
.book-audio-head{font-size:13px}.book-audio-buttons{display:flex;flex-wrap:wrap;gap:8px}.youtube-slot:not(:empty){margin-top:12px}.youtube-slot iframe{display:block;min-width:200px;min-height:200px;max-width:100%;border:0;border-radius:8px}

/* Franja y particulas inspiradas en BabyKit; no capturan pulsaciones. */
.season-scene{position:fixed;inset:0;z-index:9;pointer-events:none;overflow:hidden;--season-height:clamp(30px,5vh,48px)}
.season-ground{position:absolute;bottom:0;left:0;right:0;height:var(--season-height);overflow:hidden;background:var(--ground);border-top:3px solid var(--detail);border-radius:50% 50% 0 0 / 16px 16px 0 0;box-shadow:0 -5px 18px #0002}
.season-ground span{position:absolute;bottom:2px;left:0;right:0;white-space:nowrap;text-align:center;font-size:clamp(14px,3vh,23px);letter-spacing:clamp(4px,1vw,12px)}
.season-side{position:absolute;top:70px;bottom:var(--season-height);width:34px;overflow:hidden}
.season-left{left:max(0px,calc(50% - 290px))}.season-right{right:max(0px,calc(50% - 290px))}
.season-side span{position:absolute;top:-30px;left:calc(2px + var(--i)*5px);font-size:18px;line-height:1;animation:season-fall calc(10s + var(--i)*1s) linear infinite;animation-delay:var(--delay)}
.season-right span{animation-delay:calc(var(--delay) - 1.3s)}
.season-primavera .season-side span{top:auto;bottom:-30px;animation-name:season-rise;animation-timing-function:ease-in-out}
.season-verano .season-side span{animation-name:season-drift}
@keyframes season-fall{0%{transform:translate(0,0) rotate(-20deg)}25%{transform:translate(7px,25vh) rotate(25deg)}50%{transform:translate(-2px,50vh) rotate(-20deg)}75%{transform:translate(7px,75vh) rotate(25deg)}100%{transform:translate(0,105vh) rotate(-20deg)}}
@keyframes season-rise{0%{transform:translate(0,0) rotate(-8deg)}50%{transform:translate(8px,-52vh) rotate(10deg)}100%{transform:translate(0,-110vh) rotate(-8deg)}}
@keyframes season-drift{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(5px,105vh) rotate(360deg)}}
body.season-active .bottom-nav{bottom:calc(clamp(30px,5vh,48px) + 10px)}
body.season-active main{padding-bottom:calc(115px + clamp(30px,5vh,48px))}
body.season-active .toast{bottom:calc(95px + clamp(30px,5vh,48px))}
@media(prefers-reduced-motion:reduce){.season-side{display:none}}

.audio-link-group{border:1px solid var(--line);border-radius:12px;padding:0 12px;margin:14px 0}.audio-link-group legend{font-size:12px;font-weight:700;padding:0 5px}.youtube-slot audio{width:100%;max-width:100%}.audio-external{color:var(--text);display:inline-block;padding:10px 0;text-decoration:underline;overflow-wrap:anywhere}

.audio-service-link{display:inline-flex;align-items:center;text-decoration:none;overflow-wrap:anywhere}

.youtube-slot iframe.music-service-player{min-height:0}

.audio-provider{display:inline-block;margin-right:7px;padding:3px 6px;border-radius:7px;background:#1ed760;color:#102918;font-size:10px;font-weight:700}

.book-audio-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.audio-settings-button{flex:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--cover-border,var(--line));border-radius:10px;background:#ffffff0c;color:inherit;font-size:20px}.audio-settings-button:hover{background:#ffffff20}.reading-summary .reading-days{margin:0 0 10px;color:var(--cover-text,var(--text));font-weight:700}.shelf-reading-days{font-size:10px;font-weight:700;color:var(--cover-text)}

/* Audio en la hoja «Resumen» y reproductor compartido (#audioHost, fuera del modal). */
.details-hero-text{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}.details-hero-info{min-width:0;flex:1}
.summary-audio{flex:none}.summary-audio:empty{display:none}
.audio-play-button{display:grid;place-items:center;width:48px;height:48px;min-width:44px;min-height:44px;border-radius:50%;border:1px solid var(--cover-border,var(--line));background:color-mix(in srgb,var(--card-text,var(--text)) 12%,transparent);color:var(--card-text,var(--text));font-size:18px;line-height:1;cursor:pointer}
.audio-play-button.is-playing{background:color-mix(in srgb,var(--cover-border,var(--accent)) 55%,transparent);border-width:2px;font-weight:900}.audio-play-button.audio-quiet{opacity:.6;font-size:20px}
.secondary-button.is-active{outline:2px solid var(--cover-border,var(--accent));outline-offset:1px}
.audio-now{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.audio-now span{min-width:0;overflow-wrap:anywhere}
.audio-host{position:fixed;z-index:60;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;left:0;bottom:0}.audio-host:empty{display:none}
.audio-host iframe,.audio-host audio{width:1px;height:1px;border:0}.audio-host.is-visible iframe{height:inherit}
.audio-host.is-visible{width:auto;height:auto;opacity:1;pointer-events:auto;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom) + var(--teclado,0px));overflow:visible;background:var(--surface,#1a1b31);color:var(--text,#fff);border:1px solid var(--line);border-radius:14px;padding:6px 6px 0;box-shadow:0 8px 28px #0006}
.audio-host.is-visible iframe{width:100%;display:block;border-radius:10px}
.audio-host-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;padding:0 4px 6px}.audio-host-stop{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:transparent;color:inherit}
