/* componentes de animación y vistas de programa */
.orb{position:relative;width:min(70vw,260px);aspect-ratio:1;margin:12px auto;display:flex;align-items:center;justify-content:center}
.orb-c{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--oc) 70%,#fff),var(--oc) 60%,color-mix(in srgb,var(--oc) 40%,#000));opacity:.85;box-shadow:0 0 60px color-mix(in srgb,var(--oc) 40%,transparent)}
.orb-t{position:relative;font-size:22px;font-weight:600;color:#04181c;text-align:center;padding:0 12px}
.orb-n{text-align:center;color:var(--mut);font-size:14px}
@keyframes breath{0%,100%{transform:scale(.6)}50%{transform:scale(1)}}
.silw{width:min(48vw,170px);margin:6px auto}.silw.tap{width:min(60vw,220px)}
.sil{width:100%;height:auto;display:block}.sil .z path,.sil .z rect,.sil .z circle,.sil .z ellipse{fill:#1b232c;stroke:#2c3744;stroke-width:1;transition:fill .4s}
.sil .z.on.tension path,.sil .z.on.tension rect,.sil .z.on.tension circle{fill:#f2a33a}
.sil .z.on.suelta path,.sil .z.on.suelta rect,.sil .z.on.suelta circle{fill:#43c6df}
.sil .z.on.obs path,.sil .z.on.obs rect,.sil .z.on.obs circle{fill:#7fa8ff}
.sil .z.on.perm path,.sil .z.on.perm rect,.sil .z.on.perm circle{fill:#2f8f6b}
.sil-t{font-size:20px;font-weight:600;text-align:center;margin-top:8px}.sil-s{text-align:center;margin-top:4px}
.seg{display:flex;gap:4px;margin-top:10px}.seg i{flex:1;height:4px;border-radius:9px;background:var(--line)}.seg i.cur{background:var(--or)}.seg i.done{background:#2f8f6b}
.cutw{position:relative;max-width:260px;margin:6px auto}.cut{width:100%;height:auto;display:block}.cut .lb{fill:#7a8794;font-size:10px}
#ham,#halo{transition:transform 1s ease}
.bar{position:absolute;right:-6px;top:20%;width:10px;height:60%;background:var(--line);border-radius:9px;overflow:hidden;display:flex;align-items:flex-end}.bar i{display:block;width:100%;height:6%;background:var(--cool)}
.cut-t{font-size:20px;font-weight:600;text-align:center;margin-top:6px;min-height:52px}.cutw+.cut-t+.xs{text-align:center}
.dialw{max-width:300px;margin:6px auto}.dial{width:100%;height:auto;display:block}.dial .lb{fill:#7a8794;font-size:10px}.dial-t{text-align:center;color:var(--mut);font-size:15px;min-height:42px}.dial-n{text-align:center;font-weight:600;margin-top:4px}
.curva{width:100%;height:auto;display:block}
input.big{width:100%;height:44px;accent-color:var(--or)}
.dureza{padding:6px 0}.dureza .row button{min-height:56px;font-size:22px}.dureza button[aria-pressed=true]{background:var(--or);color:#fff}
.fld{display:grid;gap:4px}.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:15px}.chip[aria-pressed=true]{border-color:var(--or);background:#1d1008;color:var(--or)}
textarea.field{resize:vertical}
.big-t{font-size:56px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tl{display:flex;gap:6px}.tl i{flex:1;height:5px;border-radius:9px;background:var(--line)}.tl i.cur{background:var(--or)}.tl i.done{background:#2f8f6b}
.rings{position:relative;width:min(64vw,240px);aspect-ratio:1;margin:8px auto}.ring{position:absolute;border-radius:50%;border:2px solid var(--line);transition:all .4s}.ring.cur{border-color:var(--or);box-shadow:0 0 24px rgba(255,90,0,.35)}.ring.done{border-color:#2f8f6b;background:rgba(47,143,107,.12)}
.perfil{display:flex;align-items:flex-end;height:80px;gap:2px;margin-top:6px}.perfil i{display:block;border-radius:6px 6px 0 0;background:var(--cool);transition:opacity .3s}.perfil i.calm{background:var(--calm)}.perfil i.effort{background:var(--effort)}
.heart{text-align:center;color:var(--effort);font-size:22px;animation:hb 1s ease-in-out infinite}@keyframes hb{50%{transform:scale(1.2)}}
.ill{display:flex;justify-content:center;margin:2px 0 6px}
.grid28{display:grid;grid-template-columns:repeat(14,1fr);gap:5px}.cell{aspect-ratio:1;border-radius:6px;background:var(--card2);border:1px solid var(--line);display:block}.cell.ok{background:var(--or);border-color:var(--or)}.cell.m2{background:#8a3a12;border-color:#8a3a12}.cell.cur{border-color:var(--or)}
.skills{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sk{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--card2)}.sk.prac{border-color:#8a3a12}.sk.dom{border-color:var(--ok);background:#0d1a13}
.cmp{width:100%;border-collapse:collapse;font-size:14px}.cmp td,.cmp th{padding:8px 4px;border-bottom:1px solid var(--line);text-align:left}.cmp th{color:var(--mut);font-weight:500;font-size:12px}.cmp .mj{color:var(--ok)}.cmp .nm{color:var(--effort)}
.run h2{margin-bottom:2px}

/* ===== diseño v3: negro y naranja ===== */
.rtop{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rl{font:600 12.5px Inter;letter-spacing:.12em;color:var(--tx);text-align:center;flex:1}
.rb{width:44px;height:44px;border-radius:50%;border:0;background:#161616;color:var(--tx);display:grid;place-items:center;cursor:pointer;flex:none}.rb.ghost{background:none;cursor:default}
.rb svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.run>.prog{height:3px}
.run h2{text-align:center;font-size:clamp(26px,7.5vw,34px);margin:6px 0 4px}
.run .sm.mut,.run p.mut{text-align:center}
.hhead{position:relative;overflow:hidden;border-radius:24px;border:1px solid #3a1c0c;background:#0b0705;padding:22px 18px 20px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;min-height:210px;isolation:isolate}
.hhead:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--art) 100% 20%/auto 130% no-repeat;opacity:.9}
.hhead:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,7,7,.9) 0%,rgba(7,7,7,.35) 52%,rgba(7,7,7,0) 85%),linear-gradient(0deg,rgba(7,7,7,.55),transparent 45%)}
.hl{display:flex;flex-direction:column;gap:4px;min-width:0}
.hn{font-size:clamp(40px,12vw,56px);line-height:.95}
.hs{color:var(--or);font-size:clamp(18px,5.4vw,24px);line-height:1}
.hl .sm{color:#d6d6d6;margin-top:6px}
.pring{position:relative;width:116px;height:116px;flex:none;align-self:center}
.pring svg{width:100%;height:100%;transform:rotate(-90deg)}.pring circle{fill:none;stroke-width:7}
.pring .t{stroke:rgba(255,255,255,.14)}.pring .v{stroke:var(--or);stroke-linecap:round;transition:stroke-dashoffset .9s var(--d)}
.pring div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.pring b{font:400 30px/1 var(--dis)}.pring span{font-size:10.5px;color:var(--mut);line-height:1.15;max-width:7ch}
.plan{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 16px}
.plan b{display:block;font-size:16px}
.pi{width:44px;height:44px;border-radius:12px;background:#2a1305;color:var(--or);display:grid;place-items:center;flex:none}.pi svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sec{font-size:18px;font-weight:700}
.acts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.act{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px 14px 10px 10px}
.act.opt{border-style:dashed}
.ai{width:54px;height:54px;border-radius:12px;background:linear-gradient(135deg,#3b1706,#150a04);border:1px solid #3a1c0c;color:var(--or);display:grid;place-items:center;flex:none;font:400 18px var(--dis);letter-spacing:.03em}
.ai svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ai b{font-weight:400}
.act small{display:block;color:var(--or);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.act b{display:block;font-size:15.5px;line-height:1.25;font-weight:600}
.note{background:#1a0e07;border:1px solid #3a1c0c;border-radius:14px;padding:12px 14px}.note small{display:block;color:var(--or);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}.note p{font-size:15px}
.wk{display:flex;align-items:center;justify-content:space-between;gap:14px}
.bars{display:flex;gap:10px;align-items:flex-end;height:108px}
.wd{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}
.wd i{display:block;width:14px;flex:1;max-height:100%;height:auto;border-radius:99px;background:#232323;align-self:center;margin-top:auto}
.wd i.on{background:linear-gradient(0deg,#ff3d00,#ff7a2e)}
.wd{justify-content:flex-end}.wd i{flex:none;width:16px;min-height:14px}
.wd span{font-size:11.5px;color:var(--mut);line-height:1}.wd.hoy span{color:var(--tx);font-weight:700}
.wn{text-align:right}.wn b{display:block;font-size:17px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tiles div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 12px}
.tiles b{display:block;font:400 30px/1 var(--dis)}.tiles span{display:block;color:var(--mut);font-size:12px;line-height:1.25;margin-top:6px}
