/* V57 · identidad inmersiva, pestañas 3D y color premium */
:root{
  --font-display:Georgia,"Times New Roman",serif;
  --app-navy:#0c2743;--app-blue:#436fe8;--app-teal:#1fa58e;--app-violet:#7566d8;
  --app-gold:#c6933d;--app-surface:#fff;--app-canvas:#f1f5f9;--app-border:#dce5ef;
  --app-ink:#142238;--app-muted:#61758b;
}
body{font-family:"Avenir Next","Segoe UI Variable Text",Inter,system-ui,sans-serif;background:radial-gradient(circle at 84% 4%,#e5eaff 0,transparent 24%),#f2f6fa;color:var(--app-ink);letter-spacing:-.008em}
.main{background:transparent}.sidebar{background:radial-gradient(circle at 30% 0%,rgba(105,126,255,.28),transparent 30%),linear-gradient(180deg,#0b2947 0%,#071c31 100%);box-shadow:18px 0 50px rgba(4,21,37,.16);border-right:1px solid rgba(255,255,255,.09)}
.brand .logo{border-color:rgba(175,202,255,.7);box-shadow:0 16px 36px rgba(2,17,31,.34)}.brand strong{font-family:var(--font-display);font-size:18px;font-weight:600}.brand span{letter-spacing:.04em}
.nav-btn{position:relative;overflow:hidden;perspective:500px;transition:transform .24s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease}.nav-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.12),transparent);transform:translateX(-120%);transition:transform .55s ease}.nav-btn:hover::after{transform:translateX(120%)}.nav-btn:hover{transform:translateX(4px) translateZ(8px);background:rgba(255,255,255,.085)}.nav-btn.active{transform:translateX(6px);border-color:rgba(181,202,255,.55);background:linear-gradient(135deg,#fff,#eef3ff);box-shadow:0 18px 36px rgba(1,13,24,.3),inset 0 1px #fff}.nav-btn.active .nav-index{background:linear-gradient(145deg,#5279e7,#7363dc);box-shadow:0 7px 16px rgba(57,73,180,.25);color:#fff}.nav-group{color:#8fb9d5}
.topbar{background:rgba(255,255,255,.82);backdrop-filter:blur(24px) saturate(140%);box-shadow:0 12px 36px rgba(24,55,91,.055)}.topbar h1,.hero h2,.module-hero h2,.step-mentor h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.035em}.topbar h1{font-size:30px}
#view{perspective:1200px}.experience-compass{border-radius:22px;box-shadow:0 22px 54px rgba(18,48,81,.09);transform:translateZ(0)}.experience-compass .compass-context{background:radial-gradient(circle at 85% 10%,rgba(119,133,255,.42),transparent 35%),linear-gradient(145deg,#0e365a,#102b4c)}
.hero,.card,.step-mentor,.module-form,.route-summary,.route-step,.recording-rail,.planning-support{border-color:rgba(185,201,218,.78);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 18px 50px rgba(21,51,83,.075),inset 0 1px #fff;backdrop-filter:blur(16px);transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.card:hover,.route-step:hover,.planning-window-btn:hover{transform:translateY(-4px) rotateX(1deg);border-color:#adc2ee;box-shadow:0 25px 60px rgba(38,68,120,.13),inset 0 1px #fff}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 87% 12%,rgba(101,118,235,.17),transparent 26%),linear-gradient(145deg,#fff,#f1f6fb)}.hero::after{content:"";position:absolute;width:210px;height:210px;right:-80px;bottom:-105px;border:1px solid rgba(78,112,230,.2);border-radius:50%;box-shadow:0 0 0 32px rgba(78,112,230,.035),0 0 0 64px rgba(78,112,230,.025)}
.tabs{gap:10px;padding:7px;border:1px solid #dbe5ef;border-radius:18px;background:linear-gradient(145deg,#edf3f9,#f8fbfd);box-shadow:inset 0 2px 8px rgba(35,66,97,.055)}.tab{position:relative;min-height:42px;padding:10px 16px;border-color:transparent;border-radius:13px;background:transparent;color:#62778c;box-shadow:none;transition:.24s ease}.tab:hover{color:#214f81;background:rgba(255,255,255,.72);transform:translateY(-2px)}.tab.active{border:1px solid rgba(130,154,232,.55);background:linear-gradient(145deg,#547ce8,#7564dc);box-shadow:0 12px 25px rgba(61,73,174,.24),inset 0 1px rgba(255,255,255,.28);color:#fff;transform:translateY(-2px)}
.btn{border-radius:13px;background:linear-gradient(135deg,#4774e7,#6e61da);box-shadow:0 12px 24px rgba(55,80,187,.2),inset 0 1px rgba(255,255,255,.22)}.btn:hover{transform:translateY(-3px);box-shadow:0 17px 32px rgba(55,80,187,.28),inset 0 1px rgba(255,255,255,.22)}.btn.soft{background:linear-gradient(145deg,#eef4ff,#e6f3f5);color:#204b78}.btn.ghost{background:rgba(255,255,255,.82)}
.input,select,textarea{border-color:#d7e1eb;border-radius:15px;background:rgba(248,250,252,.88);transition:.2s}.input:focus,select:focus,textarea:focus{border-color:#7e9ce9;box-shadow:0 0 0 4px rgba(78,114,231,.1),0 10px 30px rgba(51,81,126,.08);background:#fff}.pill{border-radius:999px;background:#eaf0ff;color:#345bba;border-color:#cbd8fa}.pill.green{background:#e5f7f2;color:#15725f;border-color:#b7e5d8}
.planning-window-btn{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f4f8fc);transition:.25s}.planning-window-btn::after{content:"↗";position:absolute;right:13px;top:12px;color:#7d9dc1}.planning-window-btn span{color:#5476d8}.module-title{background:linear-gradient(110deg,#173f67,#4f6fce 65%,#6d61ca)}
.table{border-radius:18px;box-shadow:0 12px 32px rgba(23,59,99,.055)}.table th{background:linear-gradient(110deg,#123958,#224e78)}
.light.green{box-shadow:0 0 0 5px rgba(56,161,105,.11),0 0 16px rgba(56,161,105,.38)}.light.yellow{box-shadow:0 0 0 5px rgba(214,158,46,.1),0 0 16px rgba(214,158,46,.28)}

/* V58 · escala tipográfica oficial y accesible */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:17px;line-height:1.65}
.sidebar{width:310px}.brand span{font-size:12px;line-height:1.45}.nav-group{font-size:12px}.nav-label{font-size:15px}.nav-hint{font-size:12px;line-height:1.45}.sidebar-note{font-size:13px}
.topbar p{font-size:14px;line-height:1.55}.topbar-badge,.permanent-disclaimer{font-size:12px}
.btn,.tab{font-size:14px}.field label{font-size:14px}.input,select,textarea{font-size:16px;line-height:1.55}.mini{font-size:13px}.pill{font-size:13px}.charline,.muted{font-size:13px}
.card p,.hero p,.helpbox,.notice,.warning,.check,.rubric-item p,.module-body p,.module-body li{font-size:15px;line-height:1.65}.card h3{font-size:20px}.table th,.table td{font-size:14px;line-height:1.55}
.compass-kicker{font-size:12px}.experience-compass strong{font-size:14px}.compass-context strong{font-size:23px}.experience-compass p{font-size:12px}.calm-status{font-size:12px}
.closure-score span,.closure-module p,.closure-action p{font-size:13px}.closure-module h3{font-size:17px}
.reliability-bar>div{font-size:12px}.reliability-bar button{font-size:12px}

/* Acceso y activación: primera pantalla legible desde el inicio */
.license-gate>section{width:min(100%,560px)}.license-gate-brand b{font-size:17px}.license-gate-brand small{font-size:12px}.license-gate-kicker{font-size:12px}.license-gate h1{font-size:36px;line-height:1.12}.license-gate>section>p{font-size:15px;line-height:1.65}.license-gate label{font-size:13px}.license-gate label small{font-size:12px;line-height:1.45}.license-gate input{font-size:17px}.license-gate form button{font-size:14px}.license-gate-help a{font-size:12px}.license-gate-note{font-size:12px;line-height:1.55}.owner-signin span{font-size:12px}.owner-signin b{font-size:17px}.owner-signin small{font-size:12px;line-height:1.5}.license-divider{font-size:12px}.owner-access-badge span{font-size:12px}.owner-access-badge b{font-size:12px}

/* Ruta oficial y orientación pedagógica */
.official-route-hero p{font-size:14px;line-height:1.6}.official-route-hero aside span{font-size:13px}.official-route-hero aside small{font-size:12px}.official-route-links a{font-size:12px}.official-calendar span{font-size:12px}.official-calendar b{font-size:14px}.official-calendar small{font-size:12px}.official-route-module>header small{font-size:12px}.official-task-list i{font-size:12px}.official-task-list b{font-size:14px}.official-task-list small{font-size:12px;line-height:1.5}.official-task-list em{font-size:12px}.official-route-module>footer span,.official-route-module>footer button{font-size:12px}.official-route-finish small{font-size:12px}.official-route-finish p{font-size:13px;line-height:1.6}.official-route-finish button{font-size:12px}.official-route-disclaimer{font-size:12px;line-height:1.6}

/* Mentoría y selección curricular */
.mentor-identity small,.mentor-score span{font-size:12px}.mentor-step b{font-size:13px}.mentor-feedback b{font-size:14px}.mentor-feedback p{font-size:13px;line-height:1.65}.mentor-feedback button{font-size:12px}.mentor-routes>div>small{font-size:12px}.mentor-route-grid span{font-size:12px}.mentor-route-grid b{font-size:12px}.mentor-route-grid small{font-size:12px;line-height:1.45}.mentor-ministry>header small,.mentor-ministry>header>span{font-size:12px}.mentor-ministry-grid article>span{font-size:12px}.mentor-ministry-grid b{font-size:13px}.mentor-ministry-grid p,.mentor-ministry-grid li{font-size:12px;line-height:1.55}.mentor-ministry>footer p,.mentor-ministry>footer a,.mentor-safeguard p{font-size:12px;line-height:1.55}
.gateway-kicker,.gateway-label{font-size:12px}.gateway-step-count span{font-size:12px}.gateway-selectors label>span{font-size:14px}.gateway-tags span{font-size:12px}.gateway-result dt{font-size:12px}.gateway-result dd{font-size:14px}.gateway-result-side p{font-size:14px}.gateway-result-side a{font-size:13px}.gateway-note{font-size:12px}.gateway-next-grid b{font-size:12px}.gateway-next-grid span{font-size:13px}
@media(max-width:980px){.sidebar{box-shadow:20px 0 60px rgba(3,20,36,.32)}.nav-btn.active{transform:none}.card:hover,.route-step:hover,.planning-window-btn:hover{transform:none}}
@media(max-width:650px){body{font-size:16px}.sidebar{width:min(88vw,310px)}.topbar h1{font-size:25px}.topbar p{font-size:14px}.license-gate>section{padding:25px}.license-gate h1{font-size:31px}.official-task-list button{gap:10px}.mobile-safe-nav button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.nav-btn,.nav-btn::after,.card,.route-step,.planning-window-btn,.tab{transition:none!important}.nav-btn:hover,.nav-btn.active,.card:hover,.route-step:hover,.planning-window-btn:hover,.tab:hover,.tab.active{transform:none!important}}
