:root{--bg:#0b0b0d;--bg2:#141418;--card:#17171c;--line:#2a2a31;--txt:#f2efe8;--mut:#a29f98;--gold:#d4af37;--gold2:#f0d27a;--ok:#5cc28a;--r:16px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
body{padding:calc(env(safe-area-inset-top) + 58px) 0 calc(env(safe-area-inset-bottom) + 76px)}
main{max-width:560px;margin:0 auto;padding:12px 16px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:.2px;margin:.2em 0 .4em}
h1{font-size:30px;line-height:1.15}h1 em{color:var(--gold);font-style:italic}
h2{font-size:26px}h3{font-size:19px}
.muted{color:var(--mut)}.tiny{font-size:13px}
.kicker{color:var(--gold);text-transform:uppercase;letter-spacing:2px;font-size:11.5px;font-weight:700;margin:0 0 4px}
.top{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:rgba(11,11,13,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:9px;font-size:14px;letter-spacing:3px}.brand img{width:30px;height:30px;border-radius:8px}.brand b{color:var(--gold)}
.pill{font-size:11px;border:1px solid var(--line);border-radius:99px;padding:3px 9px;color:var(--mut)}
.pill.ia{border-color:var(--ok);color:var(--ok)}.pill.demo{border-color:var(--gold);color:var(--gold)}
.hero{padding:10px 0 6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:14px 0}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;color:var(--txt);font:inherit;cursor:pointer;width:100%}
.tile small{color:var(--mut);font-size:13px}.tile .ic{font-size:22px}
.tile.big{flex-direction:row;align-items:center;gap:14px;margin:14px 0;border-color:#5a4a1a;background:linear-gradient(135deg,#1d1a10,#17171c 60%)}
.tile.big>span:nth-child(2){display:flex;flex-direction:column;flex:1}.tile.big b{font-size:18px}.arr{font-size:28px;color:var(--gold)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn{display:inline-block;text-align:center;background:#24242b;color:var(--txt);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font:600 15px/1 inherit;cursor:pointer;text-decoration:none;width:100%;margin-top:8px}
.btn.gold{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#1a1405;border:0}
.btn.ghost{background:transparent}.btn.done{background:#173322;border-color:#2c6b47;color:#9fe0bb}
.btn:disabled{opacity:.6}
.btnrow{display:flex;gap:10px}
.src{color:var(--gold);font-size:12.5px;margin:6px 0 0;opacity:.9}
.covers{display:flex;gap:10px;margin:10px 0}.covers img{width:31%;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.6)}
label{display:block;font-size:14px;color:var(--mut);margin-bottom:10px}label small{opacity:.7}
textarea,input,select{width:100%;margin-top:6px;background:var(--bg2);color:var(--txt);border:1px solid var(--line);border-radius:12px;padding:12px;font:16px inherit;font-family:inherit}
textarea:focus,input:focus,select:focus{outline:none;border-color:var(--gold)}
.row2{display:grid;grid-template-columns:1fr;gap:0}
.res-head{margin:18px 0 6px}.res-head .kicker{margin:0}.res-head h3{margin:2px 0}
.aviso{border-left:3px solid var(--gold);background:#1b1910;padding:10px 12px;border-radius:8px;font-size:14px;margin:8px 0}
.op{position:relative}.op .tag{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;color:var(--gold)}
.op h4{margin:2px 0 10px;font-size:16px}
.bubble{background:#1f2a22;border:1px solid #2c4a35;border-radius:14px 14px 4px 14px;padding:12px 14px;font-size:16px;margin-bottom:10px;white-space:pre-wrap}
.op p{margin:6px 0;font-size:14px}.op .why b{color:var(--gold2)}.op .no b{color:#e58c8c}
.copy{position:absolute;top:12px;right:12px;width:auto;margin:0;padding:7px 10px;font-size:13px}
.tec-link{color:var(--gold);text-decoration:underline;cursor:pointer;background:none;border:0;padding:0;font:inherit}
.search{margin:4px 0 10px}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--line);background:var(--card);color:var(--mut);border-radius:99px;padding:7px 12px;font:13px inherit;cursor:pointer}
.chip.on{background:var(--gold);color:#1a1405;border-color:var(--gold);font-weight:700}
.item{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0;color:var(--txt);font:inherit;cursor:pointer}
.item b{display:block;font-size:15.5px}.item small{color:var(--mut);font-size:12.5px}
.badge{display:inline-block;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;border:1px solid #5a4a1a;color:var(--gold);border-radius:6px;padding:1px 6px;margin-right:6px}
.sheet{position:fixed;inset:0;z-index:30}.sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.sheet-body{position:absolute;left:0;right:0;bottom:0;max-height:88vh;overflow:auto;background:var(--bg2);border-top:1px solid #5a4a1a;border-radius:20px 20px 0 0;padding:20px 18px calc(env(safe-area-inset-bottom) + 24px);max-width:600px;margin:0 auto}
.sheet-body .close{position:absolute;top:10px;right:12px;background:none;border:0;color:var(--mut);font-size:30px;cursor:pointer}
.sheet-body h3{padding-right:30px}.sheet-body h5{color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;font:700 12px inherit;margin:16px 0 6px}
.sheet-body ol,.sheet-body ul{padding-left:20px;margin:0}.sheet-body li{margin:5px 0}
.frase{background:var(--card);border-left:3px solid var(--gold);padding:8px 10px;border-radius:6px;margin:6px 0;font-style:italic}
.racha{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.racha b{display:block;font-size:28px;font-family:Georgia,serif;color:var(--gold)}.racha small{color:var(--mut);font-size:12px}.racha .fire{font-size:18px}
.sec{margin-top:22px}
.prog .bar{height:6px;background:#26262d;border-radius:9px;overflow:hidden;margin:10px 0}.prog .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.dias{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:10px 0}
.dia{aspect-ratio:1;border-radius:9px;border:1px solid var(--line);background:var(--bg2);color:var(--mut);font:600 13px inherit;display:flex;align-items:center;justify-content:center;cursor:pointer}
.dia.ok{background:#3a3010;border-color:var(--gold);color:var(--gold2)}.dia.cur{border-color:var(--gold2);color:var(--txt);box-shadow:0 0 0 2px rgba(212,175,55,.35)}
.mision{background:var(--bg2);border-radius:12px;padding:12px;margin-top:6px;font-size:14.5px}
.tabs{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(14,14,17,.97);border-top:1px solid var(--line);padding:6px 4px calc(env(safe-area-inset-bottom) + 6px)}
.tabs button{background:none;border:0;color:var(--mut);font:11.5px inherit;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px;cursor:pointer}
.tabs button span{font-size:20px;filter:grayscale(1);opacity:.7}.tabs button.on{color:var(--gold)}.tabs button.on span{filter:none;opacity:1}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 88px);transform:translateX(-50%);background:#2a2a31;color:var(--txt);padding:10px 16px;border-radius:12px;font-size:14px;z-index:40;box-shadow:0 8px 24px rgba(0,0,0,.5);max-width:90vw}
.loading{display:flex;gap:6px;justify-content:center;padding:24px}.loading i{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:b 1s infinite alternate}.loading i:nth-child(2){animation-delay:.2s}.loading i:nth-child(3){animation-delay:.4s}
@keyframes b{to{opacity:.2;transform:translateY(-6px)}}
/* --- v2: header, hero de chat, tarjetas grandes --- */
.top{display:grid;grid-template-columns:auto 1fr auto;gap:10px}.top .brand{justify-content:center;font-size:12.5px;letter-spacing:2.5px}
.iconbtn{width:38px;height:38px;border-radius:12px;background:#1b1b21;border:1px solid var(--line);color:var(--txt);font-size:20px;cursor:pointer}
.premium{border:0;border-radius:12px;padding:9px 12px;font:700 13px inherit;font-family:inherit;color:#1a1405;background:linear-gradient(135deg,#f6dc8a,#d4af37 55%,#a07c1e);box-shadow:0 4px 16px rgba(212,175,55,.25);cursor:pointer}
.hero-chat{position:relative;margin:8px 0 6px;padding:16px 14px;border-radius:22px;background:radial-gradient(120% 90% at 50% 0%,#2a2410 0%,#121215 60%);border:1px solid #3b3218;box-shadow:inset 0 0 40px rgba(212,175,55,.06)}
.hero-chat .b{max-width:78%;padding:9px 12px;border-radius:16px;font-size:14.5px;margin:7px 0;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.hero-chat .in{background:#26262d;color:#e9e6df;border-bottom-left-radius:4px}
.hero-chat .out{margin-left:auto;background:linear-gradient(135deg,#f0d27a,#c99a2c);color:#1a1405;border-bottom-right-radius:4px;font-weight:500}
.hero-chat .out.small{font-size:12px;padding:5px 10px;background:#1d2a1f;color:#9fe0bb;font-weight:600;box-shadow:none}
.hero-chat .who{display:block;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;opacity:.7;margin-bottom:2px}
.hero-title{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}.hero-title h1{font-size:26px;margin:0}
.center{text-align:center}
.fcard{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:0;border-radius:22px;padding:18px 16px;margin:12px 0;color:#fff;font:inherit;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.45);position:relative;overflow:hidden}
.fcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 50%);pointer-events:none}
.fcard.g1{background:linear-gradient(120deg,#0e2622 0%,#2b5e50 50%,#c9a23c 100%)}
.fcard.g2{background:linear-gradient(120deg,#4a1420 0%,#8a3a2a 50%,#c99a3c 100%)}
.fcard.g3{background:linear-gradient(120deg,#1e2433 0%,#55482a 55%,#b8892a 100%)}
.fic{flex:none;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;font-size:24px}
.ft{display:flex;flex-direction:column;flex:1}.ft b{font-size:18.5px;font-family:Georgia,serif}.ft small{font-size:13.5px;opacity:.88;line-height:1.3;margin-top:2px}
.farr{flex:none;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:24px}
.upload{display:flex;flex-direction:column;align-items:center;gap:6px;border:1.5px dashed #6b5520;border-radius:20px;padding:26px;background:linear-gradient(160deg,#1d1a10,#141418);color:var(--txt);cursor:pointer;text-align:center}
.upload small{color:var(--mut)}
.prev{display:block;max-width:55%;max-height:260px;margin:14px auto;border-radius:12px;border:1px solid var(--line)}
.msgs .m{display:flex;gap:8px;align-items:flex-start;margin:8px 0}
.msgs .m textarea{margin:0;padding:8px 10px;font-size:14.5px;min-height:40px;resize:vertical}
.msgs .m.tu{flex-direction:row-reverse}.msgs .m.tu textarea{background:#2a2410;border-color:#5a4a1a}
.who-t{flex:none;width:58px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--txt);font:700 12px inherit;padding:8px 0;cursor:pointer}
.m.tu .who-t{color:var(--gold)}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 12px}
.seg button{border:1px solid var(--line);background:var(--bg2);color:var(--mut);border-radius:10px;padding:10px 4px;font:600 13px inherit;font-family:inherit;cursor:pointer}
.seg button.on{background:var(--gold);color:#1a1405;border-color:var(--gold)}
.prem li{margin:8px 0}
.tabs button{font-size:10.5px}
.tec-link{display:inline;text-align:left}
/* --- v4: objetivo, foto, miedo, coach, tono --- */
.fcard.g0{background:linear-gradient(120deg,#2a1a05 0%,#8c6418 45%,#f0cf6a 100%);box-shadow:0 10px 30px rgba(212,175,55,.25)}
.fcard.g4{background:linear-gradient(120deg,#2a1838 0%,#6a3a4a 50%,#c9963c 100%)}
.fcard.g5{background:linear-gradient(120deg,#3a1408 0%,#9a3d16 55%,#e0a23a 100%)}
.upload.sm{padding:16px 10px;gap:4px}.upload.sm .fic{width:44px;height:44px;font-size:20px}
.thumbs{display:flex;gap:8px;overflow-x:auto;margin:12px 0}.thumbs img{height:120px;border-radius:10px;border:1px solid var(--line)}
.row2b{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ctrl{margin:6px 0 4px}
.chipsrow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 12px}
.chipsrow button{border:1px solid var(--line);background:var(--bg2);color:var(--mut);border-radius:12px;padding:9px 2px;font:600 12.5px inherit;font-family:inherit;cursor:pointer}
.chipsrow button.on{background:linear-gradient(135deg,#f0d27a,#c99a2c);color:#1a1405;border-color:transparent}
.seg{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.seg.six{grid-template-columns:repeat(3,1fr)}
.intens{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.intens .c-int-l{color:var(--gold);font-weight:700}
input[type=range]{accent-color:var(--gold);padding:0;background:none;border:0;height:28px}
.goal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.goal button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 6px;border-radius:16px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);font:22px inherit;font-family:inherit;cursor:pointer}
.goal button b{font-size:13px}.goal button.on{border-color:var(--gold);background:linear-gradient(160deg,#3a2f10,#1a1710);box-shadow:0 0 0 2px rgba(212,175,55,.3)}
.minibtn{display:inline-block;border:1px dashed #6b5520;border-radius:12px;padding:9px 12px;color:var(--gold);cursor:pointer;font-size:14px;margin:0 0 4px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px;align-items:center}.tags small{width:100%;color:var(--mut)}
.tags button{border:1px solid var(--line);background:var(--bg2);color:var(--txt);border-radius:99px;padding:7px 11px;font:13px inherit;font-family:inherit;cursor:pointer}
.tags button.on{background:var(--gold);color:#1a1405;border-color:var(--gold);font-weight:700}
button.bubble{display:block;width:100%;text-align:left;color:var(--txt);font:16px/1.4 inherit;font-family:inherit;cursor:pointer}
.bubble .tapc{display:block;font-size:11px;color:#8fc9a5;margin-top:6px;opacity:.85}
.btn.mini{width:auto;padding:8px 12px;font-size:13px;margin:0 0 8px}
.nomandes{border-color:#5a2a2a;background:#1c1414}.nomandes .kicker{color:#e58c8c}.nomandes li{margin:5px 0;font-size:14.5px}
.lectura .nivel{font:700 22px Georgia,serif;margin:2px 0 8px}
.lectura.n-alto .nivel{color:#7fdca4}.lectura.n-medio .nivel{color:var(--gold2)}.lectura.n-bajo .nivel{color:#e5a46c}.lectura.n-limite .nivel{color:#e58c8c}
.lectura ul{padding-left:0;list-style:none;margin:6px 0}.lectura li{margin:5px 0;font-size:14.5px}
.lectura .pos li::before{content:"✓ ";color:#7fdca4;font-weight:700}.lectura .neg li::before{content:"! ";color:#e5a46c;font-weight:700}
.pasos{padding-left:20px;margin:0}.pasos li{margin:7px 0}
.cuando{margin:12px 0 4px}
.si-r{border-radius:12px;padding:10px 12px;margin:8px 0;background:var(--bg2)}.si-r p{margin:4px 0 0;font-size:14.5px}
.si-r.ok{border-left:3px solid #5cc28a}.si-r.mid{border-left:3px solid var(--gold)}.si-r.bad{border-left:3px solid #e58c8c}
.hist .h-it{border-left:2px solid var(--line);padding:2px 0 2px 10px;margin:8px 0}.hist .h-it.enviado{border-color:var(--gold)}.hist p{margin:2px 0;font-size:14px}.hist small{color:var(--mut)}
.intro p{margin:4px 0}
.check{list-style:none;padding:0;margin:0}.check li{margin:7px 0;padding-left:24px;position:relative}.check li::before{content:"○";position:absolute;left:0;color:var(--gold)}
/* coach */
.chat{display:flex;flex-direction:column;gap:10px;padding-bottom:70px}
.cm{max-width:88%;border-radius:16px;padding:10px 13px;font-size:15px}.cm p{margin:0}
.cm.coach{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:4px}
.cm.yo{margin-left:auto;background:linear-gradient(135deg,#f0d27a,#c99a2c);color:#1a1405;border-bottom-right-radius:4px}
.cm .src{margin-top:8px}.cm .btn.mini{margin:8px 0 0}
.sugs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 80px}.sugs button{border:1px solid #5a4a1a;background:#1b1910;color:var(--gold2);border-radius:99px;padding:8px 12px;font:13.5px inherit;font-family:inherit;cursor:pointer}
.chatin{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 62px);display:flex;gap:8px;padding:8px 12px;background:rgba(11,11,13,.96);border-top:1px solid var(--line);z-index:9;max-width:560px;margin:0 auto}
.chatin input{margin:0;flex:1}.chatin .btn{width:52px;margin:0;padding:0;font-size:18px}
body:not(.in-coach) .chatin{display:none}
.loading.sm{padding:4px}

/* v5: aprendizaje */
.fx{margin-top:8px}
.fx-t{background:none;border:1px dashed rgba(201,162,60,.45);color:var(--gold,#c9a23c);border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;cursor:pointer;width:100%;text-align:left}
.fx.set .fx-t{border-style:solid;background:rgba(201,162,60,.08);color:#eee}
.fx-t .muted{font-size:12px}
.fx-ops{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.fx-ops button{background:#1b1b1f;border:1px solid #333;color:#ddd;border-radius:999px;padding:6px 10px;font:inherit;font-size:12.5px;cursor:pointer}
.fx-ops button.on{background:var(--gold,#c9a23c);color:#111;border-color:transparent}
.exito{font-size:12.5px;color:#7fd39a;margin:-2px 0 6px}
.aviso.adapta{border-left-color:#7fb4ff}
.card.probados .bubble{margin-top:10px}
.h-it.r-nada,.h-it.r-seco{border-left:3px solid #8a6d3b}
.h-it.r-bien,.h-it.r-numero,.h-it.r-cita,.h-it.r-salimos{border-left:3px solid #4caf73}
.h-it{padding-left:8px}
.ibar{display:grid;grid-template-columns:118px 1fr 40px 26px;align-items:center;gap:8px;margin:7px 0;font-size:13px}
.ibar i{height:9px;background:#26262b;border-radius:9px;overflow:hidden;display:block}
.ibar i b{display:block;height:100%;background:linear-gradient(90deg,#8a6d22,#e6c35c);border-radius:9px}
.ibar em{font-style:normal;color:#e6c35c;text-align:right;font-weight:600}
.ibar small{color:#888;text-align:right}
.insights h5,#sheet-c h5{margin:12px 0 4px}
.toggle{display:flex;gap:10px;align-items:flex-start;margin:8px 0;cursor:pointer}
.toggle input{width:22px;height:22px;accent-color:#c9a23c;flex:none;margin-top:2px}
.fx-ops[hidden]{display:none}
