:root{
  --fondo:#F5F4F2;--papel:#FFFFFF;--tinta:#1F3465;--azul:#0C5E9A;--azul-tinta:#0A4E80;--naranja:#F58037;
  --verde:#00795C;--filete:#D3DDE2;--suave:#55657F;--suave-fondo:#E8F1F8;
  --fondo-chat:#EFEAE2;--saliente:#D9FDD3;--wa:#008069;--wa-acento:#00A884;--hora:#5B6B73;--texto-chat:#111B21;
  --display:'Fraunces',Georgia,serif;--cuerpo:'Source Sans 3',system-ui,sans-serif;
  --roboto:'Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--fondo);color:var(--tinta);font:400 16px/1.45 var(--cuerpo)}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--naranja);outline-offset:2px}
[hidden]{display:none!important}

.btn{min-height:48px;padding:0 20px;border-radius:14px;border:2px solid transparent;font:600 16px var(--cuerpo);cursor:pointer;transition:transform .12s,opacity .12s}
.btn:active{transform:scale(.97)}
.primary{background:var(--azul);color:#fff}
.primary[disabled]{opacity:.45;cursor:not-allowed}
.ghost{background:transparent;border-color:var(--filete);color:var(--tinta)}
.link{background:none;border:0;color:var(--azul-tinta);text-decoration:underline;font-size:14px;min-height:44px;cursor:pointer;padding:0 8px}
.calm{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--suave);cursor:pointer;white-space:nowrap}
.calm input{width:18px;height:18px;accent-color:var(--azul)}

.opts{display:grid;gap:8px}
.opt{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;text-align:left;background:var(--papel);border:2px solid var(--filete);border-radius:14px;font:500 16px/1.3 var(--cuerpo);color:var(--tinta);cursor:pointer;transition:transform .12s,border-color .12s,background .12s}
.opt:active{transform:scale(.98)}
.opt[aria-pressed=true]{border-color:var(--azul);background:var(--suave-fondo)}
.opt .mk{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--filete);display:grid;place-items:center;font:700 14px var(--cuerpo);color:#fff}
.opt.sq .mk{border-radius:7px}
.opt[aria-pressed=true] .mk{background:var(--azul);border-color:var(--azul)}
.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.scale .opt{justify-content:center;min-height:56px;padding:0;font:700 22px var(--cuerpo)}
.scaleinfo{display:flex;justify-content:space-between;font-size:13px;color:var(--suave);margin:6px 2px 2px}
.scalelab{min-height:24px;text-align:center;font-weight:700;color:var(--azul-tinta);margin:4px 0 10px}
.txt{width:100%;min-height:120px;border:2px solid var(--filete);border-radius:14px;padding:12px;resize:vertical;background:#fff}
.cnt{text-align:right;font-size:13px;color:var(--suave);margin-top:4px}
.hint{font-size:14px;color:var(--suave);margin:8px 0 0}
.sep{margin:14px 0 6px;font-size:13px;font-weight:700;color:var(--suave);text-transform:uppercase;letter-spacing:.08em}
.find{width:100%;min-height:48px;border:2px solid var(--filete);border-radius:14px;padding:0 14px;margin:0 0 8px;background:#fff}

.lv{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.lv i{height:6px;border-radius:3px;background:var(--filete);transition:background .3s}
.lv i.done{background:var(--verde)}
.lv i.cur{background:var(--naranja)}

.toast{position:absolute;left:12px;right:12px;top:62px;z-index:20;background:var(--azul);color:#fff;border-left:5px solid var(--naranja);padding:10px 14px;border-radius:12px;font-weight:600;animation:fadeUp .3s both;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}

@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}}
@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.14)}100%{transform:scale(1);opacity:1}}

[data-calm] .g{display:none!important}
[data-calm] *,[data-calm] *::before,[data-calm] *::after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
