/* ===== ARRANQUE · estilos ===== */
:root{
  --bg:#0E0F13;
  --surface:#181A21;
  --surface-2:#20232C;
  --line:#2A2E39;
  --text:#F4F6FA;
  --muted:#8B91A0;
  --fire:#FF6B35;
  --fire-2:#FF2E63;
  --gold:#FFC24B;
  --gold-2:#F0891F;
  --ok:#3DDC84;
  --teal:#2BD4C4;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;}
body{
  font-family:"Segoe UI",system-ui,-apple-system,sans-serif;
  background:radial-gradient(900px 500px at 50% -10%, #1b1340 0%, #0c0d12 55%, #07080b 100%);
  color:var(--text);
  min-height:100dvh;
}
.app{
  max-width:460px;margin:0 auto;min-height:100dvh;position:relative;
  padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
}

/* ---- vistas ---- */
.view{display:none;flex-direction:column;min-height:100dvh;padding:18px 22px 28px;}
.view.active{display:flex;animation:fade .35s ease;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ---- topbar ---- */
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.brand{font-size:14px;font-weight:800;letter-spacing:.18em;color:var(--muted);}
.icon-btn{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;width:34px;height:34px;border-radius:10px;}
.icon-btn:hover{background:var(--surface);color:var(--text);}

/* ---- constancia ---- */
.constancia{margin-top:16px;background:linear-gradient(165deg,#221c14,#181a22);border:1px solid rgba(255,194,75,.22);border-radius:20px;padding:16px 17px;}
.con-row{display:flex;justify-content:space-between;align-items:baseline;}
.con-lab{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.con-streak{font-size:14px;font-weight:800;color:var(--fire);}
.con-bar{height:11px;border-radius:8px;background:#0e1016;margin-top:12px;overflow:hidden;}
.con-bar > i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--fire),var(--gold));box-shadow:0 0 14px rgba(255,140,60,.5);transition:width .6s cubic-bezier(.2,.8,.2,1);}
.con-meta{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.5;}

/* --- La llama de Arash: cada estado se ve distinto. Presencia premiada, nunca "perdiste". --- */
.constancia{transition:border-color .5s, background .5s;}
.constancia[data-llama="ardiendo"]{border-color:rgba(255,140,60,.45);background:linear-gradient(165deg,#2a2010,#181a22);box-shadow:inset 0 0 26px rgba(255,107,53,.12);}
.constancia[data-llama="ardiendo"] .con-streak{color:var(--fire);text-shadow:0 0 12px rgba(255,107,53,.55);animation:llama-late 2.4s ease-in-out infinite;}
.constancia[data-llama="brasa"]{border-color:rgba(255,150,80,.28);}
.constancia[data-llama="brasa"] .con-streak{color:#FF9B4D;text-shadow:0 0 10px rgba(255,140,60,.35);}
.constancia[data-llama="dormida"]{border-color:rgba(120,170,200,.25);background:linear-gradient(165deg,#16202a,#15171f);}
.constancia[data-llama="dormida"] .con-streak{color:#7FC7D9;text-shadow:0 0 10px rgba(110,190,210,.3);}
.constancia[data-llama="nueva"] .con-streak{color:var(--muted);}
@keyframes llama-late{0%,100%{opacity:1;}50%{opacity:.78;}}

/* ---- secciones ---- */
.section-label{margin:24px 2px 12px;font-size:11px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;}

/* fila título + botón capturar (arriba, siempre a mano aunque haya muchas tareas) */
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.section-head .section-label{margin:24px 2px 12px;}
.btn-capturar-top{flex:0 0 auto;background:rgba(255,107,53,.12);border:1px solid rgba(255,107,53,.4);color:var(--fire);font-family:inherit;font-size:13px;font-weight:800;padding:9px 15px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .2s, transform .1s;}
.btn-capturar-top:hover{background:rgba(255,107,53,.2);}
.btn-capturar-top:active{transform:scale(.95);}

/* ---- capturas (tarjetas para arrancar) ---- */
.captura{background:linear-gradient(165deg,#23252f,#191b22);border:1px solid var(--line);border-radius:20px;padding:17px;margin-bottom:12px;position:relative;overflow:hidden;}
.captura::before{content:"";position:absolute;inset:0;background:radial-gradient(240px 90px at 100% 0%,rgba(255,107,53,.12),transparent 70%);pointer-events:none;}
.captura h3{font-size:17px;font-weight:700;position:relative;}
.captura .paso{font-size:13px;color:#cfd3dd;margin-top:9px;line-height:1.5;position:relative;}
.captura .paso b{color:var(--fire);}
.paso-badge{display:inline-block;margin-top:10px;font-size:11px;font-weight:700;color:var(--gold);background:rgba(255,194,75,.1);border:1px solid rgba(255,194,75,.25);padding:5px 10px;border-radius:999px;position:relative;}
.captura .acts{display:flex;gap:10px;margin-top:15px;position:relative;}
.captura .btn-arrancar{flex:1;border:none;cursor:pointer;font-family:inherit;font-size:15px;font-weight:800;padding:13px;border-radius:14px;color:#fff;background:linear-gradient(100deg,var(--fire),var(--fire-2));box-shadow:0 10px 22px rgba(255,46,99,.3);}
.captura .btn-arrancar:active{transform:scale(.97);}
.captura .btn-del,.captura .btn-edit{background:none;border:1px solid var(--line);color:var(--muted);border-radius:14px;padding:0 14px;cursor:pointer;font-size:16px;}
.captura .btn-del:hover{color:#e0644a;border-color:#e0644a;}
.captura .btn-edit:active{transform:scale(.94);}
.captura .btn-edit:hover{color:var(--gold);border-color:var(--gold);}

.empty{background:var(--surface);border:1px dashed var(--line);border-radius:18px;padding:24px 18px;text-align:center;}
.empty .em{font-size:30px;}
.empty p{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.5;}

/* ---- botones ---- */
.btn-primary{margin-top:auto;width:100%;border:none;cursor:pointer;font-family:inherit;font-size:16px;font-weight:800;letter-spacing:.02em;padding:17px;border-radius:18px;color:#fff;background:linear-gradient(100deg,var(--fire),var(--fire-2));box-shadow:0 14px 30px rgba(255,46,99,.35);}
.btn-primary:active{transform:scale(.98);}
.btn-secondary{margin-top:6px;width:100%;background:var(--surface-2);border:1px solid var(--line);color:var(--text);font-family:inherit;font-size:15px;font-weight:700;padding:15px;border-radius:16px;cursor:pointer;}
.btn-secondary:active{transform:scale(.98);}
.btn-ghost{background:none;border:none;color:var(--muted);font-family:inherit;font-size:13px;padding:14px;cursor:pointer;margin-top:6px;}
.btn-ghost:hover{color:var(--text);}

/* ---- formulario ---- */
.form{display:flex;flex-direction:column;flex:1;margin-top:14px;}
.form label{font-size:13px;font-weight:700;margin:18px 2px 9px;}
.form .hint-i{font-weight:400;color:var(--muted);font-size:12px;}
.form input{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;color:var(--text);font-family:inherit;font-size:15px;outline:none;width:100%;}
.form input:focus{border-color:var(--fire);}
.form-tip{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5;}

/* pasos múltiples en el formulario */
#pasos-list{display:flex;flex-direction:column;gap:8px;}
.paso-input-row{display:flex;gap:8px;align-items:center;}
.paso-input-row input{flex:1;}
.paso-input-row .rm{flex:0 0 auto;background:none;border:1px solid var(--line);color:var(--muted);border-radius:12px;width:46px;height:46px;cursor:pointer;font-size:15px;}
.paso-input-row .rm:hover{color:#e0644a;border-color:#e0644a;}
.btn-add-paso{align-self:flex-start;margin-top:10px;background:none;border:1px dashed var(--line);color:var(--muted);font-family:inherit;font-size:13px;font-weight:600;padding:10px 14px;border-radius:12px;cursor:pointer;}
.btn-add-paso:hover{color:var(--fire);border-color:var(--fire);}

/* ---- foco ---- */
.foco-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px 0;}
.foco-sub{font-size:12px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;}
.ring{position:relative;width:180px;height:180px;margin:18px 0 4px;display:flex;align-items:center;justify-content:center;}
.ring svg{position:absolute;inset:0;}
#ring-fg{transition:stroke-dashoffset 1s linear;}
.ring-center{text-align:center;}
.timer{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums;}
.timer-lab{font-size:11px;color:var(--muted);letter-spacing:.14em;margin-top:2px;}
.foco-titulo{margin-top:14px;font-size:17px;font-weight:700;color:#dfe2ea;max-width:300px;line-height:1.35;}

/* checklist de pasos en foco */
.foco-checklist{width:100%;max-width:360px;margin-top:14px;display:flex;flex-direction:column;gap:8px;max-height:32vh;overflow-y:auto;}
.paso-item{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:12px 14px;cursor:pointer;text-align:left;transition:.15s;}
.paso-item:active{transform:scale(.99);}
.paso-item .box{width:23px;height:23px;border-radius:7px;border:2px solid var(--muted);flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:transparent;transition:.2s;}
.paso-item.done .box{background:var(--ok);border-color:var(--ok);color:#04210f;}
.paso-item .txt{font-size:14px;color:#dfe2ea;line-height:1.35;}
.paso-item.done .txt{color:#6b7180;text-decoration:line-through;}

.foco-note{font-size:12px;color:#5d6373;margin-top:14px;max-width:300px;line-height:1.4;}
.btn-arrived{margin-top:20px;width:100%;max-width:340px;background:linear-gradient(100deg,var(--ok),#27b768);color:#04210f;border:none;font-family:inherit;font-size:17px;font-weight:800;padding:17px;border-radius:18px;cursor:pointer;box-shadow:0 12px 28px rgba(61,220,132,.3);}
.btn-arrived:active{transform:scale(.97);}

/* ---- win ---- */
.win-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.burst{font-size:62px;animation:pop .6s cubic-bezier(.2,1.4,.4,1);}
@keyframes pop{0%{transform:scale(0) rotate(-20deg);opacity:0;}60%{transform:scale(1.15);}100%{transform:scale(1);opacity:1;}}
.win-title{font-size:32px;font-weight:900;letter-spacing:.04em;margin-top:10px;background:linear-gradient(90deg,var(--ok),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;}
.win-sub{font-size:14px;color:#cfd3dd;margin-top:14px;line-height:1.5;max-width:280px;}
.win-stats{display:flex;gap:10px;margin-top:26px;width:100%;max-width:360px;}
.win-box{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 6px;}
.win-box .n{font-size:24px;font-weight:800;}
.win-box .n.fire{color:var(--fire);}
.win-box .n.gold{color:var(--gold);}
.win-box .l{font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:.06em;text-transform:uppercase;}
.win-note{font-size:12px;color:#5d6373;margin-top:22px;line-height:1.5;max-width:280px;}
.win-wrap .btn-primary{max-width:360px;margin-top:26px;}

/* confeti */
.confetti{position:fixed;top:-10px;width:9px;height:14px;border-radius:2px;z-index:60;pointer-events:none;}

/* =========================================================
   Ladrillo 2 — Salud, Registrar, Dashboard, Tab bar
   ========================================================= */
:root{
  --medita:#9B8CFF;   /* rama Mente: lila calmo */
  --ejer:var(--fire); /* rama Ejercicio: fuego */
}

/* las vistas con barra de pestañas dejan aire abajo para no quedar tapadas */
.view.has-tabs{padding-bottom:104px;}

/* ---- tab bar inferior ---- */
.tabbar{
  display:none;position:fixed;bottom:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:460px;z-index:50;
  background:rgba(14,15,19,.86);backdrop-filter:blur(14px);
  border-top:1px solid var(--line);
  padding:8px 14px calc(8px + env(safe-area-inset-bottom));
  justify-content:space-around;
}
.tabbar.show{display:flex;}
.tab{background:none;border:none;cursor:pointer;font-family:inherit;
  display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:6px 16px;border-radius:14px;color:var(--muted);transition:.18s;}
.tab .ti{font-size:21px;filter:grayscale(.5);opacity:.7;transition:.18s;}
.tab .tl{font-size:10px;font-weight:700;letter-spacing:.04em;}
.tab.active{color:var(--text);}
.tab.active .ti{filter:none;opacity:1;transform:translateY(-1px);}
.tab:active{transform:scale(.94);}

/* ---- intro de área ---- */
.area-intro{margin-top:14px;font-size:12.5px;color:var(--muted);line-height:1.55;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px 15px;}
.area-intro b{color:#cfd3dd;}

/* ---- ramas y prácticas (vista Salud) ---- */
.rama{margin-top:22px;}
.rama-hd{display:flex;align-items:center;gap:9px;margin:0 2px 12px;}
.rama-hd .re{font-size:18px;}
.rama-hd .rn{font-size:13px;font-weight:800;letter-spacing:.04em;}
.rama-hd .rl{flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent);}

.practica{background:linear-gradient(165deg,#20232c,#181a21);border:1px solid var(--line);
  border-radius:18px;padding:14px 15px;margin-bottom:11px;position:relative;overflow:hidden;}
.practica .ptop{display:flex;align-items:center;gap:12px;}
.practica .pic{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;
  justify-content:center;font-size:21px;flex:0 0 auto;background:#0e1016;}
.practica .pmid{flex:1;min-width:0;}
.practica .pnm{font-size:15.5px;font-weight:700;}
.practica .pcap{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.4;}
.practica .pcap b{color:var(--text);}
.practica .pnv{font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;flex:0 0 auto;
  background:rgba(155,140,255,.12);color:var(--medita);}
.practica.ej .pnv{background:rgba(255,107,53,.13);color:var(--fire);}
.practica .pbar{height:7px;border-radius:6px;background:#0e1016;margin-top:12px;overflow:hidden;}
.practica .pbar > i{display:block;height:100%;border-radius:6px;background:var(--medita);transition:width .6s cubic-bezier(.2,.8,.2,1);}
.practica.ej .pbar > i{background:linear-gradient(90deg,var(--fire),var(--gold));}
.practica .pfoot{display:flex;align-items:center;gap:10px;margin-top:13px;}
.practica .pdays{flex:1;font-size:11.5px;color:var(--muted);}
.practica .pdays b{color:var(--ok);}
.practica .btn-reg{border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:800;
  padding:9px 16px;border-radius:12px;color:#fff;background:var(--surface-2);border:1px solid var(--line);}
.practica .btn-reg{color:var(--text);}
.practica .btn-reg:active{transform:scale(.96);}
.practica.ej .btn-reg{background:linear-gradient(100deg,var(--fire),var(--fire-2));border:none;color:#fff;box-shadow:0 8px 18px rgba(255,46,99,.25);}
.practica.me .btn-reg{background:linear-gradient(100deg,#7c6cff,#9B8CFF);border:none;color:#fff;box-shadow:0 8px 18px rgba(124,108,255,.28);}

/* ---- rama DORMIDA: nunca iniciada. Lo no-disparado no pesa; el primer salto la enciende ---- */
.practica.dormida{background:#15161c;border:1px dashed var(--line);opacity:.82;}
.practica.dormida .pic{filter:grayscale(1);opacity:.45;background:#0c0d12;}
.practica.dormida .pnm{color:var(--muted);}
.practica.dormida .pbar{display:none;}
.practica .pnv.zzz{background:rgba(139,145,160,.12);color:var(--muted);font-weight:700;}
/* el botón del PRIMER salto: el disparo épico, late para invitar */
.practica .btn-primer{border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:800;
  padding:9px 16px;border-radius:12px;color:#fff;white-space:nowrap;
  background:linear-gradient(100deg,var(--fire),var(--gold));
  box-shadow:0 8px 20px rgba(255,107,53,.3);animation:primer-pulse 2s ease-in-out infinite;}
.practica .btn-primer:active{transform:scale(.96);}
@keyframes primer-pulse{
  0%,100%{box-shadow:0 8px 20px rgba(255,107,53,.3),0 0 0 0 rgba(255,194,75,.55);}
  50%{box-shadow:0 8px 20px rgba(255,107,53,.3),0 0 0 9px rgba(255,194,75,0);}
}
/* ignición: la tarjeta recién encendida destella oro una vez */
.practica.recien-viva{animation:ignicion 1.5s cubic-bezier(.2,.8,.2,1);}
@keyframes ignicion{
  0%{box-shadow:0 0 0 0 rgba(255,194,75,0);transform:scale(.99);}
  28%{box-shadow:0 0 34px 7px rgba(255,194,75,.6);transform:scale(1.015);}
  100%{box-shadow:0 0 0 0 rgba(255,194,75,0);transform:scale(1);}
}

/* ===================== ÁRBOL DE SKILLS (Salud) ===================== */
/* HUD de Chispas + próximo desbloqueo */
.chispas-hud{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:linear-gradient(120deg,rgba(255,194,75,.12),rgba(255,107,53,.05));
  border:1px solid rgba(255,194,75,.25);border-radius:16px;padding:12px 15px;margin-top:4px;}
.chispas-hud .ch-tot{display:flex;align-items:baseline;gap:6px;}
.chispas-hud .ch-ic{color:var(--gold);font-size:17px;}
.chispas-hud .ch-tot b{font-size:24px;font-weight:900;color:var(--gold);}
.chispas-hud .ch-lb{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
.chispas-hud .ch-next{flex:1;text-align:right;font-size:11.5px;color:var(--muted);line-height:1.4;}
.chispas-hud .ch-next b{color:var(--text);}

.rama{margin-top:20px;}
.rama-hd{display:flex;align-items:center;gap:9px;margin:0 2px 12px;}
.rama-hd .re{font-size:18px;}
.rama-hd .rn{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
.rama-hd .rl{flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent);}
.rama-hd .rk{font-size:12px;font-weight:800;color:var(--gold);}
.rama-hd.lock .rn{color:var(--muted);}

/* cadena de nodos con riel vertical que los conecta */
.chain{position:relative;}
.node{position:relative;display:flex;gap:12px;padding-bottom:14px;}
.node:last-child{padding-bottom:0;}
.node-dot{position:relative;width:46px;height:46px;flex:0 0 auto;border-radius:14px;
  display:flex;align-items:center;justify-content:center;font-size:22px;
  background:#0e1016;border:1px solid var(--line);z-index:1;}
.node:not(:first-child) .node-dot::before{content:'';position:absolute;left:50%;top:-15px;
  width:2px;height:15px;transform:translateX(-50%);background:var(--line);}
.node-card{flex:1;min-width:0;background:linear-gradient(165deg,#20232c,#181a21);
  border:1px solid var(--line);border-radius:16px;padding:12px 14px;}
.node-top{display:flex;align-items:center;gap:8px;}
.node-nm{flex:1;font-size:15px;font-weight:800;}
.node-sub{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4;}
.node-sub b{color:var(--text);}

/* pips de nivel (●●○) */
.pips{display:flex;gap:4px;flex:0 0 auto;}
.pip{width:9px;height:9px;border-radius:50%;background:#0e1016;border:1px solid var(--line);}
.node.ej .pip.on{background:var(--fire);border-color:var(--fire);box-shadow:0 0 6px rgba(255,107,53,.5);}
.node.me .pip.on{background:#9B8CFF;border-color:#9B8CFF;box-shadow:0 0 6px rgba(155,140,255,.5);}

/* barra parcial 3/5 (anti-fracaso): muestra cuánto llevas hacia el próximo nivel */
.nbar{position:relative;height:18px;border-radius:7px;background:#0e1016;margin-top:10px;overflow:hidden;}
.nbar > i{display:block;height:100%;border-radius:7px;transition:width .6s cubic-bezier(.2,.8,.2,1);}
.node.ej .nbar > i{background:linear-gradient(90deg,var(--fire),var(--gold));}
.node.me .nbar > i{background:linear-gradient(90deg,#7c6cff,#9B8CFF);}
.nbar-lb{position:absolute;top:0;right:8px;line-height:18px;font-size:10.5px;font-weight:800;color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.7);}
.nbar.full > i{background:linear-gradient(90deg,var(--gold),#fff3cf)!important;}

.node-foot{display:flex;align-items:center;gap:9px;margin-top:11px;}
.node-meta{flex:1;font-size:11px;color:var(--muted);}
.node-meta .ch{color:var(--gold);font-weight:800;}

/* botones del nodo */
.node .btn-reg,.node .btn-primer{border:none;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:800;
  padding:8px 14px;border-radius:11px;color:#fff;white-space:nowrap;}
.node .btn-reg:active,.node .btn-primer:active{transform:scale(.96);}
.node.ej .btn-reg{background:linear-gradient(100deg,var(--fire),var(--fire-2));box-shadow:0 6px 14px rgba(255,46,99,.25);}
.node.me .btn-reg{background:linear-gradient(100deg,#7c6cff,#9B8CFF);box-shadow:0 6px 14px rgba(124,108,255,.28);}
.node .btn-primer{background:linear-gradient(100deg,var(--fire),var(--gold));
  box-shadow:0 6px 16px rgba(255,107,53,.3);animation:primer-pulse 2s ease-in-out infinite;}
.node .btn-pacto{flex:0 0 auto;width:38px;height:36px;border-radius:11px;cursor:pointer;
  background:none;border:1px solid var(--line);color:var(--muted);font-size:15px;}
.node .btn-pacto.sellado{color:#fff;border-color:var(--fire-2);background:rgba(255,46,99,.16);
  animation:pacto-pulse 1.8s ease-in-out infinite;}
.node .btn-pacto:active{transform:scale(.94);}

/* estados del nodo */
.node.dormida .node-dot{filter:grayscale(1);opacity:.5;}
.node.dormida .node-card{border-style:dashed;opacity:.9;}
.node.maxeada .node-dot{border-color:var(--gold);box-shadow:0 0 14px rgba(255,194,75,.4);background:rgba(255,194,75,.08);}
.node.maxeada .node-card{border-color:rgba(255,194,75,.4);}
.node-card.recien-viva{animation:ignicion 1.5s cubic-bezier(.2,.8,.2,1);}

/* skill BLOQUEADA (territorio en sombra) */
.node.bloqueada{opacity:.62;}
.node.bloqueada .node-dot{filter:grayscale(1);opacity:.6;background:#0c0d12;}
.node.bloqueada .node-card{border-style:dashed;background:#121319;}
.node.bloqueada .node-nm{color:var(--muted);}
.node.bloqueada .lock-cost{font-size:12px;font-weight:800;color:var(--gold);flex:0 0 auto;}
/* barra de MAESTRÍA: tras maxear, el juego pasa a ser la constancia (capacidad finita, constancia infinita) */
.nbar.maestria > i{background:linear-gradient(90deg,var(--gold),var(--ok))!important;}

/* rama bloqueada (territorio en sombra) */
.rama.locked .lock-card{background:#121319;border:1px dashed var(--line);border-radius:16px;padding:14px 15px;opacity:.92;}
.lock-msg{font-size:13px;color:var(--muted);}
.lock-msg b{color:var(--gold);}
.lock-bar{height:8px;border-radius:6px;background:#0e1016;margin:10px 0 7px;overflow:hidden;}
.lock-bar > i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--fire));transition:width .6s;}
.lock-sub{font-size:11px;color:var(--muted);}
.lock-sub b{color:var(--text);}

/* ===================== HONOR / EL JURAMENTO ===================== */
.honor-card{background:linear-gradient(165deg,#221d12,#181a21);border:1px solid rgba(255,194,75,.28);
  border-radius:18px;padding:15px;margin-bottom:11px;}
.honor-top{display:flex;align-items:center;gap:13px;}
.honor-ic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  font-size:24px;background:rgba(255,194,75,.12);flex:0 0 auto;}
.honor-num{font-size:30px;font-weight:900;color:var(--gold);line-height:1;}
.honor-lb{font-size:12px;color:var(--muted);margin-top:3px;}
.honor-list{margin-top:13px;display:flex;flex-direction:column;gap:9px;}
.jur-activo{background:#0e1016;border:1px solid var(--line);border-radius:13px;padding:11px 12px;}
.ja-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.ja-nm{font-size:13.5px;font-weight:800;}
.ja-prog{font-size:12px;font-weight:800;color:var(--gold);flex:0 0 auto;}
.ja-bar{height:8px;border-radius:6px;background:#191b22;margin-top:8px;overflow:hidden;}
.ja-bar > i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--fire));transition:width .6s;}
.ja-palabra{font-size:12px;font-style:italic;color:var(--text);margin-top:8px;opacity:.85;line-height:1.45;}
.ja-hint{font-size:11px;color:var(--muted);margin-top:6px;}
.jur-vacio{font-size:12.5px;color:var(--muted);line-height:1.5;padding:4px 2px;}
.btn-jurar-new{width:100%;margin-top:13px;border:1px solid var(--gold);background:rgba(255,194,75,.1);
  color:var(--gold);font-family:inherit;font-size:14px;font-weight:800;padding:11px;border-radius:13px;cursor:pointer;}
.btn-jurar-new:active{transform:scale(.98);}

.jurar-wrap{flex:1;display:flex;flex-direction:column;padding-top:4px;}
.jur-intro{font-size:13px;color:var(--muted);line-height:1.55;background:rgba(255,194,75,.07);
  border:1px solid rgba(255,194,75,.18);border-radius:13px;padding:12px 14px;}
.jur-intro b{color:var(--gold);}
.jur-label{font-size:12px;font-weight:800;color:var(--text);margin:18px 0 9px;letter-spacing:.02em;}
.jur-skills{display:flex;flex-wrap:wrap;gap:8px;}
.jur-skill{display:flex;align-items:center;gap:6px;font-family:inherit;font-size:13px;font-weight:700;
  padding:9px 13px;border-radius:12px;cursor:pointer;color:var(--text);background:var(--surface-2);border:1px solid var(--line);}
.jur-skill .je{font-size:16px;}
.jur-skill.sel{border-color:var(--gold);background:rgba(255,194,75,.14);color:var(--gold);}
.jur-skill:active{transform:scale(.97);}
.jur-dias{display:flex;gap:9px;}
.jur-dia{flex:1;font-family:inherit;font-size:14px;font-weight:800;padding:13px 6px;border-radius:13px;cursor:pointer;
  color:var(--text);background:var(--surface-2);border:1px solid var(--line);}
.jur-dia.sel{border-color:var(--gold);background:rgba(255,194,75,.16);color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset;}
.jur-dia.lock{opacity:.45;cursor:not-allowed;}
.jur-dia:not(.lock):active{transform:scale(.96);}
.jur-hint{font-size:11px;color:var(--muted);margin-top:8px;}
.jur-palabra{width:100%;background:#0e1016;border:1px solid var(--line);border-radius:13px;
  color:var(--text);font-family:inherit;font-size:14px;padding:12px 14px;resize:none;margin-bottom:6px;}
.jur-palabra:focus{outline:none;border-color:var(--gold);}
#btn-sellar-juramento{margin-top:16px;}
.jur-empty{font-size:13.5px;color:var(--muted);line-height:1.6;padding:20px 4px;text-align:center;}
.jur-empty b{color:var(--text);}

/* ---- vista registrar (stepper) ---- */
.reg-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px 0;}
.reg-emoji{font-size:54px;animation:pop .5s cubic-bezier(.2,1.4,.4,1);}
.reg-nombre{font-size:22px;font-weight:800;margin-top:6px;}
.reg-record{font-size:13px;color:var(--gold);font-weight:700;margin-top:8px;min-height:18px;}

/* info de nivel: qué se necesita para subir (el nivel = tu mejor sesión, no la suma) */
.reg-nivel{margin-top:14px;width:100%;max-width:320px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;}
.reg-nivel .rn-row{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;}
.reg-nivel .rn-lvl{color:var(--text);}
.reg-nivel .rn-arrow{color:var(--muted);}
.reg-nivel .rn-next{color:var(--gold);}
.reg-nivel .rn-next b{color:var(--gold);}
.reg-nivel .rn-exp{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:7px;}
.reg-nivel .rn-exp b{color:#cfd3dd;}
.reg-nivel .rn-tope{font-size:12.5px;color:var(--gold);line-height:1.5;font-weight:700;}
.reg-nivel .rn-tope b{color:#fff;}

/* "ingresar a mano": revela el stepper en skills de tiempo (salida discreta) */
.reg-manual-toggle{background:none;border:none;color:var(--muted);font-family:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;margin:10px 0 0;}
.reg-manual-toggle:active{transform:scale(.97);}

/* cronómetro (skills en minutos) */
.crono{display:flex;flex-direction:column;align-items:center;gap:11px;margin:22px 0 4px;}
.crono-time{font-size:46px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.03em;
  color:var(--gold);line-height:1;text-shadow:0 2px 14px rgba(255,194,75,.25);}
.btn-crono{border:1px solid var(--gold);background:rgba(255,194,75,.1);color:var(--gold);
  font-family:inherit;font-size:15px;font-weight:800;padding:11px 28px;border-radius:999px;cursor:pointer;}
.btn-crono:active{transform:scale(.96);}
.crono-tip{font-size:11px;color:#5d6373;max-width:260px;text-align:center;line-height:1.45;}

.reg-stepper{display:flex;align-items:center;gap:20px;margin:22px 0 8px;}
.reg-stepper .step{width:62px;height:62px;border-radius:50%;border:1px solid var(--line);
  background:var(--surface);color:var(--text);font-size:30px;font-weight:300;cursor:pointer;
  display:flex;align-items:center;justify-content:center;line-height:1;}
.reg-stepper .step:active{transform:scale(.92);background:var(--surface-2);}
.reg-num{min-width:120px;display:flex;flex-direction:column;align-items:center;}
.reg-num span{font-size:58px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1;
  background:linear-gradient(90deg,var(--fire),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;}
.reg-num small{font-size:13px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:6px;}
.reg-wrap .btn-primary{max-width:340px;margin-top:34px;}
.reg-tip{font-size:12px;color:#5d6373;margin-top:18px;max-width:300px;line-height:1.5;}
.reg-tip b{color:#8b91a0;}

/* ---- dashboard ---- */
/* ===== Progreso: la ficha de personaje (avatar + paneles curados) ===== */
/* --- Avatar enmarcado: anillo = constancia (llama) · cuerpo = luz revelada --- */
.hub-hero{display:flex;flex-direction:column;align-items:center;margin-top:8px;}
.hub-ring{width:184px;height:184px;border-radius:50%;padding:6px;position:relative;
  background:conic-gradient(var(--gold) calc(var(--con,0)*1%), #2a2118 0);
  filter:drop-shadow(0 0 16px rgba(255,157,43,.32));transition:filter .5s ease;}
.hub-ring::after{content:"";position:absolute;inset:6px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,194,75,.22);}
.hub-frame{width:100%;height:100%;border-radius:50%;overflow:hidden;position:relative;
  display:flex;align-items:flex-end;justify-content:center;
  background:radial-gradient(120px 120px at 50% 38%, #241a10 0%, #15110d 70%, #100c10 100%);}
.hub-svg{width:150px;height:178px;overflow:visible;margin-bottom:-6px;}
.hub-aura{transform-box:fill-box;transform-origin:center;opacity:0;transition:opacity .6s ease;}
.hub-hero[data-aura="ardiendo"] .hub-aura{opacity:1;animation:auraPulse 2.6s ease-in-out infinite;}
.hub-hero[data-aura="brasa"]   .hub-aura{opacity:.5;}
.hub-hero[data-aura="dormida"] .hub-aura{opacity:.16;}
.hub-hero[data-aura="nueva"]   .hub-aura{opacity:.08;}
.hub-hero[data-aura="dormida"] .hub-ring,
.hub-hero[data-aura="nueva"]   .hub-ring{filter:drop-shadow(0 0 8px rgba(255,157,43,.12));}
@keyframes auraPulse{0%,100%{opacity:.72;transform:scale(.97);}50%{opacity:1;transform:scale(1.05);}}
.hub-badge{position:absolute;bottom:6px;right:10px;background:#1a1410;border:1px solid rgba(255,194,75,.35);
  color:var(--gold);font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.45);}
.hub-name{font-size:21px;font-weight:900;margin-top:13px;}
.hub-grado{font-size:12.5px;font-weight:800;color:var(--gold);letter-spacing:.04em;margin-top:3px;}
.hub-luztxt{font-size:11px;color:var(--muted);margin-top:6px;}
.hub-luztxt b{color:var(--gold);}

/* --- Paneles curados (pocos, grandes, con glow) --- */
.hub-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:20px;}
.hub-panel{background:linear-gradient(165deg,#1d1812,#15161d);border:1px solid rgba(255,194,75,.16);
  border-radius:18px;padding:14px 15px;position:relative;overflow:hidden;}
.hub-panel::after{content:"";position:absolute;inset:0;background:radial-gradient(180px 80px at 100% 0%,rgba(255,107,53,.10),transparent 70%);pointer-events:none;}
.hub-panel.wide{margin-top:11px;}
.hp-ic{font-size:18px;}
.hp-lb{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-top:6px;}
.hp-big{font-size:24px;font-weight:900;margin-top:2px;}
.hp-big.gold{color:var(--gold);} .hp-big.fire{color:var(--fire);}
.hp-sub{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45;}

/* --- Juramento activo --- */
.hub-jur{background:linear-gradient(165deg,#15191d,#141620);border:1px solid rgba(43,212,196,.2);
  border-radius:18px;padding:14px 15px;margin-top:11px;}
.hj-top{display:flex;justify-content:space-between;align-items:baseline;}
.hj-nm{font-size:14px;font-weight:800;}
.hj-prog{font-size:12px;color:var(--gold);font-weight:800;}
.hj-bar{height:6px;border-radius:5px;background:#0d0f14;overflow:hidden;margin-top:9px;}
.hj-bar>i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--teal,#2BD4C4),var(--ok));}
.hj-word{font-size:11px;color:var(--muted);font-style:italic;margin-top:7px;}
.hj-hint{font-size:11px;color:var(--muted);margin-top:6px;}
.btn-jurar-new{display:block;width:100%;margin-top:11px;padding:12px;border:1px dashed rgba(255,194,75,.4);
  background:rgba(255,194,75,.06);color:var(--gold);font-size:13px;font-weight:800;border-radius:14px;cursor:pointer;}

/* --- Salud curada --- */
.hub-section{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800;margin:22px 2px 9px;}
.hub-salud-top{display:flex;align-items:center;gap:11px;}
.hub-salud-ic{width:38px;height:38px;border-radius:11px;background:rgba(61,220,132,.14);display:flex;align-items:center;justify-content:center;font-size:19px;}
.hub-salud-nm{flex:1;font-size:14px;font-weight:800;}
.hub-salud-nv{font-size:12px;font-weight:800;color:var(--ok);background:rgba(61,220,132,.14);padding:4px 11px;border-radius:999px;}
.hub-panel.sleep{opacity:.85;}
.hub-gain{font-size:11.5px;color:var(--muted);margin-top:10px;line-height:1.5;}
.hub-gain b{color:var(--text);}
.hub-chips{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.hub-chips .chip{display:flex;align-items:center;gap:7px;background:#14161d;border:1px solid var(--line);border-radius:12px;padding:7px 10px;}
.hub-chips .chip .e{font-size:15px;}
.hub-chips .pips{display:flex;gap:3px;}
.hub-chips .pip{width:6px;height:6px;border-radius:50%;background:#333a47;}
.hub-chips .pip.on{background:var(--gold);box-shadow:0 0 6px rgba(255,194,75,.7);}

.mother{margin-top:18px;background:linear-gradient(165deg,#221c14,#181a22);border:1px solid rgba(255,194,75,.25);border-radius:20px;padding:16px 17px;position:relative;overflow:hidden;}
.mother::after{content:"";position:absolute;inset:0;background:radial-gradient(260px 100px at 100% 0%,rgba(255,107,53,.12),transparent 70%);pointer-events:none;}
.mother .hd{display:flex;justify-content:space-between;align-items:baseline;position:relative;}
.mother .hd .t{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.mother .hd .v{font-size:11px;color:var(--muted);}
.mother .big{font-size:28px;font-weight:900;margin-top:8px;position:relative;}
.mother .big b{color:var(--fire);}
.mother .cap{font-size:11.5px;color:var(--muted);margin-top:10px;position:relative;line-height:1.5;}

.dash-area{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:13px 14px;margin-bottom:10px;}
.dash-area .top{display:flex;align-items:center;gap:11px;}
.dash-area .ic{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 auto;background:rgba(61,220,132,.14);}
.dash-area .nm{flex:1;font-size:14.5px;font-weight:700;}
.dash-area .nv{font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:rgba(61,220,132,.14);color:var(--ok);}
.dash-area .pbar{height:7px;border-radius:6px;background:#0e1016;margin-top:11px;overflow:hidden;}
.dash-area .pbar > i{display:block;height:100%;border-radius:6px;background:var(--ok);}
.dash-area .gain{font-size:11.5px;color:var(--muted);margin-top:9px;line-height:1.45;}
.dash-area .gain b{color:var(--text);}
.dash-area.sleep{opacity:.6;}

.dash-cta{margin-top:8px;}

/* ---- toast de logro ---- */
.toast{position:fixed;left:50%;bottom:120px;transform:translateX(-50%) translateY(20px);
  max-width:340px;width:calc(100% - 44px);z-index:70;
  background:linear-gradient(165deg,#23252f,#181b22);border:1px solid var(--line);border-radius:16px;
  padding:15px 17px;box-shadow:0 18px 40px rgba(0,0,0,.5);
  opacity:0;pointer-events:none;transition:.35s cubic-bezier(.2,.8,.2,1);text-align:left;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.record{border-color:rgba(255,194,75,.5);}
.toast .tt{font-size:14.5px;font-weight:800;}
.toast .tt.gold{color:var(--gold);}
.toast .ts{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5;}

/* ---- hoja de opciones (menú del ⋯) ---- */
.sheet{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;
  background:rgba(7,8,11,.6);backdrop-filter:blur(2px);animation:fade .2s ease;}
.sheet[hidden]{display:none;}
.sheet-box{width:100%;max-width:460px;background:linear-gradient(180deg,#1b1d25,#15171f);
  border-top:1px solid var(--line);border-radius:22px 22px 0 0;padding:18px 18px calc(22px + env(safe-area-inset-bottom));
  box-shadow:0 -18px 40px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:10px;}
.sheet-title{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:4px;}
.sheet-btn{width:100%;background:var(--surface-2);border:1px solid var(--line);color:var(--text);
  font-family:inherit;font-size:15px;font-weight:700;padding:15px;border-radius:14px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:3px;}
.sheet-btn small{font-size:11px;font-weight:500;color:var(--muted);}
.sheet-btn:active{transform:scale(.98);}
.sheet-btn.danger{color:#e0644a;border-color:rgba(224,100,74,.35);}
.sheet-btn.ghost{background:none;border:none;color:var(--muted);font-weight:600;}

/* ---- limpiar arranques ---- */
.arr-intro{margin-top:14px;font-size:12.5px;color:var(--muted);line-height:1.55;}
.arr-count{margin:18px 2px 12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.arr-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);
  border-radius:14px;padding:13px 15px;margin-bottom:9px;}
.arr-info{flex:1;min-width:0;}
.arr-tit{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.arr-fecha{font-size:12px;color:var(--muted);margin-top:3px;}
.arr-row .btn-del{background:none;border:1px solid var(--line);color:var(--muted);border-radius:12px;
  padding:8px 12px;cursor:pointer;font-size:15px;flex:0 0 auto;}
.arr-row .btn-del:hover{color:#e0644a;border-color:#e0644a;}
.arr-row .btn-del:active{transform:scale(.94);}

/* =========================================================
   Ciclo de vida de la tarea (iteración del Ladrillo 1)
   ========================================================= */

/* barra de progreso de micro-pasos en el modo foco */
.foco-prog-wrap{width:100%;max-width:340px;margin:14px 0 2px;}
.foco-prog{height:9px;border-radius:7px;background:#0e1016;overflow:hidden;}
.foco-prog > i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,var(--ok),var(--gold));
  box-shadow:0 0 12px rgba(61,220,132,.45);transition:width .45s cubic-bezier(.2,.8,.2,1);}
.foco-prog-lab{font-size:11px;color:var(--muted);text-align:center;margin-top:7px;letter-spacing:.04em;}

/* tarjeta "en marcha" en el Home */
.estado-badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;margin-bottom:9px;position:relative;}
.estado-badge.marcha{color:var(--gold);background:rgba(255,194,75,.12);border:1px solid rgba(255,194,75,.28);}
.captura.en-marcha{border-color:rgba(255,194,75,.28);}
.captura.en-marcha::before{background:radial-gradient(240px 90px at 100% 0%,rgba(255,194,75,.1),transparent 70%);}
.mini-prog{height:7px;border-radius:6px;background:#0e1016;margin-top:11px;overflow:hidden;position:relative;}
.mini-prog > i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--ok),var(--gold));}
.mini-prog-lab{font-size:11.5px;color:var(--muted);margin-top:8px;position:relative;}
.btn-arrancar.retomar{background:linear-gradient(100deg,#caa23c,var(--gold));color:#231a02;box-shadow:0 10px 22px rgba(255,194,75,.25);}

/* lista de terminadas (archivadas), discreta y sin culpa */
.archivadas{margin-top:22px;border-top:1px dashed var(--line);padding-top:14px;}
.arch-hd{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ok);font-weight:700;margin-bottom:10px;}
.arch-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--surface);border:1px solid var(--line);
  border-radius:12px;margin-bottom:7px;opacity:.72;}
.arch-row .arch-t{flex:1;font-size:13px;color:#cfd3dd;text-decoration:line-through;}
.arch-row .btn-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;}
.arch-row .btn-del:hover{color:#e0644a;}

/* =========================================================
   El Pacto de Ulises (Ladrillo 3)
   ========================================================= */
:root{
  --sea:#2BB7B3;
  --sea-deep:#0e5e63;
  --bronze:#8a6a2e;
  --gold-2:#C9962E;
  --serif:Georgia,"Times New Roman",serif;
}

/* botón ⚓ del pacto en la tarjeta de práctica */
.practica .pfoot .btn-pacto{flex:0 0 auto;width:40px;height:38px;border-radius:11px;cursor:pointer;
  background:none;border:1px solid var(--line);color:var(--muted);font-size:16px;}
.practica .pfoot .btn-pacto.sellado{color:#fff;border-color:var(--fire-2);background:rgba(255,46,99,.16);
  animation:pacto-pulse 1.8s ease-in-out infinite;}
@keyframes pacto-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,46,99,.55);}
  50%{box-shadow:0 0 0 7px rgba(255,46,99,0);}
}
.practica .pfoot .btn-pacto:active{transform:scale(.94);}

/* ---- Sellar el Pacto ---- */
.pacto-wrap{flex:1;display:flex;flex-direction:column;padding-top:6px;}
.crest{text-align:center;margin-top:4px;}
.crest-icon{font-size:38px;filter:drop-shadow(0 4px 12px rgba(229,184,92,.4));}
.crest h2{font-family:var(--serif);font-size:24px;letter-spacing:.05em;margin-top:6px;
  background:linear-gradient(90deg,var(--gold),#fff3d6,var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent;}
.crest-sub{font-size:12px;color:var(--muted);margin-top:8px;font-style:italic;line-height:1.5;padding:0 8px;}

.challenge{margin-top:18px;background:linear-gradient(165deg,#20242e,#171a22);border:1px solid var(--line);
  border-radius:16px;padding:14px 15px;display:flex;align-items:center;gap:12px;}
.challenge .em{font-size:23px;}
.challenge .t{font-size:15px;font-weight:700;}
.challenge .d{font-size:11px;color:var(--muted);margin-top:2px;}

.seclabel-sea,.seclabel-gold{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:20px 2px 11px;
  display:flex;align-items:center;gap:8px;font-weight:700;}
.seclabel-sea{color:var(--sea);}
.seclabel-gold{color:var(--gold);}
.seclabel-sea::after,.seclabel-gold::after{content:"";flex:1;height:1px;}
.seclabel-sea::after{background:linear-gradient(90deg,var(--sea-deep),transparent);}
.seclabel-gold::after{background:linear-gradient(90deg,var(--bronze),transparent);}

.siren{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 13px;margin-bottom:10px;transition:.25s;}
.siren .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.siren .txt{font-size:13.5px;color:#dcdfe8;flex:1;line-height:1.4;}
.siren .toggle{display:flex;background:#10131a;border:1px solid var(--line);border-radius:999px;padding:3px;flex:0 0 auto;}
.siren .toggle button{background:none;border:none;font-family:inherit;font-size:10px;font-weight:800;padding:6px 8px;
  border-radius:999px;cursor:pointer;color:var(--muted);white-space:nowrap;}
.siren .toggle .mast.sel{background:linear-gradient(100deg,var(--gold-2),var(--bronze));color:#1a1408;}
.siren .toggle .real.sel{background:var(--sea-deep);color:#d9fbf9;}
.siren .cond{font-size:11px;color:var(--sea);margin-top:9px;padding-top:9px;border-top:1px dashed var(--line);line-height:1.4;}
.siren.is-real{border-color:var(--sea-deep);}
.siren.is-mast{border-color:rgba(229,184,92,.32);}
.siren .cond:empty{display:none;}
.siren-del{margin-top:9px;background:none;border:none;color:#5d6373;font-family:inherit;font-size:11px;cursor:pointer;padding:2px 0;}
.siren-del:hover{color:#e0644a;}
.sirena-empty{font-size:12.5px;color:var(--muted);line-height:1.5;background:var(--surface);border:1px dashed var(--line);
  border-radius:13px;padding:14px;font-style:italic;}

.sirena-add{display:flex;gap:8px;margin-top:4px;}
.sirena-add input{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px;
  color:var(--text);font-family:inherit;font-size:14px;outline:none;}
.sirena-add input:focus{border-color:var(--sea);}
.sirena-add button{flex:0 0 auto;width:48px;border:1px solid var(--sea-deep);background:rgba(43,183,179,.1);
  color:var(--sea);border-radius:13px;font-size:22px;cursor:pointer;}
.sirena-add button:active{transform:scale(.94);}

.palabra-input{width:100%;background:rgba(229,184,92,.06);border:1px solid rgba(229,184,92,.25);border-radius:14px;
  padding:14px;color:#f1e4c4;font-family:var(--serif);font-style:italic;font-size:14px;line-height:1.5;
  outline:none;resize:vertical;}
.palabra-input:focus{border-color:var(--gold);}

.btn-seal{margin-top:22px;width:100%;border:none;cursor:pointer;font-family:inherit;font-size:16px;font-weight:800;
  letter-spacing:.04em;padding:17px;border-radius:16px;color:#1a1408;
  background:linear-gradient(100deg,var(--gold),var(--gold-2));box-shadow:0 14px 30px rgba(229,184,92,.28);}
.btn-seal:active{transform:scale(.97);}
.pacto-wrap .btn-ghost{margin-top:12px;}

/* ---- El Veredicto ---- */
#view-veredicto{background:radial-gradient(520px 380px at 50% 18%, rgba(43,183,179,.1), transparent 65%);}
.vere-wrap{flex:1;display:flex;flex-direction:column;padding-top:6px;}
.waves{font-size:28px;text-align:center;letter-spacing:.2em;animation:sway 3s ease-in-out infinite;}
@keyframes sway{0%,100%{transform:translateX(-4px);}50%{transform:translateX(4px);}}
.vere-title{text-align:center;font-size:12px;letter-spacing:.2em;color:var(--sea);text-transform:uppercase;margin-top:8px;}
.siren-call{margin-top:16px;background:linear-gradient(165deg,#16242a,#101820);border:1px solid var(--sea-deep);
  border-radius:18px;padding:18px;text-align:center;}
.siren-call .lbl{font-size:11px;color:var(--sea);letter-spacing:.1em;text-transform:uppercase;}
.siren-call .ex{font-family:var(--serif);font-size:18px;font-style:italic;color:#cfeeec;margin-top:8px;line-height:1.4;}
.invoke{text-align:center;font-family:var(--serif);font-size:21px;letter-spacing:.04em;margin:24px 0 4px;
  background:linear-gradient(90deg,var(--gold),#fff3d6,var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent;}
.invoke-sub{text-align:center;font-size:12px;color:var(--muted);}
.ruling{margin-top:18px;background:rgba(229,184,92,.07);border:1px solid rgba(229,184,92,.3);border-radius:18px;padding:18px;}
.verdict-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.05em;color:#1a1408;
  background:linear-gradient(100deg,var(--gold),var(--gold-2));padding:5px 11px;border-radius:999px;}
.yourword{font-family:var(--serif);font-size:15px;font-style:italic;color:#f1e4c4;line-height:1.55;margin-top:14px;}
.vere-space{flex:1;min-height:18px;}
.btn-tie{width:100%;border:none;cursor:pointer;font-family:inherit;font-size:16px;font-weight:800;padding:17px;border-radius:16px;
  color:#fff;background:linear-gradient(100deg,var(--fire),var(--fire-2));box-shadow:0 14px 30px rgba(255,46,99,.32);
  animation:breathe 2.6s ease-in-out infinite;}
@keyframes breathe{0%,100%{transform:translateY(0);}50%{transform:translateY(-2px);}}
.btn-tie:active{transform:scale(.97);}
.btn-legit{width:100%;margin-top:10px;background:none;border:1px solid var(--sea-deep);color:var(--sea);
  font-family:inherit;font-size:13px;font-weight:700;padding:14px;border-radius:14px;cursor:pointer;}
.btn-legit:active{transform:scale(.97);}
