*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f9f8fc;color:#242035;font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}header{max-width:560px;margin:auto;padding:28px 24px 18px}.brand{font-weight:800;font-size:27px;letter-spacing:-1.1px;color:#342056;text-decoration:none}.brand span{font-weight:400}.brand i{font-size:12px;letter-spacing:0;font-weight:500;font-style:normal;color:#7b7287;margin-left:12px}main{max-width:560px;margin:0 auto;padding:0 24px;outline:none;min-height:65vh}.page,.stepcard{animation:appear .17s ease-out}.intro-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eee7ff;color:#7847d5;font-size:26px;margin:18px 0 16px}h1{font-size:27px;line-height:1.23;letter-spacing:-.65px;margin:18px 0 12px;font-weight:700}h2{font-size:22px}.lead{color:#746d80;margin:0 0 23px}.options,.actions{display:grid;gap:9px;margin-top:24px}.options button,.actions button,.actions a{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #e7e1ef;background:white;color:#322342;border-radius:12px;text-align:left;padding:14px 17px;min-height:52px;line-height:1.35;text-decoration:none;font-weight:550}.options button span{font-size:23px;color:#8b6db2;font-weight:400}.options button:hover,.actions button:hover{border-color:#9063cf;background:#faf7ff}.options .primary,.actions .primary{background:#7541c8;border-color:#7541c8;color:white}.options .primary span{color:white}.options .primary:hover,.actions .primary:hover{background:#6534b5;color:white}nav{display:flex;justify-content:space-between;margin:8px 0 25px}nav button{background:none;border:0;color:#7a5e99;padding:8px 0;font-size:14px}.instruction,.original{white-space:pre-wrap;line-height:1.75;margin:20px 0}.image-button,.external{display:block;width:100%;padding:13px 16px;border:1px dashed #bc9be5;border-radius:10px;background:#f2ecfa;color:#6b39ad;text-align:center;text-decoration:none;margin:18px 0}.note{font-size:12px;line-height:1.6;color:#827889;margin:22px 0}.eyebrow{display:none}.fields{display:grid;gap:16px;margin:22px 0}label{display:grid;gap:6px;font-size:14px;color:#554760}input,textarea{width:100%;background:white;border:1px solid #ddd5e7;padding:12px;border-radius:9px;color:#242035}textarea{min-height:100px;resize:vertical}.summary{white-space:pre-wrap;background:#efeaf5;border-radius:12px;padding:18px;font-size:14px;overflow-wrap:anywhere}footer{max-width:560px;margin:36px auto 24px;padding:0 24px;color:#a29baa;font-size:11px}footer button{border:0;background:none;color:#8a7b9a;font-size:11px;padding:5px}.reset{display:block;margin-top:8px!important;padding-left:0!important}dialog{border:1px solid #e6ddef;border-radius:16px;width:min(650px,92vw);max-height:90vh;overflow:auto;padding:24px;color:#242035}dialog::backdrop{background:#241d37a8}dialog img{display:block;max-width:100%;height:auto;margin-top:14px}dialog button{padding:10px 15px;background:#7541c8;color:white;border:0;border-radius:8px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#30243c;color:white;border-radius:10px;padding:12px 18px;font-size:13px;opacity:0;pointer-events:none;width:max-content;max-width:90vw}#toast.show{opacity:1}:focus-visible{outline:3px solid #bea0ec;outline-offset:3px}@keyframes appear{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:700px){header{padding-top:44px}h1{font-size:30px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}

/* subtítulos de las opciones del inicio */
.options button .opt{display:grid;gap:3px;font-weight:550}
.options button .opt small{font-size:13.5px;line-height:1.35;color:#827889;font-weight:400}

/* Tipografías a prueba (se eligen con #sofia o #oswald al final del link) */
html[data-font=sofia] body{font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
html[data-font=sofia] h1,html[data-font=sofia] h2{font-family:"Sofia Sans Extra Condensed","Arial Narrow",sans-serif;font-weight:700;font-size:38px;line-height:1.05;letter-spacing:.005em}
html[data-font=oswald] body{font-family:Rubik,system-ui,-apple-system,"Segoe UI",sans-serif}
html[data-font=oswald] h1,html[data-font=oswald] h2{font-family:Oswald,"Arial Narrow",sans-serif;font-weight:600;font-size:31px;line-height:1.15;letter-spacing:0}
@media(min-width:700px){html[data-font=sofia] h1{font-size:42px}html[data-font=oswald] h1{font-size:34px}}

/* botón de voz, debajo del título */
.voz{display:inline-flex;align-items:center;gap:8px;margin:2px 0 6px;padding:9px 15px;border:1px solid #d9c9f0;border-radius:999px;background:#f2ecfa;color:#6b39ad;font-size:14.5px;font-weight:550}
.voz:hover{border-color:#9063cf}

/* botón que abre un link (ej. Abrir mi Panel) con el mismo aspecto que los demás */
.options a.opt-link{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #e7e1ef;background:white;color:#322342;border-radius:12px;text-align:left;padding:14px 17px;min-height:52px;line-height:1.35;text-decoration:none;font-weight:550}
.options a.opt-link span{font-size:20px;color:#8b6db2}
.options a.opt-link:hover{border-color:#9063cf;background:#faf7ff}

/* pantalla de despedida (Finalizar) */
.fin{text-align:center;padding-top:40px}
.fin .intro-icon{margin:0 auto 18px;width:64px;height:64px;font-size:34px;border-radius:50%}
.fin .lead{font-size:19px;color:#322342;margin-bottom:8px}
.fin-sub{color:#827889;font-size:14.5px;margin:0 0 34px}
.fin-link{background:none;border:0;color:#7a5e99;font-size:14.5px;text-decoration:underline;text-underline-offset:3px;padding:8px}

/* texto común debajo de los formularios */
.form-pie{font-size:13.5px;line-height:1.6;color:#6d6480;background:#f2ecfa;border-radius:12px;padding:14px 16px;margin:18px 0 6px}

/* formulario técnico */
.ya-sabe{display:inline-block;background:#eee7ff;color:#5b3a99;border-radius:999px;padding:6px 12px;font-size:13.5px;margin:0 0 6px}
.fields em{font-style:normal;color:#9a90a8;font-size:12.5px}
.uno-de-dos{font-size:14px;color:#554760;margin:4px 0 -6px}
select{width:100%;background:white;border:1px solid #ddd5e7;padding:12px;border-radius:9px;color:#242035;font:inherit}
label.falta input,label.falta textarea,label.falta select{border-color:#d4483b;background:#fff6f5}
.form-error{color:#c0392b;font-size:14px;margin:10px 0 0}
.ver-mensaje{margin-top:14px;font-size:14px;color:#7a5e99}
.ver-mensaje summary{cursor:pointer;padding:6px 0}
