@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/inter-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/inter-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/inter-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url(/static/fonts/inter-latin-800-normal.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:900;font-display:swap;src:url(/static/fonts/inter-latin-900-normal.woff2) format('woff2');}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/atkinson-hyperlegible-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/atkinson-hyperlegible-latin-700-normal.woff2) format('woff2');}
:root{--navy:#0b246a;--blue:#0069fa;--cyan:#05a7df;--text:#233f70;--muted:#607593;--line:#d9e7f6;--surface:#fff;--bg:#f6faff;--radius:14px;--shadow:0 4px 18px #163d7110;--s1:#3EC6E0;--s2:#1558A0;--s3:#6818ed;--s4:#C47A12;--s5:#1F8A5B;font-family:'Atkinson Hyperlegible','Inter',Arial,sans-serif;color:var(--text);font-size:14px;line-height:1.5;background:var(--bg)}*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{color:var(--navy);line-height:1.22}h1{font-size:34px;letter-spacing:-1px}h2{font-size:24px;letter-spacing:-.5px}h3{font-size:16px}p{margin:9px 0 14px}a{color:var(--blue);text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}button{border:1px solid transparent;background:#e7effa;color:var(--navy);border-radius:9px;padding:10px 16px;font-weight:600}button:hover:not(:disabled),a.primary:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #edab00;outline-offset:3px}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.primary,.outline{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:10px 18px;border-radius:8px;font-weight:700;font-size:13px;line-height:1.4}.primary{background:var(--blue);color:white;border:1px solid var(--blue);box-shadow:0 3px 8px #0069fa20}.outline{background:white;color:var(--blue);border:1px solid #b9d5fc}.plain{background:transparent;color:var(--blue);padding:8px;border:0}.eyebrow{display:block;color:var(--blue);font-size:11px;letter-spacing:1.4px;font-weight:700;margin-bottom:8px}.muted{color:var(--muted)}.small,small{font-size:12px}small{display:block;font-weight:400;line-height:1.5}.badge{display:inline-block;background:#e8f2ff;color:#1655a0;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:700}.topbar{height:82px;background:#fff;display:flex;align-items:center;padding:12px 30px;gap:40px;border-bottom:1px solid var(--line)}.logo{width:auto;height:56px;max-width:140px;object-fit:contain}.topbar nav{display:flex;align-items:center;gap:28px;height:100%;flex:1}.topbar nav a{font-weight:700;color:var(--muted);display:flex;align-items:center;gap:8px;font-size:13px;height:100%}.topbar nav a.selected{color:var(--blue)}.account{display:flex;align-items:center;gap:10px;font-size:12px}.account small{font-size:10px}.local-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#0cab87}.local-label{margin-right:14px;color:var(--muted)}.avatar{width:34px;height:34px;border-radius:50%;background:#e5efff;color:var(--blue);display:grid;place-items:center;font-weight:bold}#main{max-width:1700px;margin:auto;padding:24px 28px 10px;min-height:calc(100vh - 152px)}footer{max-width:1700px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;font-size:12px;color:var(--blue);gap:16px}footer .footer-brand{display:flex;align-items:center;gap:12px}footer .footer-logo{height:48px;width:auto;max-width:120px;object-fit:contain}footer>span:first-child,footer .footer-brand>span{font-style:italic}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:17px 0 30px;gap:20px}.page-heading p{color:var(--muted);margin-bottom:0}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.course-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:var(--shadow)}.course-image{height:228px;position:relative;overflow:hidden;background:#cfe7ef}.course-image img{height:100%;width:100%;object-fit:cover}.course-image>span{position:absolute;left:18px;top:18px;padding:4px 13px;border-radius:15px;background:white;color:var(--navy);font-weight:bold;font-size:12px}.course-details{padding:23px}.course-details h2{font-size:25px;line-height:1.2;margin:10px 0}.course-details p{font-size:13px;color:var(--muted)}.course-details>.primary{width:100%;margin-top:22px}.progress-label{display:flex;justify-content:space-between;font-size:12px;margin:12px 0 6px}progress{display:block;width:100%;height:8px;border:0;appearance:none;border-radius:8px;overflow:hidden;background:#dae6f4}progress::-webkit-progress-bar{background:#dae6f4;border-radius:8px}progress::-webkit-progress-value{background:var(--blue);border-radius:8px}progress::-moz-progress-bar{background:var(--blue)}.welcome-note{padding:30px 20px;max-width:350px;margin:0 10px}.welcome-note h2{margin:20px 0 12px}.welcome-note p{color:var(--muted)}.note-line{width:50px;height:3px;background:#c7dff6;margin:30px 0}.content-note{margin:30px 0;color:var(--muted);font-size:12px}.circle{width:48px;height:48px;border-radius:50%;background:#e4f0ff;color:var(--blue);display:inline-grid;place-items:center;flex-shrink:0}.circle .icon{width:27px;height:27px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.panel>h3{display:flex;align-items:center;gap:8px;margin-bottom:12px}.soft{background:linear-gradient(110deg,#f2f8ff,#edf6ff);border:1px solid #e3eef9;border-radius:10px;padding:16px}.soft h3{color:var(--blue);margin-bottom:9px}.soft h3 .icon{margin-right:5px}.soft p:last-child{margin-bottom:0}.gold{background:#fff9eb}.pink{background:#fff0f7}.info-strip{padding:11px 14px;background:#eaf4ff;border-radius:8px;color:#215fa7;font-size:12px;margin:12px 0}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px}.map{min-height:635px;background:linear-gradient(#d7eaff,#eaf8ff 50%,#d2e6d6);border-radius:18px;overflow:hidden;position:relative;padding:26px}.back-link{font-size:12px;color:#5d79a3;display:inline-block;margin-bottom:17px}.map-title{position:relative;z-index:1}.map-title h1{font-size:37px}.map-title h2{font-size:23px;margin-top:5px}.map-title .eyebrow{font-size:10px}.map-title p{font-size:13px}.landscape{position:absolute;bottom:0;left:0;width:100%;height:85%}.module-cards{position:relative;z-index:1;display:flex;align-items:flex-start;gap:18px;margin:82px 0 80px;overflow-x:auto;padding:0 5px 65px}.map-card{flex:1;min-width:185px;background:#fffffff5;border:2px solid white;box-shadow:0 6px 20px #24548222;border-radius:15px;padding:15px;position:relative}.map-card:nth-child(2){margin-top:-20px}.map-card:nth-child(3){margin-top:-50px}.map-card:nth-child(4){margin-top:-10px}.map-card .eyebrow{margin-top:16px;font-size:10px}.map-card h3{font-size:18px;min-height:65px}.map-card p{font-size:12px;margin:11px 0;display:flex;align-items:center;gap:8px;color:#6982a5}.map-card p .icon{width:17px;height:17px}.map-card .primary,.map-card>button,.map-card .outline{width:100%;font-size:11px;padding:9px}.map-card.future .badge{color:#ba366b;background:#ffe4ef}.map-node{display:grid;place-items:center;position:absolute;bottom:-59px;left:calc(50% - 23px);width:46px;height:46px;background:var(--blue);color:white;border-radius:50%;border:4px solid white;font-size:25px;font-weight:bold;box-shadow:0 4px 8px #00294730}.future .map-node{background:#d06b98}.map-tools{display:flex;flex-direction:column;gap:15px}.map-progress{grid-column:1/-1;display:flex;gap:25px;align-items:center}.map-progress p{margin:2px 0;font-size:12px}.map-progress progress{flex:1;max-width:350px}.map-progress strong{font-size:30px;color:var(--navy)}.quote{font-style:italic;color:var(--muted);margin-left:auto!important}.support{padding:13px}.support h3{font-size:15px}.support-card{display:flex;align-items:center;text-align:left;gap:10px;width:100%;margin:9px 0;padding:13px 10px;border:0;border-radius:10px;color:var(--navy)}.support-card small{font-size:11px;margin-top:4px}.support-card b{font-size:13px}.support-card>span:last-child{margin-left:auto;font-size:22px}.support-card .circle{width:40px;height:40px;color:white;background:var(--blue)}.green{background:linear-gradient(100deg,#d9f3e9,#edfbf5)}.green .circle{background:#00ac87}.blue{background:linear-gradient(100deg,#e2efff,#f0f7ff)}.purple{background:linear-gradient(100deg,#eee5ff,#f7f3ff)}.purple .circle{background:#8731f0}.course-header{display:flex;justify-content:space-between;border-radius:12px;background:linear-gradient(105deg,#0756ae,#008af1);padding:22px 28px;color:white;overflow:hidden;min-height:170px;position:relative}.course-header h1{color:white;font-size:27px;margin:12px 0 3px;letter-spacing:-.5px}.course-header p{margin:3px 0 14px}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:12px}.breadcrumb a{color:white}.breadcrumb b{background:#087afb;padding:4px 10px;border-radius:7px}.header-station{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:bold}.header-station>.icon{width:31px;height:31px}.header-station small{font-size:11px;margin-top:2px}.header-art{width:320px;position:relative;margin:-22px -28px -22px 20px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:flex-end;background:#c4e5fa}.header-art img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;opacity:.52;mask-image:linear-gradient(90deg,transparent,black 40%)}.header-art span{position:relative;font-style:italic;text-align:center;transform:rotate(-7deg);color:#064591;line-height:1.35;padding:20px;font-size:18px;background:#ffffffe0;border-radius:40px 0 0 40px}.module-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px;margin-top:16px}.module-main{min-width:0}.sidebar{display:flex;flex-direction:column;gap:13px}.sidebar .panel{padding:14px}.sidebar h3{font-size:16px}.sidebar dl{margin:0}.sidebar dl>div{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #e5eff9;font-size:11px}.sidebar dt{font-weight:bold;color:var(--navy)}.sidebar dd{margin:0;color:var(--blue);text-align:right}.sidebar .progress-label{font-size:11px}.sidebar p{font-size:12px}.remember{background:#f3f8ff}.route-panel{padding:14px 17px}.route-panel h3{font-size:14px;margin:0 0 22px}.station-route{display:flex;gap:9px;align-items:center}.station{--accent:var(--s1);position:relative;display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;min-height:145px;padding:18px 7px 9px;border:1px solid color-mix(in srgb,var(--accent) 20%,white);background:color-mix(in srgb,var(--accent) 5%,white);border-radius:8px;line-height:1.2}.s1{--accent:var(--s1)}.s2{--accent:var(--s2)}.s3{--accent:var(--s3)}.s4{--accent:var(--s4)}.s5{--accent:var(--s5)}.station.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 8%,transparent)}.station:disabled{opacity:.82}.station-number{position:absolute;top:-15px;width:28px;height:28px;background:var(--accent);border-radius:50%;display:grid;place-items:center;color:white;font-size:17px;box-shadow:0 3px 5px #14366515}.station>.icon{width:28px;height:28px;color:var(--accent);margin-bottom:5px}.station>b{font-size:12px;max-width:130px;line-height:1.22;min-height:30px}.station>small{font-size:10px;line-height:1.2;min-height:25px;margin:3px 0 7px}.status{background:#e6eafb;border-radius:6px;padding:4px 7px;font-size:9px;white-space:nowrap}.active .status{background:#d9ebff;color:var(--blue)}.done .status{background:#d4f1e4;color:#08764e}.route-arrow{color:var(--blue);font-size:21px}.station-body{margin-top:14px;padding:18px}.panel-title{display:flex;align-items:center;gap:12px;margin-bottom:17px}.big-number{background:var(--accent);width:49px;height:49px;border-radius:50%;display:grid;place-items:center;color:white;font-size:30px;font-weight:bold;flex-shrink:0;box-shadow:0 4px 8px #14366514}.panel-title h2{font-size:23px}.panel-title .eyebrow{font-size:10px;letter-spacing:.5px;margin-bottom:2px}.panel-title p{font-size:12px;margin:3px 0 0}.time{margin-left:auto;align-self:flex-start;white-space:nowrap;padding:7px 10px;border:1px solid var(--line);border-radius:9px;font-size:11px;color:var(--blue)}.time .icon{width:17px;height:17px}.context-overview,.summary-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.summary-columns.three{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-columns p{font-size:12px}.context-overview p{font-size:12px}.context-detail{display:grid;grid-template-columns:.9fr 1.15fr 1fr;gap:12px}.context-detail h3{font-size:15px}.context-detail p{font-size:12px}.case-photo{border-radius:12px;overflow:hidden;background:#eef6fe;border:1px solid #e3eef9}.case-photo img{width:100%;height:172px;object-fit:cover}.case-photo>div{padding:13px}.case-photo .eyebrow{font-size:9px}.context-detail form label{font-size:12px}.context-detail form .form-bottom{display:block}.context-detail form .primary{margin-top:12px;width:100%;font-size:11px;padding:9px}.context-detail textarea{min-height:110px}.tabs{display:flex;gap:6px;margin:14px 0;background:#eaf3fd;border-radius:9px;padding:4px}.tabs button,.tabs a{flex:1;border:0;background:transparent;color:var(--blue);border-radius:6px;padding:10px;font-size:12px;text-align:center;font-weight:bold}.tabs .active{background:var(--blue);color:white;box-shadow:0 3px 6px #0069fa15}.tabs.compact{margin:0 0 17px;background:transparent;padding:0;gap:7px}.tabs.compact button{flex:0;padding:7px 20px;white-space:nowrap;background:#e3effd}.tabs.compact button.active{background:var(--blue)}.ae-layout{display:grid;grid-template-columns:.85fr 1.35fr;gap:12px}.ae-info h2{font-size:21px;margin:11px 0}.ae-info p{font-size:12px}.ae-info .eyebrow{font-size:9px;letter-spacing:.4px}.ae-info details{background:#e6f2ff;border-radius:6px;padding:10px;font-size:12px;color:var(--blue)}.progression h3{font-size:14px}.progression>p{font-size:12px;margin:5px 0 17px}.learning-route{display:flex;gap:7px}.learning-step{background:white;border:1px solid #dce8f9;border-radius:8px;padding:9px 4px 6px;min-width:0;flex:1;display:flex;align-items:center;flex-direction:column;gap:8px;color:var(--blue);font-size:10px}.learning-step>span{background:var(--blue);color:white;border-radius:50%;width:21px;height:21px;display:grid;place-items:center}.learning-step:nth-child(2)>span{background:#ec3987}.learning-step:nth-child(3)>span{background:#8e39ec}.learning-step:nth-child(4)>span{background:#f58c00}.learning-step:nth-child(5)>span{background:#008e89}.learning-step:nth-child(6)>span{background:#d9a900}.learning-step b{min-height:28px;font-size:10px;line-height:1.25}.learning-step small{font-size:8px;letter-spacing:-.2px;border-radius:4px;background:#e8eafa;width:100%;padding:3px 0}.learning-step.active{border-color:var(--blue);background:#eef6ff}.learning-step.done small{background:#d6f5e6;color:#087653}.learning-step:disabled{opacity:.8}.reflection{margin-top:13px}.reflection h3{font-size:14px}.reflection label{font-size:12px}label{display:block;font-size:13px;color:var(--text);font-weight:500;margin:10px 0 14px}input:not([type=radio]):not([type=checkbox]):not([type=range]),textarea,select{display:block;width:100%;margin-top:7px;padding:10px 12px;background:white;border:1px solid #b9cfe9;border-radius:7px;color:var(--navy);outline-offset:2px}textarea{resize:vertical;min-height:82px;line-height:1.5}input[type=radio],input[type=checkbox]{accent-color:var(--blue);width:17px;height:17px;flex-shrink:0;margin:0}input[type=range]{width:100%;accent-color:var(--blue)}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:13px}.form-bottom>div{display:flex;gap:9px}.bottom-nav{display:flex;justify-content:center;gap:14px;margin:20px 0 8px}.bottom-nav .primary:disabled{background:#8d9db8;border-color:#8d9db8;opacity:.7}.case-carousel{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 15px;margin-bottom:10px;scroll-snap-type:x mandatory}.integrated-card{padding:0 0 10px;min-width:160px;flex:0 0 18%;border:1px solid var(--line);background:#fff;text-align:left;overflow:hidden;scroll-snap-align:start}.integrated-card.active{border-color:var(--s3);box-shadow:0 0 0 2px #8738ec15}.integrated-card>b,.integrated-card>small{display:block;padding:7px 9px 0;font-size:12px}.integrated-card>small{font-size:10px;color:var(--blue)}.case-visual{height:72px;background:linear-gradient(120deg,#dae7f8,#edfaff);display:flex;align-items:center;justify-content:space-between;padding:17px;color:#416da5}.case-visual .icon{width:40px;height:40px}.case-visual span{font-size:27px;font-weight:bold;opacity:.4}.v1{background:linear-gradient(120deg,#dbeee4,#e7f8fa);color:#428276}.v2{background:linear-gradient(120deg,#e4def4,#f6efff);color:#8b6caf}.option{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #cbdcf0;border-radius:8px;background:#fff;margin:8px 0;font-size:13px;cursor:pointer}.option:has(input:checked){border-color:var(--blue);background:#eff7ff}fieldset{border:0;margin:15px 0;padding:0}legend{font-weight:bold;margin-bottom:8px;font-size:13px}#case-form>h3{font-size:20px}.question-nav{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0}.q-number{width:30px;height:30px;min-height:0;padding:4px;border-radius:6px;font-size:11px;border:1px solid #d3e2f3;background:white}.q-number.answered{background:#d7f4e8;color:#078457}.q-number.active{border:2px solid var(--blue)}.question-box{padding:25px 20px;background:#f4f9ff;border:1px solid var(--line);border-radius:10px}.question-box h3{font-size:18px;line-height:1.5}.question-controls{display:flex;justify-content:space-between;margin-top:18px}.exam-intro{padding:22px}.exam-intro h3 small{padding-left:27px;margin-top:7px}.result-cards{display:grid;grid-template-columns:repeat(4,1fr) 1.1fr;gap:9px;margin:18px 0}.result-cards .soft{padding:12px}.result-cards h3{font-size:11px;min-height:30px}.result-cards b{display:block;font-size:19px}.result-cards small{font-size:10px;color:var(--muted)}.result-total{text-align:center}.donut{border-radius:50%;width:97px;height:97px;background:conic-gradient(var(--blue) calc(var(--pct)*1%),#dbe7f7 0);display:grid;place-items:center;margin:0 auto 8px}.donut b{background:white;border-radius:50%;display:grid;place-items:center;width:75px;height:75px;font-size:22px;color:var(--navy)}details{padding:12px 0}summary{cursor:pointer;color:var(--blue);font-weight:600}details p{white-space:pre-wrap}.corrections details{border-bottom:1px solid var(--line)}.correct{color:#078b5b}.incorrect{color:#b96000}.scene-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.scene-layout h3{font-size:15px}.scene-layout p{font-size:12px}.scene-viewport{height:260px;perspective:650px;background:radial-gradient(#fff,#dceaf5);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.room{width:270px;height:190px;position:relative;transform-style:preserve-3d;transition:transform .1s}.room-floor{position:absolute;width:320px;height:220px;background:repeating-linear-gradient(90deg,#b2c7d5 0 1px,#d3e0e8 1px 40px);transform:rotateX(90deg) translateZ(-120px);top:80px;left:-25px}.room-wall{position:absolute;inset:0;background:linear-gradient(white,#d1e2ef);transform:translateZ(-55px);border:2px solid #afc8dc}.unit{position:absolute;padding:10px;background:linear-gradient(135deg,#fff,#c6d5dd);border:2px solid #8ca4b8;border-radius:6px;box-shadow:7px 9px 0 #7892a4;transform:translateZ(25px);font-size:11px}.outdoor{width:90px;height:100px;left:15px;top:75px}.fan{display:block;border-radius:50%;border:2px solid #5d7488;font-size:46px;line-height:52px;background:#1d3749;color:#bcd4df}.indoor{width:130px;height:48px;left:115px;top:20px}.vents{display:block;height:15px;background:repeating-linear-gradient(#79909f 0 2px,transparent 2px 4px)}.control{width:50px;left:185px;top:110px;background:#edf7fc;transform:translateZ(-35px)}.control small{font-size:7px}.pipe{position:absolute;left:75px;top:50px;border:5px solid #ba8a52;width:70px;height:100px;border-right:0;border-bottom:0;transform:translateZ(-20px)}.unit.inspected{border-color:#00a87b;box-shadow:7px 9px 0 #6aa494}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.admin-grid~.panel,.teacher-tabs~.panel{margin-bottom:20px}.admin-row{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:17px 0}.admin-row>span{flex:1}.admin-row small{color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:23px 0}.metrics strong{display:block;font-size:33px;color:var(--navy);margin-top:8px}.metrics span{font-size:12px;color:var(--muted)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;margin-top:20px}td,th{text-align:left;padding:16px 12px;border-bottom:1px solid var(--line)}th{background:#f2f7fe;color:var(--muted);font-size:11px}td small{margin-top:5px;color:var(--muted)}td progress{min-width:80px;max-width:140px;margin-bottom:5px}.editor-detail{border:1px solid var(--line);padding:16px;border-radius:10px;margin:10px 0}.editor-detail summary{font-size:13px}.editor-detail[open]{background:#f4f9ff}#editor-form>h2{margin-top:26px}.preview-banner{padding:8px 15px;background:#fff5d9;color:#7b5500;font-size:12px;margin-top:10px;border-radius:8px}.save-status{margin-left:14px;color:#00815e}.empty{text-align:center;padding:40px}.empty p{max-width:550px;margin:15px auto 22px}.empty h2{margin-top:15px}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.login-story{background:radial-gradient(ellipse at 10% 100%,#006fe7,transparent 60%),linear-gradient(145deg,#092a70,#005acf);color:white;padding:45px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;overflow:hidden}.login-story:after{content:'';position:absolute;width:450px;height:450px;border:1px solid #ffffff15;border-radius:50%;right:-260px;top:30%;box-shadow:0 0 0 55px #ffffff04,0 0 0 110px #ffffff03;pointer-events:none}.login-story .logo{background:#fff;border-radius:12px;margin-bottom:22px;width:220px;max-width:220px;height:auto;max-height:220px;object-fit:contain;padding:12px}.login-story .eyebrow{color:#91d7ff;font-size:10px;letter-spacing:2px}.login-story h1{font-size:70px;line-height:1.05;color:white;letter-spacing:-3px;margin:17px 0}.login-story h1 em{font-style:normal;color:#80dcff}.login-story p{color:#c8e7ff;font-size:15px;line-height:1.8;margin:20px 0}.mini-route{display:flex;align-items:center;gap:14px;margin:22px 0 35px;color:#70b8fc}.mini-route span{display:grid;place-items:center;background:#ffffffee;color:var(--accent);width:42px;height:42px;border-radius:10px}.login-foot{font-size:11px;color:#bcd9f6;margin-top:20px}.login-foot .local-dot{margin-right:8px}.login-form{align-self:center;max-width:410px;width:100%;margin:auto;padding:45px 20px}.login-form h2{font-size:35px;line-height:1.2;margin:13px 0}.login-form>p{color:var(--muted)}.login-form form{margin:26px 0}.login-form form label{margin-bottom:20px}.login-form form input{padding:13px}.login-form .primary{width:100%;margin-top:8px}.demo{font-size:12px;margin-bottom:25px}.demo summary{color:var(--muted);font-weight:400}.demo p{padding:13px;background:#edf4fd;border-radius:7px;font-size:12px;line-height:2}.form-error{color:#b8234c;font-size:12px;min-height:18px}dialog{max-width:670px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:16px;color:var(--text);padding:26px;box-shadow:0 20px 100px #0d245060;max-height:86vh}dialog::backdrop{background:#0c234e85;backdrop-filter:blur(4px)}dialog h2{margin-bottom:15px}dialog .outline{margin-top:20px}dialog details{border-bottom:1px solid var(--line)}.rubric-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.rubric-row input{width:75px!important}.written-response{white-space:pre-wrap;padding:18px;border-radius:10px;background:#f1f7ff}.practice-result{font-size:23px;font-weight:bold;color:var(--blue)}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);max-width:calc(100% - 32px);background:#102f62;color:white;border-radius:10px;padding:13px 23px;box-shadow:0 8px 40px #0f305830;opacity:0;pointer-events:none;transition:.15s;z-index:100;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}.skip{position:fixed;left:10px;top:-70px;background:white;padding:10px;z-index:101}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.large-text{zoom:1.18}.high-contrast{--text:#071a3a;--muted:#283e59;--line:#70829b}.high-contrast small{color:#183957}.high-contrast .course-header small{color:white}.reduce-motion *{transition:none!important;animation:none!important} @media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media(min-width:1500px){.station{min-height:163px}.station>b{font-size:14px}.station>small{font-size:11px}.status{font-size:11px}.learning-step b{font-size:12px}.learning-step small{font-size:10px}.learning-step{padding:10px 5px}.learning-route{gap:9px}.module-layout{grid-template-columns:minmax(0,1fr) 290px}.course-header{min-height:185px}.context-detail p{font-size:13px}.station-body{padding:22px}}
@media(max-width:1150px){.topbar{gap:20px;padding:10px 20px}.local-label,.topbar .local-dot{display:none}.module-layout{grid-template-columns:minmax(0,1fr) 230px}.station-route{gap:5px}.route-arrow{font-size:16px}.station>b{font-size:11px}.station>small{font-size:9px}.station{padding-left:3px;padding-right:3px}.status{font-size:8px}.ae-layout{grid-template-columns:1fr}.context-detail{grid-template-columns:1fr 1.3fr}.context-detail>.soft:last-child{grid-column:1/-1}.header-art{width:220px}.course-header h1{font-size:24px}.map-layout{grid-template-columns:minmax(0,1fr) 220px}.map{padding:20px}.module-cards{margin-top:70px;padding-top:50px}.map-progress .quote{display:none}.result-cards{grid-template-columns:repeat(3,1fr)}.summary-columns.three{grid-template-columns:1fr 1fr}.summary-columns.three>.soft:last-child{grid-column:1/-1}.scene-layout{grid-template-columns:1fr}.login-story{padding:40px 10%}.login-story h1{font-size:59px}.course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){#main{padding:18px 16px}.topbar{height:72px;gap:15px;padding:9px 16px}.topbar .logo{width:auto;height:48px;max-width:120px}.topbar nav{gap:15px}.topbar nav a{font-size:11px}.topbar nav .icon{display:none}.account>span:not(.avatar){display:none}.module-layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}.sidebar .remember{display:block;grid-column:1/-1}.course-header{padding:18px;min-height:170px}.header-art{width:190px;margin:-18px -18px -18px 10px}.header-art span{font-size:15px}.course-header h1{font-size:22px}.course-header p{font-size:12px}.header-station{font-size:13px}.map-layout{grid-template-columns:1fr}.map-tools{display:none}.map-progress{gap:15px}.map-progress .circle{display:none}.login-story h1{font-size:48px}.login-story{padding:35px 9%}.login-form{padding:30px}.login-form h2{font-size:29px}.metrics{gap:10px}.metrics .panel{padding:12px}.admin-grid{gap:12px}.page-heading h1{font-size:29px}.teacher-tabs{flex-wrap:wrap}}
@media(max-width:580px){h1{font-size:28px}.topbar{gap:8px}.topbar .logo{width:auto;height:44px;max-width:110px}.topbar nav{gap:8px}.topbar nav a{font-size:10px}.account{gap:3px}.account .avatar{display:none}.account button{font-size:11px}.course-grid{grid-template-columns:1fr}.welcome-note{margin:0;padding:20px 10px}.course-image{height:220px}.page-heading{align-items:flex-start;margin:10px 0 23px}.page-heading>.badge{display:none}.page-heading p{font-size:12px}.page-heading>.outline{font-size:10px;min-width:100px}.course-header{border-radius:10px;padding:16px;min-height:190px}.course-header h1{font-size:24px;max-width:300px;margin:15px 0 8px}.header-art{display:none}.breadcrumb{font-size:10px;gap:9px}.header-station small{font-size:10px}.route-panel{padding:12px 10px}.route-panel h3{font-size:12px}.station-route{overflow-x:auto;padding:5px 2px 10px;align-items:stretch}.station{min-width:119px;min-height:143px;padding-top:22px}.station-number{position:static;margin-top:-18px;margin-bottom:4px;width:21px;height:21px;font-size:13px}.route-arrow{align-self:center}.station>b{font-size:11px}.station>small{font-size:10px}.station>.icon{width:23px;height:23px}.status{font-size:9px}.station-body{padding:13px}.panel-title{gap:9px;flex-wrap:wrap}.panel-title h2{font-size:20px}.panel-title>div{flex:1}.panel-title p{font-size:11px}.big-number{width:39px;height:39px;font-size:25px}.time{display:none}.context-overview,.context-detail,.summary-columns,.summary-columns.three{grid-template-columns:1fr}.context-detail>.soft:last-child,.summary-columns.three>.soft:last-child{grid-column:auto}.context-overview .soft{padding:13px}.case-photo img{height:175px}.ae-info h2{font-size:21px}.learning-route{overflow-x:auto;padding-bottom:9px}.learning-step{min-width:80px}.learning-step b{font-size:11px}.learning-step small{font-size:9px}.learning-step{padding:8px 4px}.soft{padding:13px}.form-bottom{flex-direction:column;align-items:stretch;gap:10px}.form-bottom>div{flex-wrap:wrap}.form-bottom .primary,.form-bottom .outline{flex:1}.tabs button,.tabs a{font-size:10px;padding:9px 6px}.tabs{gap:3px}.sidebar{grid-template-columns:1fr}.sidebar>.panel:first-child{display:none}.sidebar .support{padding:14px}.support-card{padding:10px}.bottom-nav{gap:8px;align-items:stretch}.bottom-nav .outline,.bottom-nav .primary{font-size:10px;padding:9px;flex:1}.bottom-nav .icon{display:none}footer{padding:20px 16px;font-size:10px;gap:20px}.map{padding:18px;min-height:630px}.map-title h1{font-size:29px}.map-title h2{font-size:20px}.map-title .eyebrow{font-size:9px}.module-cards{margin-top:50px;margin-bottom:50px;gap:20px}.map-card{min-width:195px}.map-progress{gap:10px;flex-wrap:wrap;padding:14px}.map-progress>div{flex:1}.map-progress progress{order:5;flex-basis:100%;max-width:none}.map-progress strong{font-size:24px}.map-progress b{font-size:12px}.map-progress p{font-size:10px}.question-box{padding:17px 12px}.question-box h3{font-size:15px}.option{font-size:12px;padding:11px 9px}.result-cards{grid-template-columns:1fr 1fr}.result-total{grid-column:1/-1;padding:12px}.result-cards h3{min-height:0;margin-bottom:10px}.scene-viewport{height:230px}.admin-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.admin-row{flex-wrap:wrap;gap:9px}.admin-row>span{flex-basis:100%}.login-layout{grid-template-columns:1fr}.login-story{padding:24px 28px 28px}.login-story .logo{width:148px;height:auto;max-height:148px;margin-bottom:18px}.login-story h1{font-size:42px;line-height:1.05;margin:10px 0}.login-story h1 br{display:none}.login-story p{font-size:12px;margin:10px 0}.mini-route{margin:17px 0 0;gap:10px}.mini-route span{width:32px;height:32px}.mini-route .icon{width:20px;height:20px}.login-foot{display:none}.login-form{padding:30px 28px}.login-form h2{font-size:28px}.login-form h2 br{display:none}.login-form .eyebrow{font-size:9px}.login-form form{margin:20px 0}.login-form>p:last-child{font-size:10px}.empty{padding:25px 14px}.large-text{zoom:1.08}dialog{padding:18px}}
@media(min-width:1151px){.module-cards{padding-top:55px;margin-top:27px}}
@media(min-width:1151px){.topbar{height:68px;padding:8px 28px}.topbar .logo{height:56px;width:auto;max-width:140px}#main{padding-top:18px}.course-header{padding:16px 24px;min-height:150px}.course-header h1{font-size:25px;margin:8px 0 3px}.course-header p{margin-bottom:10px;font-size:13px}.header-art{margin:-16px -24px -16px 20px}.header-station{font-size:14px}.header-station small{font-size:10px}.station{min-height:130px}.station-route{gap:8px}.route-panel{padding:12px 15px}.route-panel h3{margin-bottom:21px}.station-body{padding:16px}.panel-title{margin-bottom:13px}.panel-title h2{font-size:22px}.ae-info h2{font-size:19px}.tabs.compact{margin-bottom:12px}.ae-info p{margin:8px 0 12px}.learning-step{gap:6px}.learning-step b{min-height:26px}.learning-step>.icon{width:22px;height:22px}.reflection textarea{min-height:65px}.reflection .form-bottom{margin-top:8px}.sidebar dl>div{padding:9px 0}.support-card{padding:10px}.support-card .circle{height:35px;width:35px}.support-card small{font-size:10px}.bottom-nav{margin-top:15px}}
.ae-layout>*,.context-detail>*,.summary-columns>*,.scene-layout>*,.admin-grid>*,.map-layout>*{min-width:0}
.room-wall,.room-floor,.pipe{pointer-events:none}.unit.control{transform:translateZ(5px)}
/* Contenidos didácticos y prácticas específicas de cada módulo. */
.learning-objectives{padding-left:18px;margin:10px 0;font-size:12px}.learning-objectives li{margin-bottom:7px}.tabs>span{flex:1;text-align:center;padding:10px;border-radius:6px;font-size:12px;font-weight:bold}.lesson-panel{border:1px solid #cfe4f8;background:#f8fcff;border-radius:12px;padding:18px;margin:15px 0}.lesson-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.lesson-heading .circle{width:37px;height:37px}.lesson-heading .eyebrow{font-size:9px;margin:0 0 4px}.lesson-heading h3{font-size:16px}.lesson-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.lesson-columns p{font-size:13px;line-height:1.7;margin-top:0}.worked-example{border-left:3px solid #23aabb;padding-left:17px}.worked-example>b{color:#007b85;display:block;margin-bottom:9px}.worked-example small{color:var(--muted);font-size:11px}.curriculum-note{margin-top:16px;font-size:12px}.curriculum-note p{margin:10px 0}.curriculum-note small{margin-top:8px;color:var(--muted)}.inspect-shortcuts{display:flex;gap:7px;flex-wrap:wrap}.inspect-shortcuts button{font-size:10px;flex:1;padding:7px}.inspect-shortcuts .inspected{border-color:#009577;background:#e6f8ee;color:#077250}.scene-value{display:block;font-size:11px;margin-bottom:4px}.dossier-scene .unit{padding:8px}.dossier-scene .outdoor{width:100px;height:78px;top:93px;left:10px;background:linear-gradient(120deg,#163650,#397895);color:#fff}.dossier-scene .outdoor .scene-value{font-size:20px;font-weight:bold;background:#d7f1df;color:#134a43;padding:4px}.dossier-scene .indoor{height:63px;width:139px;left:107px;top:15px}.dossier-scene .control{width:89px;left:160px;top:117px}.dossier-scene .control .scene-value{font-size:16px;color:#aa6500}.dossier-scene .unit b{font-size:9px}.practice-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.practice-inputs.two{grid-template-columns:1fr 1fr}.practice-inputs label{font-size:12px}.lab-visual{margin:20px 0}.lab-bar-row{display:flex;align-items:center;gap:10px;height:33px;font-size:11px}.lab-bar-row>span{width:23px}.lab-bar{height:16px;border-radius:3px;background:linear-gradient(90deg,#0a74f8,#26b7c4)}.lab-bar-row b{white-space:nowrap}.lab-results{display:flex;gap:15px;flex-wrap:wrap;background:#edf6ff;border-radius:11px;padding:17px}.lab-results>div{flex:1}.lab-results span{display:block;color:var(--muted);font-size:11px}.lab-results b{display:block;font-size:24px;color:var(--navy)}.lab-results p{flex-basis:100%;margin:5px 0 0;font-size:12px}.network-bars{display:flex;gap:3px;min-height:64px}.network-bars>span{padding:10px;text-align:center;background:#d7e9ff;color:#1160a8;border:1px solid #a6c8ec;min-width:45px}.network-bars>span:nth-child(2){background:#d1f2e6;color:#006c66}.network-bars>span:nth-child(3){background:#eee0ff;color:#6f3796}.clearance-diagram{display:flex;align-items:center;gap:10px;padding:17px;border:1px solid #c5d9ec;border-radius:10px;background:#f8fbff}.clearance-diagram>span{padding:20px 10px;background:#6f8da6;color:white;border-radius:5px}.clearance-diagram>div{flex:1;text-align:center;color:#087757;font-weight:bold;font-size:20px}.clearance-diagram.short>div{color:#af5800}.ruler{height:30px;background:repeating-linear-gradient(90deg,#9fb6c9 0 1px,#f3f8fc 1px 15px);border-bottom:2px solid #7b98b1}
@media(max-width:700px){.lesson-columns{grid-template-columns:1fr;gap:9px}.lesson-panel{padding:14px}.lesson-columns p{font-size:12px}.practice-inputs{grid-template-columns:1fr}.practice-inputs.two{grid-template-columns:1fr}.lab-results b{font-size:20px}.clearance-diagram>div{font-size:16px}.curriculum-note summary{font-size:11px}}
