@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Mono:wght@700&display=swap";:root{font-family:Inter,system-ui,sans-serif;color:#26364a;background:#e7edf3;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}#app{width:100vw;height:100vh}.appbar{height:54px;display:flex;align-items:stretch;color:#fff;background:linear-gradient(90deg,#0875ce,#1187e6);box-shadow:0 2px 7px #16395455;position:relative;z-index:20}.logo{width:110px;display:grid;place-items:center;padding:7px 8px;background:#fff}.logo img{display:block;width:100%;max-height:40px;object-fit:contain}.nav-button,.top-action,.run-action{border:0;border-right:1px solid #086dbd;background:transparent;color:#fff;padding:0 15px;font-size:12px}.nav-button:hover,.top-action:hover,.run-action:hover{background:#086ebf}.tutorial{display:grid;place-items:center;font-size:18px}.tutorial small,.top-action small,.run-action small{display:block;font-size:8px;font-weight:800;margin-top:2px;white-space:nowrap}.project-name{margin:7px auto 7px 18px;min-width:220px;max-width:320px;display:flex;align-items:center;gap:8px;border-radius:5px;background:#3395e6;padding:0 12px}.project-name input{width:100%;border:0;outline:0;color:#fff;background:transparent;font-weight:600}.project-name input::selection{background:#085ba0}.project-state{align-self:center;width:90px;color:#c5e5ff;font-size:10px}.top-action,.run-action{min-width:74px;font-size:18px;padding:0 10px}.run-action.stop{opacity:.65}.top-action.active{background:#075fa6;box-shadow:inset 0 -3px #55e0c7;color:#6ff1da}.subbar{height:45px;display:flex;align-items:center;padding:0 11px;color:#2079bb;background:#eff8ff;border-bottom:1px solid #b8d6eb;position:relative;z-index:15}.subbar strong{font-size:14px}.subbar-actions{margin-left:auto;display:flex;gap:6px}.subbar button{border:1px solid #b3d2e8;border-radius:4px;background:#fff;color:#39799f;padding:5px 10px;font-size:11px;font-weight:700}.workspace-shell{height:calc(100vh - 99px);display:grid;grid-template-columns:minmax(480px,1fr) minmax(430px,42vw);background:#f7f9fb}.code-pane{min-width:0;border-right:4px solid #c6d0da;position:relative}.code-pane:after{content:"⋮";position:absolute;right:-12px;top:50%;z-index:10;width:20px;height:45px;display:grid;place-items:center;color:#8091a0;background:#d7dfe6;border-radius:10px}#blockly{width:100%;height:100%}.blocklyToolboxDiv{background:#f7f9fb!important;border-right:1px solid #d6dee6!important;box-shadow:3px 0 10px #344b5d12;padding-top:5px}.blocklyTreeRow{height:42px!important;line-height:42px!important;margin:2px 5px!important;padding:0 10px!important;border-radius:5px}.blocklyTreeLabel{font-family:Inter!important;font-size:12px!important;font-weight:600}.blocklyFlyoutBackground{fill:#f2f5f8!important;fill-opacity:.98!important}.blocklyMainBackground{stroke:none!important;fill:#fff!important}.dark-block-label .blocklyText{fill:#123b50!important;text-shadow:none!important}.dark-block-label .blocklyEditableText>rect{fill:#fff!important;fill-opacity:.82!important;stroke:#0778bd55!important}.dark-block-label .blocklyDropdownText{fill:#123b50!important}.sim-pane{min-width:0;display:grid;grid-template-rows:58px minmax(0,1fr) 60px;background:#66717b;position:relative}.sim-pane.fullscreen{position:fixed;z-index:45;inset:54px 0 0;grid-template-rows:58px minmax(0,1fr) 60px}.sim-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 17px;background:#172a40;color:#fff;border-bottom:1px solid #30465d}.sim-header strong,.sim-header small{display:block}.sim-header strong{font:700 11px Space Mono;letter-spacing:.09em}.sim-header small{margin-top:4px;color:#70dbc8;font-size:9px}.sim-header-actions{display:flex;gap:6px}.sim-header-actions button{width:33px;height:31px;border:1px solid #465a70;border-radius:5px;color:#dbe9f7;background:#263a50;font-size:16px}.sim-header-actions button.olympiad-toggle{width:auto;display:flex;align-items:center;gap:6px;padding:0 10px;border-color:#f39108;color:#875000;background:#fff7e8;font-size:8px;font-weight:900;letter-spacing:.035em;white-space:nowrap}.sim-header-actions button.olympiad-toggle span{font-size:14px}.viewport-wrap{position:relative;min-height:0;overflow:hidden;background:#07101b}.viewport-wrap canvas{width:100%;height:100%;display:block;outline:0}.sim-stats{position:absolute;left:10px;bottom:10px;display:flex;gap:5px}.sim-stats span{padding:7px 9px;border:1px solid #4d6177;border-radius:5px;background:#142235dd;color:#d9e5f2;font:700 10px Space Mono;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.camera-hint{position:absolute;right:10px;bottom:11px;color:#7f91a2;font-size:8px;pointer-events:none}.sim-stats span.pen-status{color:#71879b}.sim-stats span.pen-status.down{border-color:#35bfa3;color:#61e9cf;background:#123a37dd}.pov-hud{position:absolute;inset:0;display:none;pointer-events:none}.pov-hud.active{display:block}.pov-hud:before,.pov-hud:after{content:"";position:absolute;left:50%;top:50%;background:#5ff0d3aa;box-shadow:0 0 5px #163d38}.pov-hud:before{width:22px;height:1px;transform:translate(-50%)}.pov-hud:after{width:1px;height:22px;transform:translateY(-50%)}.pov-hud i{position:absolute;inset:18px;border:1px solid #5ff0d326;border-radius:12px}.pov-hud span{position:absolute;top:20px;left:50%;transform:translate(-50%);padding:5px 8px;border-radius:4px;color:#73edd8;background:#0b1b26bb;font:700 8px Space Mono;letter-spacing:.1em}.robot-console{position:absolute;z-index:8;left:10px;right:10px;bottom:60px;max-height:150px;border:1px solid #425970;border-radius:6px 6px 0 0;overflow:hidden;color:#dbe8f4;background:#0b1724f5;box-shadow:0 -10px 25px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transform:translateY(12px);transition:.18s ease}.robot-console.open{opacity:1;visibility:visible;transform:translateY(0)}.robot-console header{height:29px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid #33495e;color:#6f8aa4;font:700 8px Space Mono;letter-spacing:.1em}.robot-console header button{border:0;background:transparent;color:#7790a7;font-size:16px}.robot-console #console-output{height:92px;overflow:auto;padding:8px 10px;white-space:pre-wrap;font:10px/1.55 Space Mono}.activity-panel{position:absolute;z-index:12;top:58px;right:0;bottom:60px;width:min(340px,92%);overflow:auto;border-left:1px solid #d8e8ee;color:#123b50;background:#fffffff8;box-shadow:-16px 0 35px #0778bd20;transform:translate(102%);transition:.22s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.activity-panel.open{transform:translate(0)}.activity-panel>header{min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid #d8e8ee}.activity-panel>header strong,.activity-panel>header small{display:block}.activity-panel>header strong{color:#0778bd;font:700 10px Space Mono;letter-spacing:.08em}.activity-panel>header small{margin-top:4px;color:#668493;font-size:9px}.activity-panel>header button{border:0;background:transparent;color:#0778bd;font-size:22px}.activity-content{display:grid;gap:11px;padding:16px}.activity-content label{display:grid;gap:6px;color:#668493;font-size:9px;font-weight:700}.activity-content select{width:100%;border:1px solid #d8e8ee;border-radius:6px;padding:9px;color:#123b50;background:#fff;outline:0}.activity-level{justify-self:start;padding:5px 8px;border-radius:99px;color:#0778bd;background:#e8faff;font-size:8px;font-weight:800}.activity-content h3{margin:0;color:#123b50;font-size:18px}.activity-content p{margin:0;color:#668493;font-size:11px;line-height:1.55}.objectives-title{margin-top:3px;color:#f39108;font:700 9px Space Mono;letter-spacing:.09em}.activity-content ul{margin:0;padding-left:19px;color:#345367;font-size:10px;line-height:1.55}.activity-content li+li{margin-top:5px}.activity-hint{display:grid;gap:5px;padding:10px;border:1px solid #dff5b9;border-radius:6px;background:#f7ffec}.activity-hint b{color:#4b790c;font-size:8px;letter-spacing:.08em}.activity-hint span{color:#53722d;font-size:9px;line-height:1.45}.activity-content button.load-activity{min-height:39px;border:1px solid #04d7f4;border-radius:6px;color:#123b50;background:#04d7f4;font-size:9px;font-weight:800}.sim-controls{display:flex;align-items:center;gap:7px;padding:0 11px;background:#172a40;border-top:1px solid #30465d}.sim-controls button{width:38px;height:38px;border:1px solid #41566c;border-radius:5px;background:#253a50;color:#d8e5f2;font-size:16px}.sim-controls button.primary{border-color:#21b996;background:#159779;color:#fff}.sim-controls button.console-toggle{margin-left:4px;font:700 11px Space Mono;color:#7fa4c2}.sim-controls button.console-toggle.active{border-color:#667f99;background:#314b63;color:#dceafa}.sim-controls button.manual-control{width:auto;min-width:148px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px}.sim-controls button.manual-control span{font-size:7px;font-weight:800;white-space:nowrap}.sim-controls button.manual-control.active{color:#315e00;background:#efffd9;border-color:#8ae601;box-shadow:inset 0 0 0 1px #8ae60155}.speed-control{margin-left:auto;display:grid;grid-template-columns:auto 90px 25px;align-items:center;gap:7px;color:#7f93a7;font-size:8px;font-weight:800}.speed-control input{width:90px;accent-color:#38d2b5}.speed-control b{color:#cfe0ee;font-size:10px}.map-drawer{position:fixed;z-index:50;top:54px;right:0;width:310px;height:calc(100vh - 54px);color:#dce7f4;background:#111f30f5;border-left:1px solid #40556b;box-shadow:-15px 0 40px #05101d55;transform:translate(102%);transition:.22s ease;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.map-drawer.open{transform:translate(0)}.drawer-head{height:63px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #314356}.drawer-head strong,.drawer-head small{display:block}.drawer-head strong{font:700 11px Space Mono}.drawer-head small{color:#7590a9;margin-top:4px;font-size:9px}.drawer-head button{border:0;background:transparent;color:#9fb1c4;font-size:25px}.drawer-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:12px;border-bottom:1px solid #314356}.map-tool{height:55px;border:1px solid #33495e;border-radius:6px;background:#1b2d40;color:#8da0b5;font-size:8px;font-weight:700}.map-tool i{display:block;color:#c3d0dd;font-style:normal;font-size:16px;margin-bottom:4px}.map-tool.active{border-color:#38d2b5;color:#38d2b5;background:#173a3b}.drawer-section{display:grid;gap:8px;padding:15px;border-bottom:1px solid #314356}.drawer-section label{display:grid;gap:6px;color:#8297ab;font-size:9px;font-weight:700}.drawer-section input,.drawer-section select{width:100%;border:1px solid #384e64;border-radius:5px;padding:8px;outline:0;background:#0d1927;color:#fff}.drawer-section button,.file-button,.drawer-footer button{display:grid;place-items:center;min-height:34px;border:1px solid #3c5268;border-radius:5px;background:#1e3246;color:#bdcada;font-size:10px;font-weight:700}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.file-button{position:relative}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-button.accent{border-color:#3289c9;color:#65b8f4}.drawer-section>small{color:#6f8396;font-size:8px;line-height:1.5}.drawer-footer{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px;background:#101c2a}.drawer-footer button.danger{border-color:#7b3945;color:#ff8291;background:#38202a}.drawer-section>small a{color:var(--brand-blue);font-weight:700}.tool-group-title{grid-column:1/-1;padding:7px 2px 2px;color:var(--brand-blue);font:700 8px Space Mono;letter-spacing:.06em}.modal{position:fixed;inset:0;z-index:80;display:none;place-items:center;background:#08121e99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal.open{display:grid}.modal-card{position:relative;width:min(430px,90vw);border-radius:10px;padding:28px 30px;background:#fff;box-shadow:0 25px 80px #0005}.modal-card h2{margin:0 0 18px;color:#137dc7}.modal-card li,.modal-card p{margin:9px 0;color:#526477;font-size:13px;line-height:1.55}.modal-close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:#8493a2;font-size:22px}.toast{position:fixed;z-index:100;left:50%;bottom:23px;transform:translate(-50%,12px);padding:10px 15px;border-radius:6px;background:#152739;color:#e8f4ff;box-shadow:0 10px 30px #0005;opacity:0;transition:.2s;font-size:11px;font-weight:700;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:950px){.nav-button,.project-state{display:none}.workspace-shell{grid-template-columns:1fr;grid-template-rows:55% 45%}.code-pane{border-right:0;border-bottom:4px solid #c6d0da}.sim-pane{grid-template-rows:44px minmax(0,1fr) 50px}.top-action,.run-action{min-width:56px}.top-action small,.run-action small{display:none}}:root{--brand-primary: #04d7f4;--brand-orange: #f39108;--brand-green: #8ae601;--brand-blue: #0778bd;--surface: #ffffff;--surface-soft: #f5fbfd;--line: #d8e8ee;--text: #123b50;--muted: #668493}body,#app,.workspace-shell,.code-pane{background:var(--surface)}.appbar{color:var(--text);background:var(--brand-primary);box-shadow:0 2px 8px #0778bd33}.logo{background:var(--surface)}.nav-button,.top-action,.run-action{color:var(--text);border-color:#00bad5}.nav-button:hover,.top-action:hover,.run-action:hover{background:#fff5}.project-name{background:#fff9}.project-name input{color:var(--text)}.project-state{color:#075d7b}.top-action.active{color:var(--brand-blue);background:#fff;box-shadow:inset 0 -3px var(--brand-blue)}.subbar{color:var(--brand-blue);background:var(--surface);border-color:var(--line)}.subbar button{color:var(--brand-blue);border-color:var(--line)}.code-pane{border-color:var(--line)}.code-pane:after{color:var(--brand-blue);background:#e9f4f7}.sim-pane{background:var(--surface)}.sim-header{color:var(--text);background:var(--surface);border-color:var(--line)}.sim-header small{color:var(--brand-blue)}.sim-header-actions button{color:var(--brand-blue);background:var(--surface-soft);border-color:var(--line)}.viewport-wrap{background:#e8edf1}.sim-stats span{color:var(--text);background:#fffffff2;border-color:var(--line);box-shadow:0 3px 12px #0778bd15}.camera-hint,.sim-stats span.pen-status{color:var(--muted)}.sim-stats span.pen-status.down{color:#3f7900;background:#f5ffe8;border-color:var(--brand-green)}.pov-hud:before,.pov-hud:after{background:var(--brand-primary);box-shadow:0 0 5px #0778bd55}.pov-hud i{border-color:#04d7f455}.pov-hud span{color:var(--brand-blue);background:#ffffffe8}.sim-controls{background:var(--surface);border-color:var(--line)}.sim-controls button{color:var(--brand-blue);background:var(--surface-soft);border-color:var(--line)}.sim-controls button.primary{color:var(--text);background:var(--brand-primary);border-color:var(--brand-primary)}.sim-controls button.console-toggle{color:var(--brand-blue)}.sim-controls button.console-toggle.active{color:#fff;background:var(--brand-blue);border-color:var(--brand-blue)}.speed-control{color:var(--muted)}.speed-control b{color:var(--brand-blue)}.speed-control input{accent-color:var(--brand-primary)}.sim-controls button.manual-control{color:var(--brand-blue);background:var(--surface-soft);border-color:var(--line)}.sim-controls button.manual-control.active{color:#315e00;background:#f3ffe3;border-color:var(--brand-green)}.robot-console{color:var(--text);background:#fffffff8;border-color:var(--line);box-shadow:0 -10px 25px #0778bd18}.robot-console header{color:var(--brand-blue);border-color:var(--line)}.robot-console header button{color:var(--brand-blue)}.map-drawer{color:var(--text);background:#fffffff8;border-color:var(--line);box-shadow:-15px 0 40px #0778bd22}.drawer-head,.drawer-tools,.drawer-section{border-color:var(--line)}.drawer-head small,.drawer-section label,.drawer-section>small{color:var(--muted)}.drawer-head button{color:var(--brand-blue)}.drawer-section select{color:var(--text);background:var(--surface);border-color:var(--line)}.map-tool{color:var(--muted);background:var(--surface-soft);border-color:var(--line)}.map-tool i{color:var(--brand-blue)}.map-tool.active{color:var(--brand-blue);background:#eafcff;border-color:var(--brand-primary)}.drawer-section input{color:var(--text);background:var(--surface);border-color:var(--line)}.drawer-section button,.file-button,.drawer-footer button{color:var(--brand-blue);background:var(--surface-soft);border-color:var(--line)}.file-button.accent{color:var(--brand-blue);border-color:var(--brand-primary)}.drawer-footer{background:var(--surface)}.drawer-footer button.danger{color:#b84c2b;background:#fff7f1;border-color:var(--brand-orange)}.toast{color:var(--text);background:var(--brand-primary);box-shadow:0 10px 30px #0778bd33}@media(max-width:1100px){.sim-controls button.manual-control{width:38px;min-width:38px;padding:0}.sim-controls button.manual-control span{display:none}}.app-menu{position:fixed;z-index:70;top:52px;display:none;width:190px;padding:6px;border:1px solid var(--line);border-radius:0 0 8px 8px;background:#fff;box-shadow:0 14px 35px #0778bd2b}.app-menu.open{display:grid}.app-menu button{padding:10px 11px;border:0;border-radius:5px;color:var(--text);background:transparent;text-align:left;font-size:11px}.app-menu button:hover{background:#eafcff;color:var(--brand-blue)}#file-menu{left:110px}#tools-menu{left:177px}.sensor-panel{position:absolute;z-index:9;top:12px;left:12px;width:270px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fffffff5;box-shadow:0 12px 32px #0778bd24;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sensor-panel.open{opacity:1;visibility:visible;transform:none}.sensor-panel header{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid var(--line)}.sensor-panel header strong{color:var(--brand-blue);font:700 8px Space Mono;letter-spacing:.08em}.sensor-panel header button{border:0;color:var(--brand-blue);background:transparent;font-size:18px}.sensor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.sensor-grid span{display:grid;gap:4px;padding:8px 10px;color:var(--muted);background:#fff;font-size:8px}.sensor-grid b{color:var(--text);font:700 11px Space Mono}.activity-progress{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#f7fbfd}.activity-progress b{color:var(--brand-blue);font:700 8px Space Mono;letter-spacing:.08em}.activity-progress span{color:var(--muted);font-size:9px}.activity-progress.complete{border-color:var(--brand-green);background:#f7ffec}.activity-progress.complete span{color:#467500}.activity-efficiency{display:grid;gap:8px;padding:11px;border:1px solid #ffd28d;border-radius:7px;background:#fff9ef}.activity-efficiency>b{color:#a35c00;font:700 8px Space Mono;letter-spacing:.08em}.activity-efficiency>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.activity-efficiency span{display:grid;gap:3px;padding:7px 5px;border-radius:5px;color:#8b6d42;background:#fff;text-align:center;font-size:7px}.activity-efficiency span strong{color:#b76700;font:700 11px Space Mono}.activity-efficiency small{color:#876f4d;font-size:8px;line-height:1.45}.activity-panel.olympiad{border-left-color:#f39108}.activity-panel.olympiad>header{background:linear-gradient(110deg,#fff9ee,#fff)}.activity-panel.olympiad>header strong,.activity-panel.olympiad .objectives-title{color:#b76700}.activity-panel.olympiad .activity-level{color:#9a5700;background:#fff0d6}.activity-panel.olympiad .load-activity{border-color:#f39108;background:#f39108;color:#fff}#diagnostics-content{display:grid;gap:8px}.diagnostic-item{padding:10px 12px;border-left:3px solid var(--brand-orange);border-radius:4px;color:var(--text);background:#fff8ef;font-size:11px;line-height:1.4}.diagnostic-item.error{border-color:#d94b43;background:#fff2f1}.diagnostic-ok{color:#427400;background:#f5ffe8;padding:12px;border-radius:6px;font-size:12px}.result-card{text-align:center}.result-stars{color:var(--brand-orange);font-size:34px;letter-spacing:5px}.result-card .result-button{min-height:38px;padding:0 22px;border:0;border-radius:6px;color:var(--text);background:var(--brand-primary);font-size:10px;font-weight:800}.tour-backdrop{position:fixed;z-index:88;inset:0;display:none;background:#09203888}.tour-backdrop.open{display:block}.tour-card{position:fixed;z-index:90;display:none;width:min(320px,calc(100vw - 24px));padding:18px;border-radius:10px;color:var(--text);background:#fff;box-shadow:0 18px 60px #001e3c66}.tour-card.open{display:block}.tour-card small{color:var(--brand-blue);font:700 8px Space Mono}.tour-card h3{margin:8px 0;color:var(--brand-blue)}.tour-card p{margin:0 0 15px;color:var(--muted);font-size:11px;line-height:1.55}.tour-card>div{display:flex;justify-content:flex-end;gap:7px}.tour-card button{padding:8px 12px;border:1px solid var(--line);border-radius:5px;color:var(--brand-blue);background:#fff;font-size:9px;font-weight:800}.tour-card #tour-next{color:var(--text);background:var(--brand-primary);border-color:var(--brand-primary)}.tour-highlight{position:relative!important;z-index:89!important;box-shadow:0 0 0 4px var(--brand-primary),0 0 0 9999px #09203855!important}@media(max-width:700px){.sensor-panel{width:245px}.app-menu{left:8px!important}.drawer-footer button{font-size:8px}}@media(max-width:700px){.sim-header-actions button.olympiad-toggle{width:34px;padding:0;justify-content:center;font-size:0}.sim-header-actions button.olympiad-toggle span{font-size:15px}}.map-drawer{overflow-y:auto;padding-bottom:0}.drawer-footer{position:sticky;margin-top:8px}.lab-switch{display:grid;place-items:center;min-width:66px;border:0;border-right:1px solid #00bad5;color:var(--text);background:#fff7;font-weight:800;cursor:pointer}.lab-switch span{font-size:18px;line-height:18px}.lab-switch small{font-size:7px;letter-spacing:.07em}.vr-entry{display:grid;place-items:center;min-width:66px;border-right:1px solid #00bad5;color:var(--text);background:#0f3350;text-decoration:none;font-weight:800}.vr-entry span{color:#9af11d;font-size:18px;line-height:18px}.vr-entry small{color:#fff;font-size:7px;letter-spacing:.07em}.vr-entry:hover{background:#164867}.rocket-lab{position:fixed;z-index:18;inset:54px 0 0;display:none;grid-template-rows:62px minmax(0,1fr);color:var(--text);background:#eef4f6}.rocket-lab.active{display:grid}.rocket-lab *{box-sizing:border-box}.rocket-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:#fff}.rocket-eyebrow{display:block;color:var(--brand-blue);font:700 7px Space Mono;letter-spacing:.13em}.rocket-toolbar h1{margin:4px 0 0;font-size:18px}.rocket-toolbar-actions{display:flex;align-items:center;gap:7px}.rocket-toolbar-actions>span{margin-right:7px;color:var(--muted);font-size:8px}.rocket-toolbar button,.rocket-import{height:31px;padding:0 12px;border:1px solid var(--line);border-radius:5px;color:var(--brand-blue);background:#fff;font-size:9px;font-weight:800;cursor:pointer}.rocket-import{position:relative;display:grid;place-items:center}.rocket-import input{position:absolute;inset:0;opacity:0;cursor:pointer}.rocket-workspace{min-height:0;display:grid;grid-template-columns:280px minmax(420px,1fr) 330px;gap:1px;background:var(--line)}.rocket-builder,.rocket-analysis{min-height:0;overflow:auto;padding:15px;background:#fff}.rocket-panel-title{display:flex;align-items:center;gap:9px;margin-bottom:15px}.rocket-panel-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--text);background:var(--brand-primary);font:700 9px Space Mono}.rocket-panel-title strong,.rocket-panel-title small{display:block}.rocket-panel-title strong{font:700 10px Space Mono;letter-spacing:.08em}.rocket-panel-title small{margin-top:3px;color:var(--muted);font-size:8px}.rocket-builder label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;color:#466474;font-size:9px;font-weight:700}.rocket-builder>label input{grid-column:1/-1}.rocket-builder input[type=text],.rocket-builder input:not([type]),.rocket-builder select{width:100%;height:31px;border:1px solid var(--line);border-radius:5px;padding:0 8px;color:var(--text);background:#fff}.rocket-builder output{color:var(--brand-blue);font:700 8px Space Mono}.rocket-builder input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--brand-blue)}.rocket-section{display:grid;gap:11px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.rocket-section h3{margin:0;color:var(--brand-blue);font:700 9px Space Mono;text-transform:uppercase}.rocket-section select{grid-column:1/-1}.rocket-stage{min-width:0;min-height:0;display:grid;grid-template-rows:48px minmax(0,1fr) 58px;background:#dfe8eb}.rocket-viewbar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#fff}.rocket-viewbar strong,.rocket-viewbar small{display:block}.rocket-viewbar strong{font:700 9px Space Mono}.rocket-viewbar small{margin-top:3px;color:var(--muted);font-size:8px}.rocket-viewbar>div:last-child{display:flex;gap:4px}.rocket-viewbar button{height:29px;border:1px solid var(--line);border-radius:4px;color:var(--muted);background:#fff;font-size:8px;font-weight:800}.rocket-viewbar button.active{color:var(--brand-blue);background:#e9fbfe;border-color:var(--brand-primary)}.rocket-canvas-wrap{position:relative;min-height:0;overflow:hidden;background:linear-gradient(#dceaf0,#f5f8f8)}#rocket-scene{width:100%;height:100%;display:block}.rocket-axis-label{position:absolute;left:12px;bottom:11px;color:#6f8792;font:700 7px Space Mono;letter-spacing:.08em}.rocket-flight-hud{position:absolute;top:12px;left:12px;display:none;gap:5px}.rocket-flight-hud.active{display:flex}.rocket-flight-hud span{display:grid;gap:3px;min-width:88px;padding:8px;border:1px solid #ffffff88;border-radius:5px;color:#587280;background:#ffffffd9;font:700 7px Space Mono;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.rocket-flight-hud strong{color:var(--brand-blue);font-size:12px}.rocket-status-card{position:absolute;right:12px;top:12px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #b8e779;border-radius:6px;background:#f6ffeacc}.rocket-status-card i{width:8px;height:8px;border-radius:50%;background:var(--brand-green);box-shadow:0 0 0 4px #8ae60122}.rocket-status-card small,.rocket-status-card strong{display:block}.rocket-status-card small{color:#6f8b48;font-size:6px}.rocket-status-card strong{margin-top:2px;color:#447400;font:700 9px Space Mono}.rocket-status-card.warning{border-color:#ffc46b;background:#fff8ebcc}.rocket-status-card.warning i{background:var(--brand-orange)}.rocket-status-card.warning strong{color:#a45c00}.rocket-launchbar{display:flex;align-items:center;gap:7px;padding:0 12px;background:#fff}.rocket-launchbar button{height:38px;padding:0 14px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:#f7fafb;font-size:8px;font-weight:900}.rocket-launchbar #rocket-launch{border-color:var(--brand-primary);color:var(--text);background:var(--brand-primary)}.rocket-launchbar #rocket-launch span{margin-right:5px}.rocket-launchbar button:disabled{opacity:.45}.rocket-launchbar>div{margin-left:auto;text-align:right}.rocket-launchbar small,.rocket-launchbar strong{display:block}.rocket-launchbar small{color:var(--muted);font-size:6px}.rocket-launchbar strong{margin-top:3px;color:var(--brand-blue);font:700 8px Space Mono}.rocket-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.rocket-metric-grid article{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#f9fbfc}.rocket-metric-grid small{color:var(--muted);font:700 6px Space Mono}.rocket-metric-grid strong{color:var(--brand-blue);font:700 16px Space Mono}.rocket-metric-grid span{color:#8aa0aa;font-size:7px}.stability-card,.rocket-chart-card,.rocket-checklist{margin-top:9px;padding:11px;border:1px solid var(--line);border-radius:6px}.stability-card>div:first-child,.rocket-chart-card>div:first-child{display:flex;align-items:center;justify-content:space-between}.stability-card h3,.rocket-chart-card h3,.rocket-checklist h3{margin:0;font-size:10px}.stability-card>div>strong{color:#4c8000;font:700 13px Space Mono}.stability-track{position:relative;height:7px;margin:27px 5px 19px;border-radius:10px;background:linear-gradient(90deg,#f5a23c,#8ae601)}.stability-track i,.stability-track b{position:absolute;top:50%;width:2px;height:19px;transform:translate(-50%,-50%);background:#173b50}.stability-track b{background:var(--brand-blue)}.stability-track span{position:absolute;bottom:21px;left:50%;transform:translate(-50%);font:700 7px Space Mono}.stability-card p{margin:0;color:var(--muted);font-size:8px;line-height:1.4}.chart-tabs{display:flex;gap:3px}.chart-tabs button{padding:5px 7px;border:0;border-radius:4px;color:var(--muted);background:#f2f6f7;font-size:7px}.chart-tabs button.active{color:var(--brand-blue);background:#e4faff}.rocket-chart-card canvas{width:100%;height:130px;margin-top:7px}.rocket-checklist{display:grid;gap:7px}.rocket-checklist p{display:flex;align-items:center;gap:7px;margin:0;color:#54717f;font-size:8px}.rocket-checklist i{width:8px;height:8px;border-radius:50%;background:#bbb}.rocket-checklist p.ok i{background:var(--brand-green)}.rocket-checklist p.bad i{background:var(--brand-orange)}body.rocket-mode>.appbar .nav-button,body.rocket-mode>.appbar .tutorial,body.rocket-mode>.appbar .project-name,body.rocket-mode>.appbar .project-state,body.rocket-mode>.appbar .top-action,body.rocket-mode>.appbar .run-action{display:none}.rocket-mode .lab-switch{background:#fff}@media(max-width:1050px){.rocket-workspace{grid-template-columns:240px minmax(390px,1fr) 290px}.rocket-toolbar-actions>span{display:none}}@media(max-width:800px){.rocket-lab{overflow:auto;display:none}.rocket-lab.active{display:block}.rocket-toolbar{height:auto;min-height:72px;gap:10px;flex-wrap:wrap;padding:10px 14px}.rocket-workspace{display:flex;flex-direction:column}.rocket-builder,.rocket-analysis{overflow:visible}.rocket-stage{height:580px;order:-1}.rocket-toolbar-actions{flex-wrap:wrap}.rocket-metric-grid{grid-template-columns:repeat(4,1fr)}}.debugger-panel{position:absolute;z-index:10;top:12px;right:12px;display:none;width:300px;overflow:hidden;border:1px solid #bcd5df;border-radius:8px;color:#173b50;background:#fffffff2;box-shadow:0 14px 38px #064b6928;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.debugger-panel.open{display:block}.debugger-panel header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #d9e6eb;color:#0879d1;font:700 8px Space Mono}.debugger-panel header button{border:0;color:#78909d;background:transparent;font-size:18px}.debugger-state{display:grid;grid-template-columns:2fr 1fr}.debugger-state span{padding:10px;color:#78909d;font:700 6px Space Mono}.debugger-state span+span{border-left:1px solid #e0eaee}.debugger-state b{display:block;margin-top:5px;overflow:hidden;color:#173b50;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.debug-values{display:grid;max-height:160px;overflow:auto;border-top:1px solid #e0eaee}.debug-values span{display:flex;justify-content:space-between;gap:10px;padding:7px 11px;border-bottom:1px solid #edf2f4;font:8px Space Mono}.debug-values p{padding:5px 11px;color:#78909d;font-size:8px}.debug-actions{display:flex;gap:5px;padding:9px}.debug-actions button{flex:1;padding:8px 5px;border:1px solid #c8dce4;border-radius:5px;color:#0879d1;background:#f5fbfd;font-size:6px;font-weight:900}.sim-pane{background:#eff5f1}.sim-pane.fullscreen{top:64px}.sim-fullscreen .code-pane,.sim-fullscreen .subbar{visibility:hidden}.sim-pane .sim-header{padding:0 14px;background:#fbfcf5;border-bottom:1px solid #d9e6de;color:#284f5a;gap:12px}.sim-pane .sim-header>div:first-child{min-width:0}.sim-pane .sim-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 11px Trebuchet MS,sans-serif;letter-spacing:.06em}.sim-pane .sim-header small{color:#588476}.sim-pane .sim-header-actions{gap:4px;flex-shrink:0}.sim-pane .sim-header-actions button{border-color:#dce7dd;background:#f0f5ec;border-radius:10px;color:#427b80}.sim-pane .sim-header-actions .olympiad-toggle{color:#8a642c;background:#fbefd8;border-color:#efdfba}.sim-pane .viewport-wrap{background:#e3eee9}.environment-badge,.grid-toggle{position:absolute;top:14px;display:flex;align-items:center;gap:8px;min-height:36px;border:1px solid #fff;border-radius:14px;background:#fffdf1df;color:#416a70;box-shadow:0 3px 12px #385f6210;font:700 11px Trebuchet MS,sans-serif;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.environment-badge{left:14px;padding:0 12px;pointer-events:none}.environment-badge i{width:7px;height:7px;border-radius:50%;background:#65a68c}.grid-toggle{right:14px;padding:0 12px;cursor:pointer}.grid-toggle[aria-pressed=true]{background:#e6f0dfed;border-color:#bbd5c5}.grid-toggle span{font-size:18px}.grid-toggle:focus-visible{outline:3px solid #287e9b;outline-offset:3px}.sim-pane .sim-stats{bottom:14px;left:14px;gap:6px}.sim-pane .sim-stats span{padding:8px 10px;border-color:#fdfef7;border-radius:11px;background:#fffdf1e8;box-shadow:0 3px 10px #36594f0a;color:#40616a;font-size:9px}.sim-pane .camera-hint{right:14px;bottom:18px;color:#526e72;padding:5px 8px;border-radius:8px;background:#f8fcf2b8}.sim-pane .sim-controls{padding:0 14px;gap:7px;background:#fbfcf5;border-top:1px solid #d9e6de}.sim-pane .sim-controls button{border-color:#dce6da;border-radius:11px;background:#edf3e8;color:#3d7477}.sim-pane .sim-controls button.primary{color:#fff;background:#368e88;border-color:#368e88;box-shadow:0 3px #276e70}.sim-pane .sim-controls button.manual-control{color:#3d7477;background:#edf3e8;border-color:#dce6da}.sim-pane .sim-controls button.manual-control.active{background:#d6ebca;border-color:#98bc82;color:#426d38}.sim-pane .speed-control{color:#607b74}.sim-pane .speed-control b{color:#3c7b7e}.sim-pane .speed-control input{accent-color:#4c9f92}#class-assignment-banner[hidden]{display:none}@media(max-width:1300px){.sim-pane:not(.fullscreen) .camera-hint{bottom:54px;font-size:8px}}@media(max-width:700px){.sim-pane.fullscreen{top:58px}.environment-badge,.grid-toggle{top:9px;min-height:32px;font-size:10px;border-radius:11px}.environment-badge{left:10px}.grid-toggle{right:10px}.sim-pane .sim-header{padding:0 10px;gap:6px}.sim-pane .sim-header strong{max-width:140px;font-size:10px}.sim-pane .sim-controls{padding:0 8px;gap:5px}.sim-pane .sim-controls button{width:33px;height:35px}.sim-pane .sim-stats{left:10px;bottom:10px}.sim-pane .sim-stats span{font-size:8px;padding:6px}.sim-pane .speed-control{grid-template-columns:55px 20px;gap:3px}.sim-pane .speed-control>span{display:none}.sim-pane .speed-control input{width:55px}}.science-lab{position:fixed;z-index:18;inset:54px 0 0;display:none;grid-template-rows:76px minmax(0,1fr);color:#173b50;background:#edf4f6}.science-lab.active{display:grid}.science-header{display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #cfe0e7;background:#fff}.science-header span{color:#0879d1;font:700 8px Space Mono;letter-spacing:.13em}.science-header h1{margin:4px 0 2px;font-size:22px}.science-header p{margin:0;color:#6f8794;font-size:9px}.science-header button{padding:10px 14px;border:1px solid #cfe0e7;border-radius:7px;color:#0879d1;background:#f8fcfd;font-weight:800}.science-layout{display:grid;grid-template-columns:240px minmax(430px,1fr) 285px;min-height:0}.science-catalog,.science-guide{padding:18px;background:#fff;overflow:auto}.science-catalog{border-right:1px solid #d7e5ea}.science-catalog>strong{display:block;margin:2px 4px 13px;color:#75909e;font:700 8px Space Mono;letter-spacing:.12em}.science-catalog>button{display:flex;align-items:center;gap:11px;width:100%;margin-bottom:7px;padding:12px;border:1px solid #dbe7eb;border-radius:8px;color:#496b7c;background:#fbfdfe;text-align:left;cursor:pointer}.science-catalog>button.active{border-color:#04d7f4;color:#153f53;background:#eafcff;box-shadow:0 0 0 2px #04d7f422}.science-catalog button i{display:grid;place-items:center;width:35px;height:35px;border-radius:8px;color:#0879d1;background:#eaf5fa;font-style:normal;font-size:18px}.science-catalog button span,.science-catalog button small{display:block}.science-catalog button span{font-size:10px;font-weight:800}.science-catalog button small{margin-top:4px;color:#8299a5;font:700 6px Space Mono}.science-coming{margin-top:18px;padding:14px;border-radius:8px;color:#6d8794;background:#f0f5f7}.science-coming b{font-size:8px}.science-coming p{margin:7px 0 0;font-size:8px;line-height:1.55}.science-simulator{display:grid;grid-template-rows:58px minmax(280px,1fr) auto;min-width:0;min-height:0}.science-sim-title{display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#173b50;color:#fff}.science-sim-title small{color:#73dff0;font:700 7px Space Mono}.science-sim-title h2{margin:3px 0 0;font-size:16px}.science-sim-title button{padding:8px 11px;border:1px solid #486a79;border-radius:5px;color:#d9edf3;background:#244a5d;font-size:8px;font-weight:800}.science-canvas-wrap{position:relative;min-height:0}.science-canvas-wrap canvas{display:block;width:100%;height:100%}.science-readouts{position:absolute;top:13px;right:13px;display:flex;gap:6px}.science-readouts span{min-width:92px;padding:8px;border:1px solid #bad1d9;border-radius:6px;color:#698594;background:#ffffffdf;font:700 6px Space Mono;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.science-readouts strong{display:block;margin-top:4px;color:#0879d1;font-size:11px}.science-controls{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:12px;padding:15px 18px;border-top:1px solid #d3e2e7;background:#fff}.science-controls label{display:grid;gap:8px;color:#547384;font-size:9px;font-weight:800}.science-controls label>span{display:flex;justify-content:space-between}.science-controls output{color:#0879d1}.science-controls input[type=range]{width:100%;accent-color:#04d7f4}.science-switch{position:relative}.science-switch input{position:absolute;opacity:0}.science-switch i{position:relative;width:54px;height:25px;border-radius:20px;background:#9dafb7;cursor:pointer}.science-switch i:after{content:"";position:absolute;top:4px;left:4px;width:17px;height:17px;border-radius:50%;background:#fff;transition:.18s}.science-switch input:checked+i{background:#8ae601}.science-switch input:checked+i:after{transform:translate(29px)}.science-guide{border-left:1px solid #d7e5ea}.science-guide>span{color:#0879d1;font:700 8px Space Mono;letter-spacing:.1em}.science-guide h3{margin:15px 0 9px;font-size:20px;line-height:1.15}.science-guide>p{color:#607c89;font-size:10px;line-height:1.65}.science-tip{margin:22px 0;padding:14px;border-left:4px solid #8ae601;border-radius:5px;background:#f3fbe9}.science-tip b{color:#4b760e;font-size:8px}.science-tip p{margin:7px 0 0;color:#587443;font-size:9px;line-height:1.5}.science-guide>label{display:flex;align-items:center;gap:8px;color:#5c7784;font-size:9px}.science-formula{margin-top:20px;padding:14px;border-radius:7px;color:#fff;background:#173b50}.science-formula small,.science-formula strong{display:block}.science-formula small{color:#8eb0c0;font-size:7px}.science-formula strong{margin-top:8px;color:#04d7f4;font:700 19px Space Mono}.lab-hub{position:fixed;z-index:110;inset:0;display:none;place-items:center;padding:25px;background:#071c2bbb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lab-hub.open{display:grid}.lab-hub-card{width:min(920px,95vw);overflow:hidden;border:1px solid #ffffff33;border-radius:18px;background:#f7fbfc;box-shadow:0 30px 100px #00111dcc}.lab-hub-card header{display:flex;justify-content:space-between;padding:24px 28px;color:#fff;background:#173b50}.lab-hub-card header span{color:#04d7f4;font:700 8px Space Mono;letter-spacing:.13em}.lab-hub-card h2{margin:6px 0;font-size:25px}.lab-hub-card header p{margin:0;color:#a9c2cd;font-size:10px}.lab-hub-card header button{align-self:start;border:0;color:#b9d2dc;background:transparent;font-size:27px}.lab-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:24px}.lab-cards button{display:flex;flex-direction:column;align-items:flex-start;min-height:230px;padding:23px;border:1px solid #d4e3e8;border-radius:13px;color:#173b50;background:#fff;text-align:left;cursor:pointer;transition:.18s}.lab-cards button:hover,.lab-cards button:focus-visible{border-color:#04d7f4;transform:translateY(-4px);box-shadow:0 15px 30px #0b71901c}.lab-cards i{font-style:normal;font-size:40px}.lab-cards small{margin-top:18px;color:#0879d1;font:700 7px Space Mono;letter-spacing:.1em}.lab-cards strong{margin-top:7px;font-size:22px}.lab-cards p{color:#66818e;font-size:10px;line-height:1.55}.lab-cards b{margin-top:auto;color:#0879d1;font-size:8px}body.science-mode .appbar>:not(.logo):not(.lab-switch):not(.profile-button):not(.teacher-button),body.rocket-mode .appbar>:not(.logo):not(.lab-switch):not(.profile-button):not(.teacher-button){display:none}body.science-mode .subbar,body.science-mode .workspace-shell,body.rocket-mode .subbar,body.rocket-mode .workspace-shell{display:none}body.science-mode .blocklyToolboxDiv,body.science-mode .blocklyFlyout,body.science-mode .blocklyWidgetDiv,body.science-mode .blocklyDropDownDiv,body.science-mode .blocklyTooltipDiv,body.rocket-mode .blocklyToolboxDiv,body.rocket-mode .blocklyFlyout,body.rocket-mode .blocklyWidgetDiv,body.rocket-mode .blocklyDropDownDiv,body.rocket-mode .blocklyTooltipDiv{display:none!important}body.science-mode .lab-switch,body.rocket-mode .lab-switch{background:#fff}@media(max-width:1000px){.science-layout{grid-template-columns:190px 1fr}.science-guide{display:none}.science-readouts{flex-direction:column}.science-readouts span{min-width:105px}}@media(max-width:700px){.science-lab{overflow:auto}.science-header{padding:12px 15px}.science-header p{display:none}.science-layout{display:flex;flex-direction:column}.science-catalog{display:flex;gap:7px;padding:10px;overflow:auto}.science-catalog>strong,.science-coming{display:none}.science-catalog>button{flex:0 0 175px;margin:0;padding:8px}.science-simulator{min-height:720px}.science-controls{grid-template-columns:1fr}.science-readouts{top:8px;right:8px}.science-readouts span{min-width:88px;padding:6px}.lab-cards{grid-template-columns:1fr;max-height:65vh;overflow:auto}.lab-cards button{min-height:165px}.lab-hub-card header{padding:19px}.lab-hub-card header p{display:none}}.lab-hub-card{width:min(1120px,96vw);max-height:92vh}.lab-hub-card header{background:radial-gradient(circle at 78% 20%,#0d7092 0,transparent 30%),linear-gradient(120deg,#0b2536,#173b50 62%,#0b516b)}.lab-cards{grid-template-columns:repeat(6,1fr);max-height:calc(92vh - 125px);overflow:auto;background:linear-gradient(145deg,#f8fcfd,#edf5f7)}.lab-cards .lab-card{--accent:#0879d1;position:relative;isolation:isolate;grid-column:span 2;display:flex;flex-direction:column;align-items:flex-start;min-height:220px;padding:22px;overflow:hidden;border:1px solid #d4e3e8;border-radius:15px;color:#173b50;background:linear-gradient(150deg,#fff 55%,color-mix(in srgb,var(--accent) 10%,#fff));text-align:left;text-decoration:none;cursor:pointer;transition:.2s ease}.lab-cards .lab-card:nth-last-child(-n+2){grid-column:span 3}.lab-cards .lab-card:after{content:"";position:absolute;z-index:-1;right:-35px;top:-48px;width:145px;height:145px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent)}.lab-cards .lab-card:hover,.lab-cards .lab-card:focus-visible{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 18px 34px color-mix(in srgb,var(--accent) 18%,transparent)}.lab-cards .lab-card i{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:color-mix(in srgb,var(--accent) 13%,#fff);font-size:31px}.lab-cards .lab-card small,.lab-cards .lab-card b{color:var(--accent)}.lab-card-meta{margin:2px 0 13px;color:#78909d;font:700 7px Space Mono;letter-spacing:.035em}.lab-card-robot{--accent:#0879d1!important}.lab-card-rocket{--accent:#f39108!important}.lab-card-science{--accent:#6d4bd1!important}.lab-card-olympiad{--accent:#bd7600!important}.lab-card-vr{--accent:#008f86!important}@media(max-width:900px){.lab-cards{grid-template-columns:repeat(2,1fr)}.lab-cards .lab-card,.lab-cards .lab-card:nth-last-child(-n+2){grid-column:span 1}}@media(max-width:700px){.lab-cards{grid-template-columns:1fr}.lab-cards .lab-card{min-height:190px}}.science-check{width:100%;margin-top:17px;padding:12px;border:0;border-radius:7px;color:#173b50;background:#04d7f4;font-size:8px;font-weight:900;letter-spacing:.04em}.science-result{display:grid;gap:5px;margin-top:8px;padding:10px;border:1px solid #d7e5ea;border-radius:6px;color:#6e8793;background:#f8fbfc;font-size:8px;line-height:1.45}.science-result strong{color:#0879d1}.science-result.complete{border-color:#b9e878;color:#53752f;background:#f6ffeb}.science-result.complete strong{color:#4d800a}.profile-button{display:grid;place-items:center;min-width:76px;border:0;border-right:1px solid #00bad5;color:#123b50;background:#fff3}.profile-button span{font-size:17px}.profile-button small{max-width:68px;overflow:hidden;text-overflow:ellipsis;font-size:7px;font-weight:900;white-space:nowrap}.learning-dashboard{position:fixed;z-index:120;inset:0;display:none;place-items:center;padding:24px;background:#061a28c7;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px)}.learning-dashboard.open{display:grid}.learning-card{width:min(920px,96vw);max-height:90vh;overflow:auto;border-radius:18px;color:#173b50;background:#f5fafb;box-shadow:0 30px 100px #00131fe6}.learning-card>header{display:flex;justify-content:space-between;padding:25px 29px;color:#fff;background:linear-gradient(120deg,#173b50,#0879d1)}.learning-card header span{color:#04d7f4;font:700 8px Space Mono;letter-spacing:.13em}.learning-card header h2{margin:6px 0 3px;font-size:26px}.learning-card header p{margin:0;color:#c7e0e9;font-size:10px}.learning-card header button{align-self:start;border:0;color:#c8e1ea;background:transparent;font-size:28px}.learning-profile-row{display:grid;grid-template-columns:1fr 2fr;gap:18px;padding:20px 26px;border-bottom:1px solid #d7e5ea;background:#fff}.learning-profile-row label{display:grid;gap:6px;color:#63808e;font-size:8px;font-weight:800}.learning-profile-row select,.learning-profile-row input{height:36px;border:1px solid #cbdde4;border-radius:6px;padding:0 10px;color:#173b50;background:#fbfdfe}.learning-profile-row form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.learning-profile-row form button{height:36px;padding:0 14px;border:0;border-radius:6px;color:#173b50;background:#04d7f4;font-size:8px;font-weight:900}.learning-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:20px 26px}.learning-stats article{padding:15px;border:1px solid #d5e5ea;border-radius:9px;background:#fff}.learning-stats small,.learning-stats strong,.learning-stats span{display:block}.learning-stats small{color:#74909d;font:700 7px Space Mono}.learning-stats strong{margin:7px 0 3px;color:#0879d1;font:800 25px Space Mono}.learning-stats span{color:#8198a3;font-size:8px}.learning-progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 26px 26px}.learning-progress-grid>section{padding:17px;border:1px solid #d5e5ea;border-radius:10px;background:#fff}.learning-progress-grid h3{margin:0 0 13px;font-size:13px}.learning-progress-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e5eef1;font-size:9px}.learning-progress-item strong{color:#0879d1;font-size:8px}.learning-empty{color:#78909d;font-size:9px;line-height:1.5}.project-library-card{width:min(680px,94vw)}.modal-eyebrow{color:#0879d1;font:700 8px Space Mono;letter-spacing:.1em}.project-library-actions{display:flex;gap:8px;margin:17px 0}.project-library-actions button,.project-library-actions label{display:grid;place-items:center;min-height:36px;padding:0 13px;border:1px solid #bcd7e1;border-radius:6px;color:#0879d1;background:#f4fbfd;font-size:8px;font-weight:900;cursor:pointer}.project-library-actions label{position:relative}.project-library-actions input{position:absolute;inset:0;opacity:0}.project-library-list{display:grid;gap:7px;max-height:45vh;overflow:auto}.project-library-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;padding:11px;border:1px solid #d7e5ea;border-radius:7px;background:#fbfdfe}.project-library-item div{min-width:0}.project-library-item strong,.project-library-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-library-item strong{font-size:10px}.project-library-item small{margin-top:4px;color:#78909d;font-size:8px}.project-library-item button{padding:7px 9px;border:1px solid #c7dae2;border-radius:5px;color:#0879d1;background:#fff;font-size:8px;font-weight:800}.project-library-item button.danger{color:#b34444}.project-library-empty{padding:24px;text-align:center;color:#78909d;font-size:10px}body.science-mode .appbar>.profile-button,body.rocket-mode .appbar>.profile-button{display:grid}@media(max-width:700px){.profile-button{min-width:55px}.learning-profile-row,.learning-progress-grid{grid-template-columns:1fr}.learning-stats{grid-template-columns:1fr 1fr}.learning-profile-row form{grid-template-columns:1fr}.learning-card>header{padding:20px}.learning-stats,.learning-profile-row,.learning-progress-grid{padding-left:15px;padding-right:15px}}.learning-profile-row{grid-template-columns:1fr 2fr auto}.export-progress{align-self:end;height:36px;padding:0 13px;border:1px solid #bcd7e1;border-radius:6px;color:#0879d1;background:#f4fbfd;font-size:8px;font-weight:900}@media(max-width:700px){.learning-profile-row{grid-template-columns:1fr}.export-progress{width:100%}}.teacher-button{display:grid;place-items:center;min-width:72px;border:0;border-right:1px solid #00bad5;color:#123b50;background:#fff3}.teacher-button span{font-size:16px}.teacher-button small{font-size:7px;font-weight:900}.teacher-dashboard{position:fixed;z-index:130;inset:0;display:none;place-items:center;padding:20px;background:#061723d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.teacher-dashboard.open{display:grid}.teacher-card{width:min(1120px,97vw);max-height:92vh;overflow:hidden;border-radius:18px;color:#173b50;background:#f4f8fa;box-shadow:0 35px 110px #001018e8}.teacher-card>header{display:flex;justify-content:space-between;padding:22px 27px;color:#fff;background:linear-gradient(120deg,#122f41,#0879d1)}.teacher-card>header span,.teacher-results-head span{color:#04d7f4;font:700 8px Space Mono;letter-spacing:.12em}.teacher-card>header h2{margin:5px 0 3px;font-size:25px}.teacher-card>header p{margin:0;color:#c3dce5;font-size:9px}.teacher-card>header button{align-self:start;border:0;color:#cae0e8;background:transparent;font-size:28px}.teacher-layout{display:grid;grid-template-columns:350px minmax(0,1fr);max-height:calc(92vh - 92px)}.teacher-layout>aside{display:grid;gap:11px;padding:20px;overflow:auto;border-right:1px solid #d3e2e7;background:#fff}.teacher-layout h3{margin:0;color:#0879d1;font:800 9px Space Mono;letter-spacing:.08em}.teacher-layout label{display:grid;gap:5px;color:#587584;font-size:8px;font-weight:800}.teacher-layout input,.teacher-layout select,.teacher-layout textarea{width:100%;border:1px solid #cbdde4;border-radius:6px;padding:9px;color:#173b50;background:#fbfdfe;resize:vertical}.teacher-layout fieldset{display:flex;gap:12px;border:1px solid #d6e4e9;border-radius:7px;padding:10px}.teacher-layout legend{color:#67828e;font-size:7px;font-weight:800}.teacher-layout fieldset label{display:flex;align-items:center;gap:5px}.teacher-layout fieldset input{width:auto}.teacher-actions,.class-code-row{display:flex;gap:7px}.teacher-actions button,.class-code-row button,.teacher-results-head button{min-height:34px;padding:0 11px;border:1px solid #bcd4dd;border-radius:6px;color:#0879d1;background:#f4fbfd;font-size:7px;font-weight:900}.teacher-actions button:first-child{border:0;color:#173b50;background:#04d7f4}.class-code-row input{min-width:0}.teacher-layout>main{min-width:0;overflow:auto;padding:20px}.teacher-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.teacher-results-head h3{margin-top:4px;color:#173b50;font-family:Inter;font-size:18px;letter-spacing:0}.teacher-results{overflow:auto;border:1px solid #d6e4e9;border-radius:8px;background:#fff}.teacher-results table{width:100%;border-collapse:collapse;font-size:8px}.teacher-results th,.teacher-results td{padding:10px;border-bottom:1px solid #e3ecef;text-align:left;white-space:nowrap}.teacher-results th{color:#67828e;background:#f4f8fa;font:800 7px Space Mono}.teacher-empty{padding:38px;text-align:center;color:#708995;font-size:10px}.class-assignment-banner{position:fixed;z-index:65;left:50%;top:64px;display:flex;align-items:center;gap:12px;width:min(620px,calc(100vw - 30px));padding:10px 14px;border:1px solid #04d7f4;border-radius:9px;color:#173b50;background:#fffffff2;box-shadow:0 10px 30px #075d7b28;transform:translate(-50%);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.class-assignment-banner>span{padding:7px;border-radius:5px;color:#0879d1;background:#e8fbff;font:800 7px Space Mono}.class-assignment-banner strong{font-size:10px}.class-assignment-banner p{margin:3px 0 0;color:#617d89;font-size:8px}.lab-cards button.locked{filter:grayscale(1);opacity:.45}.lab-cards button.locked b{font-size:0}.lab-cards button.locked b:after{content:"BLOQUEADO POR DOCENTE";font-size:8px}.presentation-mode .appbar,.presentation-mode .subbar,.presentation-mode .science-header,.presentation-mode .rocket-toolbar,.presentation-mode .class-assignment-banner{display:none!important}.presentation-mode .science-lab,.presentation-mode .rocket-lab{inset:0}.presentation-mode .science-layout{grid-template-columns:1fr 310px}.presentation-mode .science-catalog{display:none}.presentation-mode .workspace-shell{height:100vh;grid-template-columns:1fr}.presentation-mode .code-pane{display:none}.presentation-mode .sim-pane{grid-template-rows:58px minmax(0,1fr) 60px}.presentation-mode:after{content:"ESC · SALIR DE PRESENTACIÓN";position:fixed;z-index:150;right:12px;bottom:10px;padding:6px 9px;border-radius:5px;color:#fff;background:#0b2638bb;font:700 7px Space Mono;pointer-events:none}body.science-mode .appbar>.teacher-button,body.rocket-mode .appbar>.teacher-button{display:grid}@media(max-width:800px){.teacher-layout{grid-template-columns:1fr;overflow:auto}.teacher-layout>aside{border-right:0;border-bottom:1px solid #d3e2e7}.teacher-card{overflow:auto}.teacher-layout{max-height:none}.teacher-button{min-width:55px}.presentation-mode .science-layout{grid-template-columns:1fr}.presentation-mode .science-guide{display:none}}.experience-button{height:58px;min-width:68px;border:0;border-right:1px solid #06b4d0;background:#10cbe1;color:#073b54;display:grid;place-content:center;gap:1px;font-weight:800;cursor:pointer}.experience-button span{font-size:18px}.experience-button small{font-size:8px}.experience-panel{position:fixed;z-index:1400;right:14px;top:68px;width:min(330px,calc(100vw - 28px));padding:18px;background:#fff;color:#173b50;border:1px solid #c9dce5;border-radius:14px;box-shadow:0 18px 55px #092c4540;transform:translateY(-15px);opacity:0;pointer-events:none;transition:.22s}.experience-panel.open{transform:none;opacity:1;pointer-events:auto}.experience-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.experience-panel header div{display:grid}.experience-panel header small{color:#0879d1;font-size:9px;letter-spacing:.16em}.experience-panel header strong{font-size:22px}.experience-panel header button{border:0;background:transparent;font-size:24px}.experience-panel>label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e4edf1;font-size:13px;font-weight:700}.experience-panel select{border:1px solid #bdd3dd;border-radius:7px;padding:7px;background:inherit;color:inherit}.experience-check input{accent-color:#0879d1}.experience-intro{width:100%;margin-top:16px;border:0;border-radius:8px;padding:11px;background:#0879d1;color:#fff;font-weight:800}.experience-guide{position:fixed;z-index:800;right:18px;bottom:18px;max-width:340px;display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #b7dae7;border-radius:18px 18px 3px;background:#fff;color:#173b50;box-shadow:0 10px 35px #173b5033;text-align:left}.experience-guide.hidden{display:none}.experience-guide b{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#04d7f4,#0879d1);color:#fff}.experience-guide span{font-size:11px;line-height:1.35}.experience-guide i{font-style:normal}.celebration-layer{position:fixed;z-index:3000;inset:0;pointer-events:none;overflow:hidden}.celebration-layer i{position:absolute;left:var(--x);top:-20px;width:9px;height:17px;background:var(--c);animation:confetti var(--d) ease-in forwards}@keyframes confetti{to{transform:translateY(105vh) rotate(var(--r));opacity:.35}}.cinematic-intro{position:fixed;z-index:4000;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 65%,#0879d1 0,#062f4c 45%,#041927);color:#fff;opacity:0;transition:.5s}.cinematic-intro.ready{opacity:1}.cinematic-intro.leaving{opacity:0;transform:scale(1.04)}.cinematic-intro>div{max-width:670px;text-align:center;animation:intro-rise .8s ease-out}.cinematic-intro img{width:170px;filter:brightness(0) invert(1)}.cinematic-intro small{display:block;margin:28px 0 8px;color:#8ae601;letter-spacing:.3em}.cinematic-intro h1{font-size:clamp(35px,6vw,70px);line-height:.95;margin:0}.cinematic-intro p{font-size:16px;color:#cce5ee}.cinematic-intro button{margin-top:20px;border:0;border-radius:9px;padding:15px 24px;background:#8ae601;color:#11384d;font-weight:900;box-shadow:0 0 35px #8ae60155}@keyframes intro-rise{0%{transform:translateY(25px);opacity:0}}.dark-theme body,.dark-theme #app{background:#081a26;color:#dcebf1}.dark-theme .workspace-shell,.dark-theme .code-pane,.dark-theme .sim-pane,.dark-theme .subbar{background:#102735;color:#dcebf1}.dark-theme .sim-header,.dark-theme .sim-controls,.dark-theme .experience-panel,.dark-theme .experience-guide{background:#133244;color:#e8f4f7;border-color:#315468}.dark-theme .BlocklySvg,.dark-theme .rocket-lab,.dark-theme .science-lab{filter:brightness(.78) saturate(.95)}@media(max-width:900px){.experience-button{min-width:52px}.experience-button small{display:none}.experience-guide{max-width:260px}.appbar{overflow-x:auto}.cinematic-intro h1{font-size:40px}}.cinematic-intro img{width:min(330px,72vw);height:auto;object-fit:contain;filter:none;filter:drop-shadow(0 8px 24px #0005)}.appbar{box-sizing:border-box;height:64px;display:flex;align-items:center;gap:4px;padding:0 12px;color:#173b50;background:#fff;border-bottom:1px solid #dce8ed;box-shadow:0 4px 18px #123b5014;position:relative;z-index:70}.appbar>*{box-sizing:border-box;flex-shrink:0}.appbar .logo{width:104px;height:48px;padding:9px 8px;background:transparent;border-right:1px solid #e3ecef}.appbar .logo img{width:88px;max-height:31px;filter:none}.appbar button,.appbar a{font-family:Inter,sans-serif}.appbar .lab-switch,.appbar .profile-button,.appbar .teacher-button,.appbar .experience-button,.appbar .vr-entry{width:42px;min-width:42px;height:42px;display:grid;place-content:center;padding:0;border:0;border-radius:10px;color:#466574;background:transparent;box-shadow:none;transition:background .16s,color .16s,transform .16s}.appbar .lab-switch:hover,.appbar .profile-button:hover,.appbar .teacher-button:hover,.appbar .experience-button:hover,.appbar .vr-entry:hover{color:#0879d1;background:#edf8fb;transform:translateY(-1px)}.appbar .lab-switch{width:68px;grid-template-columns:auto auto;gap:7px;color:#fff;background:#0879d1}.appbar .lab-switch:hover{color:#fff;background:#066bb9}.appbar .lab-switch span,.appbar .profile-button span,.appbar .teacher-button span,.appbar .experience-button span,.appbar .vr-entry span{font-size:17px;line-height:1;color:inherit}.appbar .lab-switch small{display:block;color:inherit;font-size:9px;font-weight:800;letter-spacing:.04em}.appbar .profile-button small,.appbar .teacher-button small,.appbar .experience-button small,.appbar .vr-entry small{display:none}.appbar .vr-entry{margin-right:7px;color:#315d13;background:#f2fbe7;border:1px solid #d8efbd}.appbar .nav-button{height:38px;padding:0 11px;border:0;border-radius:8px;color:#466574;background:transparent;font-size:12px}.appbar .nav-button:hover{color:#0879d1;background:#f0f6f8}.appbar .tutorial{width:39px;padding:0;font-size:17px}.appbar .tutorial small{display:none}.appbar .project-name{height:40px;min-width:190px;max-width:290px;flex:1 1 230px;margin:0 6px 0 auto;padding:0 13px;border:1px solid #d6e4e9;border-radius:9px;color:#0879d1;background:#f5f9fa;box-shadow:inset 0 1px 2px #123b5008}.appbar .project-name i{font-size:10px}.appbar .project-name input{color:#173b50;font-size:13px;font-weight:700}.appbar .project-state{display:none}.appbar .top-action,.appbar .run-action{width:43px;min-width:43px;height:38px;display:grid;place-content:center;gap:2px;padding:0;border:0;border-radius:7px;color:#59727d;background:transparent;font-size:16px;transition:.16s}.appbar .top-action:hover,.appbar .run-action:hover{color:#0879d1;background:#edf6f9}.appbar .top-action small,.appbar .run-action small{display:none}.appbar #map-mode{margin-left:3px}.appbar .run-controls{height:40px;display:flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;overflow:visible}.appbar #run{width:100px;display:flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:#0879d1;font-size:14px;line-height:1;box-shadow:0 3px 10px #0879d126}.appbar #run:hover{color:#fff;background:#066bb9}.appbar #run span{display:grid;place-items:center;height:14px;line-height:14px}.appbar #run small{display:block;margin:0;color:inherit;font-size:9px;line-height:1;letter-spacing:.03em}.appbar #step,.appbar #stop{height:38px;border:1px solid #d9e6eb}.appbar #step{color:#42616f;background:#fff;font:800 11px Space Mono,monospace}.appbar #stop{color:#c44d45;background:#fff;opacity:1}.appbar #step:hover{color:#0879d1;background:#e7f5fa}.appbar #stop:hover{color:#fff;background:#d85750}.subbar{box-sizing:border-box;height:48px;padding:0 16px;color:#173b50;background:#fbfdfe;border-bottom:1px solid #dce8ed;box-shadow:none}.subbar strong{font-size:13px}.subbar-actions{gap:7px}.subbar button{height:30px;padding:0 12px;border-color:#d3e2e8;border-radius:7px;color:#0879d1;background:#fff;font-size:10px}.app-menu{top:58px;border-radius:9px}.app-menu#file-menu{left:286px}.app-menu#tools-menu{left:352px}.class-assignment-banner{left:auto;right:16px;top:122px;width:min(430px,calc(100vw - 32px));padding:9px 12px;border-color:#cce2eb;border-radius:10px;background:#fffffff5;box-shadow:0 10px 30px #123b5020;transform:none}.class-assignment-banner>span{flex:0 0 auto}body.science-mode .appbar,body.rocket-mode .appbar{justify-content:flex-start}body.science-mode .appbar>.logo,body.rocket-mode .appbar>.logo{display:grid}body.science-mode .appbar>.lab-switch,body.rocket-mode .appbar>.lab-switch{display:grid;background:#0879d1;color:#fff}body.science-mode .appbar>.profile-button,body.rocket-mode .appbar>.profile-button,body.science-mode .appbar>.teacher-button,body.rocket-mode .appbar>.teacher-button{display:grid}@media(max-width:1180px){.appbar{padding:0 8px}.appbar .logo{width:88px}.appbar .logo img{width:72px}.appbar .nav-button{display:none}.appbar .project-name{min-width:150px}.appbar .top-action{width:38px;min-width:38px}.appbar #run{width:82px}.appbar #run small{display:block}}@media(max-width:760px){.appbar{height:58px;gap:2px;overflow-x:auto}.appbar .logo{width:72px;height:42px}.appbar .logo img{width:58px}.appbar .lab-switch{width:46px;min-width:46px;grid-template-columns:1fr}.appbar .lab-switch small,.appbar .teacher-button,.appbar .experience-button{display:none}.appbar .project-name{min-width:135px;height:38px}.appbar #map-mode,.appbar #pov-mode{display:none}.appbar #run{width:44px}.appbar #run small{display:none}.subbar{height:44px}.class-assignment-banner{top:110px}}
