@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,400;0,600;0,700;1,500&family=Inter:wght@300;400;500;600&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root {
  --navy-deep:#63BEF2; --navy:#90D5FF; --navy-panel:#B8E5FF;
  --blue:#15578A; --blue-deep:#0E2038; --ice:#F7FBFF;
  --text:#0E2038; --text-muted:rgba(14,32,56,.7);
}
* { box-sizing:border-box; }
body {
  margin:0; background:var(--navy); color:var(--text);
  font-family:"Inter",system-ui,sans-serif; -webkit-font-smoothing:antialiased;
}
h1,h3,legend { font-family:"Fraunces",Georgia,serif; }
.wrap { max-width:680px; margin:0 auto; padding:3rem 1.5rem 5rem; }
.back { font-family:"IBM Plex Mono",monospace; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); text-decoration:none; display:inline-block; margin-bottom:2.5rem; }
.eyebrow { font-family:"IBM Plex Mono",monospace; font-size:.68rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--blue); margin-bottom:.75rem; }
h1 { font-size:2rem; font-weight:600; line-height:1.15; margin:0 0 1.25rem; }
.periodo { font-size:.95rem; line-height:1.7; color:var(--text-muted); margin-bottom:2rem; }

.disclaimer {
  background:rgba(21,87,138,.06); border:1px solid rgba(21,87,138,.25); border-radius:6px;
  padding:1rem 1.25rem; font-size:.85rem; line-height:1.6; color:var(--text-muted); margin-bottom:2.25rem;
}
.error { background:rgba(194,84,79,.12); border:1px solid #C1544F; color:#8A2F2F; border-radius:6px; padding:.85rem 1.1rem; font-size:.85rem; margin-bottom:1.5rem; }

fieldset.q { border:none; padding:0; margin:0 0 2rem; }
fieldset.q legend { font-size:1.05rem; font-weight:500; line-height:1.4; margin-bottom:1rem; padding:0; color:var(--text); }
.opts { display:flex; flex-direction:column; gap:.6rem; }
.opt { display:flex; align-items:center; gap:.7rem; padding:.7rem .9rem; border:1px solid rgba(21,87,138,.2); border-radius:6px; cursor:pointer; transition:border-color .2s, background .2s; }
.opt:hover { border-color:rgba(21,87,138,.5); background:rgba(21,87,138,.05); }
.opt input { accent-color:var(--blue); width:16px; height:16px; flex-shrink:0; }
.opt span { font-size:.9rem; color:var(--text-muted); }

.btn {
  display:inline-block; padding:.95rem 2rem; background:var(--blue); color:var(--ice); border:none;
  border-radius:5px; font-family:"IBM Plex Mono",monospace; font-size:.78rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; cursor:pointer; margin-top:.5rem;
}
.btn-wa {
  display:inline-block; margin-top:1rem; padding:.8rem 1.5rem; background:#25D366; color:#fff; text-decoration:none;
  border-radius:5px; font-size:.85rem; font-weight:600;
}

.resultado { text-align:center; padding:2.5rem 1rem; background:var(--navy-panel); border-radius:10px; margin-bottom:1.5rem; }
.res-num { font-family:"Fraunces",Georgia,serif; font-size:3.5rem; font-weight:700; color:var(--blue); line-height:1; }
.res-unidad { font-size:.8rem; color:var(--text-muted); margin-top:.4rem; }
.res-banda { font-family:"IBM Plex Mono",monospace; font-size:.85rem; font-weight:600; letter-spacing:.04em; margin-top:1rem; color:var(--text); }
.res-check { font-family:"Fraunces",Georgia,serif; font-size:3rem; font-weight:700; color:var(--blue); line-height:1; }
.resultado-oculto .res-banda { margin-top:.75rem; text-transform:none; letter-spacing:0; font-size:.95rem; }

.alerta-crisis {
  background:rgba(194,84,79,.12); border:1px solid #C1544F; border-radius:8px; padding:1.5rem;
  margin-bottom:1.5rem; font-size:.9rem; line-height:1.6;
}
.alerta-crisis strong { color:#8A2F2F; }

.guardado-ok { background:rgba(21,87,138,.07); border:1px solid rgba(21,87,138,.3); border-radius:8px; padding:1.25rem; font-size:.9rem; margin-bottom:1.5rem; }

.optin { background:var(--navy-panel); border-radius:8px; padding:1.75rem; margin-bottom:1.5rem; }
.optin h3 { font-size:1.1rem; margin:0 0 .4rem; }
.optin p { font-size:.85rem; color:var(--text-muted); margin:0 0 1.25rem; }
.optin label { display:block; font-size:.78rem; color:var(--text-muted); margin-bottom:.4rem; margin-top:1rem; }
.optin label.check { display:flex; align-items:flex-start; gap:.6rem; font-size:.82rem; margin-top:1.25rem; }
.optin input[type=text] { width:100%; padding:.7rem; border-radius:5px; border:1px solid rgba(21,87,138,.3); background:rgba(255,255,255,.65); color:var(--text); font-size:.9rem; }
.optin input[type=checkbox] { margin-top:.2rem; accent-color:var(--blue); }

.fuente { font-size:.72rem; color:rgba(14,32,56,.45); line-height:1.6; margin-top:2rem; }
.cta-general { font-size:.85rem; color:var(--text-muted); margin-top:3rem; padding-top:2rem; border-top:1px solid rgba(21,87,138,.18); }
.cta-general a { color:var(--blue); }

.test-grid { display:flex; flex-direction:column; gap:1rem; margin-top:2rem; }
.test-card {
  display:block; background:var(--navy-panel); border:1px solid rgba(21,87,138,.18); border-radius:8px;
  padding:1.5rem 1.75rem; text-decoration:none; color:var(--text); transition:border-color .2s, transform .2s;
}
.test-card:hover { border-color:var(--blue); transform:translateY(-2px); }
.tc-mide { font-family:"IBM Plex Mono",monospace; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:var(--blue); }
.test-card h3 { font-size:1.2rem; margin:.5rem 0 .3rem; }
.tc-items { font-size:.78rem; color:var(--text-muted); }
