:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#eef3ff;background:#0b1120;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 75% 5%,#193451 0,transparent 32%),#0b1120}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.ambient{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#ffffff0b 1px,transparent 1px);background-size:28px 28px;opacity:.28}.topbar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px clamp(20px,5vw,84px);border-bottom:1px solid #ffffff16;background:#0a1223cc}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:850;letter-spacing:.16em}.brand small{display:block;font-size:9px;color:#9daac2;letter-spacing:.17em;margin-top:3px}.brand-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:linear-gradient(145deg,#52d9ca,#7c80ff);color:#0b1120}.top-actions{display:flex;align-items:center;gap:14px}.version,.account{font-size:12px;color:#a6b5d2}.subtle{font-size:12px;background:transparent;border:1px solid #53647d;padding:9px 13px;border-radius:9px;color:#d9e5fa}.hero{position:relative;max-width:1250px;margin:0 auto;padding:58px 22px 43px}.hero.compact{padding-bottom:25px}.eyebrow,.overline,.step,.choices-label{font-size:11px;letter-spacing:.19em;font-weight:800;color:#5de4d2}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#54e1ce;margin-right:8px;box-shadow:0 0 0 4px #54e1ce23}.hero h1{font-size:clamp(46px,6vw,79px);line-height:1.07;letter-spacing:-.055em;margin:18px 0;font-weight:820}.hero h1 em{font-style:normal;color:#6ce5d3}.hero p{font-size:17px;color:#b4c2da;max-width:670px}.hero-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-meta span{border:1px solid #33425b;background:#1722399c;border-radius:100px;padding:8px 12px;font-size:12px;color:#d6e2f6}.layout{position:relative;max-width:1250px;margin:0 auto 70px;padding:0 22px;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.85fr);gap:22px}.story-panel,.side-card{border:1px solid #2d3d59;background:#121d31e8;border-radius:18px;overflow:hidden;box-shadow:0 12px 32px #00000023}.panel-heading{padding:17px 26px;border-bottom:1px solid #2b3a52;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#18263c}.location{font-size:11px;color:#aabbd3;letter-spacing:.07em;text-align:right}.story-inner{padding:38px 34px 28px}.scene-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,#2e5163,#273356);font-size:34px;color:#69e8d7;margin-bottom:22px}.overline{color:#9dacee}.story-inner h2{font-size:clamp(25px,3vw,34px);letter-spacing:-.035em;margin:10px 0 18px}.story-text{white-space:pre-line;line-height:1.8;color:#d3deee;font-size:15px}.choices{padding:26px 34px 35px;border-top:1px solid #293950}.choices-label{margin-bottom:16px}.choices form+form{margin-top:11px}.choice{width:100%;display:flex;align-items:center;gap:16px;text-align:left;padding:17px;border-radius:13px;border:1px solid #394c69;background:#1a2942;color:#f0f5ff;transition:transform .18s,border-color .18s,background .18s}.choice:hover,.choice:focus-visible{transform:translateY(-2px);border-color:#6be5d5;background:#203853;outline:none}.choice-number{font-size:13px;font-weight:800;color:#6ce5d3}.choice-text{flex:1;line-height:1.45;font-weight:580}.choice-arrow{color:#7ae2d5}.sidebar{display:flex;flex-direction:column;gap:17px}.side-card{padding:24px}.side-title{display:flex;justify-content:space-between;gap:10px;align-items:center;font-weight:800;letter-spacing:.1em;font-size:12px}.side-title span{color:#6ddbc9;font-size:9px;white-space:nowrap}.muted,.hint{color:#aab8cd;line-height:1.65;font-size:13px}.hint{border-left:2px solid #55d6c7;padding-left:10px}.metric{margin-top:19px}.metric-head{display:flex;justify-content:space-between;font-size:13px;color:#d4e0f1}.metric-head strong{color:#f6fbff}.metric-head small{font-weight:400;color:#8195b2}.track{height:6px;border-radius:10px;background:#2a3a52;margin-top:9px;overflow:hidden}.fill{height:100%;background:linear-gradient(90deg,#42b9bc,#7d91e9);border-radius:10px}.bag{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.bag-item{background:#24324b;border:1px solid #394a64;border-radius:9px;padding:8px 10px;font-size:12px}.timeline{margin-top:17px}.time-item{display:flex;align-items:flex-start;gap:12px;border-left:1px solid #38506a;padding:0 0 12px 15px;position:relative}.time-dot{position:absolute;left:-5px;top:5px;width:9px;height:9px;background:#67d7c8;border-radius:50%}.time-item p{margin:0;font-size:12px;line-height:1.55;color:#c6d3e7}.auth,.reset{display:block;width:100%;text-align:center;margin-top:11px;padding:11px;border-radius:10px;background:#243754;color:#e5f4ff;border:1px solid #4c6886;font-weight:650;font-size:13px}.reset{background:transparent;color:#b4c7df}.finish,.feedback,.providers{padding:27px 34px;border-top:1px solid #30415a}.finish{background:#13342f60}.finish h3,.feedback h3,.providers h3{font-size:21px;margin:0 0 10px}.finish p,.feedback p,.providers p{font-size:13px;line-height:1.65;color:#b9c8dd}.cta{display:inline-block;padding:13px 18px;border:0;border-radius:10px;background:#66e0d1;color:#0d2331;font-weight:850;margin-top:10px}.feedback form{display:grid;gap:14px}.feedback label{display:grid;gap:7px;font-size:13px;color:#dce8f7}.feedback input,.feedback textarea{border:1px solid #516482;background:#0e182a;color:#fff;border-radius:9px;padding:12px;max-width:100%}.feedback textarea{min-height:90px}.sponsor-tag{font-size:10px;letter-spacing:.06em;color:#6fe3d2}.provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:20px}.provider{border:1px solid #34455f;background:#18263b;border-radius:13px;padding:13px}.provider img{width:100%;aspect-ratio:1.85;object-fit:cover;border-radius:8px}.provider h4{font-size:14px;margin:12px 0 4px}.provider p{font-size:12px}.provider-link,.coming{display:block;text-align:center;padding:10px 7px;background:#2963a0;color:white;border-radius:9px;font-weight:700;font-size:12px}.coming{background:#34435b}.notice{padding:14px 34px;color:#81efdb;background:#17483c}.dashboard{max-width:1250px;margin:auto;padding:0 22px 70px}.dash-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px}.dash-toolbar select{padding:9px;background:#1b2c44;color:white;border:1px solid #415a79;border-radius:8px}.dash-toolbar .auth{width:auto}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:20px 0}.kpi{padding:20px;background:#17243a;border:1px solid #32445f;border-radius:13px}.kpi span,.kpi small{display:block;font-size:12px;color:#aebed5}.kpi strong{display:block;font-size:34px;margin:8px 0}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.dash-grid .side-card{overflow-x:auto}.bars{display:flex;align-items:end;height:230px;gap:7px;padding-top:20px}.bar-group{flex:1;min-width:7px;max-width:42px;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center}.bar{min-height:2px;width:100%;border-radius:5px 5px 0 0;background:linear-gradient(#65d9cb,#5e7bc9)}.bar-group small{font-size:8px;color:#93a4bd;writing-mode:vertical-rl;max-height:38px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;border-bottom:1px solid #35435b;padding:10px 5px}th{color:#7de2d3}footer{text-align:center;color:#7487a4;font-size:11px;padding:25px 12px 35px;border-top:1px solid #ffffff10}@media(max-width:850px){.layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}.dash-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.topbar{padding:14px 16px}.brand{font-size:15px}.brand small{font-size:7px}.account{display:none}.hero{padding:39px 17px 30px}.hero h1{font-size:48px}.layout{padding:0 12px}.story-inner,.choices,.finish,.feedback,.providers{padding:23px 19px}.sidebar{grid-template-columns:1fr}.panel-heading{padding:15px 17px}.location{font-size:9px}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{padding:12px}.kpi strong{font-size:26px}}

/* MOCHILA 1.1 — Professional light UI, compact and responsive */
:root { color-scheme: light; color:#17253c; background:#f3f5f8; }
body { color:#17253c; background:#f3f5f8; }
.ambient { display:none; }
.topbar { background:#fff; border-bottom:1px solid #e1e7ef; padding:12px clamp(16px,4vw,56px); box-shadow:0 1px 8px #17253c09; }
.brand { color:#17253c; } .brand small,.version,.account { color:#66768c; }
.brand-icon { color:#fff; background:linear-gradient(135deg,#123550,#12a99e); }
.subtle { color:#17253c; border-color:#d6e0eb; background:#fff; }
.hero.hero-compact { max-width:1320px; padding:24px 22px 14px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.hero-copy { min-width:0; }
.eyebrow,.overline,.step,.choices-label { color:#0d9488; letter-spacing:.10em; }
.pulse { background:#0d9488; box-shadow:0 0 0 4px #0d94881c; }
.hero h1 { font-size:clamp(27px,3.2vw,42px); letter-spacing:-.045em; line-height:1.12; margin:8px 0 5px; }
.hero h1 br { display:none; } .hero h1 em { color:#0d9488; }
.hero p { color:#617187; font-size:14px; margin:6px 0; }
.hero-meta { margin:0; gap:6px; justify-content:flex-end; max-width:340px; }
.hero-meta span { background:#fff; border:1px solid #dce4ee; color:#51647b; padding:6px 9px; font-size:11px; }
.layout { max-width:1320px; grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr); gap:16px; margin-bottom:35px; }
.story-panel,.side-card { background:#fff; border:1px solid #dfe6ef; box-shadow:0 5px 18px #17253c0b; border-radius:14px; }
.panel-heading { background:#f9fbfd; border-bottom:1px solid #e5eaf1; padding:12px 20px; }
.location,.muted,.hint { color:#617187; }
.story-inner { padding:19px 24px 12px; }
.scene-icon { display:none; }
.overline { margin:0; }
.story-inner h2 { color:#17253c; font-size:clamp(21px,2.4vw,28px); margin:7px 0 10px; }
.story-text { color:#43536a; line-height:1.56; font-size:14px; }
.choices { border-top:1px solid #e5eaf1; padding:15px 24px 23px; }
.choices-label { margin-bottom:10px; }
.choices form+form { margin-top:8px; }
.choice { background:#fff; color:#17253c; border:1px solid #d9e2ed; border-radius:10px; padding:12px 14px; min-height:48px; }
.choice:hover,.choice:focus-visible { background:#eefbf8; border-color:#0d9488; transform:none; box-shadow:0 0 0 2px #0d94881b; }
.choice-number,.choice-arrow { color:#0d9488; }
.side-card { padding:17px 19px; }
.side-title { color:#17253c; letter-spacing:.04em; }
.side-title span { color:#0d9488; }
.sidebar { gap:12px; }
.metric { margin-top:12px; }
.metric-head,.metric-head strong { color:#273950; }
.metric-head small { color:#8291a5; }
.track { background:#e8edf3; margin-top:6px; }
.fill { background:linear-gradient(90deg,#14b8a6,#6387da); }
.bag-item { background:#f2f6fa; border-color:#dce5ef; color:#34455b; }
.time-item { border-color:#d8e3eb; }
.time-item p { color:#52627a; }
.auth { background:#edf6f6; color:#164d54; border-color:#c7e5e1; }
.reset { color:#52627a; border-color:#dbe3ed; }
.finish,.feedback,.providers { border-color:#e2e9f1; }
.finish { background:#f0fbf7; }
.finish p,.feedback p,.providers p { color:#617187; }
.cta { background:#0d9488; color:#fff; }
.feedback label { color:#34455b; }
.feedback input,.feedback textarea { color:#17253c; background:#fff; border-color:#d6e0eb; }
.provider { background:#f9fbfd; border-color:#e0e7f0; }
.notice { background:#e9f8f2; color:#166b57; }
.kpi,.dash-toolbar select { background:#fff; color:#17253c; border-color:#dfe6ef; }
.kpi span,.kpi small { color:#64748b; }
th { color:#0d9488; } th,td { border-color:#e3eaf1; }
footer { color:#718198; border-top:1px solid #e0e7ef; }
@media(max-width:900px) {
 .hero.hero-compact { align-items:flex-start; flex-direction:column; gap:10px; }
 .hero-meta { max-width:none; justify-content:flex-start; }
 .layout { grid-template-columns:1fr; }
 .sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .topbar { padding:10px 14px; }
 .hero.hero-compact { padding:15px 14px 12px; }
 .hero h1 { font-size:clamp(26px,7vw,34px); }
 .hero p { font-size:12px; }
 .hero-meta { gap:5px; }
 .hero-meta span { font-size:10px; padding:5px 7px; }
 .layout { padding:0 10px; gap:12px; }
 .story-inner { padding:15px 15px 10px; }
 .choices { padding:13px 15px 18px; }
 .panel-heading { padding:11px 15px; }
 .sidebar { grid-template-columns:1fr; }
 .choice { padding:13px; }
 .story-text { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; } }

/* Mochila 1.2 · dashboard */
.admin-login {max-width:500px;margin:36px auto 80px;padding:0 16px}
.admin-login h1 {font-size:26px;margin:12px 0}
.admin-login form {display:flex;flex-direction:column;gap:12px;margin-top:20px}
.admin-login input[type=password] {border:1px solid #d4dfeb;border-radius:9px;background:#fff;color:#17253c;padding:13px;font:inherit;width:100%;box-sizing:border-box}
.admin-login label {color:#304359;font-weight:600}
.admin-login .cta {padding:13px;border:0;border-radius:9px;cursor:pointer}
.login-error {color:#b42318;font-weight:600}
.table-scroll {overflow-x:auto;max-width:100%}
.dashboard .kpi-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard .kpi strong {font-variant-numeric:tabular-nums}
@media(max-width:900px){.dashboard .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.dashboard .kpi-grid{grid-template-columns:1fr 1fr}.dashboard .kpi{padding:13px}.dashboard .kpi strong{font-size:25px}.dashboard .dash-toolbar{flex-wrap:wrap}}


/* Mochila 1.3: compact analytics and responsive insight cards */
.hero-admin {padding-top:24px!important;padding-bottom:12px!important;}
.hero-admin h1 {font-size:clamp(29px,3.5vw,44px)!important;margin:7px 0!important;}
.hero-admin p {margin:5px 0!important;}
.dashboard {padding-top:8px!important;}
.dash-toolbar {gap:12px!important;flex-wrap:wrap;justify-content:flex-start!important;}
.dash-toolbar form:last-child {margin-left:auto;}
.insights-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0;}
.insight-wide {grid-column:1/-1;}
.insight-head {display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.insight-head small,.funnel-row small {color:#6a7c90;font-size:12px;}
.funnel-row {margin:12px 0;}
.funnel-title {display:flex;justify-content:space-between;gap:10px;color:#203047;font-size:13px;margin-bottom:6px;}
.funnel-title span {font-variant-numeric:tabular-nums;color:#0d9488;font-weight:700;}
.funnel-track {height:10px;border-radius:8px;background:#e8edf3;overflow:hidden;margin-bottom:4px;}
.funnel-fill {height:100%;background:linear-gradient(90deg,#0d9488,#45b9ae);border-radius:8px;}
.insight-number {font-size:46px;font-weight:800;color:#17253c;letter-spacing:-.04em;margin:15px 0 7px;}
.insight-number span {font-size:17px;font-weight:500;color:#64748b;}
.small-note {font-size:12px;line-height:1.5;}
.insights-grid table td,.insights-grid table th {font-size:13px;}
@media(max-width:720px) {.insights-grid {grid-template-columns:1fr;}.insight-wide {grid-column:auto;}.dash-toolbar form:last-child {margin-left:0;}}

/* Mochila 1.4 — mobile-first player experience */
.play-progress {max-width:1320px;margin:0 auto 12px;padding:0 22px;}
.play-progress-copy {display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#64748b;}
.play-progress-copy span {font-weight:700;letter-spacing:.07em;}
.play-progress-copy strong {color:#0f766e;}
.play-progress-track {margin-top:7px;height:7px;background:#e0e7ef;border-radius:99px;overflow:hidden;}
.play-progress-fill {height:100%;background:linear-gradient(90deg,#0d9488,#58bdb4);border-radius:99px;transition:width .35s ease;}
.play-progress p {font-size:11px;color:#7c899a;margin:4px 0 0;}
.story-panel {animation:story-appear .22s ease-out;}
@keyframes story-appear {from {opacity:.4;transform:translateY(5px)} to {opacity:1;transform:translateY(0)}}
.choice {width:100%;text-align:left;cursor:pointer;}
.choice:focus-visible,.auth:focus-visible,.cta:focus-visible {outline:3px solid #0d9488;outline-offset:2px;}
.recovery-action {width:100%;cursor:pointer;text-align:center;margin-top:10px;font:inherit;}
.recovery-details {margin-top:14px;border-top:1px solid #e1e7ef;padding-top:12px;color:#34455b;}
.recovery-details summary {cursor:pointer;font-size:13px;font-weight:600;}
.recovery-details label {display:block;font-size:12px;margin:10px 0 4px;}
.recovery-details input {width:100%;box-sizing:border-box;padding:10px;border-radius:8px;border:1px solid #d6e0eb;color:#17253c;background:#fff;}
.recovery-page {max-width:700px;margin:30px auto;padding:0 16px;}
.recovery-page h1 {font-size:clamp(24px,4vw,35px);margin:8px 0 12px;}
.recovery-page p {line-height:1.65;color:#53657a;}
.recovery-code {padding:18px 12px;background:#f1f5f9;border:1px dashed #8da2b6;border-radius:10px;font:600 17px/1.4 monospace;overflow-wrap:anywhere;text-align:center;user-select:all;margin:18px 0;}
.recovery-page .auth {display:inline-block;margin-top:15px;}
@media(max-width:600px) {.play-progress {padding:0 14px 10px;}.story-inner h2 {font-size:23px;}.choice {min-height:52px;}.recovery-page {margin:16px auto;}}
@media(prefers-reduced-motion:reduce){.story-panel {animation:none;}.play-progress-fill {transition:none;}}

/* V1.6 · Flujos */
.flow-panel{max-width:880px;margin:3rem auto;padding:1rem}.flow-panel h1{font-size:clamp(1.6rem,3vw,2.5rem);margin-bottom:1rem}.flow-card{background:#fff;border:1px solid #dce5e7;border-radius:18px;padding:1.5rem;margin:1.25rem 0;box-shadow:0 4px 16px #102a3610}.flow-card form{margin:.8rem 0}.flow-btn{display:inline-block;background:#11796f;color:#fff!important;border:0;border-radius:10px;padding:.85rem 1.2rem;text-decoration:none;cursor:pointer;text-align:left;font:inherit}.flow-btn:hover{background:#075e58}.flow-input{display:block;width:100%;padding:.8rem;margin:.4rem 0 1.1rem;border:1px solid #aabdbb;border-radius:9px;font:inherit}.flow-json{min-height:290px;font-family:Consolas,monospace;font-size:.9rem}.flow-panel label{font-weight:700}

/* V2.0 · Community at the end of each adventure */
.community-panel{margin:24px 0;padding:24px;border:1px solid #cbd5e1;border-radius:16px;background:#f8fafc;color:#172033}
.community-panel h3,.community-panel h4{margin:12px 0}
.community-form{display:grid;gap:10px;margin:18px 0}
.community-form select,.community-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #94a3b8;border-radius:9px;background:white;color:#172033;font:inherit}
.community-stats{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}
.community-stats span{padding:10px 14px;border-radius:9px;background:#e2e8f0}
.community-alternatives blockquote{margin:12px 0;padding:12px 16px;border-left:3px solid #64748b;background:white;white-space:pre-wrap;overflow-wrap:anywhere}

/* V2.0.6 - onboarding voluntario y accesible */
.privacy-overlay{position:fixed;inset:0;background:rgba(13,26,45,.66);z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto}
.privacy-modal{background:#fff;color:#17263d;border-radius:20px;max-width:660px;width:100%;padding:clamp(20px,4vw,36px);box-shadow:0 25px 90px #09182c70;max-height:calc(100vh - 36px);overflow-y:auto}
.privacy-modal h2{font-size:clamp(27px,4vw,38px);margin:0 0 12px;color:#078f83;line-height:1.2}
.privacy-modal p{line-height:1.55}.privacy-explain{font-size:.88rem;color:#56657b}
.privacy-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.privacy-fields label{font-weight:650;font-size:.9rem}.privacy-fields select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #bdccda;border-radius:8px;background:white;color:#17263d}
.privacy-consent{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:.92rem;line-height:1.45}.privacy-consent input{flex-shrink:0;margin-top:5px}
.privacy-skip{margin-top:12px}.privacy-skip button{background:none;border:0;text-decoration:underline;cursor:pointer;color:#36526b;padding:8px 0}
.privacy-footer-link{text-align:center;margin:22px auto;font-size:.9rem}
@media(max-width:600px){.privacy-fields{grid-template-columns:1fr}.privacy-overlay{align-items:flex-start}.privacy-modal{max-height:none}}

/* 2.0.11: consentimientos y selectores adaptables sin texto recortado */
.privacy-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));}
.privacy-fields label{min-width:0;overflow-wrap:anywhere;}
.privacy-fields select{box-sizing:border-box;min-width:0;width:100%;font-size:1rem;text-overflow:clip;}
.privacy-consent{min-width:0;overflow-wrap:anywhere;}
.privacy-modal{box-sizing:border-box;}
@media(max-width:750px){.privacy-fields{grid-template-columns:1fr;}}

/* 2.0.17 Observatorio */
.obs-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:22px 0}.obs-kpis>div{padding:20px;border:1px solid #dce6ee;border-radius:14px;background:#fff}.obs-kpis strong{font-size:2rem;display:block;color:#087f87}.obs-kpis span{display:block;font-size:.9rem;color:#43536b}.obs-note{font-size:.9rem;color:#56667b;line-height:1.55}.obs-controls{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}.obs-controls label{display:flex;flex-direction:column;gap:7px;font-weight:600}.obs-controls select{padding:9px;max-width:370px}.obs-answer{padding:18px 20px;margin:12px 0;border:1px solid #dbe5ed;border-radius:12px;background:#fff}.obs-question{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.obs-question small{color:#64748b}.obs-question h3{flex-basis:100%;margin:5px 0 12px;font-size:1.05rem}.obs-answerline{display:flex;justify-content:space-between;gap:15px}.obs-track{height:10px;border-radius:8px;background:#e8eff4;overflow:hidden;margin-top:9px}.obs-track>div{height:100%;background:#0d9c9a}.obs-table-wrap{overflow-x:auto}[hidden]{display:none!important}

/* Acceso real: una sola selección interactiva, sin imagen con controles falsos */
.access-shell{max-width:920px;margin:36px auto 70px;padding:28px 22px;background:radial-gradient(circle at 0 0,#b4dcff 0,transparent 33%),radial-gradient(circle at 100% 100%,#ffdf94 0,transparent 25%),#f4faff;border-radius:30px}
.access-card{max-width:760px;margin:auto;padding:clamp(26px,6vw,65px);border-radius:34px;background:#fff;box-shadow:0 18px 48px #163b6717;color:#162d4c}
.access-mark{font-size:13px;letter-spacing:.18em;font-weight:900;color:#108c89}.access-mark small{display:block;font-size:9px;letter-spacing:.12em;color:#53758c}
.access-card h1{font-size:clamp(44px,7vw,80px);letter-spacing:-.045em;line-height:1.1;margin:28px 0 12px;color:#102b5c}.access-dot{color:#149f98}
.access-underline{width:90px;height:8px;border-radius:20px;background:#8fcdfb;margin:12px 0 26px}
.access-subtitle{font-size:clamp(19px,2.5vw,29px);margin:0 0 28px;color:#15345f}.access-subtitle strong{color:#119e99}
.access-options{display:grid;gap:12px}.access-option{display:flex;align-items:center;gap:18px;padding:18px 22px;border:2px solid #e2edf7;border-radius:20px;cursor:pointer;font-size:clamp(17px,2.4vw,24px);font-weight:700;color:#102c60;background:white}
.access-option:has(input:checked){background:#eaf5ff;border-color:#72b8f7}.access-option:focus-within{outline:3px solid #7accc6;outline-offset:2px}
.access-option input{width:23px;height:23px;accent-color:#119e99;flex-shrink:0}.access-icon{font-size:29px}
.access-submit{margin-top:30px;background:#168b91;color:white;border:0;border-radius:14px;padding:18px 48px;font-size:22px;font-weight:800;cursor:pointer}.access-submit:hover{background:#116e76}.access-register{margin:24px 0 0}.access-register a{color:#137e89}
@media(max-width:600px){.access-shell{margin:12px auto;padding:10px}.access-card{padding:22px}.access-option{padding:13px 10px;gap:10px}.access-icon{font-size:22px}}

/* Mochila 3.0.3: nombre discreto y resultado completo en pantalla */
.student-name-panel{max-width:1120px;margin:12px auto 20px;padding:0 8px;color:#1b2b43}
.student-name-summary{display:flex;align-items:center;gap:18px;justify-content:flex-end;font-size:14px}
.student-name-summary details{position:relative}.student-name-summary summary{cursor:pointer;color:#087f79;font-weight:650}
.student-name-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.student-name-form input{min-width:170px;padding:9px;border:1px solid #b8cbd7;border-radius:8px}
.student-name-panel:not(:has(.student-name-summary)){background:#fff;border:1px solid #d9e5ee;border-radius:14px;padding:18px;margin-top:16px}
.final-report{padding:22px!important;background:#f1fbf9!important;color:#19304a}.final-report-heading h3{font-size:25px;margin:9px 0}.final-report-section{background:#fff;border:1px solid #dbe9eb;border-radius:12px;padding:16px;margin:14px 0}.final-report-section h4{margin:0 0 12px;font-size:17px}.final-decision-list,.final-next-steps{padding-left:24px;margin:0}.final-decision-list li,.final-next-steps li{padding:7px 0;border-bottom:1px solid #e8eff1}.final-decision-list li:last-child,.final-next-steps li:last-child{border-bottom:0}.final-decision-list span{display:block;color:#687b8e;font-size:12px;margin-bottom:4px}.final-decision-list strong{font-size:14px}.final-stats{display:flex;flex-wrap:wrap;gap:8px}.final-stats span{background:#eff7fa;border-radius:8px;padding:7px 10px;font-size:13px}.final-report-download{margin-top:18px;padding-top:12px;border-top:1px solid #d5e4e5}
@media(max-width:650px){.student-name-summary{justify-content:space-between}.final-report{padding:14px!important}}

/* 3.0.5 Observatorio visual */
.obs-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:28px}.obs-section-head h2{margin:0}.obs-section-head button,.obs-zoom-btn,.obs-modal-head button{background:#fff;color:#087f87;border:1px solid #90c4c8;border-radius:9px;padding:9px 14px;cursor:pointer;font-weight:600}.obs-zoom-btn{margin-top:15px}.obs-question-card{padding:22px}.obs-bar-row{margin:15px 0}.obs-bar-row:nth-child(2n) .obs-track>div{background:#4774c4}.obs-track{height:16px}.obs-segments{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px}.obs-segment-card{padding:20px;border:1px solid #dce6ee;border-radius:14px;background:#fff;min-width:0}.obs-segment-card h3{font-size:1rem;margin:0;overflow-wrap:anywhere}.obs-segment-card p{color:#64748b;margin:9px 0}.obs-segment-answer{margin:16px 0}.obs-age-item{display:grid;grid-template-columns:65px minmax(0,1fr) 45px;align-items:center;gap:10px;margin:10px 0}.obs-age-item .obs-track{margin:0}.obs-details{margin:24px 0}.obs-details summary{cursor:pointer;font-weight:600;padding:12px}.obs-modal{width:min(1100px,95vw);max-width:95vw;max-height:90vh;border:0;border-radius:16px;padding:22px;background:#f5f8fb;color:#19283f;overflow:auto}.obs-modal::backdrop{background:rgba(10,24,44,.75)}.obs-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.obs-modal .obs-segments{grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr))}.obs-modal .obs-question-card{margin-bottom:16px}@media(max-width:600px){.obs-answerline{font-size:.88rem}.obs-age-item{grid-template-columns:55px minmax(0,1fr) 32px}.obs-question-card{padding:14px}}

/* Observatorio 3.0.6 */
.observatorio{width:min(1440px,94vw)!important;max-width:none!important;margin-inline:auto!important}.observatorio .obs-segments{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.obs-simulator{margin-top:38px;padding:clamp(15px,3vw,28px);border:1px solid #dce6ee;border-radius:16px;background:#fff}.sim-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;margin:20px 0}.sim-controls label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:.9rem}.sim-controls input{max-width:100%;padding:7px}.sim-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.sim-actions button{border:1px solid #087f87;background:#087f87;color:white;border-radius:9px;padding:10px 14px;cursor:pointer}.sim-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.sim-kpis>div{padding:14px;border-radius:12px;background:#f2f7f9}.sim-kpis strong{display:block;font-size:1.5rem;color:#087f87}.sim-kpis span{font-size:.85rem}.sim-charts{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}.sim-charts>div{min-width:0}.sim-charts svg{width:100%;background:#f8fbfd;border-radius:10px}.sim-grid{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:3px}.sim-dot{aspect-ratio:1;border-radius:50%;background:#0d9c9a}.sim-dot.b{background:#4774c4}@media(max-width:800px){.sim-charts{grid-template-columns:1fr}.sim-kpis{grid-template-columns:1fr}}

/* 3.0.30: anuncios compactos sin recorte agresivo de marcas */
.provider-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));align-items:start}
.provider{max-width:320px;min-width:0}
.provider img{display:block;width:100%;height:100px;max-height:100px;object-fit:contain;object-position:center;background:#fff;border-radius:8px;padding:5px}
.provider-fallback{min-height:75px;display:grid;place-items:center}
@media(max-width:560px){.provider-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.provider img{height:82px;max-height:82px}}
.mochila-method{margin:18px 0;padding:16px;border:1px solid #a7c9c7;border-radius:12px;background:#eff9f7;color:#173c48;line-height:1.6}
.mochila-method summary{cursor:pointer;font-weight:750}.mochila-method p,.mochila-method li{color:#284b55}

/* 3.0.32 · Portada narrativa opcional */
.narrative-intro{overflow:hidden;background:#101f2d;color:#fff;border-radius:15px 15px 0 0}.narrative-cover{width:100%;height:auto;max-height:310px;object-fit:cover;display:block}.narrative-intro-copy{padding:1.3rem 1.6rem}.narrative-intro-copy h2{color:#fff;margin:.4rem 0}.narrative-intro-copy p{color:#e1ebed}.narrative-kicker{font-size:.75rem;letter-spacing:.12em;color:#8cdec7}.narrative-video{margin:1rem 0}.narrative-video summary{cursor:pointer}.narrative-video video{width:100%;max-height:340px;margin-top:.8rem;border-radius:8px}.narrative-skip{color:#a5e9d9;font-weight:600}

/* Mochila 3.0.33: portadas adaptables y legibilidad recuperada */
.narrative-cover{width:100%;height:auto;max-height:none;object-fit:contain;background:#102235}
.story-text{font-size:16px!important;line-height:1.68!important}
.choice-text{font-size:16px!important;line-height:1.48!important}
.choice-picture{width:100px;height:66px;object-fit:cover;border-radius:9px;flex:0 0 auto;background:#dce8ee}
.choice-illustrated{min-height:80px}
@media(max-width:600px){.narrative-cover{max-height:none;object-fit:contain}.choice-picture{width:76px;height:62px}.story-text,.choice-text{font-size:16px!important}.choice-illustrated{gap:10px;padding:10px}.choice-number{font-size:12px}}
