: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}}
