:root{
  --bg:#fff5f2;
  --bg2:#fff;
  --card:#ffffff;
  --text:#201515;
  --muted:#766865;
  --line:rgba(139,26,26,.12);
  --primary:#8B1A1A;
  --primary2:#C0392B;
  --accent:#FFB84D;
  --good:#17A589;
  --shadow:0 18px 45px rgba(80,24,24,.14);
  --soft:0 8px 26px rgba(80,24,24,.10);
  --radius:26px;
  --navh:76px;
}
[data-theme="dark"]{
  --bg:#130b12;
  --bg2:#21131c;
  --card:#261720;
  --text:#fff8f6;
  --muted:#d2bebb;
  --line:rgba(255,255,255,.12);
  --primary:#FF6F61;
  --primary2:#E74C3C;
  --accent:#FFD166;
  --shadow:0 18px 45px rgba(0,0,0,.35);
  --soft:0 8px 26px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;
  background:
    radial-gradient(circle at top left,rgba(255,184,77,.24),transparent 32rem),
    radial-gradient(circle at top right,rgba(192,57,43,.18),transparent 28rem),
    linear-gradient(180deg,var(--bg),var(--bg2));
  color:var(--text);
  min-height:100vh;
}
button,input,textarea{font:inherit}
button{border:0;cursor:pointer;color:inherit}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(255,184,77,.65);outline-offset:3px}
.app-shell{max-width:520px;margin:0 auto;min-height:100vh;position:relative;padding-bottom:calc(var(--navh) + env(safe-area-inset-bottom,0px))}
.topbar{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  padding:calc(.75rem + env(safe-area-inset-top,0px)) .9rem .7rem;
  backdrop-filter:blur(18px);
  background:color-mix(in srgb,var(--bg2) 82%,transparent);
  border-bottom:1px solid var(--line);
}
.topbar h1{font-size:1.05rem;line-height:1.1;margin:0;font-weight:900;letter-spacing:-.03em}
.eyebrow{margin:0 0 .1rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:800}
.icon-btn{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.65);
  border:1px solid var(--line);box-shadow:var(--soft);display:grid;place-items:center;font-size:1.1rem;
}
[data-theme="dark"] .icon-btn{background:rgba(255,255,255,.08)}
.icon-btn[hidden]{visibility:hidden}
main{padding:.8rem .85rem 1.25rem}
.cover{
  position:relative;overflow:hidden;border-radius:32px;min-height:650px;box-shadow:var(--shadow);isolation:isolate;
  display:flex;flex-direction:column;justify-content:flex-end;background:#111;
}
.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(1.04) contrast(1.04)}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.15) 25%,rgba(0,0,0,.82));z-index:-1}
.cover-content{padding:1.25rem;color:#fff}
.badge{display:inline-flex;align-items:center;gap:.38rem;padding:.45rem .75rem;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.26);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(8px)}
.cover h2{font-size:2.65rem;line-height:.95;margin:.8rem 0 .55rem;font-weight:950;letter-spacing:-.075em;text-wrap:balance}
.lead{font-size:1rem;line-height:1.6;color:color-mix(in srgb,#fff 86%,transparent);margin:.6rem 0 1rem}
.cover-actions,.row-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;padding:.85rem 1rem;
  font-weight:900;box-shadow:var(--soft);transition:transform .18s ease,opacity .18s ease,background .18s ease;
}
.btn:active{transform:scale(.97)}
.btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}
.btn.light{background:rgba(255,255,255,.92);color:#7b1717}
.btn.ghost{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;box-shadow:none}
.btn.soft{background:color-mix(in srgb,var(--primary) 10%,var(--card));color:var(--primary);border:1px solid var(--line)}
.grid{display:grid;gap:.75rem}
.grid.two{grid-template-columns:1fr 1fr}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--soft);
}
.card.flat{box-shadow:none}
.card h2,.card h3{margin:.1rem 0 .55rem;letter-spacing:-.035em;line-height:1.15}
.card h2{font-size:1.7rem}.card h3{font-size:1.22rem}
.card p{color:var(--muted);line-height:1.72;margin:.55rem 0}
.mode-grid{display:grid;gap:.65rem;margin-top:.65rem}
.mode-card{
  text-align:left;border-radius:22px;padding:1rem;background:color-mix(in srgb,var(--card) 88%,var(--primary) 7%);
  border:1.5px solid var(--line);box-shadow:var(--soft);display:flex;gap:.75rem;align-items:flex-start;
}
.mode-card.active{border-color:var(--primary);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 14%,var(--card)),var(--card))}
.mode-card .emoji{font-size:1.55rem;width:42px;height:42px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 22%,var(--card));border-radius:15px}
.mode-card strong{display:block;font-size:1rem}.mode-card small{display:block;color:var(--muted);line-height:1.45;margin-top:.2rem}
.progress-wrap{margin:.5rem 0 0}.progress-top{display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:.78rem;color:var(--muted);margin-bottom:.35rem}
.progress{height:11px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--card));overflow:hidden;border:1px solid var(--line)}
.progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .3s ease}
.week-scroll,.chip-scroll{display:flex;gap:.5rem;overflow-x:auto;padding:.3rem 0 .7rem;scrollbar-width:none}.week-scroll::-webkit-scrollbar,.chip-scroll::-webkit-scrollbar{display:none}
.filter-chip,.day-chip{flex:0 0 auto;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.6rem .8rem;font-weight:850;font-size:.82rem;color:var(--muted)}
.filter-chip.active,.day-chip.active{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-color:transparent}
.searchbox{position:relative;margin:.6rem 0 1rem}.searchbox input{width:100%;border:1px solid var(--line);border-radius:18px;background:var(--card);padding:.95rem 1rem .95rem 2.75rem;color:var(--text);box-shadow:var(--soft)}.searchbox span{position:absolute;left:1rem;top:50%;transform:translateY(-50%)}
.day-list{display:grid;gap:.65rem}.day-card{display:grid;grid-template-columns:72px 1fr auto;gap:.75rem;align-items:center;text-align:left;border-radius:24px;padding:.65rem;background:var(--card);border:1px solid var(--line);box-shadow:var(--soft);width:100%}
.day-card img{width:72px;height:88px;object-fit:cover;border-radius:18px}.day-card .date{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--muted)}.day-card h3{font-size:1.02rem;margin:.1rem 0 .2rem;line-height:1.2}.pill{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.28rem .55rem;background:color-mix(in srgb,var(--primary) 10%,var(--card));color:var(--primary);font-size:.72rem;font-weight:850}.status-icons{display:flex;gap:.3rem;flex-direction:column;font-size:1rem}
.hero{
  position:relative;overflow:hidden;border-radius:32px;min-height:560px;box-shadow:var(--shadow);display:flex;align-items:flex-end;background:#111;isolation:isolate;margin-bottom:.8rem;
}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.25) 42%,rgba(0,0,0,.88));z-index:-1}.hero-content{padding:1rem;color:#fff;width:100%}.hero h2{font-size:2.2rem;line-height:1;margin:.6rem 0 .6rem;letter-spacing:-.065em;text-wrap:balance}.hero .date{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:rgba(255,255,255,.75)}
.quick-panel{display:grid;gap:.65rem;grid-template-columns:1fr 1fr;margin-top:.85rem}.quick-panel .btn{width:100%;padding:.75rem .7rem;font-size:.82rem;box-shadow:none;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);color:#fff}
.verse{border-left:5px solid var(--primary);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--card)),var(--card));padding:1rem;border-radius:0 24px 24px 0}.verse blockquote{margin:0;font-size:1.02rem;font-style:italic;font-weight:750;line-height:1.65}.verse cite{display:block;margin-top:.4rem;color:var(--muted);font-style:normal;font-weight:800}
details.section{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--soft);overflow:hidden}details.section+details.section{margin-top:.7rem}details.section summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:1rem;font-weight:900;cursor:pointer}details.section summary::-webkit-details-marker{display:none}.summary-left{display:flex;align-items:center;gap:.65rem}.ico{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 12%,var(--card))}.chev{transition:transform .2s ease}details[open] .chev{transform:rotate(180deg)}.section-body{border-top:1px solid var(--line);padding:1rem}.section-body p{line-height:1.78;color:var(--muted);margin:.65rem 0}.relato{background:color-mix(in srgb,var(--accent) 12%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:20px;padding:.8rem;margin-top:.8rem}.relato .label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.challenge{display:grid;gap:.6rem}.challenge-item{display:flex;gap:.7rem;align-items:flex-start;background:color-mix(in srgb,var(--primary) 6%,var(--card));border-radius:18px;padding:.72rem}.num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900;flex:0 0 auto}.challenge-item p{margin:0;line-height:1.6;color:var(--text)}
.toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0}.tool-btn{border-radius:18px;background:var(--card);border:1px solid var(--line);padding:.72rem .85rem;font-weight:850;box-shadow:var(--soft)}.tool-btn.active{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-color:transparent}.tool-btn.done{background:linear-gradient(135deg,var(--good),#1ABC9C);color:#fff;border-color:transparent}
.note-area{display:grid;gap:.5rem}.note-area textarea{min-height:132px;resize:vertical;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--primary) 4%,var(--card));color:var(--text);padding:.85rem;line-height:1.55}.counter{font-size:.78rem;color:var(--muted);font-weight:750;text-align:right}.saved-note{white-space:pre-wrap;background:color-mix(in srgb,var(--accent) 10%,var(--card));border-radius:18px;padding:.75rem;color:var(--text)!important}
.classroom{
  min-height:calc(100vh - var(--navh) - 90px);border-radius:32px;overflow:hidden;position:relative;display:flex;align-items:flex-end;background:#111;box-shadow:var(--shadow);isolation:isolate;
}.classroom img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.classroom::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.45));z-index:-1}.classroom-content{padding:1.25rem;color:#fff}.classroom h2{font-size:2.45rem;line-height:1;margin:.4rem 0 .8rem;letter-spacing:-.065em}.classroom blockquote{font-size:1.25rem;line-height:1.55;margin:0 0 1rem;font-weight:800}.classroom .big-word{font-size:1rem;display:inline-flex;gap:.4rem;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.13);border-radius:999px;padding:.55rem .85rem;font-weight:900}.classroom .intent{font-size:1.06rem;line-height:1.6;color:rgba(255,255,255,.88)}
.empty{text-align:center;padding:2rem 1rem;color:var(--muted)}.empty .emoji{font-size:2rem;display:block;margin-bottom:.6rem}.toast{position:fixed;left:50%;bottom:calc(var(--navh) + 18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(25px);background:#201515;color:#fff;border-radius:999px;padding:.75rem 1rem;font-weight:800;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s;z-index:50;max-width:min(92vw,420px);text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:30;width:min(520px,100%);height:calc(var(--navh) + env(safe-area-inset-bottom,0px));padding:.45rem .55rem calc(.45rem + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem;background:color-mix(in srgb,var(--bg2) 88%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.nav-item{border-radius:18px;background:transparent;display:grid;place-items:center;color:var(--muted);font-weight:850}.nav-item span{font-size:1.18rem}.nav-item small{font-size:.64rem;margin-top:.1rem}.nav-item.active{background:color-mix(in srgb,var(--primary) 12%,var(--card));color:var(--primary)}
@media (min-width:760px){.app-shell{max-width:760px}.bottom-nav{width:min(760px,100%)}main{padding:1rem}.mode-grid{grid-template-columns:repeat(3,1fr)}.day-list{grid-template-columns:1fr 1fr}.cover,.hero{min-height:620px}.quick-panel{grid-template-columns:repeat(4,1fr)}}
@media (prefers-reduced-motion:no-preference){.card,.day-card,details.section,.hero,.cover{animation:rise .28s ease both}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.badge:first-child{animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}}


/* MODAL DE INSTALACIÓN */
.install-modal{position:fixed;inset:0;z-index:80;display:none;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.48);backdrop-filter:blur(10px);padding:1rem .85rem calc(1rem + env(safe-area-inset-bottom,0px))}
.install-modal.show{display:flex}
.install-card{width:min(520px,100%);position:relative;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:30px;padding:1.15rem;box-shadow:0 28px 80px rgba(0,0,0,.35);animation:installUp .24s ease both}
.install-close{position:absolute;right:.8rem;top:.8rem;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--primary) 8%,var(--card));border:1px solid var(--line);font-size:1.25rem;font-weight:900;color:var(--muted)}
.install-hero{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:1.65rem;box-shadow:var(--soft);margin-bottom:.65rem}
.install-card h2{font-size:1.7rem;line-height:1.05;margin:.2rem 2.2rem .5rem 0;letter-spacing:-.045em}
.install-card p{color:var(--muted);line-height:1.65;margin:.45rem 0}
.install-steps{display:grid;gap:.55rem;margin:.85rem 0}
.install-steps div{background:color-mix(in srgb,var(--primary) 6%,var(--card));border:1px solid var(--line);border-radius:20px;padding:.75rem}
.install-steps strong{display:block;margin-bottom:.18rem}.install-steps span{display:block;color:var(--muted);font-size:.9rem;line-height:1.48}.install-actions{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;margin-top:.8rem}.install-actions .btn{flex:1 1 auto}.install-small{width:100%;background:transparent;color:var(--muted);font-size:.82rem;font-weight:850;padding:.45rem;text-decoration:underline;text-underline-offset:3px}
@keyframes installUp{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (min-width:760px){.install-modal{align-items:center}.install-card{padding:1.35rem}}



.day-emotion-chip{display:inline-flex;margin-top:.35rem;align-items:center;gap:.3rem;border-radius:999px;padding:.28rem .55rem;background:linear-gradient(135deg, color-mix(in srgb,var(--emo-color) 18%, #fff), color-mix(in srgb,var(--emo-color2) 18%, #fff));color:var(--emo-color);font-size:.69rem;font-weight:850}
.emotion-home-card h3{margin:.4rem 0 .5rem}
.emotion-home-grid{display:grid;gap:1rem;align-items:center}
.emotion-mini-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.emotion-mini-strip img{width:100%;height:78px;object-fit:cover;border-radius:18px;border:1px solid var(--line);box-shadow:var(--soft)}

.emotion-card{margin-top:.85rem;background:var(--card);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.emotion-banner{position:relative;min-height:220px;background:#222;overflow:hidden}
.emotion-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.emotion-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.22) 42%, rgba(0,0,0,.78))}
.emotion-overlay{position:relative;z-index:1;padding:1rem;color:#fff;display:flex;min-height:220px;flex-direction:column;justify-content:flex-end}
.emotion-kicker{display:inline-flex;align-self:flex-start;gap:.35rem;border-radius:999px;padding:.38rem .7rem;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);font-size:.76rem;font-weight:900;letter-spacing:.02em}
.emotion-overlay h3{font-size:1.8rem;line-height:1.08;margin:.55rem 0 .25rem;letter-spacing:-.045em;text-wrap:balance}
.emotion-overlay p{margin:0;color:rgba(255,255,255,.88)}
.emotion-body{padding:1rem;background:linear-gradient(180deg,color-mix(in srgb,var(--emo-color) 5%, var(--card)),var(--card) 40%)}
.emotion-headline{display:grid;gap:.5rem;margin-bottom:.85rem}
.emotion-headline h4{font-size:1.25rem;line-height:1.18;margin:.35rem 0 0;letter-spacing:-.02em}
.emotion-pill{background:linear-gradient(135deg,var(--emo-color),var(--emo-color2));color:#fff}
.emotion-saved{justify-self:start;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--emo-color) 11%,var(--card));color:var(--emo-color);font-weight:850;font-size:.82rem}
.emotion-saved.ghost{color:var(--muted)}
.emotion-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;margin-bottom:.8rem}
.emo-step{display:flex;align-items:center;gap:.55rem;text-align:left;border-radius:18px;padding:.75rem .8rem;background:var(--bg2);border:1px solid var(--line);color:var(--muted);font-weight:850;box-shadow:var(--soft)}
.emo-step span{font-size:1.1rem}.emo-step b{display:block;font-size:.9rem;line-height:1.2}.emo-step.active{background:linear-gradient(135deg,var(--emo-color),var(--emo-color2));color:#fff;border-color:transparent}
.emotion-panel{background:var(--card);border:1px solid color-mix(in srgb,var(--emo-color) 20%, transparent);border-radius:24px;padding:1rem;box-shadow:var(--soft)}
.emo-copy p{line-height:1.75;color:var(--muted);margin:.15rem 0 .65rem}
.emo-hint{margin:.8rem 0 0;color:var(--muted);font-size:.9rem}
.emo-feelings{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.feel-chip{border-radius:999px;padding:.6rem .8rem;background:color-mix(in srgb,var(--emo-color) 7%,var(--card));border:1px solid color-mix(in srgb,var(--emo-color) 20%, var(--line));font-weight:800;color:var(--text)}
.feel-chip.active{background:linear-gradient(135deg,var(--emo-color),var(--emo-color2));color:#fff;border-color:transparent}
.emo-quote{margin-top:.75rem;border-left:4px solid var(--emo-color);padding:.7rem .9rem;background:color-mix(in srgb,var(--emo-color) 6%,var(--card));border-radius:0 18px 18px 0;color:var(--text);font-weight:700}
.breath-wrap{display:grid;place-items:center;gap:.65rem;margin-bottom:.8rem}
.breath-circle{width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 35% 35%, color-mix(in srgb,var(--emo-color2) 70%, #fff), var(--emo-color));box-shadow:0 18px 40px color-mix(in srgb,var(--emo-color) 35%, transparent);animation:breathe 6s ease-in-out infinite}
.breath-labels{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;font-size:.78rem;font-weight:850;color:var(--muted)}
@keyframes breathe{0%,100%{transform:scale(.88);opacity:.86}50%{transform:scale(1.08);opacity:1}}
.emo-disposition-actions{display:grid;gap:.6rem;margin-top:.9rem}

@media (min-width:760px){
  .emotion-home-grid{grid-template-columns:1.25fr 1fr}
  .emotion-headline{grid-template-columns:1fr auto;align-items:end}
  .emotion-steps{grid-template-columns:repeat(4,1fr)}
  .emo-disposition-actions{grid-template-columns:1fr 1fr}
}


/* Ajustes V7 · estética más juvenil */
.cover{border:1px solid color-mix(in srgb,var(--primary) 14%, transparent)}
.cover::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 12%, rgba(255,255,255,.24), transparent 34%), radial-gradient(circle at 88% 20%, rgba(255,255,255,.12), transparent 24%);z-index:0;pointer-events:none}
.cover-content{position:relative;z-index:1}
.badge{box-shadow:0 10px 24px rgba(0,0,0,.12)}
.cover-actions .btn{backdrop-filter:blur(12px)}
.mode-card{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 16%, var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 6%,var(--card)),var(--card));transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.mode-card::after{content:'';position:absolute;right:-18px;top:-18px;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb,var(--accent) 28%, transparent), transparent 68%);pointer-events:none}
.mode-card.active{border-color:transparent;box-shadow:0 18px 38px rgba(0,0,0,.12), inset 0 0 0 1px rgba(255,255,255,.08)}
.mode-card.active::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 88%, white 4%), color-mix(in srgb,var(--primary2) 82%, white 6%));z-index:0}
.mode-card.active > *{position:relative;z-index:1;color:#fff}
.mode-card .emoji{width:54px;height:54px;border-radius:18px;background:color-mix(in srgb,var(--primary) 10%,var(--card));display:grid;place-items:center;box-shadow:var(--soft)}
.mode-card.active .emoji{background:rgba(255,255,255,.16);color:#fff}
.day-card{transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}
.day-card:hover,.day-card:focus-visible{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.10);border-color:color-mix(in srgb,var(--primary) 22%, var(--line))}
.quick-panel .btn{border-radius:18px}
.tool-btn{transition:transform .14s ease, box-shadow .14s ease}.tool-btn:hover,.tool-btn:focus-visible{transform:translateY(-1px)}

.emotion-home-card{padding:1rem;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 7%,var(--card)),color-mix(in srgb,var(--accent) 10%,var(--card)) 68%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 14%, var(--line));overflow:hidden;position:relative}
.emotion-home-card::before{content:'';position:absolute;inset:auto -30px -46px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb,var(--primary2) 18%, transparent), transparent 68%);pointer-events:none}
.emotion-home-grid{gap:1.1rem}
.emotion-home-copy h3{font-size:1.55rem;line-height:1.05;margin:.45rem 0 .45rem;letter-spacing:-.03em}
.emotion-home-copy p{font-size:1rem;line-height:1.72;color:var(--text);max-width:38rem;margin:0}
.emotion-mini-strip{position:relative;z-index:1}
.emotion-mini-strip img{height:90px;border-radius:20px;box-shadow:0 14px 26px rgba(0,0,0,.12);transition:transform .18s ease}
.emotion-mini-strip img:nth-child(odd){transform:rotate(-2deg)}
.emotion-mini-strip img:nth-child(even){transform:rotate(2deg)}
.emotion-mini-strip img:hover{transform:translateY(-2px) scale(1.02)}

.emotion-card{border:1px solid color-mix(in srgb,var(--emo-color) 18%, var(--line));box-shadow:0 22px 46px rgba(0,0,0,.10)}
.emotion-banner{min-height:236px}
.emotion-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg, rgba(255,255,255,.14), transparent 42%);z-index:1;pointer-events:none}
.emotion-overlay{padding:1.1rem 1rem 1rem}
.emotion-kicker{background:rgba(255,255,255,.18);box-shadow:0 10px 20px rgba(0,0,0,.10)}
.emotion-overlay h3{font-size:1.92rem}
.emotion-body{padding:1rem;background:linear-gradient(180deg,color-mix(in srgb,var(--emo-color) 7%,var(--card)),var(--card) 46%)}
.emotion-headline h4{font-size:1.35rem}
.emotion-steps{gap:.65rem}
.emo-step{position:relative;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--emo-color) 5%,var(--card)),var(--bg2));border-color:color-mix(in srgb,var(--emo-color) 14%, var(--line))}
.emo-step::after{content:'';position:absolute;inset:auto -14px -16px auto;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb,var(--emo-color2) 18%, transparent), transparent 72%);pointer-events:none}
.emo-step.active{box-shadow:0 14px 30px color-mix(in srgb,var(--emo-color) 28%, transparent)}
.emo-step.active b,.emo-step.active span{color:#fff}
.emotion-panel{background:linear-gradient(180deg, color-mix(in srgb,var(--emo-color) 3%, #fff), var(--card));box-shadow:0 16px 30px rgba(0,0,0,.06)}
.feel-chip{box-shadow:var(--soft);transition:transform .14s ease, box-shadow .14s ease}.feel-chip:hover,.feel-chip:focus-visible{transform:translateY(-1px);box-shadow:0 12px 22px rgba(0,0,0,.10)}
.emo-quote{font-size:.98rem}
.breath-circle{width:120px;height:120px}
.emo-disposition-actions .btn{border-radius:18px}

@media (max-width:759px){
  .emotion-home-copy h3{font-size:1.42rem}
  .emotion-overlay h3{font-size:1.72rem}
  .emotion-mini-strip{grid-template-columns:repeat(3,1fr)}
  .emotion-mini-strip img{height:82px}
}



/* Ajustes V8 · portada, paleta y experiencia más app */
:root{
  --bg:#f6f1ff;
  --bg2:#fffdfd;
  --card:#ffffff;
  --text:#1f1530;
  --muted:#6f6486;
  --line:rgba(106,58,183,.14);
  --primary:#6A3AB7;
  --primary2:#F04F8A;
  --accent:#27D3B2;
  --good:#18B38A;
  --shadow:0 18px 46px rgba(66,29,118,.14);
  --soft:0 10px 28px rgba(66,29,118,.10);
}
[data-theme="dark"]{
  --bg:#120d1d;
  --bg2:#1b1429;
  --card:#241a36;
  --text:#fff8ff;
  --muted:#cfbfeb;
  --line:rgba(255,255,255,.12);
  --primary:#A26BFF;
  --primary2:#FF6AA9;
  --accent:#4DE1C3;
  --shadow:0 20px 48px rgba(0,0,0,.38);
  --soft:0 10px 28px rgba(0,0,0,.28);
}
body{background:radial-gradient(circle at top left,rgba(240,79,138,.15),transparent 24rem),radial-gradient(circle at top right,rgba(39,211,178,.18),transparent 22rem),radial-gradient(circle at bottom left,rgba(106,58,183,.16),transparent 24rem),linear-gradient(180deg,var(--bg),var(--bg2))}
.topbar{background:color-mix(in srgb,var(--bg2) 74%,transparent);border-bottom:1px solid color-mix(in srgb,var(--primary) 10%, var(--line));box-shadow:0 8px 26px rgba(0,0,0,.04)}
.icon-btn{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.72))}
[data-theme="dark"] .icon-btn{background:rgba(255,255,255,.08)}
.cover{min-height:690px;border-radius:36px}
.cover::after{background:linear-gradient(180deg,rgba(8,8,18,.02),rgba(8,8,18,.15) 24%,rgba(8,8,18,.84))}
.cover-content{padding:1.35rem}
.cover h2{font-size:2.95rem}
.lead{font-size:1.03rem;max-width:28rem}
.cover-actions .btn{padding:.92rem 1.08rem}
.quick-launch-card{margin-top:.9rem;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--card)),color-mix(in srgb,var(--accent) 8%,var(--card)) 70%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 16%, var(--line));border-radius:28px;padding:1rem;box-shadow:var(--shadow);position:relative;overflow:hidden}
.quick-launch-card::after{content:'';position:absolute;left:-30px;bottom:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb,var(--primary2) 18%, transparent), transparent 68%);pointer-events:none}
.quick-launch-head{display:flex;align-items:end;justify-content:space-between;gap:.8rem;margin-bottom:.85rem;position:relative;z-index:1}.quick-launch-head h3{margin:.35rem 0 0;font-size:1.45rem;letter-spacing:-.03em}.quick-launch-meta{font-size:.78rem;font-weight:850;color:var(--muted)}
.quick-launch-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.launch-tile{position:relative;overflow:hidden;text-align:left;border-radius:22px;padding:.95rem .9rem;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 78%,var(--primary) 6%),color-mix(in srgb,var(--card) 94%,var(--accent) 5%));border:1px solid color-mix(in srgb,var(--primary) 12%, var(--line));box-shadow:var(--soft);transition:transform .16s ease, box-shadow .16s ease}.launch-tile::after{content:'';position:absolute;right:-12px;top:-12px;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb,var(--accent) 22%, transparent), transparent 70%);pointer-events:none}.launch-tile:hover,.launch-tile:focus-visible{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.11)}.tile-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:1.15rem;box-shadow:var(--soft);margin-bottom:.65rem}.launch-tile strong{display:block;font-size:1rem}.launch-tile small{display:block;margin-top:.18rem;color:var(--muted);line-height:1.38}
.card{border-radius:28px}
.card h2{font-size:1.8rem}.card h3{font-size:1.28rem}
.filter-chip.active,.day-chip.active,.btn.primary,.tool-btn.active,.tool-btn.done{box-shadow:0 14px 30px rgba(0,0,0,.12)}
.day-card{padding:.7rem;border-radius:26px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 94%,var(--primary) 3%),var(--card))}
.day-card h3{font-size:1.06rem}
.hero{border-radius:36px;min-height:590px}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 18% 20%, rgba(255,255,255,.14), transparent 30%), radial-gradient(circle at 84% 18%, rgba(255,255,255,.08), transparent 22%);z-index:-1;pointer-events:none}
.hero-content{padding:1.1rem}.hero h2{font-size:2.35rem}.hero .badge{background:rgba(255,255,255,.2)}
.quick-panel .btn{background:rgba(255,255,255,.18);backdrop-filter:blur(14px);font-weight:850}
.day-flow-card{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 7%,var(--card)),color-mix(in srgb,var(--accent) 8%,var(--card)) 72%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 12%, var(--line));border-radius:24px;padding:.95rem;box-shadow:var(--soft);margin:.85rem 0}.day-flow-head{display:flex;align-items:end;justify-content:space-between;gap:.7rem;margin-bottom:.65rem}.day-flow-head small{color:var(--muted);font-weight:800}.day-flow-chips{display:flex;gap:.5rem;overflow:auto;padding:.1rem 0 .1rem;scrollbar-width:none}.day-flow-chips::-webkit-scrollbar{display:none}.flow-chip{flex:0 0 auto;border-radius:999px;padding:.72rem .9rem;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 7%,var(--card)),var(--card));border:1px solid color-mix(in srgb,var(--primary) 10%, var(--line));font-weight:850;color:var(--text);box-shadow:var(--soft)}.flow-chip.flow-heart{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 16%, #fff), color-mix(in srgb,var(--primary2) 18%, #fff));color:var(--primary)}
.section-body{padding:1.05rem}
.challenge-item{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 5%,var(--card)),var(--card))}
.bottom-nav{background:color-mix(in srgb,var(--bg2) 84%,transparent);border-top:1px solid color-mix(in srgb,var(--primary) 10%, var(--line));box-shadow:0 -10px 30px rgba(0,0,0,.06)}
.nav-item.active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 16%,var(--card)),color-mix(in srgb,var(--accent) 14%,var(--card)));color:var(--primary)}

@media (min-width:760px){
  .quick-launch-grid{grid-template-columns:repeat(4,1fr)}
}



/* Ajustes V9 · portada más fuerte, tipografía y navegación pro */
:root{
  --font-ui:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;
  --font-display:"Fraunces","Plus Jakarta Sans",Georgia,serif;
}
body{font-family:var(--font-ui)}
.topbar h1,.card h2,.card h3,.hero h2,.emotion-overlay h3,.quick-launch-head h3,.emotion-home-copy h3{font-family:var(--font-display)}
.eyebrow,.badge,.pill,.filter-chip,.day-chip,.tool-btn,.btn,.emotion-kicker,.quick-launch-meta,.day-card .date{font-family:var(--font-ui)}
.topbar h1{font-size:1.14rem;line-height:1.05}
.eyebrow{font-size:.66rem}
main{padding:.85rem .9rem 1.4rem}
.cover{min-height:710px;background:#0f0f1e}
.cover img{filter:saturate(1.06) contrast(1.05) brightness(1.02)}
.cover::before{background:radial-gradient(circle at 14% 14%, rgba(255,255,255,.26), transparent 28%), radial-gradient(circle at 88% 18%, rgba(255,255,255,.13), transparent 24%), radial-gradient(circle at 60% 100%, rgba(240,79,138,.18), transparent 34%)}
.badge{font-size:.7rem;letter-spacing:.07em}
.cover h2{font-size:3.15rem;line-height:.9;max-width:9rem;text-shadow:0 10px 24px rgba(0,0,0,.22)}
.lead{max-width:29rem;font-size:1rem;color:rgba(255,255,255,.9)}
.cover-actions{margin-top:1.1rem}
.cover-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:1rem}
.cover-stat{padding:.78rem .72rem;border-radius:20px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);box-shadow:0 14px 28px rgba(0,0,0,.12);text-align:center}
.cover-stat strong{display:block;color:#fff;font-size:1.05rem;line-height:1.1}.cover-stat small{display:block;margin-top:.16rem;color:rgba(255,255,255,.84);font-size:.72rem;font-weight:800;letter-spacing:.02em}
.quick-launch-card{border-radius:30px;padding:1.05rem}
.quick-launch-head h3{font-size:1.6rem}
.launch-tile{border-radius:24px;padding:1rem .92rem}.launch-tile strong{font-size:1rem}.launch-tile small{font-size:.79rem}.tile-ico{width:48px;height:48px;border-radius:17px}
.card p{font-size:.98rem}
.mode-card strong{font-size:1.05rem}.mode-card small{font-size:.82rem}
.filter-chip,.day-chip{padding:.66rem .92rem;font-size:.8rem;box-shadow:var(--soft)}
.filter-chip{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 92%,var(--primary) 3%),var(--card))}
.filter-chip.active,.day-chip.active{transform:translateY(-1px)}
.day-card{grid-template-columns:76px 1fr auto;padding:.78rem;gap:.82rem}.day-card img{width:76px;height:92px;border-radius:20px}.day-card h3{font-size:1.08rem}.day-card .pill{margin-top:.15rem}
.hero h2{font-size:2.5rem;line-height:.95}
.quick-panel{grid-template-columns:repeat(4,1fr)}
.quick-panel .btn{padding:.8rem .6rem;border-radius:20px;font-size:.78rem}
.day-flow-card{border-radius:26px}.day-flow-head small{font-size:.78rem}.flow-chip{padding:.78rem .95rem;font-size:.83rem;transition:transform .14s ease, box-shadow .14s ease}.flow-chip:hover,.flow-chip:focus-visible{transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,0,0,.08)}
.verse blockquote{font-size:1.06rem}
.bottom-nav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);width:min(510px, calc(100% - 18px));padding:.45rem .4rem calc(.45rem + env(safe-area-inset-bottom,0px));border-radius:28px 28px 20px 20px;background:color-mix(in srgb,var(--bg2) 88%, rgba(255,255,255,.12));backdrop-filter:blur(18px);border:1px solid color-mix(in srgb,var(--primary) 10%,var(--line));box-shadow:0 -10px 28px rgba(0,0,0,.10)}
.nav-item{border-radius:18px;padding:.55rem .22rem .5rem;transition:transform .14s ease, background .14s ease, box-shadow .14s ease}.nav-item span{font-size:1.1rem}.nav-item small{font-size:.66rem;font-weight:850;letter-spacing:.01em}.nav-item.active{box-shadow:0 12px 24px rgba(0,0,0,.10)}.nav-item:hover,.nav-item:focus-visible{transform:translateY(-1px)}
.install-card{border-radius:30px;box-shadow:0 26px 54px rgba(0,0,0,.18)}
.toast{border-radius:999px;padding:.85rem 1rem;font-weight:850;box-shadow:0 16px 34px rgba(0,0,0,.16)}

@media (max-width:759px){
  .cover{min-height:680px}
  .cover h2{font-size:2.82rem}
  .cover-stats{grid-template-columns:repeat(3,1fr)}
  .quick-panel{grid-template-columns:1fr 1fr}
  .bottom-nav{bottom:8px;width:calc(100% - 14px)}
}



/* Ajustes V10 · portada premium, microanimaciones y pulido final */
@keyframes floatSoft{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 14px 28px rgba(0,0,0,.12),0 0 0 0 rgba(255,255,255,.06)}50%{box-shadow:0 18px 36px rgba(0,0,0,.16),0 0 0 8px rgba(255,255,255,0)}}
@keyframes shimmer{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes riseIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes bounceHint{0%,100%{transform:translateY(0);opacity:.85}50%{transform:translateY(5px);opacity:1}}

main > section, main > .card, main > .hero, main > .cover, main > .quick-launch-card{animation:riseIn .45s ease both}
main > section:nth-child(2), main > .card:nth-child(2){animation-delay:.04s}
main > section:nth-child(3), main > .card:nth-child(3){animation-delay:.08s}
main > section:nth-child(4), main > .card:nth-child(4){animation-delay:.12s}

.cover{overflow:hidden}
.cover::after{background:linear-gradient(180deg,rgba(10,10,24,.03),rgba(10,10,24,.16) 24%,rgba(10,10,24,.84))}
.cover::before{animation:floatSoft 9s ease-in-out infinite}
.cover-content{position:relative}
.cover-content::after{content:'';position:absolute;right:-26px;bottom:92px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle, rgba(39,211,178,.24), transparent 68%);filter:blur(10px);pointer-events:none;animation:floatSoft 8s ease-in-out infinite reverse}
.cover-actions .btn{position:relative;overflow:hidden}
.cover-actions .btn::before,.launch-tile::before,.mode-card::before,.tool-btn::before{content:'';position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.20),transparent);transform:translateX(-120%);pointer-events:none}
.cover-actions .btn:hover::before,.launch-tile:hover::before,.mode-card:hover::before,.tool-btn:hover::before{animation:shimmer .8s ease}
.cover-stat{animation:floatSoft 7s ease-in-out infinite, pulseGlow 9s ease-in-out infinite}
.cover-stat:nth-child(2){animation-delay:.8s,1.2s}.cover-stat:nth-child(3){animation-delay:1.4s,2s}
.cover-scrollhint{display:flex;flex-direction:column;align-items:center;gap:.2rem;margin-top:.85rem;color:rgba(255,255,255,.86)}
.cover-scrollhint span{width:18px;height:28px;border:2px solid rgba(255,255,255,.72);border-radius:999px;position:relative;display:block}
.cover-scrollhint span::after{content:'';position:absolute;left:50%;top:5px;transform:translateX(-50%);width:4px;height:6px;border-radius:999px;background:rgba(255,255,255,.82);animation:bounceHint 1.4s ease-in-out infinite}
.cover-scrollhint small{font-size:.72rem;font-weight:850;letter-spacing:.03em}

.quick-launch-card,.final-polish-card{backdrop-filter:blur(14px)}
.launch-tile,.mode-card,.day-card,.tool-btn,.flow-chip,.emotion-panel,.section,.card{transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}
.launch-tile:nth-child(1){animation:floatSoft 8s ease-in-out infinite}.launch-tile:nth-child(2){animation:floatSoft 8.8s ease-in-out infinite .4s}.launch-tile:nth-child(3){animation:floatSoft 9.2s ease-in-out infinite .8s}.launch-tile:nth-child(4){animation:floatSoft 9.6s ease-in-out infinite 1.2s}
.filter-chip,.day-chip,.flow-chip{position:relative}
.filter-chip.active::after,.day-chip.active::after,.flow-chip.flow-heart::after{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.35),transparent 45%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.emoji,.tile-ico,.ico{animation:floatSoft 8s ease-in-out infinite}
.section[open]{border-color:color-mix(in srgb,var(--primary) 16%, var(--line));box-shadow:0 18px 34px rgba(0,0,0,.08)}
.day-flow-card,.emotion-card,.verse{position:relative;overflow:hidden}
.day-flow-card::before,.emotion-card::before,.verse::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.10),transparent 35%);pointer-events:none}
.bottom-nav{overflow:hidden}
.bottom-nav::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent)}
.nav-item.active span{animation:floatSoft 3.5s ease-in-out infinite}

.final-polish-card{margin-top:.9rem;background:linear-gradient(145deg,color-mix(in srgb,var(--primary2) 9%,var(--card)),color-mix(in srgb,var(--accent) 10%,var(--card)) 70%,var(--card));border:1px solid color-mix(in srgb,var(--primary2) 14%, var(--line));border-radius:28px;padding:1rem;box-shadow:var(--shadow);position:relative;overflow:hidden}
.final-polish-card::after{content:'';position:absolute;right:-24px;top:-26px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb,var(--accent) 20%, transparent), transparent 68%);pointer-events:none}
.final-polish-copy{position:relative;z-index:1}.final-polish-copy h3{margin:.45rem 0 .45rem;font-size:1.45rem;letter-spacing:-.03em}.final-polish-copy p{max-width:36rem}
.final-polish-badges{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem;position:relative;z-index:1}.final-polish-badges span{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .8rem;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 80%,var(--primary) 5%),color-mix(in srgb,var(--card) 92%,var(--accent) 6%));border:1px solid color-mix(in srgb,var(--primary) 10%, var(--line));font-weight:850;color:var(--text);box-shadow:var(--soft)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}



/* Ajustes V12 · modos visibles en cada día y ruta depurada */
#evangelio,#eco,#mensaje,#emocional,#desafio,#oracion,#educadores,#nota{scroll-margin-top:92px}
.quick-panel.mode-panel{grid-template-columns:repeat(4,1fr)}
.quick-panel.mode-panel .btn{min-height:48px;white-space:nowrap}
.quick-panel .mode-hero{position:relative;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff}
.quick-panel .mode-hero.active{background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.76));color:#4c2678;border-color:rgba(255,255,255,.72);box-shadow:0 16px 30px rgba(0,0,0,.18)}
.quick-panel .mode-hero.active::after{content:'✓';position:absolute;right:.48rem;top:.38rem;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:.62rem;font-weight:950}
.day-emotion-chip{margin-top:.45rem}
.day-card .pill{display:none}
.day-flow-chips{padding-bottom:.18rem}
.flow-chip{scroll-snap-align:start}
.flow-chip.flow-heart{font-weight:950}
@media (max-width:759px){
  .quick-panel.mode-panel{grid-template-columns:1fr 1fr}
  .quick-panel.mode-panel .btn{font-size:.82rem;padding:.82rem .65rem}
}

/* Ajustes V16 · contraste correcto en modo oscuro para Escuchar el corazón */
[data-theme="dark"] .emotion-card{
  background:#241a36;
  border-color:rgba(255,255,255,.16);
}
[data-theme="dark"] .emotion-body{
  background:linear-gradient(180deg, color-mix(in srgb,var(--emo-color) 13%, #241a36), #241a36 48%);
}
[data-theme="dark"] .emotion-panel{
  background:linear-gradient(180deg, color-mix(in srgb,var(--emo-color) 12%, #2c2041), #2a1f3e 78%);
  border-color:color-mix(in srgb,var(--emo-color) 36%, rgba(255,255,255,.12));
  box-shadow:0 16px 34px rgba(0,0,0,.28);
  color:var(--text);
}
[data-theme="dark"] .emo-copy p,
[data-theme="dark"] .emotion-panel p,
[data-theme="dark"] .emo-hint{
  color:#f6efff !important;
}
[data-theme="dark"] .emo-quote{
  background:color-mix(in srgb,var(--emo-color) 16%, #2a1f3e);
  color:#fff !important;
  border-left-color:var(--emo-color2);
}
[data-theme="dark"] .feel-chip{
  background:color-mix(in srgb,var(--emo-color) 14%, #2a1f3e);
  border-color:color-mix(in srgb,var(--emo-color) 32%, rgba(255,255,255,.16));
  color:#fff;
}
[data-theme="dark"] .feel-chip.active{
  background:linear-gradient(135deg,var(--emo-color),var(--emo-color2));
  color:#fff;
}
[data-theme="dark"] .emo-step{
  background:linear-gradient(180deg,color-mix(in srgb,var(--emo-color) 11%,#2a1f3e),#211832);
  color:#f5ecff;
  border-color:color-mix(in srgb,var(--emo-color) 26%,rgba(255,255,255,.13));
}
[data-theme="dark"] .emo-step b,
[data-theme="dark"] .emo-step span{
  color:#f5ecff;
}
[data-theme="dark"] .emo-step.active b,
[data-theme="dark"] .emo-step.active span{
  color:#fff;
}
[data-theme="dark"] .emotion-saved{
  background:color-mix(in srgb,var(--emo-color) 18%,#2a1f3e);
  color:#fff;
}
[data-theme="dark"] .breath-labels{
  color:#f6efff;
}


/* V17 · Buenos Días limpio: la educación emocional pasa a app vinculada */
.emotion-link-card{background:#12203f url("../img/escuchar-corazon-bg.png") center/cover no-repeat;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));border-radius:28px;padding:1rem;box-shadow:var(--soft);position:relative;overflow:hidden;margin-top:.85rem;min-height:270px;display:flex;align-items:flex-end}
.emotion-link-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,16,40,.16), rgba(10,16,40,.32) 42%, rgba(8,12,28,.82));pointer-events:none}
.emotion-link-card::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(255,255,255,.08), transparent 38%);pointer-events:none}
.emotion-link-copy{position:relative;z-index:1;color:#fff;max-width:38rem}
.emotion-link-copy h3{font-family:var(--font-display);font-size:1.55rem;line-height:1.06;margin:.45rem 0 .45rem;letter-spacing:-.03em;color:#fff;text-shadow:0 8px 20px rgba(0,0,0,.28)}
.emotion-link-copy p{max-width:36rem;color:rgba(255,255,255,.92);text-shadow:0 2px 10px rgba(0,0,0,.22)}
.emotion-link-copy .btn{margin-top:.45rem;border-radius:18px;box-shadow:0 12px 24px rgba(0,0,0,.18)}
.day-emotion-link{margin:.85rem 0}
.emotion-link-card .pill{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px)}

[data-theme="dark"] .emotion-link-card{border-color:rgba(255,255,255,.16);box-shadow:0 18px 34px rgba(0,0,0,.28)}
@media (max-width:759px){
  .emotion-link-card{min-height:245px;padding:.95rem}
  .emotion-link-copy h3{font-size:1.42rem}
  .emotion-link-copy p{font-size:.95rem;line-height:1.62}
}

[data-theme="dark"] .day-flow-chips .flow-heart{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 28%,var(--card)),color-mix(in srgb,var(--primary2) 22%,var(--card)));color:#fff}



/* V18 · reparación real de modos Rápido / Aula / Personal */
.quick-mode-card{
  margin:.85rem 0;
  border-radius:28px;
  padding:1rem;
  background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 10%,var(--card)),color-mix(in srgb,var(--accent) 10%,var(--card)) 70%,var(--card));
  border:1px solid color-mix(in srgb,var(--primary) 16%, var(--line));
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.quick-mode-card::after{content:'';position:absolute;right:-30px;bottom:-38px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%,transparent),transparent 70%);pointer-events:none}
.quick-mode-card h3{font-family:var(--font-display);font-size:1.45rem;margin:.45rem 0 .75rem;letter-spacing:-.03em;position:relative;z-index:1}
.quick-mode-grid{display:grid;gap:.65rem;position:relative;z-index:1}
.quick-mode-grid div{border-radius:20px;background:color-mix(in srgb,var(--card) 88%,var(--primary) 5%);border:1px solid color-mix(in srgb,var(--primary) 12%,var(--line));padding:.85rem;box-shadow:var(--soft)}
.quick-mode-grid strong{display:block;margin-bottom:.35rem}.quick-mode-grid p{margin:0;color:var(--muted);line-height:1.55}.quick-mode-grid small{color:var(--muted);font-weight:800}
.mode-panel .mode-hero.active{background:linear-gradient(135deg,var(--primary),var(--primary2))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 16px 30px rgba(0,0,0,.18)}
.mode-panel .mode-hero{transition:transform .16s ease, box-shadow .16s ease}.mode-panel .mode-hero:active{transform:scale(.97)}
[data-theme="dark"] .quick-mode-card{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 16%,var(--card)),color-mix(in srgb,var(--accent) 10%,var(--card)) 70%,var(--card));}
[data-theme="dark"] .quick-mode-grid div{background:color-mix(in srgb,var(--card) 88%,var(--primary) 9%);}
@media (min-width:760px){.quick-mode-grid{grid-template-columns:repeat(3,1fr)}}


/* V21 · título clickeable de Escuchar el corazón */
.emotion-link-click{display:block;width:100%;text-align:left;background:transparent;border:0;color:inherit;padding:0;cursor:pointer}
.emotion-link-click h3{font-family:var(--font-display);font-size:1.52rem;line-height:1.08;margin:.45rem 0 0;letter-spacing:-.03em;color:#fff;text-shadow:0 8px 20px rgba(0,0,0,.28);text-transform:uppercase}
.emotion-link-click h3 small{display:block;font-family:var(--font-ui);font-size:.86rem;line-height:1.35;letter-spacing:.03em;margin-top:.28rem;font-weight:900;color:rgba(255,255,255,.92)}
.emotion-link-click:focus-visible{outline:3px solid rgba(255,255,255,.72);outline-offset:5px;border-radius:20px}
.emotion-link-click:hover h3 small{text-decoration:underline;text-underline-offset:4px}
@media (max-width:759px){
  .emotion-link-click h3{font-size:1.3rem}
  .emotion-link-click h3 small{font-size:.78rem;line-height:1.32}
}


/* V22 · Botón intuitivo Escuchar el corazón */
.emotion-link-content{position:relative;z-index:1;color:#fff;max-width:38rem}
.emotion-link-content p{max-width:36rem;color:rgba(255,255,255,.94);text-shadow:0 2px 10px rgba(0,0,0,.24);font-weight:650;line-height:1.68;margin:.72rem 0 .85rem}
.emotion-cta{display:inline-flex;text-decoration:none;cursor:pointer;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;padding:.9rem 1.12rem;background:linear-gradient(135deg,#27D3B2,#5DE0FF);color:#06152d;font-weight:950;letter-spacing:.04em;box-shadow:0 16px 34px rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.38);text-transform:uppercase;transition:transform .16s ease, box-shadow .16s ease, filter .16s ease}
.emotion-cta:hover,.emotion-cta:focus-visible{transform:translateY(-2px);box-shadow:0 20px 40px rgba(0,0,0,.28);filter:saturate(1.08)}
.emotion-cta:active{transform:scale(.98)}
.emotion-link-click{display:none!important}
@media (max-width:759px){
  .emotion-link-content p{font-size:.95rem;line-height:1.62}
  .emotion-cta{width:100%;padding:.88rem .95rem;font-size:.92rem}
}


/* V30 · Canción del día */
.song-card{display:flex;gap:.9rem;align-items:flex-start;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,var(--card)),color-mix(in srgb,var(--primary) 6%,var(--card)));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:22px;padding:1rem;box-shadow:var(--soft)}
.song-ico{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:1.35rem;box-shadow:0 12px 24px rgba(0,0,0,.12)}
.song-copy h4{margin:.25rem 0 .4rem;font-size:1.12rem;line-height:1.18;color:var(--text)}
.song-copy p{margin:.35rem 0 .75rem!important;color:var(--muted);line-height:1.62}
.song-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:999px;padding:.72rem .95rem;background:linear-gradient(135deg,#1DB954,#16883e);color:#fff;text-decoration:none;font-weight:900;box-shadow:0 12px 24px rgba(29,185,84,.20)}
.song-btn::before{content:'▶'}
[data-theme="dark"] .song-card{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,var(--card)),color-mix(in srgb,var(--primary) 14%,var(--card)));border-color:rgba(255,255,255,.14)}
@media (max-width:520px){.song-card{flex-direction:column}.song-ico{width:46px;height:46px}}


/* APP Don Bosco 2026 · ajustes sobre el modelo de junio */
:root{--db-gold:#d47a2c;--db-blue:#1c4f73;--db-cream:#fff8ef;}
body{background:radial-gradient(circle at top left, rgba(212,122,44,.16), transparent 34rem), var(--bg, #fff7ed);} 
.topbar h1{letter-spacing:-.02em;}
.cover.db-cover{min-height:calc(100vh - 130px); background:linear-gradient(135deg,#7b3718 0%,#d47a2c 42%,#f7c873 100%); overflow:hidden;}
.cover.db-cover::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.28),transparent 18rem),radial-gradient(circle at 90% 90%,rgba(28,79,115,.28),transparent 20rem);pointer-events:none;}
.cover.db-cover img{position:absolute;right:-7rem;bottom:-4rem;width:min(68vw,520px);height:auto;object-fit:contain;opacity:.23;filter:saturate(.9) contrast(.96);}
.cover.db-cover .cover-content{z-index:2;max-width:740px;}
.month-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.85rem;}
.month-card{border:0;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,246,233,.88));box-shadow:0 18px 40px rgba(54,35,20,.12);padding:1rem;text-align:left;display:flex;gap:.8rem;align-items:flex-start;cursor:pointer;color:inherit;}
.month-card:hover{transform:translateY(-2px);}
.month-card .month-icon{font-size:2rem;line-height:1;}
.month-card strong{display:block;font-size:1.08rem;margin-bottom:.25rem;}
.month-card small{display:block;color:var(--muted,#7a6a60);line-height:1.35;}
.month-card.active{outline:3px solid rgba(212,122,44,.28);}
.hero.db-day{display:block;padding:0;background:transparent;box-shadow:none;border-radius:0;margin:0 0 .9rem;}
.hero.db-day img{position:static;display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:26px;box-shadow:0 22px 55px rgba(54,35,20,.18);background:#fff;}
.hero.db-day .hero-content{position:static;margin:.8rem 0 0;padding:1rem;border-radius:24px;background:var(--card,#fff);box-shadow:0 16px 36px rgba(54,35,20,.10);color:var(--text,#301d13);}
.hero.db-day .hero-content h2{color:inherit;text-shadow:none;}
.hero.db-day .date{color:var(--muted,#7a6a60);}
.day-card img{object-fit:cover;background:#fff;}
.donbosco-card{display:grid;gap:.9rem;}
.donbosco-img{width:100%;max-height:420px;object-fit:contain;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(54,35,20,.10);}
.donbosco-text h4{margin:.2rem 0 .55rem;font-size:1.25rem;}
.bridge-box{margin-top:.85rem;border-left:4px solid var(--db-gold);padding:.75rem .85rem;background:rgba(212,122,44,.08);border-radius:14px;}
.bridge-box strong{display:block;margin-bottom:.25rem;}
.month-filter-bar{display:flex;gap:.55rem;flex-wrap:wrap;margin:.75rem 0;}
.filter-chip[data-month].active{background:var(--db-gold);color:#fff;border-color:transparent;}
.day-meta-line{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;margin:.45rem 0 .75rem;}
.flow-chip.flow-star{background:linear-gradient(135deg,#d47a2c,#f0a33b);color:white;}
.emotion-day-card{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,244,229,.95));}
.emotion-step-grid{display:grid;gap:.75rem;margin-top:.8rem;}
.emotion-step{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.9rem;border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 8px 22px rgba(54,35,20,.08);}
.emotion-step .num{width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;background:var(--db-gold);color:#fff;font-weight:900;}
.emotion-step h3{margin:0 0 .2rem;font-size:1rem;}
.emotion-hero{background:linear-gradient(135deg,#833f22,#d47a2c 50%,#f6bd5a);color:#fff;border-radius:28px;padding:1.35rem;box-shadow:0 22px 55px rgba(83,45,22,.22);overflow:hidden;position:relative;}
.emotion-hero::after{content:"💓";position:absolute;right:.6rem;bottom:-1.6rem;font-size:7rem;opacity:.17;}
.emotion-hero h2{font-family:Fraunces,serif;font-size:clamp(2rem,12vw,4.1rem);line-height:.95;margin:.25rem 0;}
.emotion-day-list{display:grid;gap:.65rem;}
.emotion-day-link{border:0;background:var(--card,#fff);border-radius:18px;padding:.85rem;text-align:left;box-shadow:0 10px 24px rgba(54,35,20,.09);cursor:pointer;color:inherit;display:flex;justify-content:space-between;gap:.75rem;}
.emotion-day-link small{color:var(--muted,#7a6a60);display:block;margin-top:.15rem;}
.backlink-row{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem;}
.notice-soft{padding:.85rem 1rem;border-radius:18px;background:rgba(28,79,115,.08);border:1px solid rgba(28,79,115,.10);}
@media(max-width:640px){.month-grid{grid-template-columns:1fr}.cover.db-cover img{width:90vw;right:-9rem;opacity:.18}.hero.db-day img{border-radius:20px}.donbosco-img{max-height:300px}.bottom-nav small{font-size:.66rem}}


/* Ajustes solicitados · portada, contraste y educación emocional */
.cover.db-cover img{right:-1.5rem;bottom:-1rem;width:min(70vw,460px);max-height:88%;object-fit:cover;object-position:center top;opacity:.30;filter:grayscale(.08) contrast(1.04) saturate(.92)}
@media(max-width:640px){.cover.db-cover img{width:88vw;right:-6rem;bottom:-1rem;opacity:.22}}
.quick-panel.mode-panel .btn{background:linear-gradient(180deg,#fff,#f7eee8);color:#5b2c12;border:1px solid rgba(139,26,26,.14);box-shadow:0 8px 18px rgba(54,35,20,.10)}
.quick-panel.mode-panel .btn:hover,.quick-panel.mode-panel .btn:focus-visible{transform:translateY(-1px)}
.quick-panel.mode-panel .btn[data-action="share"]{background:linear-gradient(180deg,#fff8ef,#ffe8d0);color:#7b3718;font-weight:900}
[data-theme="dark"] .quick-panel.mode-panel .btn{background:linear-gradient(180deg,#342533,#251a25);color:#fff;border-color:rgba(255,255,255,.12)}
.emotion-link-content h3{font-family:Fraunces,serif;font-size:1.8rem;line-height:1.02;margin:.45rem 0 .3rem;letter-spacing:-.03em;color:#fff;text-shadow:0 8px 20px rgba(0,0,0,.28)}
.emotion-cta-soft{padding:.72rem 1rem;font-size:.94rem;letter-spacing:.01em;text-transform:none;background:linear-gradient(135deg,#dffaf2,#bff3ff);box-shadow:0 12px 24px rgba(0,0,0,.20)}
@media(max-width:759px){.emotion-link-content h3{font-size:1.5rem}.emotion-cta-soft{width:auto;max-width:100%}}
.emotion-day-link{align-items:center}
.emotion-day-link img{width:64px;height:64px;object-fit:cover;border-radius:16px;flex:0 0 auto;background:#fff;box-shadow:0 8px 18px rgba(54,35,20,.10)}
.emotion-day-link strong{display:block}
.emotion-arrow{font-weight:900;color:var(--primary);align-self:center}
.emotion-day-hero .hero-content{padding:1rem 1rem 1.05rem}
.emotion-day-intro{margin:.35rem 0 0;color:var(--muted);line-height:1.6}
.emotion-checkin-card h2{margin:.4rem 0 .4rem}
.mood-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-top:.85rem}
.mood-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:.85rem .45rem;border-radius:20px;background:linear-gradient(180deg,#fff,#fff8ef);border:1px solid rgba(139,26,26,.12);box-shadow:0 10px 22px rgba(54,35,20,.08);min-height:88px;font-weight:850;color:var(--text);text-align:center}
.mood-chip .mood-icon{font-size:1.6rem;line-height:1}
.mood-chip .mood-label{font-size:.84rem;line-height:1.15}
.mood-chip.active{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-color:transparent;box-shadow:0 14px 28px rgba(80,24,24,.20)}
.mood-current{margin-top:.8rem;padding:.8rem 1rem;border-radius:18px;background:rgba(212,122,44,.10);border:1px solid rgba(212,122,44,.14);font-weight:700;color:var(--text)}
.emotion-detail-list{display:grid;gap:.75rem;margin-top:.85rem}
.emotion-detail{border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--card) 92%,var(--accent) 3%);overflow:hidden;box-shadow:var(--soft)}
.emotion-detail summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:1rem 1rem;cursor:pointer;font-weight:900}
.emotion-detail summary::-webkit-details-marker{display:none}
.emotion-detail-title{display:flex;align-items:center;gap:.8rem;line-height:1.2}
.emotion-detail-icon{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:.95rem;flex:0 0 auto}
.emotion-detail-open{font-size:.8rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.emotion-detail[open] .emotion-detail-open{color:var(--primary)}
.emotion-detail[open] .emotion-detail-open::before{content:'✓ ';}
.emotion-detail-body{padding:0 1rem 1rem}
.emotion-detail-body p{margin:.2rem 0;color:var(--muted);line-height:1.7}
.emotion-detail-note .saved-note{margin-top:.5rem}
[data-theme="dark"] .mood-chip{background:linear-gradient(180deg,#2f2230,#231822);color:#fff;border-color:rgba(255,255,255,.12)}
[data-theme="dark"] .mood-current{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10);color:#fff}
[data-theme="dark"] .emotion-detail{background:linear-gradient(180deg,#2a1d29,#241922);border-color:rgba(255,255,255,.12)}
[data-theme="dark"] .emotion-detail-body p,[data-theme="dark"] .emotion-day-intro{color:#e9d6d1}
@media(max-width:640px){.mood-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.emotion-day-link img{width:58px;height:58px}.emotion-detail summary{padding:.92rem .95rem}}


/* Ajuste visual más salesiano y juvenil */
:root{
  --primary:#7a1733;
  --primary2:#c63d68;
  --accent:#f4b73f;
  --db-blue:#1f5f86;
  --db-sky:#43b8d8;
  --db-pink:#f04f8a;
  --db-mint:#27d3b2;
}
body{
  background:
    radial-gradient(circle at top left, rgba(240,79,138,.14), transparent 24rem),
    radial-gradient(circle at top right, rgba(39,211,178,.14), transparent 24rem),
    radial-gradient(circle at bottom left, rgba(67,184,216,.12), transparent 22rem),
    linear-gradient(180deg,var(--bg),var(--bg2));
}
.topbar{
  background:color-mix(in srgb,var(--bg2) 84%, rgba(255,255,255,.35));
  box-shadow:0 10px 24px rgba(44,20,28,.06);
}
.icon-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,245,242,.88));
  color:var(--primary);
}
.bottom-nav{
  backdrop-filter:blur(16px);
  background:color-mix(in srgb,var(--bg2) 88%, transparent);
  border-top:1px solid var(--line);
}
.nav-item.active{
  color:var(--primary);
}
.nav-item.active span{
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  color:#fff;
  box-shadow:0 10px 24px rgba(122,23,51,.18);
}
.nav-item span{
  width:38px;height:38px;display:grid;place-items:center;border-radius:14px;
}
.cover.db-cover{
  background:linear-gradient(135deg,#7a1733 0%, #b12954 28%, #d47a2c 64%, #f6c35a 100%);
  border:1px solid rgba(255,255,255,.18);
}
.cover.db-cover::after{
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(12,8,18,.10) 30%,rgba(12,8,18,.45));
}
.cover.db-cover .badge,
.hero .badge,
.hero .pill,
.pill{
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.cover-stats .cover-stat,
.month-card,
.quick-launch-card,
.card,
.day-card,
.section,
.tool-btn{
  border-color:color-mix(in srgb,var(--primary) 12%,var(--line));
}
.youthful-card,
.month-card,
.day-card,
.card,
.section{
  position:relative;
  overflow:hidden;
}
.youthful-card::after,
.month-card::after,
.day-card::after,
.card:not(.flat):not(.emotion-link-card)::after{
  content:'';position:absolute;right:-18px;top:-18px;width:86px;height:86px;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb,var(--accent) 22%, transparent), transparent 68%);
  pointer-events:none;
}
.month-card{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,247,238,.92));}
.day-card:hover,.day-card:focus-visible,.month-card:hover,.month-card:focus-visible,.tool-btn:hover,.tool-btn:focus-visible{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.10)}
.hero.db-day .hero-content{
  background:linear-gradient(180deg,color-mix(in srgb,var(--card) 96%, var(--accent) 2%), color-mix(in srgb,var(--card) 92%, var(--primary) 4%));
  border:1px solid color-mix(in srgb,var(--primary) 10%, var(--line));
}
.quick-panel.mode-panel .btn.active,
.mode-panel .mode-hero.active{
  background:linear-gradient(135deg,var(--db-blue),var(--db-mint))!important;
}
.flow-chip{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,245,242,.88));
  border:1px solid color-mix(in srgb,var(--primary) 12%,var(--line));
}
.flow-chip.flow-star{background:linear-gradient(135deg,var(--accent),#ffcf6a)}
.flow-chip.flow-heart{background:linear-gradient(135deg,var(--db-pink),var(--primary2));color:#fff}
.section summary{
  background:linear-gradient(180deg,color-mix(in srgb,var(--card) 95%, var(--accent) 3%), color-mix(in srgb,var(--card) 88%, var(--primary) 3%));
}
.section[open] summary{
  border-bottom:1px solid color-mix(in srgb,var(--primary) 8%,var(--line));
}
.emotion-link-card{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.14), transparent 24%),
    linear-gradient(135deg,#183c66,#256b93 46%, #27d3b2 100%) !important;
}
.emotion-link-content h3{letter-spacing:-.04em}
.salesian-hero{
  background:linear-gradient(135deg,#7a1733,#c63d68 38%, #d47a2c 70%, #f6bd5a);
}
.emotion-checkin-card,.emotion-day-card{
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,249,243,.94));
}
.mood-chip{
  background:linear-gradient(180deg,#fff,#fff4ea);
}
.mood-chip.active{background:linear-gradient(135deg,var(--db-blue),var(--db-mint));}
.emotion-detail{
  border:1px solid color-mix(in srgb,var(--primary) 14%,var(--line));
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,250,244,.92));
}
.emotion-detail-title{font-weight:900}
.emotion-detail-icon{
  background:linear-gradient(135deg,var(--primary),var(--accent));
  box-shadow:0 10px 24px rgba(122,23,51,.18);
}
.breathe-wrap-db{margin-top:.3rem;text-align:center}
.breathe-circle-db{
  width:128px;height:128px;border-radius:50%;
  margin:0 auto;
  background:radial-gradient(circle at 35% 35%, color-mix(in srgb,var(--db-mint) 60%, #fff), var(--db-blue));
  box-shadow:0 18px 40px rgba(31,95,134,.28);
  display:grid;place-items:center;
  transform:scale(.9);
  transition:transform 1.2s ease, box-shadow 1.2s ease;
}
.breathe-circle-db.grow{transform:scale(1.1);box-shadow:0 24px 48px rgba(39,211,178,.32)}
.breathe-circle-db.shrink{transform:scale(.86);box-shadow:0 14px 30px rgba(31,95,134,.18)}
.breathe-label{color:#fff;font-weight:900;font-size:1.02rem;line-height:1.1;text-align:center;padding:.5rem}
.breathe-label small{display:block;font-size:.76rem;opacity:.92;margin-top:.25rem}
.breathe-status{max-width:26rem;margin:.7rem auto .45rem;color:var(--muted);line-height:1.6}
.breathe-actions{justify-content:center}
[data-theme="dark"] .cover.db-cover{background:linear-gradient(135deg,#421323 0%, #6d1d35 30%, #8f5121 64%, #d19b3b 100%)}
[data-theme="dark"] .month-card,
[data-theme="dark"] .day-card,
[data-theme="dark"] .emotion-detail,
[data-theme="dark"] .emotion-checkin-card,
[data-theme="dark"] .emotion-day-card,
[data-theme="dark"] .hero.db-day .hero-content{
  background:linear-gradient(180deg,#2b1c26,#241720);
}
[data-theme="dark"] .flow-chip{background:linear-gradient(180deg,#32202b,#291a24);color:#fff}
[data-theme="dark"] .mood-chip{background:linear-gradient(180deg,#31232d,#281c25)}
@media(max-width:640px){
  .cover.db-cover .cover-content h2{font-size:2.35rem}
  .breathe-circle-db{width:116px;height:116px}
}


/* Reparación V4 · Escuchar el corazón como enlace real */
a.flow-chip,a.tool-btn,a.emotion-cta{ text-decoration:none; }
a.flow-chip{ display:inline-flex; align-items:center; justify-content:center; }
.tool-link{ display:inline-flex; align-items:center; justify-content:center; color:var(--primary); }
[data-theme="dark"] .tool-link{ color:#fff; }
.emotion-cta:visited,.flow-chip:visited,.tool-link:visited{ color:inherit; }
.emotion-cta{ color:#06152d!important; }

.tool-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.toolbar .tool-link{color:inherit}


/* Ajustes finos solicitados V6 */
.cover.db-cover{background:#111}
.cover.db-cover img{inset:0!important;right:auto!important;bottom:auto!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center top!important;opacity:.42!important;filter:grayscale(.02) contrast(1.04) saturate(.96)!important;z-index:0!important}
.cover.db-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(132,201,120,.10),rgba(120,196,108,.08) 22%,rgba(82,150,72,.24) 70%,rgba(64,120,58,.34));z-index:1}
.cover.db-cover::after{z-index:1!important;background:linear-gradient(135deg,rgba(214,255,214,.14),rgba(255,255,255,.04) 24%,transparent 42%)!important}
.cover.db-cover .cover-content,.cover.db-cover .cover-actions,.cover.db-cover .cover-stats{position:relative;z-index:2}
.cover.db-cover .cover-actions .btn{position:relative;z-index:2}
.cover.db-cover .badge{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24)}
.cover.db-cover .lead{max-width:32rem;color:rgba(255,255,255,.96)}
.mode-card strong{color:var(--text)}
.mode-card small{color:var(--muted)!important}
.mode-card.active{background:linear-gradient(135deg,var(--db-blue),var(--db-mint))!important;border-color:transparent!important}
.mode-card.active strong,.mode-card.active small,.mode-card.active span{color:#fff!important}
.mode-card.active .emoji{background:rgba(255,255,255,.16)!important;color:#fff!important}
.emotion-link-card{background:#163c14 url("../img/escuchar-corazon-portada.png") center/cover no-repeat!important;min-height:280px}
.emotion-link-card::before{background:linear-gradient(180deg,rgba(12,28,8,.14),rgba(8,22,12,.24) 38%,rgba(6,18,10,.80))!important}
.emotion-link-card .emotion-link-content h3{font-size:1.65rem;margin:.42rem 0 .4rem;color:#fff;text-shadow:0 8px 24px rgba(0,0,0,.28)}
.emotion-cta,.emotion-cta:link,.emotion-cta:visited,.btn[href*="escuchar-el-corazon"]{text-decoration:none!important}
.emotion-cta{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:640px){.cover.db-cover img{opacity:.36!important}.emotion-link-card{min-height:250px}}
