/* BitRuta V9 · ventanas educativas y proyecto final. Sin cambiar portada ni mapa. */
body.br-modal-open{overflow:hidden}
.br-stage-dialog,.br-calculator-dialog{position:relative;width:min(100%,610px);max-width:610px;max-height:calc(100dvh - 30px);overflow-y:auto;margin:auto;text-align:left;border:2px solid #a7baf7;border-radius:21px;padding:30px;background:#fff;box-shadow:0 26px 76px rgba(26,45,104,.29);scrollbar-width:thin;scrollbar-color:#a9baf4 #f2f7ff}
#stageModal,#projectModal,#calculatorModal{z-index:75;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(20,32,78,.48);backdrop-filter:blur(6px)}
#stageModal.is-hidden,#projectModal.is-hidden,#calculatorModal.is-hidden{display:none!important}
.br-stage-dialog{background:linear-gradient(150deg,#f1f5ff 0%,#fff 42%,#fff 84%,#f4f1ff 100%)}
.br-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#4d60ce;font-size:11px;letter-spacing:.12em;font-weight:900;text-transform:uppercase}
.br-close{display:grid;place-items:center;position:absolute;top:15px;right:16px;width:38px;height:38px;padding:0;border:1px solid #d3dff9;border-radius:11px;background:#fff;color:#263c87;font-size:24px;cursor:pointer;transition:transform .2s,background .2s}
.br-close:hover{transform:rotate(8deg);background:#eaf1ff}
.br-stage-symbol{display:grid;place-items:center;margin:19px 0 15px;width:55px;height:55px;border-radius:15px;background:linear-gradient(135deg,#4888f3,#7354eb);color:#fff;font-size:28px;box-shadow:0 11px 22px rgba(77,108,236,.22);animation:br-v9-rise .5s ease both}
.br-stage-dialog h2,.br-calculator-dialog h2{color:#1c2d62;font-size:clamp(24px,3vw,30px);line-height:1.2;margin:0 0 11px;letter-spacing:-.035em}
.br-stage-dialog>p,.br-calc-top p{color:#566c94;line-height:1.6;font-size:14px;margin:0 0 16px}
.br-topic-box{border:1px solid #d2defb;background:#f5f8ff;border-radius:14px;padding:17px 19px;margin:14px 0 16px;color:#293f7d}
.br-topic-box strong{font-size:13px;color:#273e93}
.br-topic-box ul,.br-topic-box ol{padding-left:20px;margin:10px 0 0;display:grid;gap:9px}
.br-topic-box li{padding-left:4px;font-size:13px;line-height:1.45}
.br-topic-box li::marker{color:#586ee7}
.br-topic-box code,.br-message code{color:#3c54a9;padding:1px 5px;border:1px solid #d8e2ff;border-radius:5px;background:white;white-space:normal}
.br-message{padding:12px 14px;border-left:4px solid #36a4d9;background:#effbff;border-radius:7px;color:#285578!important;font-size:12px!important}
.br-full{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;text-align:center;gap:5px}
#stageGo,#projectGo{margin-top:14px}
.br-project-dialog{border-color:#9b8cf5}
.br-project-dialog .br-stage-symbol{background:linear-gradient(135deg,#7455f2,#3a91ed)}
.br-calculator-dialog{max-width:660px;padding:0}
.br-calc-top{position:relative;padding:26px 28px 18px;background:linear-gradient(110deg,#ecf2ff,#fff 70%,#f5f1ff);border-bottom:1px solid #e0e7fc}
.br-calc-top p{margin-bottom:0}
.br-calc-inputs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px;padding:21px 25px}
.br-calc-inputs label{min-width:0;display:grid;gap:8px;font-weight:750;font-size:12px;color:#314a83}
.br-calc-inputs input,.br-calc-inputs select{width:100%;min-width:0;height:46px;border:1.6px solid #b8c9f2;background:#f8faff;border-radius:10px;color:#183365;padding:8px 10px;font:700 16px inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}
.br-calc-inputs input:focus,.br-calc-inputs select:focus{border-color:#526fed;outline:0;box-shadow:0 0 0 3px #e6ebff}
#calcRun{width:calc(100% - 50px);margin:0 25px 18px}
.br-result{background:linear-gradient(125deg,#ecf8ff,#f9fbff 60%,#eef4ff);border:1px solid #c3d9f9;border-radius:15px;margin:0 25px 18px;padding:18px 20px;text-align:center}
.br-result small{display:block;color:#5878b5;letter-spacing:.1em;font-size:10px;font-weight:900}
.br-result strong{display:block;color:#233fb8;font-size:clamp(30px,5vw,44px);font-weight:900;margin:6px 0;overflow-wrap:anywhere}
.br-result p{font-size:12px;color:#4f6489;line-height:1.6;margin:0}
.br-calc-footer{display:flex;gap:15px;justify-content:space-between;align-items:center;border-top:1px solid #e1e9fa;padding:16px 25px}
.br-calc-footer span{font-size:12px;color:#537399;font-weight:700}
.br-calc-footer button:disabled{opacity:.47;cursor:not-allowed;filter:saturate(.4);box-shadow:none}
#calcBack{width:calc(100% - 50px);margin:0 25px 22px}
.guide-v9-checklist{display:grid;gap:8px;margin:10px 0 14px;padding:14px 16px;background:#f3f7ff;border:1px solid #d5e2fc;border-radius:12px}
.guide-v9-checklist p{margin:0;color:#385582;font-size:12px;line-height:1.5}
.guide-v9-checklist p::before{content:'✓';font-weight:900;color:#168e76;margin-right:8px}
@keyframes br-v9-rise{from{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){#stageGo:hover,#projectGo:hover,#calcRun:hover,#calcFinish:not(:disabled):hover{transform:translateY(-2px)}}
@media(max-width:560px){.br-stage-dialog{padding:23px 19px}.br-calculator-dialog{border-radius:17px}.br-calc-inputs{grid-template-columns:1fr 1fr;padding:18px}.br-calc-inputs label:nth-child(2){grid-row:2;grid-column:1/3}.br-calc-top{padding:23px 18px}.br-calc-footer{padding:14px 18px;align-items:stretch;flex-direction:column}.br-result{margin:0 18px 16px}#calcRun,#calcBack{width:calc(100% - 36px);margin-left:18px;margin-right:18px}#calcBack{margin-bottom:18px}.br-calculator-dialog h2{padding-right:35px}}
@media(prefers-reduced-motion:reduce){.br-stage-symbol{animation:none}.br-close{transition:none}}

.br-code-heading{margin:15px 0 7px!important;color:#304984!important;font-size:12px!important;font-weight:900}
.br-code-preview{margin:0 0 14px;padding:14px 16px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;border:1px solid #cfdcf8;border-radius:12px;background:#f5f8ff;color:#29418b;font:12px/1.65 Consolas,Monaco,monospace}
