:root{
  --theme:#14b8a6;--theme-dark:#0d9488;--title:#0f172a;--content:#64748b;--bg:#ffffff;--radius:16px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f1f5f9;color:var(--title);line-height:1.55}
.wrap{max-width:560px;margin:0 auto;min-height:100vh;background:var(--bg);box-shadow:0 0 40px rgba(0,0,0,.06)}
.pad{padding:22px 20px 40px}
header.bar{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #eef2f7;padding:14px 18px;display:flex;align-items:center;gap:10px}
header.bar img{height:30px}
header.bar .back{border:none;background:transparent;font-size:22px;color:#334155;cursor:pointer;width:34px;height:34px;border-radius:50%}
header.bar .back:hover{background:#f1f5f9}
h1{font-size:1.8rem;font-weight:900;line-height:1.2;margin:.3em 0}
h2{font-size:1.25rem;font-weight:800;margin:1.1em 0 .4em}
h3{font-size:1.05rem;font-weight:700;margin:1em 0 .3em}
p{margin:.5em 0}
.muted{color:var(--content)}
.center{text-align:center}
.tag{display:inline-block;background:#ecfdf5;color:var(--theme-dark);font-weight:700;font-size:.8rem;padding:5px 12px;border-radius:999px}
.hero{text-align:center;padding:26px 20px 6px}
.hero .flame{font-size:0}
.btn{display:block;width:100%;border:none;border-radius:14px;background:var(--theme);color:#fff;font-family:inherit;font-weight:800;font-size:1.05rem;padding:16px;cursor:pointer;text-align:center;text-decoration:none;transition:.15s;box-shadow:0 8px 20px rgba(20,184,166,.28)}
.btn:hover{background:var(--theme-dark)}
.btn.pulse{animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 8px 20px rgba(20,184,166,.28),0 0 0 0 rgba(20,184,166,.5)}70%{box-shadow:0 8px 20px rgba(20,184,166,.28),0 0 0 16px rgba(20,184,166,0)}100%{box-shadow:0 8px 20px rgba(20,184,166,.28),0 0 0 0 rgba(20,184,166,0)}}
.card{background:#fff;border:1px solid #eef2f7;border-radius:var(--radius);padding:16px;margin:12px 0;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.list{list-style:none;padding:0;margin:14px 0}
.list li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #f1f5f9}
.list li:last-child{border-bottom:none}
.list li .ic{color:var(--theme);font-weight:900;flex:0 0 auto}
.price{border:2px solid var(--theme);background:#f0fdfa;border-radius:var(--radius);padding:18px;text-align:center;margin:16px 0}
.price .old{color:#94a3b8;text-decoration:line-through;font-weight:600}
.price .now{font-size:2.4rem;font-weight:900;color:var(--theme)}
.price .per{color:var(--content);font-weight:600}
.price .off{display:inline-block;background:#ef4444;color:#fff;font-weight:800;font-size:.8rem;padding:3px 10px;border-radius:999px;margin-bottom:6px}
/* app grid */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.mod{background:#fff;border:1px solid #eef2f7;border-radius:var(--radius);padding:16px 14px;cursor:pointer;text-align:left;font-family:inherit;transition:.15s;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.mod:hover{border-color:var(--theme);transform:translateY(-2px)}
.mod .emo{font-size:1.9rem;line-height:1}
.mod .t{font-weight:800;margin-top:8px;font-size:.98rem;color:var(--title)}
.mod .s{font-size:.8rem;color:var(--content);margin-top:3px}
.mod.full{grid-column:1 / -1;display:flex;align-items:center;gap:14px}
.mod.full .emo{font-size:2.2rem}
.mod.full .t{margin-top:0}
/* detail content */
.content ul{padding-left:20px}
.content li{margin:.35em 0}
.content .box{background:#f0fdfa;border-left:4px solid var(--theme);border-radius:8px;padding:12px 14px;margin:12px 0}
table.track{width:100%;border-collapse:collapse;margin:12px 0;font-size:.9rem}
table.track th,table.track td{border:1px solid #e2e8f0;padding:8px;text-align:center}
table.track th{background:#f8fafc;font-weight:700}
.chk{width:20px;height:20px;accent-color:var(--theme)}
.disclaimer{color:#94a3b8;font-size:.78rem;text-align:center;margin-top:26px;padding:0 8px;border-top:1px solid #eef2f7;padding-top:16px}
.steps{display:flex;justify-content:center;gap:8px;margin:18px 0}
.steps span{width:9px;height:9px;border-radius:50%;background:#cbd5e1}
.steps span.on{background:var(--theme)}
.emoji-title{font-size:2.6rem}

/* ---- TSL (página de ventas larga) ---- */
.sec{padding:24px 0 4px}
.sec h2{text-align:center;font-size:1.5rem;margin:0 0 4px}
.sec .sub{text-align:center;color:var(--content);margin:0 0 8px}
.hr{height:1px;background:#eef2f7;margin:26px 0}
.pain{list-style:none;padding:0;margin:14px 0}
.pain li{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;background:#fff5f5;border:1px solid #fee2e2;border-radius:12px;margin:9px 0;font-weight:600;color:#7f1d1d}
.pain li::before{content:'✗';color:#ef4444;font-weight:900;flex:0 0 auto}
.step{display:flex;gap:14px;align-items:flex-start;margin:16px 0}
.step .num{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--theme);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(20,184,166,.35)}
.step h3{margin:0 0 3px}
.step p{margin:0;color:var(--content)}
.timeline .t-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #eef2f7}
.timeline .t-item:last-child{border-bottom:none}
.timeline .t-when{flex:0 0 96px;font-weight:800;color:var(--theme-dark)}
.timeline .t-what{color:#334155}
.testi{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:16px;margin:12px 0;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.testi .top{display:flex;align-items:center;gap:11px;margin-bottom:8px}
.testi .av{width:42px;height:42px;border-radius:50%;background:#ecfdf5;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex:0 0 auto}
.testi .nm{font-weight:800}
.testi .stars{color:#22c55e;font-size:.9rem;letter-spacing:1px}
.testi p{margin:0;color:#475569}
.faq details{background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:0 16px;margin:10px 0}
.faq summary{font-weight:700;padding:15px 0;cursor:pointer;list-style:none;outline:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';float:right;color:var(--theme);font-weight:900;font-size:1.2rem;line-height:1}
.faq details[open] summary::after{content:'\2013'}
.faq details p{margin:0 0 15px;color:var(--content)}
.urgency{background:#fff7ed;border:1px dashed #fdba74;border-radius:12px;padding:14px 16px;text-align:center;color:#9a3412;font-weight:700;margin:18px 0}
.guarantee{display:flex;gap:14px;align-items:center;background:#f0fdfa;border:1px solid #a7f3d0;border-radius:16px;padding:16px}
.guarantee .seal{flex:0 0 auto;width:56px;height:56px;border-radius:50%;background:var(--theme-dark);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;line-height:1}
.guarantee .seal b{font-size:1.2rem}
.guarantee .seal small{font-size:.55rem;font-weight:700}

/* ---- App gamificado ---- */
.hi-row{display:flex;gap:10px;margin:14px 0}
.hi-tile{flex:1;background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:12px 8px;text-align:center;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.hi-tile .n{font-size:1.5rem;font-weight:900;line-height:1}
.hi-tile .n.fire{color:#f97316}
.hi-tile .l{font-size:.72rem;color:var(--content);margin-top:5px}
.xp{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:14px;margin:12px 0}
.xp .top{display:flex;justify-content:space-between;font-weight:700;font-size:.85rem;margin-bottom:8px}
.xp .bar{height:12px;background:#eef2f7;border-radius:999px;overflow:hidden}
.xp .fill{height:100%;background:linear-gradient(90deg,#0d9488,var(--theme));border-radius:999px;transition:width .6s ease}
.mision{background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;border-radius:18px;padding:18px;margin:16px 0;box-shadow:0 10px 24px rgba(20,184,166,.28)}
.mision h3{margin:0 0 4px;color:#fff;font-size:1.1rem}
.mision .sub{opacity:.9;font-size:.86rem;margin:0 0 10px}
.habit{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.15);border-radius:11px;padding:11px 13px;margin:8px 0;cursor:pointer;color:#fff;font-weight:600}
.habit .box{width:22px;height:22px;border-radius:6px;border:2px solid rgba(255,255,255,.75);flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:14px;color:#0d9488;font-weight:900}
.habit.on .box{background:#fff}
.habit.on span{text-decoration:line-through;opacity:.75}
.section-title{display:flex;align-items:center;justify-content:space-between;margin:22px 0 8px}
.section-title h2{margin:0;font-size:1.15rem}
.link{color:var(--theme);font-weight:700;font-size:.85rem;cursor:pointer;background:none;border:none;font-family:inherit;padding:0}
.badges{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.badge{flex:0 0 auto;width:74px;text-align:center;opacity:.32;filter:grayscale(1)}
.badge.on{opacity:1;filter:none}
.badge .ic{font-size:1.9rem;line-height:1}
.badge .nm{font-size:.68rem;color:var(--content);margin-top:3px;line-height:1.15}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:14px 0}
.cal .day{aspect-ratio:1;border:2px solid #e2e8f0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer;color:var(--content);background:#fff;transition:.15s}
.cal .day.done{background:var(--theme);border-color:var(--theme);color:#fff}
.cal .day:hover{border-color:var(--theme)}
.mod{position:relative}
.mod.done{border-color:#a7f3d0;background:#f0fdfa}
.mod .done-chk{position:absolute;top:9px;right:11px;color:var(--theme);font-size:1.1rem;font-weight:900}
.toast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%) translateY(10px);background:#0f172a;color:#fff;padding:12px 20px;border-radius:12px;font-weight:700;z-index:200;box-shadow:0 10px 30px rgba(0,0,0,.35);opacity:0;transition:.3s;pointer-events:none;max-width:90%}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.check-list{list-style:none;padding:0;margin:12px 0}
.check-list li{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:12px 14px;margin:8px 0;cursor:pointer}
.check-list li .box{width:22px;height:22px;border-radius:6px;border:2px solid #cbd5e1;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:900}
.check-list li.on .box{background:var(--theme);border-color:var(--theme)}
.check-list li.on span{text-decoration:line-through;color:var(--content)}
