:root{--navy:#0B1220;--surface:#141C2B;--card:#1A2332;--gold:#C9A227;--gold-dim:#A68B1F;--text:#F4F1EA;--muted:#A8B0C0;--border:#2A3548;--radius:12px}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--navy);color:var(--text);line-height:1.5}
body{display:flex;flex-direction:column;min-height:100dvh}
.app-header{background:var(--surface);border-bottom:2px solid var(--gold);padding:.75rem 1.25rem;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img,.app-header .brand img{height:36px;width:auto;object-fit:contain}
.brand-text h1{font-size:.95rem;font-weight:700;color:var(--gold)}
.brand-text p{font-size:.68rem;color:var(--muted)}
.progress-badge{font-size:.75rem;font-weight:600;color:var(--gold);background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.35);padding:.3rem .7rem;border-radius:999px}
main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:1.5rem 1.25rem 3rem}
.screen{display:none}
.screen.active{display:block}
.hero{text-align:center;padding:1.5rem 0 2rem}
.hero-logo{width:140px;height:auto;margin:0 auto 1.25rem;display:block;object-fit:contain}
.hero h2{font-size:1.55rem;font-weight:800;line-height:1.25;margin-bottom:.75rem}
.hero h2 span{color:var(--gold)}
.lead{font-size:1rem;color:var(--muted);max-width:480px;margin:0 auto 1.5rem}
.hero-stats{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.stat{text-align:center}
.stat .num{font-size:1.4rem;font-weight:800;color:var(--gold)}
.stat .label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;padding:.9rem 1.75rem;border-radius:10px;border:none;cursor:pointer;text-decoration:none}
.btn-primary{background:var(--gold);color:var(--navy)}
.btn-secondary{background:transparent;color:var(--gold);border:1.5px solid var(--gold)}
.btn-block{width:100%}
.quiz-progress{height:6px;background:var(--border);border-radius:99px;overflow:hidden;margin-bottom:1.75rem}
.quiz-progress .bar{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold));border-radius:99px}
.question-card,.gate-card,.chart-wrap,.recomendaciones{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1.35rem}
.question-meta{font-size:.72rem;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}
.question-text{font-size:1.15rem;font-weight:650;margin-bottom:.85rem}
.question-help{font-size:.82rem;color:var(--muted);background:rgba(168,176,192,.08);border-left:3px solid var(--border);padding:.6rem .85rem;margin-bottom:1.5rem}
.options{display:flex;flex-direction:column;gap:.65rem}
.option{display:flex;align-items:center;gap:.85rem;padding:.95rem 1.1rem;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;cursor:pointer}
.option.selected{border-color:var(--gold);background:rgba(201,162,39,.12)}
.option input{position:absolute;opacity:0;pointer-events:none}
.option .radio{width:20px;height:20px;border:2px solid var(--muted);border-radius:50%;flex-shrink:0}
.option.selected .radio{border-color:var(--gold)}
.quiz-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.75rem}
.gate-card h2{font-size:1.25rem;margin-bottom:.4rem}
.subtitle{font-size:.88rem;color:var(--muted);margin-bottom:1.5rem}
.form-group{margin-bottom:1.1rem}
.form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}
.req{color:#C45C26}
.form-group input{width:100%;padding:.8rem 1rem;background:var(--surface);border:1.5px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem}
.consent{display:flex;gap:.7rem;align-items:flex-start;margin:1.25rem 0 1.5rem;font-size:.82rem;color:var(--muted)}
.consent a{color:var(--gold)}
.form-error{color:#B91C1C;font-size:.8rem;display:none}
.results-header{text-align:center;margin-bottom:1.75rem}
.ivpp-number{font-size:3.5rem;font-weight:800;line-height:1}
.nivel{display:inline-block;font-size:.9rem;font-weight:700;padding:.35rem 1rem;border-radius:999px;text-transform:uppercase}
.interpretacion{font-size:.92rem;color:var(--muted);max-width:480px;margin:1rem auto 0}
.chart-wrap{margin-bottom:1.5rem}
.chart-wrap h3,.recomendaciones h3{font-size:.85rem;font-weight:700;color:var(--gold);margin-bottom:1rem;text-align:center}
.vicios-list{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.75rem}
.vicio-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.9rem 1.1rem}
.vicio-item .top{display:flex;justify-content:space-between;margin-bottom:.4rem}
.vicio-bar{height:6px;background:var(--border);border-radius:99px;overflow:hidden}
.vicio-bar .fill{height:100%;border-radius:99px}
.recomendaciones{margin-bottom:1.5rem;text-align:left}
.recomendaciones ul{list-style:none}
.recomendaciones li{font-size:.88rem;padding-left:1.3rem;position:relative;margin-bottom:.6rem}
.recomendaciones li::before{content:"→";position:absolute;left:0;color:var(--gold)}
.cta-group{display:flex;flex-direction:column;gap:.75rem}
.app-footer{text-align:center;padding:1.25rem;font-size:.72rem;color:var(--muted);border-top:1px solid var(--border)}
.app-footer a{color:var(--gold)}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:100;display:none;align-items:center;justify-content:center;padding:1.25rem}
.modal-overlay.open{display:flex}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:560px;width:100%;padding:1.5rem}
.modal h2{color:var(--gold);margin-bottom:1rem}
@media(min-width:600px){.cta-group{flex-direction:row}.cta-group .btn{flex:1}}
