
:root{--navy:#062a55;--navy2:#0b3a6c;--gold:#e1ad18;--bg:#eef2f6;--card:#fffdf8;--ink:#17314f;--muted:#617487;--line:#d8e1eb;--soft:#f5f0e3;--green:#467460;--greenSoft:#edf5f0}
*{box-sizing:border-box} body{margin:0;background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink)} a{color:inherit}
header{background:linear-gradient(135deg,var(--navy),#031c3d);color:#fff;padding:30px 20px 26px}.wrap{max-width:1040px;margin:auto}.single-wrap{max-width:900px;margin:auto}
.topline{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.header-nav{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.back{color:#fff;text-decoration:none;font-weight:800;font-size:14px;opacity:.92}.portal-back{padding:7px 11px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(255,255,255,.12)}.portal-back:hover{background:rgba(255,255,255,.20)}.cases-back{padding:7px 11px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:transparent;opacity:.92;text-decoration:none}.cases-back:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.42)}.cases-back:before{content:"▦";margin-right:7px;font-size:12px;opacity:.9}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#f2c958;font-weight:900}
.case-head-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.case-id{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#f2c958;font-weight:900}.course-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);color:#fff;font-size:12px;font-weight:800;letter-spacing:.01em}
h1{font-family:Georgia,serif;font-size:clamp(31px,5vw,46px);font-weight:600;margin:0 0 8px}.lead{max-width:790px;color:#e7edf4;font-size:16px;line-height:1.55;margin:0} main{padding:26px 18px 56px}
.progress-shell{background:#fff;border:1px solid var(--line);border-radius:17px;padding:13px;margin-bottom:18px;box-shadow:0 3px 12px #0b2b4b0a}.progress-label{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0 0 9px 2px}.progress{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.phase-btn{min-width:0;text-align:center;text-decoration:none;font-size:11px;font-weight:900;border-radius:10px;padding:8px 5px;background:#dfe6ed;color:#657789;border:1px solid transparent;line-height:1.2}.phase-btn.unlocked{background:var(--navy);color:#fff}.phase-btn.unlocked:hover{background:var(--navy2)}.phase-btn.current{background:var(--gold);color:#2b2a20;border-color:#c79813}.phase-btn.locked{cursor:not-allowed;opacity:.62}.phase-num{display:block;font-size:10px;opacity:.8;margin-bottom:2px}
.phase-intro{background:var(--soft);border-left:4px solid var(--gold);padding:13px 16px;border-radius:11px;line-height:1.5;color:#4f6173;margin-bottom:15px}.step{background:var(--card);border:1px solid var(--line);border-radius:17px;margin:0;overflow:hidden;box-shadow:0 3px 12px #0b2b4b0a}.step-head{display:flex;gap:12px;align-items:center;padding:17px 18px}.step-num{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900;font-size:13px;flex:none}.step h3{font-family:Georgia,serif;color:var(--navy);font-size:21px;margin:0}.step-body{padding:0 20px 20px 62px;line-height:1.62;color:#40566d}.step-body p:first-child{margin-top:0}.math{font-family:Georgia,serif;font-size:28px;color:var(--navy);font-weight:700;margin:10px 0}.dialogue{border-left:3px solid #c8d4df;padding-left:13px}.question{background:#eef3f8;border-left:4px solid var(--navy2);border-radius:9px;padding:14px 15px;font-weight:800;color:var(--navy)} ul{padding-left:21px}.atlas-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.atlas{border:1px solid var(--line);border-radius:12px;padding:16px;background:#f8fafc;display:flex;flex-direction:column;align-items:flex-start}.atlas ul{flex:1;width:100%;margin-bottom:14px}.atlas-open{margin-top:auto}.atlas strong{color:var(--navy)}.atlas-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:10px 14px;font-weight:850;font-size:13px;border:0}.primary{background:var(--navy);color:#fff}.primary:hover{background:var(--navy2)}.secondary{background:#edf2f7;border:1px solid #d7e0e9;color:var(--navy)}
.navrow{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}.completion{margin-top:17px;background:linear-gradient(135deg,#eef6f1,#fffdf8);border:1px solid #cfdfd6;border-left:5px solid var(--green);border-radius:15px;padding:17px}.completion h3{font-family:Georgia,serif;color:var(--navy);margin:0 0 6px}.completion p{color:#506579;line-height:1.5;margin:0 0 12px}.pdfbtn{background:var(--green);color:#fff}.pdfbtn:hover{filter:brightness(.94)}
@media(max-width:800px){.progress{grid-template-columns:repeat(4,1fr)}.atlas-grid{grid-template-columns:1fr}.step-body{padding-left:20px}.topline{align-items:flex-start;flex-direction:column}}
@media(max-width:500px){.progress{grid-template-columns:repeat(2,1fr)}.navrow .btn{width:100%}}

/* Visualización geométrica para casos que requieren comparar orientaciones */
.shape-compare{display:flex;justify-content:center;gap:72px;align-items:center;margin:20px 0 22px;padding:18px;background:#f7fafc;border:1px solid var(--line);border-radius:14px}.shape-item{display:flex;flex-direction:column;align-items:center;gap:13px;color:var(--muted);font-size:12px;font-weight:800}.square-shape{width:76px;height:76px;border:4px solid var(--navy2);background:#eaf1f8}.square-shape.rotated{transform:rotate(45deg);margin:13px}@media(max-width:520px){.shape-compare{gap:34px}.square-shape{width:62px;height:62px}}


.lang-switch{display:flex;gap:4px;align-items:center;font-size:12px;font-weight:900;letter-spacing:.04em;margin-left:auto}
.lang-switch a,.lang-switch span{padding:5px 7px;border-radius:7px;text-decoration:none}
.lang-switch a{color:#fff;background:rgba(255,255,255,.12)}
.lang-switch a:hover{background:rgba(255,255,255,.22)}
.lang-switch .active{color:var(--navy);background:#fff}
@media(max-width:760px){.lang-switch{margin-left:0}}

/* Hover unificado v1.148 */
button,
.btn,
.lang-pill,
.atlas-back,
.back,
.chapter-btn,
.chapter-nav-btn,
.nav,
.close,
.quick-guide__start,
.quick-guide__close,
input[type="button"],
input[type="submit"],
a.btn,
a[role="button"]{transition:filter .15s ease, background-color .15s ease, box-shadow .15s ease, transform .15s ease;}
button:hover:not(:disabled),
.btn:hover,
.lang-pill:hover,
.atlas-back:hover,
.back:hover,
.chapter-btn:hover,
.chapter-nav-btn:hover,
.nav:hover:not(:disabled),
.close:hover,
.quick-guide__start:hover,
.quick-guide__close:hover,
input[type="button"]:hover:not(:disabled),
input[type="submit"]:hover:not(:disabled),
a.btn:hover,
a[role="button"]:hover{filter:brightness(.94);}
button:disabled:hover,
.nav:disabled:hover,
input[type="button"]:disabled:hover,
input[type="submit"]:disabled:hover{filter:none;}
