/* In Via: la app vive en Noche (decisión de marca): un solo tema oscuro, con todos los colores explícitos.
   Layout: una columna de teléfono (máx. 560px), tarjetas grandes y un dock flotante abajo. */
:root{
  /* Paleta IN VIA · «Noche y brasa». Un solo sistema para IN VIA y para IN VIA Colab.
     Fondo cálido casi negro (no negro puro), superficies en tres alturas, texto hueso,
     brasa (el color de la llama del logo) para la acción principal y lo seleccionado,
     salvia para lo que se cumplió con paz, y hueso claro como acento propio de Colab. */
  --noche:#0E0D0C; --carbon:#191715; --fill:#25221F; --line:#35312C; --line2:#4A453E;
  --hueso:#F4F0EA; --hueso2:#CEC7BC; --ceniza:#968E83;
  --brasa:#E8834A; --brasa-d:#C96A33; --brasa-soft:rgba(232,131,74,.13); --brasa-line:rgba(232,131,74,.38);
  --colab:#E9E3D8; --colab-soft:rgba(233,227,216,.09); --colab-line:rgba(233,227,216,.22);
  --ok:#8FC3A2; --err:#F0A08E; --err-bg:#3A1E19;
  --oro:var(--colab);
  --r1:14px; --r2:20px; --r3:26px;
  --display:"Sora","Inter",system-ui,sans-serif; --ui:"Inter",system-ui,-apple-system,sans-serif; --palabra:"Fraunces",Georgia,serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{background:var(--noche);color:var(--hueso)}
body{font:400 16px/1.5 var(--ui);-webkit-font-smoothing:antialiased;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
body.con-hoja{overflow:hidden}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brasa);outline-offset:2px;border-radius:12px}
.i{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;letter-spacing:-.02em}
h1{font-weight:600;font-size:clamp(28px,7.5vw,36px);line-height:1.12}
h2{font-weight:600;font-size:20px}
h3{font-weight:600;font-size:19px}
p{margin:0}
.eyebrow{font:600 12px var(--ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ceniza)}
.sub{color:var(--hueso2);font-size:16px}
.small{font-size:14px;color:var(--ceniza)}
.small.ok{color:var(--ok)}
.nota{font-size:14px;color:var(--ceniza);margin:10px 0}
.wm{font-family:var(--display);font-weight:600;letter-spacing:-.03em}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--hueso);color:var(--noche);font:600 16px var(--ui);padding:15px 26px;cursor:pointer;text-decoration:none;min-height:52px}
.btn:disabled{opacity:.35;cursor:default}
.btn.ghost{background:var(--fill);color:var(--hueso)}
.btn.sm{min-height:42px;padding:10px 18px;font-size:15px}
.btn.oro{background:var(--colab);color:var(--noche)}
.btn.danger{background:var(--err-bg);color:#FFD9D2}
.btn.ghost.danger{background:var(--fill);color:var(--err)}
.icon-btn{width:42px;height:42px;border-radius:50%;border:0;background:var(--fill);display:grid;place-items:center;cursor:pointer}
.icon-btn.flip .i{transform:scaleX(-1)}
.link{background:none;border:0;color:var(--ceniza);font:500 14px var(--ui);cursor:pointer;padding:6px 0;text-decoration:underline;text-underline-offset:3px}
.link.danger{color:var(--err)}
.row{display:flex;gap:10px;flex-wrap:wrap}

/* bienvenida */
.splash{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px;padding-block:40px;position:relative;max-width:560px;margin:0 auto}
.splash::before{content:"";position:absolute;left:50%;top:22%;width:420px;height:420px;max-width:120vw;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(232,131,74,.28),rgba(232,131,74,0));pointer-events:none}
.splash svg{position:relative}
.splash .wm{font-size:64px;line-height:1;margin:-6px 0 0;position:relative}
.emaus{font:italic 400 19px/1.45 var(--palabra);color:var(--hueso2);max-width:30ch}
.emaus span{display:block;margin-top:6px;font:500 13px var(--ui);font-style:normal;color:var(--ceniza)}
.carga{color:var(--ceniza);font-size:14px}

/* registro */
.onb{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-block:14px 24px}
.onb-top{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px}
.dots{display:flex;gap:6px;justify-content:center}
.dots span{width:7px;height:7px;border-radius:50%;background:var(--line)}
.dots span.on{background:var(--hueso2)}.dots span.now{background:var(--brasa);width:22px;border-radius:999px}
.onb-body{flex:1;display:flex;flex-direction:column;gap:12px;padding-top:9vh}
.onb-body h1{margin-top:4px}
.onb-foot{padding-top:24px}.onb-foot .btn{width:100%}
.opciones{display:grid;gap:10px;margin-top:18px}
.opciones.multi{grid-template-columns:1fr 1fr}
@media (max-width:380px){.opciones.multi{grid-template-columns:1fr}}
.op{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1.5px solid transparent;background:var(--carbon);border-radius:18px;padding:17px 18px;font:500 16px/1.3 var(--ui);cursor:pointer;min-height:60px}
.op.on{border-color:var(--brasa);background:#2A1C14}
.op .i{color:var(--brasa)}
.campo{width:100%;background:var(--carbon);border:1.5px solid var(--line);border-radius:18px;padding:16px 18px;color:var(--hueso);font:500 18px var(--ui);margin-top:18px}
.campo:focus{border-color:var(--brasa);outline:0}
.campo.grande{font:600 24px var(--display)}

/* resultado */
.res{max-width:560px;margin:0 auto;padding-block:48px 40px;display:flex;flex-direction:column;gap:18px;position:relative}
.res-glow{position:absolute;left:-10%;top:-40px;width:340px;height:340px;background:radial-gradient(closest-side,rgba(232,131,74,.25),rgba(232,131,74,0));pointer-events:none}
.res>*{position:relative}
.cita-g{margin:0;font:italic 400 20px/1.45 var(--palabra);color:var(--hueso)}
.cita-g span{display:block;margin-top:6px;font:500 13px var(--ui);font-style:normal;color:var(--ceniza)}
.card{background:var(--carbon);border-radius:24px;padding:20px;display:grid;gap:12px}
.card.oro{grid-template-columns:44px 1fr;align-items:center;background:var(--carbon)}
.card.oro img{width:44px;height:44px;object-fit:contain}
.mini{display:flex;gap:12px;align-items:center}
.mini .i{color:var(--brasa)}
.mini span{display:grid}.mini small{color:var(--ceniza);font-size:13px}
.res .btn{margin-top:6px}

/* estructura */
.shell{max-width:560px;margin:0 auto;padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
.top{display:flex;justify-content:space-between;align-items:center;padding-block:16px 6px}
.brand{display:flex;align-items:center;gap:8px}.brand .wm{font-size:22px}
.modo{font-size:12px;color:var(--ceniza)}
.main{display:flex;flex-direction:column;gap:26px;padding-top:10px}
.hero{display:grid;gap:8px;position:relative}
.hero::before{content:"";position:absolute;left:-40px;top:-60px;width:260px;height:220px;background:radial-gradient(closest-side,rgba(232,131,74,.16),rgba(232,131,74,0));pointer-events:none;z-index:-1}
.lit{display:flex;gap:8px;align-items:center;color:var(--hueso2);font-size:15px}
.dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--ceniza)}
.dot.c-verde{background:#3FA46A}.dot.c-morado{background:#8B5CC7}.dot.c-blanco{background:#F2EEE6}.dot.c-rojo{background:#D9473B}.dot.c-rosa{background:#E59BB5}
.blk{display:grid;gap:14px}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:0 max(12px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 12px) max(12px,env(safe-area-inset-left,0px));pointer-events:none}
.dock-in{max-width:520px;margin:0 auto;display:grid;background:rgba(25,23,21,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:28px;padding:6px;pointer-events:auto}
.tab{border:0;background:none;color:var(--ceniza);display:grid;justify-items:center;gap:3px;padding:8px 2px;border-radius:22px;cursor:pointer;font:600 11px var(--ui)}
.tab[aria-current="page"]{color:var(--hueso);background:var(--fill)}
.tab[aria-current="page"] .i{color:var(--brasa)}
.tab .globo{width:22px;height:22px;object-fit:contain}

/* tarjetas de oración */
.plist{display:grid;gap:10px}
.pcard{display:grid;grid-template-columns:52px 1fr 20px;gap:14px;align-items:center;text-align:left;background:var(--carbon);border:0;border-radius:24px;padding:16px;cursor:pointer;width:100%}
.pcard.ahora{background:linear-gradient(135deg,#2E1D13,var(--carbon) 70%);box-shadow:inset 0 0 0 1px rgba(232,131,74,.35)}
.pc-ic{width:52px;height:52px;border-radius:50%;background:var(--brasa);color:var(--noche);display:grid;place-items:center}
.pc-ic .i{width:24px;height:24px;stroke-width:1.8}
.pcard.hecha .pc-ic{background:var(--fill);color:var(--ok)}
.pcard.hecha b{color:var(--hueso2)}
.pc-t{display:grid;gap:2px;min-width:0}
.pc-t small{font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ceniza)}
.pc-t b{font:600 18px/1.25 var(--display);letter-spacing:-.01em}
.pc-t span{font-size:14px;color:var(--ceniza)}
.chev{color:var(--ceniza);width:18px;height:18px}
.pcard.sm{grid-template-columns:44px 1fr 18px;padding:12px 14px;border-radius:20px}
.pcard.sm .pc-ic{width:44px;height:44px;background:var(--fill);color:var(--brasa)}
.pcard.sm b{font-size:16px}
.ev-card{display:grid;gap:6px;text-align:left;background:var(--carbon);border:0;border-radius:24px;padding:20px;cursor:pointer;width:100%}
.ev-card b{font:600 22px var(--display)}
.ev-card span:not(.eyebrow){font:400 17px/1.5 var(--palabra);color:var(--hueso2)}
.ev-card em{font:600 14px var(--ui);font-style:normal;color:var(--brasa);display:flex;align-items:center;gap:4px;margin-top:4px}
.ev-card em .i{width:16px;height:16px}
.invita{background:radial-gradient(120% 120% at 0% 0%,#3A2416,var(--carbon) 60%);border-radius:24px;padding:22px;display:grid;gap:10px;border:1px solid rgba(232,131,74,.3)}
.invita p:not(.eyebrow){color:var(--hueso2)}
.colab-strip{display:grid;grid-template-columns:40px 1fr 18px;gap:12px;align-items:center;background:var(--carbon);border-radius:20px;padding:12px 16px;text-decoration:none;color:var(--hueso);border:1px solid var(--colab-line)}
.colab-strip img{width:40px;height:40px;object-fit:contain}
.colab-strip span{display:grid}.colab-strip small{color:var(--hueso2);font-size:13px}
.det{background:var(--carbon);border-radius:20px;padding:4px 18px}
.det summary{cursor:pointer;font:600 16px var(--ui);padding:14px 0;list-style:none;display:flex;justify-content:space-between}
.det summary::-webkit-details-marker{display:none}
.det summary::after{content:"+";color:var(--brasa);font-size:20px;line-height:1}
.det[open] summary::after{content:"–"}
.det .pray{padding-bottom:14px}

/* camino */
.ruta{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.ruta::before{content:"";position:absolute;left:21px;top:24px;bottom:24px;width:2px;background:linear-gradient(var(--brasa),var(--line))}
.st{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:12px 0;position:relative}
.st-dot{width:44px;height:44px;border-radius:50%;background:var(--carbon);border:2px solid var(--line);display:grid;place-items:center;font:600 16px var(--display);color:var(--ceniza);position:relative}
.st.pas .st-dot{background:var(--fill);border-color:var(--brasa);color:var(--brasa)}
.st.aqui .st-dot{background:var(--brasa);border-color:var(--brasa);color:var(--noche);box-shadow:0 0 0 6px rgba(232,131,74,.18)}
.st b{font:600 18px var(--display)}.st small{display:block;color:var(--ceniza);font-size:13px}
.st p{margin-top:6px;color:var(--hueso2);font-size:15px}
.st:not(.aqui):not(.pas) b{color:var(--ceniza)}
.cita-s{color:var(--ceniza);font-size:14px;font-style:normal}

/* aprende y diario */
.alist{display:grid;gap:10px}
.acard{display:grid;gap:4px;text-align:left;background:var(--carbon);border:0;border-radius:22px;padding:18px;cursor:pointer;width:100%}
.acard small{font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--brasa)}
.acard b{font:600 18px var(--display)}.acard span{color:var(--ceniza);font-size:14px}
.acard.prox small{color:var(--ceniza)}
.escribir{display:grid;gap:10px;background:var(--carbon);border-radius:22px;padding:16px}
.escribir textarea,.fld textarea{width:100%;background:var(--fill);border:1.5px solid transparent;border-radius:14px;padding:12px 14px;color:var(--hueso);font:400 16px/1.45 var(--ui);resize:vertical}
.escribir textarea:focus,.fld textarea:focus{border-color:var(--brasa);outline:0}
.escribir .btn{justify-self:end}
.nlist{display:grid;gap:10px}
.ncard{background:var(--carbon);border-radius:20px;padding:16px 18px;display:grid;gap:6px}
.ncard header{display:grid;gap:2px}.ncard header small{color:var(--ceniza);font-size:12px;display:block}.ncard header small::first-letter{text-transform:uppercase}
.ncard header b{font:600 16px var(--display)}
.ncard p{color:var(--hueso2);font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}
.nact{display:flex;gap:14px;align-items:center;justify-content:flex-end}
.vacio{display:grid;justify-items:center;gap:10px;text-align:center;color:var(--ceniza);padding:30px 20px;background:var(--carbon);border-radius:22px}
.vacio .i{width:30px;height:30px;color:var(--brasa)}
.etapas{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:0;border-radius:999px;background:var(--fill);color:var(--hueso);padding:10px 15px;font:600 14px var(--ui);cursor:pointer}
.chip.on{background:var(--brasa);color:var(--noche)}
.kvs{display:grid;gap:0;background:var(--carbon);border-radius:20px;padding:4px 18px}
.kv{display:grid;gap:2px;padding:12px 0;border-bottom:1px solid var(--line)}.kv:last-child{border-bottom:0}
.kv span{font-size:13px;color:var(--ceniza)}.kv b{font-weight:500}
#borrar-z{display:grid;gap:10px}

/* colab */
.colab{display:grid;justify-items:center;text-align:center;gap:16px;padding-block:30px;position:relative}
.colab-glow{position:absolute;top:0;left:50%;width:320px;height:320px;transform:translateX(-50%);background:radial-gradient(closest-side,var(--colab-soft),rgba(233,227,216,0));pointer-events:none}
.colab>*{position:relative}
.globo-xl{width:120px;height:120px;object-fit:contain}
.colab .btn{width:100%;max-width:340px}

/* hoja */
.hoja{position:fixed;inset:0;z-index:40;background:var(--noche);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);animation:sube .22s ease-out}
@keyframes sube{from{transform:translateY(16px);opacity:.6}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.hoja{animation:none}}
.hoja-top{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px));max-width:600px;width:100%;margin:0 auto}
.hoja-top>span:first-of-type{text-align:center;font:600 14px var(--ui);color:var(--ceniza)}
.h-dots{display:flex;gap:4px;min-width:42px;justify-content:flex-end}.h-dots i{width:6px;height:6px;border-radius:50%;background:var(--line)}.h-dots i.on{background:var(--brasa)}
.hoja-body{flex:1;overflow-y:auto;padding:10px max(16px,env(safe-area-inset-right,0px)) 30px max(16px,env(safe-area-inset-left,0px));max-width:600px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.hoja-foot{display:flex;gap:10px;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 14px) max(16px,env(safe-area-inset-left,0px));max-width:600px;width:100%;margin:0 auto}
.hoja-foot .btn{flex:1}
.paso-t{font-size:clamp(26px,7vw,32px)}
.paso{display:grid;gap:12px;font-size:17px;color:var(--hueso2)}
.paso b{color:var(--hueso)}
.paso ol,.paso ul{margin:0;padding-left:22px;display:grid;gap:8px}
.paso h4{margin:10px 0 0;font:600 17px var(--display);color:var(--hueso)}
.art .ref,.ref{font-size:13px;color:var(--ceniza)}
.pray{display:grid;gap:4px;font:400 19px/1.55 var(--palabra);color:var(--hueso);background:var(--carbon);border-radius:20px;padding:16px 18px}
.det .pray{background:none;padding:0 0 14px}
.mist{list-style:decimal}.mist span{color:var(--brasa);font-size:14px}
.cita{color:var(--brasa);font:600 14px var(--ui)}
.cuenta{font-size:14px;color:var(--ceniza)}
.beads{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:6px 0}
.bead{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);background:none;cursor:pointer}
.bead.on{background:var(--brasa);border-color:var(--brasa)}
.timer{display:inline-flex;gap:10px;align-items:center;align-self:flex-start;border:1px solid var(--line);background:var(--carbon);border-radius:999px;padding:12px 18px;font:600 15px var(--ui);cursor:pointer;font-variant-numeric:tabular-nums}
.timer .i{color:var(--brasa)}
.fld{display:grid;gap:6px}.fld span{font:600 13px var(--ui);color:var(--ceniza)}
.lect{background:var(--carbon);border-radius:22px;padding:18px}
.lect-h{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.cite{color:var(--brasa);font:600 14px var(--ui)}
.lect-i{font:italic 400 15px var(--palabra);color:var(--ceniza);margin-top:8px}
.palabra{margin-top:8px;display:grid;gap:6px}
.palabra .v{font:400 18px/1.62 var(--palabra);color:var(--hueso)}
.palabra sup{font:600 10px var(--ui);color:var(--brasa);margin-right:4px}
.cap{font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ceniza);margin-top:8px}
.resp{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:15px;color:var(--hueso2)}
.fuente{font-size:12px;color:var(--ceniza)}
.dia-nav{display:grid;grid-template-columns:42px 1fr 42px;gap:12px;align-items:center;text-align:center}
.dia-nav b{display:block;font:600 17px var(--display)}.dia-nav b::first-letter{text-transform:uppercase}.dia-nav small{color:var(--ceniza);font-size:13px}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
#toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 100px);transform:translate(-50%,20px);opacity:0;background:var(--hueso);color:var(--noche);font:600 14px var(--ui);padding:12px 18px;border-radius:999px;z-index:60;transition:.25s;pointer-events:none;max-width:calc(100vw - 40px);text-align:center}
#toast.on{opacity:1;transform:translate(-50%,0)}
/* Hoy, más claro */
.acomp{font:italic 400 17px/1.45 var(--palabra);color:var(--hueso2);margin-top:4px}
.ahora-card{display:grid;gap:6px;text-align:left;border:0;border-radius:28px;padding:22px;cursor:pointer;width:100%;color:var(--hueso);background:radial-gradient(120% 140% at 0% 0%,#4A2A17 0%,#2A1A12 38%,var(--carbon) 75%);box-shadow:inset 0 0 0 1px rgba(232,131,74,.35)}
.ah-ic{width:60px;height:60px;border-radius:50%;background:var(--brasa);color:var(--noche);display:grid;place-items:center;margin:10px 0 6px}
.ah-ic .i{width:28px;height:28px;stroke-width:1.8}
.ahora-card b{font:600 26px/1.15 var(--display);letter-spacing:-.02em}
.ahora-card>span:not(.eyebrow):not(.ah-ic){color:var(--hueso2);font-size:15px}
.ahora-card em,.paso-card em{display:flex;align-items:center;gap:4px;font:600 15px var(--ui);font-style:normal;color:var(--brasa);margin-top:8px}
.ahora-card em .i,.paso-card em .i{width:16px;height:16px}
.listo-card{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;background:var(--carbon);border-radius:24px;padding:20px}
.listo-card>.i{width:44px;height:44px;padding:10px;border-radius:50%;background:var(--fill);color:var(--ok)}
.listo-card b{font:600 18px var(--display)}.listo-card p{color:var(--ceniza);font-size:14px;margin-top:4px}
.prop-card{background:var(--carbon);border-radius:22px;padding:16px 18px;display:grid;gap:6px;border-left:3px solid var(--brasa)}
.prop-card p{font:italic 400 18px/1.45 var(--palabra);color:var(--hueso)}
.ev-v{font:400 18px/1.5 var(--palabra);color:var(--hueso)}
.paso-card{display:grid;gap:8px;text-align:left;background:var(--carbon);border:0;border-radius:24px;padding:18px 20px;cursor:pointer;width:100%;color:var(--hueso)}
.paso-card b{font:600 18px var(--display)}
.paso-card.listo{box-shadow:inset 0 0 0 1.5px var(--brasa)}
.pts{display:flex;gap:6px}.pts i{width:22px;height:6px;border-radius:999px;background:var(--line)}.pts i.on{background:var(--brasa)}
/* subir de etapa */
.subir{background:var(--carbon);border-radius:26px;padding:22px 20px;display:grid;gap:14px}
.subir.listo{box-shadow:inset 0 0 0 1.5px var(--brasa)}
.req{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.req-h{display:flex;gap:10px;align-items:center}.req-h .i{color:var(--brasa)}.req-h .i.ok{color:var(--ok)}
.req .pcard.sm{background:var(--fill)}
.req .pcard.sm .pc-ic{background:var(--carbon)}
.subir .btn{width:100%}
.subir .link{justify-self:start}
.center{text-align:center}
/* resultado: por qué */
.porque{background:var(--carbon);border-radius:22px;padding:18px;display:grid;gap:8px}
.porque ul{margin:0;padding-left:20px;display:grid;gap:4px;color:var(--hueso2);font-size:15px}
/* entrar */
.entrar{gap:18px}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--carbon);border-radius:999px;padding:4px;width:100%;max-width:380px;position:relative}
.seg button{border:0;background:none;color:var(--ceniza);border-radius:999px;padding:11px 8px;font:600 14px var(--ui);cursor:pointer}
.seg button.on{background:var(--fill);color:var(--hueso)}
.auth{display:grid;gap:12px;width:100%;max-width:380px;text-align:left;position:relative}
.auth .campo{margin-top:0}
.auth .btn{width:100%}
.amsg{font-size:14px;color:var(--err);min-height:1.4em}.amsg.ok{color:var(--ok)}
.auth .link{justify-self:center}
.legal{max-width:32ch;position:relative}
.consent{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:13px;line-height:1.45;color:var(--hueso2)}
.consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--brasa)}
a{color:var(--brasa)}
#cuenta-z{display:grid;gap:10px}
.write-card{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;width:100%;text-align:left;border:0;cursor:pointer;padding:16px 18px;border-radius:24px;background:var(--carbon);color:var(--hueso);box-shadow:inset 0 0 0 1px var(--line)}
.write-card>.i{width:48px;height:48px;padding:12px;border-radius:50%;background:var(--fill);color:var(--brasa)}
.write-card b{display:block;font:600 18px var(--display)}.write-card small{display:block;color:var(--ceniza);font-size:14px}
/* Colab */
button.colab-strip{width:100%;text-align:left;cursor:pointer;font:inherit}
.colab-h{display:flex;gap:14px;align-items:center}
.globo-md{width:56px;height:56px;object-fit:contain;flex:none}
.cseg{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -2px;padding:2px}
.cseg::-webkit-scrollbar{display:none}
.cseg button{flex:none;border:0;border-radius:999px;background:var(--carbon);color:var(--ceniza);padding:10px 14px;font:600 14px var(--ui);cursor:pointer}
.cseg button.on{background:var(--hueso);color:var(--noche)}
.clist{display:grid;gap:2px}
.crow{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center;padding:8px 0}
.ccheck{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);background:none;display:grid;place-items:center;cursor:pointer;padding:0;color:var(--noche)}
.ccheck .i{width:14px;height:14px;stroke-width:2.6;opacity:0}
.crow.on .ccheck{background:var(--oro);border-color:var(--oro)}
.crow.on .ccheck .i{opacity:1}
.cinfo{border:0;background:none;text-align:left;color:var(--hueso);padding:0;cursor:pointer;display:grid;gap:1px}
.cinfo b{font:500 16px var(--ui)}.crow.on .cinfo b{color:var(--ceniza)}
.cinfo span{font-size:12.5px;color:var(--ceniza)}
.cform{display:grid;gap:12px}
.cform .campo{margin-top:0}
.cform .btn{justify-self:stretch}
.campo[type=date]{font:500 16px var(--ui);color-scheme:dark}
.chips.wrap{flex-wrap:wrap}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:380px){.dos{grid-template-columns:1fr}}
.addrow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.addrow .campo{margin:0}
.crow.tema{grid-template-columns:12px 1fr auto}
.dot-b{width:8px;height:8px;border-radius:50%;background:var(--oro)}
.ttxt{font-size:15px;color:var(--hueso);overflow-wrap:anywhere}
.fdet summary{list-style:none;cursor:pointer;display:grid;gap:2px}
.fdet summary::-webkit-details-marker{display:none}
.fdet summary small{color:var(--ceniza);font-size:12px}
.fdet summary b{font:600 16px var(--display)}
.fdet[open] summary{margin-bottom:8px}
.fdet ul{margin:0;padding-left:20px;color:var(--hueso2)}
.oro-card{background:var(--carbon);box-shadow:inset 0 0 0 1px var(--colab-line)}
.oro-card p:not(.eyebrow):not(.small){font:italic 400 18px/1.5 var(--palabra);color:var(--hueso)}
.fdet summary small::first-letter{text-transform:uppercase}.fdet summary small{display:block}

/* ===== portada ===== */
.portada{min-height:100vh;min-height:100dvh;max-width:560px;margin:0 auto;display:flex;flex-direction:column;padding-block:18px 28px;position:relative;overflow:hidden}
.portada>*{position:relative}
.pt-glow{position:absolute!important;left:50%;top:34%;width:520px;height:520px;max-width:140vw;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(232,131,74,.30),rgba(232,131,74,.06) 60%,rgba(232,131,74,0));pointer-events:none;animation:respira 7s ease-in-out infinite}
.pt-camino{position:absolute!important;inset:auto -20% 0 -20%;height:46%;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(245,243,239,.05) 46px 47px);
  -webkit-mask:linear-gradient(to top,var(--noche),transparent);mask:linear-gradient(to top,var(--noche),transparent);transform:perspective(320px) rotateX(58deg);transform-origin:bottom}
@keyframes respira{0%,100%{opacity:.75;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}
@media (prefers-reduced-motion:reduce){.pt-glow{animation:none}}
.pt-top{display:flex;align-items:center;gap:8px}.pt-top .wm{font-size:20px}
.pt-centro{flex:1;display:flex;flex-direction:column;justify-content:center;gap:18px;padding-block:28px}
.pt-llama svg{width:84px;height:auto}
.portada h1{font-size:clamp(34px,9.5vw,48px);line-height:1.04;letter-spacing:-.035em}
.pt-sub{color:var(--hueso2);font-size:17px;max-width:32ch;margin:0}
.pt-pie{display:grid;gap:10px}.pt-pie .btn{width:100%}
.pt-emaus{margin:14px 0 0;text-align:center;font:italic 400 15px/1.4 var(--palabra);color:var(--ceniza)}
.pt-emaus span{font:500 12px var(--ui);font-style:normal;margin-left:4px}

/* ===== registro y verificación ===== */
.barra-prog{height:4px;border-radius:99px;background:var(--fill);overflow:hidden}
.barra-prog i{display:block;height:100%;background:var(--brasa);border-radius:99px;transition:width .3s}
.onb-body .fld{margin-top:10px}.onb-body .fld .campo{margin-top:0}
.onb-foot.col{display:grid;gap:10px}
.tipos{display:grid;gap:10px;margin-top:14px}
.tipo{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;text-align:left;background:var(--carbon);border:1.5px solid transparent;border-radius:20px;padding:14px 16px;cursor:pointer;color:var(--hueso);font:inherit;min-height:76px}
.tipo b{display:block;font:600 16px var(--ui)}.tipo small{display:block;color:var(--ceniza);font-size:14px;margin-top:2px}
.tipo.on{border-color:var(--brasa);background:#2A1C14}
.tipo.colabt.on{border-color:var(--hueso2);background:var(--colab-soft)}
.tp-ic{width:48px;height:48px;border-radius:14px;background:var(--fill);display:grid;place-items:center}
.tp-ic img{width:32px;height:32px;object-fit:contain}.tp-ic .i{color:var(--brasa)}
.tipo>.i{color:var(--brasa)}
.revisa{display:flex;flex-direction:column;gap:12px}.revisa .i.grande{width:44px;height:44px;color:var(--brasa)}
.verif .onb-body{padding-top:5vh}
.globo-sm{width:28px;height:28px;object-fit:contain;display:block;margin-left:auto}
.campo.codigo{font:600 22px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;text-align:center}
.verif .cform{display:grid;gap:12px;margin-top:6px}
.vf-alt{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:auto;padding-top:24px}
.link.center{justify-self:center;align-self:center}
.grande-t{min-height:110px;font-size:17px;resize:vertical}
.colab-onb .op.on{border-color:var(--hueso2);background:var(--colab-soft)}
.colab-onb .barra-prog i{background:var(--hueso)}

/* ===== Hoy: momentos del día y crecer ===== */
.mlist{display:grid;gap:2px;background:var(--carbon);border-radius:22px;padding:6px;margin-top:10px}
.mrow{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;background:none;border:0;border-radius:16px;padding:10px;text-align:left;color:var(--hueso);font:inherit;cursor:pointer;min-height:56px}
.mrow:hover{background:var(--fill)}
.m-ic{width:38px;height:38px;border-radius:50%;background:var(--fill);display:grid;place-items:center}.m-ic .i{width:19px;height:19px}
.m-t small{display:block;font-size:12px;color:var(--ceniza);letter-spacing:.02em}.m-t b{display:block;font:500 15px/1.3 var(--ui)}
.m-now{font:600 11px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--noche);background:var(--brasa);border-radius:99px;padding:4px 9px}
.mrow.ahora .m-ic{background:#2A1C14;color:var(--brasa)}
.mrow.hecha .m-t b{color:var(--ceniza);text-decoration:line-through;text-decoration-color:var(--line)}
.mrow.hecha .m-ic{color:var(--ok)}
.crecer{background:linear-gradient(160deg,#2A1C14,var(--carbon) 70%);border-radius:24px;padding:20px;display:grid;gap:10px;margin-top:16px}
.crecer h3{font-size:19px}.crecer .btn{justify-self:start}
.ex-ritmo .mrow{cursor:default}.ex-ritmo .m-ic{border:0;cursor:pointer;color:var(--hueso)}
.m-now.g{background:var(--fill);color:var(--hueso);border:0;cursor:pointer;text-transform:none;letter-spacing:0;font-size:13px;padding:6px 12px}
.tipo:not(.colabt) .tp-ic{background:radial-gradient(circle at 50% 70%,rgba(232,131,74,.35),rgba(232,131,74,.08) 70%),var(--fill)}
.tp-ic svg:not(.i){width:auto;height:32px}
.tipo.colabt .tp-ic{background:radial-gradient(circle at 50% 50%,rgba(245,243,239,.14),rgba(245,243,239,.03) 70%),var(--fill)}
.pt-marca{display:flex;align-items:center;gap:14px}
.pt-marca .pt-llama svg{width:72px;height:auto;display:block}
.pt-marca .pt-wm{font-size:clamp(44px,13vw,58px);line-height:1;letter-spacing:-.04em}
.pt-verso{font:italic 400 19px/1.45 var(--palabra);color:var(--hueso2);max-width:30ch}
.pt-verso span{display:block;margin-top:6px;font:500 13px var(--ui);font-style:normal;color:var(--ceniza)}

/* ===== IN VIA normal: estructura nueva ===== */
html,body{overflow-x:hidden;overscroll-behavior-y:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
input,textarea,select{font-size:16px}
.ajustes-btn{display:flex;align-items:center;gap:6px;background:var(--fill);border:0;border-radius:99px;padding:8px 12px;color:var(--hueso2);font:600 13px var(--ui);cursor:pointer}
.ajustes-btn .i{width:17px;height:17px}
.dock-in.dock5{grid-template-columns:repeat(4,1fr) 56px}
.tab-iv{align-content:center}.tab-iv svg{width:auto;height:26px}
.invita{background:linear-gradient(160deg,#2A1C14,var(--carbon) 72%);border:1px solid rgba(232,131,74,.28);border-radius:28px;padding:24px 22px;display:grid;gap:10px;justify-items:start}
.invita h2{font-size:26px;line-height:1.15}.invita .inv-m{color:var(--hueso2);margin:0}
.invita .btn{min-width:160px}.invita .small{margin:2px 0 0}
.invita.hecha{background:var(--carbon);border-color:var(--line)}
.sec2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sec-b{display:flex;align-items:center;gap:10px;background:var(--carbon);border:0;border-radius:20px;padding:16px 14px;color:var(--hueso);font:600 15px/1.25 var(--ui);text-align:left;cursor:pointer;min-height:64px}
.sec-b .i{flex:none;width:22px;height:22px;color:var(--brasa)}
.tesigo{background:var(--carbon);border-radius:24px;padding:18px 18px 16px;display:grid;gap:10px}
.tesigo h3{font-size:18px;line-height:1.3}.ts-op{display:flex;flex-wrap:wrap;gap:8px}.ts-op .chip{white-space:normal;text-align:left}
.ts-r{margin:0;color:var(--hueso2)}.ts-r b{color:var(--hueso)}
.vuelta{background:var(--carbon);border-radius:20px;padding:16px 18px;display:grid;gap:10px;justify-items:start}.vuelta p{margin:0}
.hora-l{text-align:center;margin:0}
.ora-l{display:grid;gap:12px}
.ora-c{background:var(--carbon);border-radius:24px;padding:20px;display:grid;gap:14px;justify-items:start}
.ora-c h3{font-size:20px}.ora-c p{margin:4px 0 0;color:var(--hueso2);font-size:15px}.ora-c .ora-min{color:var(--brasa);font:600 13px var(--ui);margin-top:4px}
.int-l{display:grid;gap:8px;margin-top:8px}
.int-i{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--carbon);border-radius:16px;padding:12px 14px}.int-i span{overflow-wrap:anywhere}
.gl-in{width:20px;height:20px;vertical-align:-3px;margin-right:4px}
.ideas{flex-wrap:wrap;overflow:visible}.ideas .chip{white-space:normal}
.campo-s{width:100%;background:var(--fill);border:1.5px solid transparent;border-radius:14px;padding:11px 14px;color:var(--hueso);font:500 16px var(--ui)}
.campo-s:focus{border-color:var(--brasa);outline:0}
.priv{margin:-10px 4px 0}
.dir-c h3{font-size:19px}.dir-c p{margin:0;color:var(--hueso2)}.dir-c p b{color:var(--hueso)}
.dir-b{display:grid;gap:10px;margin-top:6px}.dir-b .btn{width:100%}.dir-b .link{justify-self:center}
.gracias{display:grid;justify-items:center;text-align:center;gap:10px;padding:30px 0 10px}.gracias svg{height:46px;width:auto}
.acerca{display:grid;gap:10px}.acerca svg{height:40px;width:auto}
.acerca-h{font-size:17px;margin-top:12px}
.glos{margin:0;display:grid;gap:12px}.glos dt{font:600 15px var(--display)}.glos dd{margin:2px 0 0;color:var(--hueso2);font-size:15px}
.btn.sm{min-height:40px;padding:10px 18px;font-size:14px}
@media (max-width:360px){.sec2{grid-template-columns:1fr}}
.hoja-foot.apilar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hoja-foot.apilar .btn{width:100%;min-width:0}.hoja-foot.apilar #g-fin{grid-column:1/-1}

/* =====================================================================
   SISTEMA VISUAL v3 · Noche y brasa
   Escala de espacios: 4 · 8 · 12 · 16 · 24 · 32. Radios: 14 · 20 · 26.
   Una sola tarjeta base (superficie carbón, sin bordes de color); la brasa marca acción y selección.
   ===================================================================== */
html{background:var(--noche)}
body{min-height:100vh;min-height:100dvh}
.main{gap:22px;padding-top:4px}
.top{padding-block:14px 8px;min-height:56px}
.hero{gap:6px}.hero::before{opacity:.8}
.hero .eyebrow{color:var(--ceniza)}
.hero h1{font-size:clamp(28px,7.6vw,34px)}
.sub{line-height:1.5}
.card,.tesigo,.ora-c,.vuelta,.invita.hecha{border-radius:var(--r3)}
.btn{transition:transform .12s ease,opacity .12s ease}.btn:active{transform:scale(.98)}
.btn.brasa{background:var(--brasa);color:var(--noche)}
.btn.ghost{background:var(--fill);color:var(--hueso)}
.chip{border:1px solid var(--line);background:transparent;color:var(--hueso2);border-radius:999px;padding:8px 14px;font:500 14px var(--ui);cursor:pointer;white-space:nowrap}
.chip.on{background:var(--brasa-soft);border-color:var(--brasa-line);color:var(--hueso)}
.chips.wrap{flex-wrap:wrap;overflow:visible}.chips.wrap .chip{white-space:normal}
.link{color:var(--hueso2)}
.vacio{background:var(--carbon);border-radius:var(--r3);padding:28px 22px;display:grid;justify-items:center;gap:12px;text-align:center;color:var(--ceniza)}
.vacio.sm{padding:20px;justify-items:start;text-align:left}
.vacio-ic .i{width:30px;height:30px;color:var(--brasa)}
.campo,.campo-s{background:var(--carbon);border-color:var(--line)}
.campo-s{background:var(--fill);border-color:transparent}
.fld>span{font:600 13px var(--ui);color:var(--ceniza)}
.add{justify-self:start;gap:8px}.add .i{width:18px;height:18px}

/* portada */
.portada{padding-block:max(18px,env(safe-area-inset-top,0px)) calc(env(safe-area-inset-bottom,0px) + 22px)}
.pt-arte{position:absolute!important;left:-16px;right:-16px;top:0;height:46%;pointer-events:none;-webkit-mask:linear-gradient(#000 55%,transparent);mask:linear-gradient(#000 55%,transparent)}
.pt-ilus{width:100%;height:100%;display:block}
.pt-centro{justify-content:flex-end;padding-block:24px 22px;gap:16px}
.pt-marca{gap:12px}
.pt-marca .pt-llama svg{width:56px}
.pt-marca .pt-wm{font-size:clamp(40px,12vw,52px)}
.portada h1{font-size:clamp(32px,9vw,44px)}
.pt-pie{gap:10px}
.oauth{display:grid;gap:10px}
.btn.oa{background:var(--carbon);border:1px solid var(--line);gap:10px}
.o-sep{display:flex;align-items:center;gap:12px;color:var(--ceniza);font-size:13px;margin:4px 0}
.o-sep::before,.o-sep::after{content:"";flex:1;height:1px;background:var(--line)}
form .oauth{margin-top:16px}

/* registro y preguntas */
.onb{padding-block:max(12px,env(safe-area-inset-top,0px)) calc(env(safe-area-inset-bottom,0px) + 18px)}
.onb-body{padding-top:clamp(12px,6vh,56px)}
.tipo{border:1px solid var(--line);background:var(--carbon)}
.tipo.on{background:var(--brasa-soft);border-color:var(--brasa-line)}
.tipo.colabt.on{background:var(--colab-soft);border-color:var(--colab-line)}
.op{border:1px solid var(--line)}
.op.on{background:var(--brasa-soft);border-color:var(--brasa-line)}
.colab-onb .op.on{background:var(--colab-soft);border-color:var(--colab-line)}
.sol{background:var(--carbon);border-radius:var(--r2);padding:14px 16px;font-size:14px;color:var(--hueso2)}
.sol b{display:block;margin-bottom:6px;color:var(--hueso)}.sol ul{margin:0;padding-left:18px;display:grid;gap:4px}
.vf-alt{justify-content:space-between}

/* dock con perfil */
.dock-in.dock6{grid-template-columns:repeat(5,minmax(0,1fr)) 52px;padding:6px 6px}
.dock6 .tab{padding:8px 0;font-size:10.5px;min-width:0}
.dock6 .tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tab-yo{align-content:center;justify-items:center}
.avatar{display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#3A2618,#211A15);color:var(--hueso);font:600 15px var(--display);box-shadow:inset 0 0 0 1.5px var(--brasa-line);flex:none}
.avatar svg{width:auto;height:60%}
.avatar.sm{width:32px;height:32px;font-size:14px}
.tab-yo[aria-current="page"]{background:none}.tab-yo[aria-current="page"] .avatar{box-shadow:0 0 0 2px var(--noche),0 0 0 3.5px var(--brasa)}
.avatar.xl{width:84px;height:84px;font-size:34px;box-shadow:inset 0 0 0 2px var(--brasa-line)}

/* perfil */
.perfil-h{display:grid;grid-template-columns:84px 1fr;gap:18px;align-items:center;padding-top:6px}
.ph-t{display:grid;gap:4px;min-width:0}.ph-t h1{font-size:26px;overflow-wrap:anywhere}
.lema{font:italic 400 16px/1.45 var(--palabra);color:var(--hueso2);margin-top:4px}
.colab-tag{color:var(--colab)}
.pf-links{display:grid;gap:8px}
.pf-l{display:grid;grid-template-columns:24px 1fr 18px;gap:12px;align-items:center;background:var(--carbon);border:0;border-radius:var(--r2);padding:14px 16px;text-align:left;cursor:pointer;width:100%;color:var(--hueso)}
.pf-l>.i:first-child,.pf-l>svg:first-child{color:var(--brasa);width:22px;height:22px}
.pf-l span{display:grid;gap:2px;min-width:0}.pf-l b{font:600 15px var(--ui)}.pf-l small{color:var(--ceniza);font-size:13px}
.pf-tabs,.seg3{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);margin:0 -2px}
.seg3{grid-template-columns:repeat(3,1fr)}
.pf-tabs button,.seg3 button{background:none;border:0;border-bottom:2px solid transparent;color:var(--ceniza);font:600 13px var(--ui);padding:12px 2px;cursor:pointer;margin-bottom:-1px;min-width:0}
.pf-tabs button[aria-selected="true"],.seg3 button[aria-selected="true"]{color:var(--hueso);border-bottom-color:var(--brasa)}
.pf-sec{display:grid;gap:14px}
.pf-intro{color:var(--hueso2);font-size:15px}
.pf-h3{font:600 13px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ceniza);margin-top:6px}
.cp-l,.pr-l,.rv-l,.en-l,.fm-l{display:grid;gap:10px}
.cp{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;background:var(--carbon);border-radius:var(--r2);padding:16px}
.cp b{display:block;font:600 16px/1.35 var(--ui)}.cp small{display:block;color:var(--ceniza);font-size:13px;margin-top:2px}.cp p{color:var(--hueso2);font-size:14px;margin-top:6px}
.cp-a{display:grid;justify-items:end;gap:0}.cp.pausado{opacity:.6}
.pr{background:var(--carbon);border-radius:var(--r2);padding:16px;display:grid;gap:8px}
.pr-h{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.pr-h small{color:var(--ceniza);font-size:12px}
.pr-e{font:600 11px var(--ui);letter-spacing:.04em;border-radius:999px;padding:3px 9px;background:var(--brasa-soft);color:var(--hueso)}
.pr-e.e-seguimiento{background:rgba(143,195,162,.14)}.pr-e.e-cumplido{background:rgba(143,195,162,.22);color:var(--ok)}.pr-e.e-cerrado{background:var(--fill);color:var(--ceniza)}.pr-e.e-reformulado{background:var(--colab-soft)}
.pr-t{font:500 16px/1.45 var(--ui)}
.seg{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line);display:grid;gap:8px}
.seg small{color:var(--ceniza);font-size:12px}.seg p{color:var(--hueso2);font-size:14px}.seg .antes{color:var(--ceniza);font-style:italic}
.pr .link{justify-self:start}
.rv{background:var(--carbon);border-radius:var(--r2);padding:4px 16px}
.rv summary{list-style:none;cursor:pointer;padding:14px 0;display:grid;gap:2px}.rv summary::-webkit-details-marker{display:none}
.rv summary small{color:var(--ceniza);font-size:13px}
.rv h4{font:600 13px var(--ui);color:var(--ceniza);margin:10px 0 4px}.rv p{color:var(--hueso2);font-size:15px}.rv[open]{padding-bottom:16px}
.rv-p{display:grid;gap:8px;background:var(--carbon);border-radius:var(--r1);padding:12px}
.rv-p textarea{width:100%;background:var(--fill);border:1.5px solid transparent;border-radius:12px;padding:10px 12px;color:var(--hueso);font:400 16px var(--ui)}
.cfg{display:grid;gap:12px}
.cfg-g{background:var(--carbon);border-radius:var(--r3);padding:18px;display:grid;gap:12px}
.cfg-g h3{font-size:16px}
.cfg-g .colab-strip{margin-top:2px}
.hora-r{align-items:center}.hora-r .campo-s{max-width:150px}
/* dirección */
.en{display:grid;grid-template-columns:56px 1fr 18px;gap:14px;align-items:center;background:var(--carbon);border:0;border-radius:var(--r2);padding:14px 16px;text-align:left;cursor:pointer;width:100%;color:var(--hueso)}
.en-f{display:grid;justify-items:center;background:var(--fill);border-radius:14px;padding:8px 0}.en-f b{font:600 20px/1 var(--display)}.en-f small{font-size:11px;color:var(--ceniza);text-transform:uppercase;letter-spacing:.04em}
.en-t{display:grid;gap:3px;min-width:0}.en-t b{font:600 15px var(--ui)}.en-t small{color:var(--ceniza);font-size:13px;overflow:hidden;text-overflow:ellipsis}.en-t em{font:600 12px var(--ui);font-style:normal;color:var(--brasa)}
.proc{list-style:none;margin:0;padding:0 0 0 16px;border-left:2px solid var(--line);display:grid;gap:16px}
.proc li{display:grid;gap:4px;position:relative}.proc li::before{content:"";position:absolute;left:-22px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--brasa)}
.proc small{color:var(--ceniza);font-size:12px}.proc p{color:var(--hueso2);font-size:15px}.proc-p{font-size:14px!important}
.det.futuro{background:transparent;border:1px dashed var(--line)}.det.futuro p{padding-bottom:14px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* formación */
.fc-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.fc{display:grid;gap:6px;align-content:start;text-align:left;background:var(--carbon);border:0;border-radius:var(--r2);padding:16px;min-height:110px;cursor:pointer;color:var(--hueso);position:relative;overflow:hidden}
.fc::after{content:"";position:absolute;right:-30px;bottom:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(closest-side,var(--brasa-soft),transparent)}
.fc b{font:600 16px/1.3 var(--display)}.fc small{color:var(--ceniza);font-size:13px}.fc em{font:600 12px var(--ui);font-style:normal;color:var(--brasa);margin-top:auto}
.fm{display:grid;grid-template-columns:44px 1fr 18px;gap:12px;align-items:center;background:var(--carbon);border:0;border-radius:var(--r2);padding:12px 14px;text-align:left;cursor:pointer;width:100%;color:var(--hueso)}
.fm-ic{width:44px;height:44px;border-radius:12px;background:var(--fill);display:grid;place-items:center;color:var(--brasa)}
.fm span:not(.fm-ic){display:grid;gap:2px;min-width:0}.fm b{font:600 15px var(--ui)}.fm small{color:var(--ceniza);font-size:13px}
.fm-img{width:100%;height:auto;border-radius:var(--r2);display:block;background:var(--carbon)}
.fm-media{width:100%;border-radius:var(--r2)}
.fm-info{border-top:1px solid var(--line);padding-top:12px}
/* hojas */
.hoja-body{overscroll-behavior:contain}
@media (max-width:360px){.row2{grid-template-columns:1fr}.pf-tabs button{font-size:12px}.perfil-h{grid-template-columns:64px 1fr}.avatar.xl{width:64px;height:64px;font-size:26px}}
/* pestañas del perfil: deslizables si no caben, sin apretar el texto */
.pf-tabs{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;padding:0 2px}
.pf-tabs::-webkit-scrollbar{display:none}
.pf-tabs button{flex:none;font-size:14px;padding:12px 0}
.seg3 button{font-size:13.5px}
/* entrada suave de cada pantalla y de las hojas */
@keyframes entra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.main>*{animation:entra .32s ease-out both}
.main>*:nth-child(2){animation-delay:.03s}.main>*:nth-child(3){animation-delay:.06s}.main>*:nth-child(4){animation-delay:.09s}.main>*:nth-child(n+5){animation-delay:.12s}
.onb-body,.pt-centro,.pt-pie{animation:entra .4s ease-out both}
@media (prefers-reduced-motion:reduce){.main>*,.onb-body,.pt-centro,.pt-pie{animation:none}}
/* carga */
.esqueleto{display:grid;gap:10px}.esqueleto i{display:block;height:84px;border-radius:var(--r2);background:linear-gradient(90deg,var(--carbon) 30%,var(--fill) 50%,var(--carbon) 70%);background-size:300% 100%;animation:brilla 1.4s ease-in-out infinite}
@keyframes brilla{from{background-position:100% 0}to{background-position:0 0}}
/* aviso flotante por encima del menú */
#toast{bottom:calc(env(safe-area-inset-bottom,0px) + 96px)!important;background:var(--hueso)!important;color:var(--noche)!important;font-weight:600}
/* tarjeta de la prueba */
.prueba{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--brasa-line);background:var(--brasa-soft);border-radius:var(--r2);padding:14px 16px}
.prueba b{display:block;font:600 15px var(--ui)}.prueba small{color:var(--hueso2);font-size:13px}
/* encuesta */
.esc{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.esc button{border:1px solid var(--line);background:var(--carbon);color:var(--hueso);border-radius:12px;padding:12px 0;font:600 15px var(--ui);cursor:pointer}
.esc button.on{background:var(--brasa-soft);border-color:var(--brasa-line)}
.esc-l{display:flex;justify-content:space-between;font-size:12px;color:var(--ceniza);margin-top:4px}
.dock-in.dock5b{grid-template-columns:repeat(4,minmax(0,1fr)) 56px;padding:6px}
.dock5b .tab{min-width:0;font-size:11px}
.volver{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--hueso2);font:600 14px var(--ui);padding:4px 0;cursor:pointer;justify-self:start;align-self:flex-start}
.volver .i{width:18px;height:18px}

/* ===== v3.1 · ajustes para iPhone y iPad ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.portada{min-height:100svh}
.pt-arte{height:40%}
.pt-centro{gap:12px;padding-block:12px 16px}
.pt-marca .pt-llama svg{width:46px}
.pt-marca .pt-wm{font-size:clamp(36px,10.5vw,48px)}
.portada h1{font-size:clamp(28px,8.2vw,40px)}
.pt-verso{font-size:16px}
@media (max-height:740px){.pt-arte{height:30%}.portada h1{font-size:clamp(26px,7.4vw,34px)}.pt-centro{gap:10px}}
.pf-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:visible;padding:0}
.pf-tabs button{font-size:clamp(12px,3.4vw,14px);padding:12px 0;text-align:center;white-space:nowrap}
.ideas{gap:8px}.ideas .chip{font-size:14px;padding:8px 13px}
input[type=date],input[type=time]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;text-align:left}
/* iPad y pantallas grandes: columna cómoda, dock del mismo ancho */
@media (min-width:700px){
  .shell{max-width:640px}
  .dock-in{max-width:600px;margin-inline:auto}
  .portada{max-width:520px}
  .pt-arte{height:44%}
}
/* día litúrgico: tarjeta con el color del día */
.lit-card{display:grid;gap:3px;padding:15px 18px 16px;border-radius:20px;background:var(--carbon);border:1px solid var(--line);position:relative;overflow:hidden;--litc:#3c9a63}
.lit-card::after{content:"";position:absolute;inset:0;background:radial-gradient(130% 150% at 100% 0%,var(--litc) 0%,transparent 58%);opacity:.22;pointer-events:none}
.lit-card>*{position:relative}
.lit-card.lit-morado{--litc:#7b4fb5}.lit-card.lit-rojo{--litc:#c4362b}.lit-card.lit-rosa{--litc:#e39ab6}.lit-card.lit-blanco{--litc:#E9E3D8}
.lit-e{font:600 10.5px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ceniza)}
.lit-card b{font:600 17px/1.3 var(--ui);color:var(--hueso);letter-spacing:-.01em}
.lit-c{display:inline-flex;align-items:center;gap:8px;margin-top:5px;font:500 13px var(--ui);color:var(--hueso2)}
.lit-c .dot{width:10px;height:10px;border-radius:50%;flex:none}
/* franja del reloj del celular: nada se ve detrás al subir la pantalla */
html::before{content:"";position:fixed;left:0;right:0;top:0;height:env(safe-area-inset-top,0px);background:var(--noche);z-index:200;pointer-events:none}
/* fecha de nacimiento en tres listas */
.fsel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr) minmax(0,1fr);gap:8px}
.fsel select{-webkit-appearance:none;appearance:none;width:100%;min-width:0;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23968E83' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;color:var(--hueso)}
.fsel select:invalid,.fsel select option[disabled]{color:var(--ceniza)}
.pf-l[hidden]{display:none!important}
/* modo prueba de administradores */
.vc-b{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 8px);transform:translateX(-50%);z-index:300;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border-radius:999px;background:#E8834A;color:#1A120C;font:500 13px var(--ui);box-shadow:0 8px 24px rgba(0,0,0,.45);max-width:calc(100vw - 24px);white-space:nowrap}
.vc-b span{overflow:hidden;text-overflow:ellipsis}.vc-b a{color:#1A120C;font-weight:700}
.vc-b button{border:0;border-radius:999px;background:#1A120C;color:#F4F0EA;font:600 13px var(--ui);padding:7px 12px;cursor:pointer}
body:has(#vc-b) .shell{padding-top:52px}
/* ajustes de la cuenta abiertos desde la app */
body.solo-cuenta .shell{padding-bottom:40px}
.cuenta-top{display:flex;padding:calc(env(safe-area-inset-top,0px) + 14px) 0 6px}
body.solo-cuenta .pf-links,body.solo-cuenta .pf-tabs{display:none!important}

/* ===== entrada viva (oct 2026): el sol sale, el camino avanza, el texto llega en orden ===== */
.pt-ilus .pt-sol{animation:ptSube 1.8s cubic-bezier(.2,.8,.2,1) .15s both}
.pt-ilus .pt-halo{animation:ptLuz 2.4s ease .2s both}
.pt-ilus .pt-rayos{transform-origin:200px 196px;animation:ptAparece 2.4s ease .9s both,ptGira 90s linear 0s infinite}
.pt-ilus .pt-aro{transform-origin:200px 196px;animation:ptLate 4s ease-in-out 2s infinite}
.pt-ilus .pt-aro2{transform-origin:200px 196px;animation:ptLate 4s ease-in-out 2.6s infinite}
.pt-ilus .pt-st{fill:#F4F0EA;animation:ptBrillo 3.4s ease-in-out infinite}
.pt-ilus .pt-monte{animation:ptAparece 1.2s ease both}
.pt-ilus .pt-camino{animation:ptAparece 1.4s ease .4s both}
.pt-ilus .pt-linea{stroke-dasharray:5 11;animation:ptAparece 1.2s ease .8s both,ptAnda 1.4s linear infinite}
.pt-ilus .pt-ch{opacity:0;animation:ptChispa 4.2s ease-out infinite}
@keyframes ptSube{from{transform:translateY(54px);opacity:0}to{transform:none;opacity:1}}
@keyframes ptLuz{from{opacity:0}to{opacity:1}}
@keyframes ptAparece{from{opacity:0}to{opacity:1}}
@keyframes ptGira{to{transform:rotate(360deg)}}
@keyframes ptLate{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.45}}
@keyframes ptBrillo{0%,100%{opacity:.15}50%{opacity:.7}}
@keyframes ptAnda{to{stroke-dashoffset:32}}
@keyframes ptChispa{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.9}100%{opacity:0;transform:translate(var(--dx,0px),-150px) scale(.4)}}
.portada .pt-marca,.portada h1,.portada .pt-verso,.portada .pt-pie>*{animation:ptTexto .8s cubic-bezier(.2,.8,.2,1) both}
.portada .pt-marca{animation-delay:.55s}.portada h1{animation-delay:.72s}.portada .pt-verso{animation-delay:.9s}
.portada .pt-pie>*:nth-child(1){animation-delay:1.05s}.portada .pt-pie>*:nth-child(2){animation-delay:1.15s}.portada .pt-pie>*:nth-child(3){animation-delay:1.25s}.portada .pt-pie>*:nth-child(4){animation-delay:1.35s}
@keyframes ptTexto{from{opacity:0;transform:translateY(16px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.portada .pt-llama svg{animation:ptFlama 3.2s ease-in-out 1.6s infinite;transform-origin:50% 90%}
@keyframes ptFlama{0%,100%{transform:scale(1) rotate(0)}40%{transform:scale(1.04,1.07) rotate(-1.5deg)}70%{transform:scale(.98,1.02) rotate(1deg)}}
.portada .btn.brasa{position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(232,131,74,.35)}
.portada .btn.brasa::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);animation:ptReflejo 4.5s ease 2.2s infinite}
@keyframes ptReflejo{0%{transform:translateX(-120%)}30%,100%{transform:translateX(120%)}}
.btn{transition:transform .14s ease,box-shadow .25s ease,background .25s ease}.btn:active{transform:scale(.97)}
/* pantallas de cuenta: entran deslizándose, campos con foco luminoso */
.onb{animation:ptPant .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes ptPant{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.onb-body>*{animation:ptTexto .6s cubic-bezier(.2,.8,.2,1) both}
.onb-body>*:nth-child(1){animation-delay:.05s}.onb-body>*:nth-child(2){animation-delay:.1s}.onb-body>*:nth-child(3){animation-delay:.15s}.onb-body>*:nth-child(4){animation-delay:.2s}.onb-body>*:nth-child(5){animation-delay:.25s}.onb-body>*:nth-child(n+6){animation-delay:.3s}
.campo{transition:border-color .2s ease,box-shadow .25s ease,background .2s ease}
.campo:focus{box-shadow:0 0 0 4px rgba(232,131,74,.18)!important}
.btn:disabled{position:relative}
.splash .carga{animation:ptBrillo 1.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.pt-ilus *,.portada *,.onb,.onb-body>*{animation:none!important}}
.sin-anim .onb,.sin-anim .onb-body>*{animation:none!important}
.pt-ilus{-webkit-mask:linear-gradient(#000 62%,transparent 98%);mask:linear-gradient(#000 62%,transparent 98%)}
.pt-ilus{-webkit-mask:radial-gradient(ellipse 75% 85% at 50% 55%,#000 45%,transparent 100%);mask:radial-gradient(ellipse 75% 85% at 50% 55%,#000 45%,transparent 100%)}

/* Invitación a Colab en la portada */
.pt-inv{display:flex;align-items:center;gap:10px;margin:18px 0 0;max-width:340px;padding:12px 14px;border-radius:16px;background:rgba(143,169,214,.14);border:1px solid rgba(143,169,214,.35);color:#DCE5F4;font-size:14px;line-height:1.4;text-align:left}.pt-inv img{width:26px;height:26px;flex:none}

/* La portada no se mueve: la pantalla queda fija, sin desplazarse ni rebotar */
html.iv-quieto,html.iv-quieto body{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
html.iv-quieto .portada{height:100vh;height:100dvh;min-height:0}
html,body{overscroll-behavior:none}
