:root{--bg:#001b30;--panel:#08283f;--line:#243c52;--text:#e9f1fa;--muted:#a3b6c8;--cyan:#65d5f3;--blue:#00a0d6;--school-yellow:#fff200;--green:#7be5c4;--mono:Consolas, "Cascadia Code", "Courier New", monospace;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 65% 25%, #073c5d 0, #03263f 34%, var(--bg) 75%);color:var(--text);font:15px/1.55 var(--font);min-height:100vh;margin:0}button,input,textarea{font:inherit}button,.button{color:var(--text);cursor:pointer;background:#173149;border:1px solid #36516b;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:#21435f;border-color:#6aaccd}button,.button{transition:transform .18s,background .18s,border-color .18s,box-shadow .18s}button:not(:disabled):hover,.button:hover{transform:translateY(-2px)}button:not(:disabled):active,.button:active{transform:translateY(0)scale(.98)}button.primary:not(:disabled):hover{box-shadow:0 6px 25px #00a0d650}button:disabled{opacity:.5;cursor:not-allowed}button.primary{color:#05162b;background:linear-gradient(135deg,#5dd9f3,#00a0d6);border:1px solid #7ddcff;box-shadow:0 4px 15px #1a92e51b}button.primary:hover{background:#8ce0ff}button.secondary{color:#bdeaff;background:#142e43;border-color:#365774}a{color:#9eddf4;text-underline-offset:4px}button.text-button{color:#b6ccdf;background:0 0;border-color:#0000;padding:8px;font-size:13px}button.text-button:hover{color:#fff;background:#1c3850}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #f4ce78}input{width:100%;color:var(--text);background:#091b2d;border:1px solid #344e65;border-radius:8px;margin:8px 0 20px;padding:12px 14px;display:block}input::placeholder{color:#879daf}label{color:#c5d6e6;font-size:13px;font-weight:600}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.8px;font-size:40px;font-weight:650;line-height:1.08}h2{font-size:18px;font-weight:600;line-height:1.3}h3{font-size:16px}p+p{margin-top:12px}.muted{color:var(--muted)}.cyan{color:var(--cyan)}.eyebrow{letter-spacing:2px;color:#80cbe8;margin-bottom:16px;font-size:11px;font-weight:700;display:block}.topbar{border-bottom:1px solid #00a0d650;justify-content:space-between;align-items:center;gap:24px;max-width:1440px;height:88px;margin:auto;padding:0 5%;display:flex}.brand{color:#eaf6ff;letter-spacing:3px;align-items:center;gap:12px;font-size:19px;font-weight:750;line-height:1.2;text-decoration:none;display:flex}.brand small{letter-spacing:2px;color:#94b3c9;margin-top:5px;font-size:8px;display:block}.school-logo{object-fit:contain;flex-shrink:0;width:48px;height:58px}.entry-copy h1 .cyan{color:var(--school-yellow)}.entry-grid{grid-template-columns:1.15fr 1fr;align-items:start;gap:70px;max-width:1240px;margin:54px auto 32px;padding:0 36px;display:grid}.entry-copy{padding-top:5px}.entry-copy h1{letter-spacing:-3px;font-size:66px;font-weight:650}.lead{margin-top:22px;font-size:20px;line-height:1.4}.entry-copy>.muted{max-width:450px;margin-top:14px;font-size:14px;line-height:1.7}.mission-tags{color:#b4cbdc;letter-spacing:.6px;gap:22px;margin-top:24px;font-size:11px;font-weight:600;display:flex}.mission-tags span+span{border-left:1px solid #4a6275;padding-left:20px}.panel{background:linear-gradient(135deg,#11273ddd,#0b1c30ee);border:1px solid #2b445b;border-radius:16px;overflow:hidden;box-shadow:0 18px 65px #00000018}.entry-form{margin-top:12px;padding:32px}.entry-form h2{letter-spacing:-.5px;font-size:25px}.entry-form>.muted{margin:12px 0 26px;font-size:13px}.entry-form form{margin-top:20px}.pair-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.full{width:100%}.config-notice{color:#b1c6d8;margin-top:14px;font-size:12px}.divider{background:#284258;height:1px;margin:24px 0}.footnote{color:#92adc2;margin-top:12px;font-size:11px;line-height:1.6}.entry-form>.footnote{text-align:center}.form-bottom{color:#b5c9d9;border-top:1px solid #294359;align-items:center;gap:8px;margin-top:26px;padding-top:18px;font-size:11px;display:flex}.status-dot{background:#9aaabe;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.status-dot.on{background:#75dfbc;box-shadow:0 0 8px #50d8b340}.workshop{background:radial-gradient(at 50% 58%,#22547360,#0000 70%);height:280px;position:relative;overflow:hidden}.workshop.large{height:290px;margin-top:0;margin-left:-20px;margin-right:-35px}.workshop:before{content:"";pointer-events:none;background:radial-gradient(#36cbef20,#0000 68%);border-radius:50%;transition:background .4s;position:absolute;inset:12% 5% 4%}.workshop[data-mood=celebrate]:before{background:radial-gradient(#7be5c435,#0000 68%);animation:.85s ease-out 3 workshop-celebrate}.workshop[data-running=true] .status-dot{animation:2s ease-out infinite station-beacon}.entry-copy,.entry-form,.game-title,.results{animation:.65s cubic-bezier(.2,.7,.3,1) both arrive}.entry-form{animation-delay:.12s}.hint,.operator-badge{animation:.3s ease-out both arrive}.feedback.success{animation:.7s ease-out both feedback-glow}.progress-pips .done{animation:.55s ease-out progress-complete}@keyframes arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes achievement{0%{transform:translateY(10px)scale(.98);box-shadow:0 0 #7be5c440}45%{transform:translateY(0)scale(1.01);box-shadow:0 0 0 7px #7be5c410}to{transform:translateY(0)scale(1);box-shadow:0 0 0 12px #7be5c400}}@keyframes feedback-glow{0%{box-shadow:0 0 #7be5c440}45%{box-shadow:0 0 0 7px #7be5c410}to{box-shadow:0 0 0 12px #7be5c400}}@keyframes workshop-celebrate{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}@keyframes station-beacon{0%{box-shadow:0 0 #7be5c470}to{box-shadow:0 0 0 8px #7be5c400}}@keyframes progress-complete{40%{transform:scaleY(2);box-shadow:0 0 12px #7be5c470}to{box-shadow:none;transform:scaleY(1)}}.canvas-host{position:absolute;inset:0}.canvas-host canvas{width:100%;height:100%;display:block}.scene-label{color:#abc8d9;letter-spacing:1.3px;pointer-events:none;align-items:center;gap:8px;font-size:9px;display:flex;position:absolute;bottom:14px;left:20px;right:20px}.scene-label>span:last-child{color:#7b9ab1;margin-left:auto}.fallback{text-align:center;background:#0f263d;flex-direction:column;justify-content:center;align-items:center;padding:25px;display:flex;position:absolute;inset:0}.fallback p{color:#bdd0df;max-width:350px;margin-top:10px;font-size:12px}.fallback button{margin-top:14px;font-size:12px}.fallback-machine{color:#b99a62;font-size:52px}.fallback-machine.on{color:#65e2c0}.resume{background:#0c2033;border-radius:10px;gap:14px;margin-top:20px;padding:18px;display:grid}.resume p{color:#bad0df;font-size:13px}.error{color:#ffcbac;background:#50302570;border:1px solid #976a4e;border-radius:8px;margin-top:16px;padding:14px;font-size:13px}.top-progress{letter-spacing:1px;align-items:center;gap:22px;font-size:11px;display:flex}.progress-pips{gap:7px;display:flex}.progress-pips span{background:#29435b;border-radius:3px;width:26px;height:4px}.progress-pips span.current{background:#66d3f6}.progress-pips span.done{background:#6cdbb9}.pair-tag{color:#b0c6da;border:1px solid #2d4b63;border-radius:20px;padding:7px 12px;font-size:11px}.game-main{max-width:1360px;margin:auto;padding:28px 42px 20px}.game-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.game-title .eyebrow{margin-bottom:9px;font-size:10px}.game-title h1{letter-spacing:-1px;font-size:32px}.game-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.objective{gap:14px;padding:22px 24px;display:flex}.section-index{width:28px;height:28px;font:11px var(--mono);color:#a8d9f3;border:1px solid #315777;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.objective p{color:#bcd0e0;margin-top:10px;font-size:13px;line-height:1.65}.html-reference{background:#091a2b;border:1px solid #2b4256;border-radius:8px;margin:0 24px 22px;overflow:hidden}.html-reference summary{color:#b9e7fc;font-family:var(--mono);cursor:pointer;background:#132a40;padding:10px 14px;font-size:11px}.html-reference summary span{float:right;color:#93abc0;font:10px var(--font)}pre{font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.html-reference pre{color:#a9cde4;padding:14px;font-size:12px;line-height:1.8}.editor-header{color:#bddcef;background:#152b42;border-top:1px solid #2a435a;border-bottom:1px solid #2a435a;justify-content:space-between;padding:12px 24px;font-size:11px;display:flex}.editor-header strong{font-family:var(--mono)}.editor-header span{color:#91afc5}.code-editor{background:#081828;border-bottom:1px solid #263e53;padding:18px 24px}.fixed-code{color:#c3d6e4;font-size:12px;line-height:1.8}.zone-label{color:#8ec4df;letter-spacing:.3px;margin:8px 0 5px;font-size:10px;display:block}textarea{resize:vertical;color:#f4e3a5;width:100%;min-height:42px;font:13px/1.8 var(--mono);tab-size:2;caret-color:#fff;background:#102b3e;border:1px solid #44718a;border-radius:5px;padding:10px 12px;display:block}.editor-actions{justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.restrictions{color:#9fb7ca;margin:0 24px 20px;font-size:11px}.restrictions summary{cursor:pointer}.restrictions p{margin-top:10px}.help-area{background:#11273b70;border-top:1px solid #2a4258;padding:20px 24px;font-size:12px}.help-area>div{margin-bottom:12px}.help-area .muted{margin-left:8px;font-size:10px}.help-area button{padding:8px 12px;font-size:11px}.hint{color:#bfd8e8;background:#16354c;border-left:2px solid #5db8df;margin-bottom:12px;padding:10px 12px;font-size:12px}.hint strong{color:#7bdaf2;margin-right:6px}.preview-column{gap:18px;display:grid}.panel-heading{align-items:center;gap:12px;padding:20px 22px 0;display:flex}.panel-heading p{color:#93b0c6;margin-top:5px;font-size:11px}.guide{background:#17344a66;border-top:1px solid #28465c;border-bottom:1px solid #28465c;align-items:center;gap:12px;padding:12px 20px;display:flex}.guide-avatar{color:#13384b;background:#a3d5dc;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;font-weight:800;display:flex}.guide p{color:#c2d7e7;font-size:11px;line-height:1.6}.preview-header{color:#b6cee0;justify-content:space-between;padding:14px 20px 8px;font-size:10px;display:flex}.preview-header span{color:#91adc1}.exercise-frame{background:#0c2035;border:0;width:100%;height:180px;display:block}.preview-empty{text-align:center;color:#a3bed0;justify-content:center;align-items:center;height:105px;padding:24px;font-size:12px;display:flex}.observed{color:#c3d8e8;border-top:1px solid #203b52;align-items:center;gap:8px;min-height:45px;padding:12px 20px;font-size:11px;display:flex}.feedback h2{font-size:15px}.feedback>p{color:#b8ccdc;margin-top:10px;font-size:12px;line-height:1.65}.feedback.success{background:linear-gradient(135deg,#153638,#0d2334);border-color:#397b76}.feedback.success h2{color:#9aeace}.checks{flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.checks li{color:#b6c9d7;border:1px solid #355366;border-radius:5px;padding:5px 8px;font-size:10px}.checks .pass{color:#a0e9ca;border-color:#336459}.checks .fail{color:#fca;border-color:#916444}.checks small{max-width:300px;font-size:10px;display:block}.feedback>p.achievement{color:#9ce6d0}.role-swap{border-left:2px solid #7cd9f2;padding-left:12px}.feedback button{margin-top:16px;font-size:12px}.game-footer{color:#97afc3;justify-content:space-between;gap:24px;margin-top:24px;font-size:11px;display:flex}.game-footer a{text-decoration:none}.game-footer>span{text-align:right;max-width:75%}.test-frame{clip-path:inset(50%);pointer-events:none;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.confirm{background:#423622;border:1px solid #776340;border-radius:8px;margin:0 24px 18px;padding:14px;font-size:12px}.confirm button{margin:10px 8px 0 0;font-size:11px}.results{max-width:850px;margin:45px auto;padding:36px}.results h1{font-size:38px}.results>.workshop{height:260px}.results h2{margin-top:24px}.results>p:not(.lead){font-size:13px}.result-concepts{color:#b8e5db;border-top:1px solid #2a495d;grid-template-columns:1fr 1fr;gap:12px;padding-top:20px;font-size:13px;display:grid}.result-actions{align-items:center;gap:20px;margin-top:24px;font-size:12px;display:flex}.teacher-main{max-width:1320px;margin:44px auto;padding:0 36px}.login-panel{max-width:480px;margin:50px auto;padding:32px}.login-panel h1{font-size:32px}.login-panel p{margin-top:15px;font-size:13px}.login-panel form{margin-top:24px}.teacher-actions{gap:12px;display:flex}.table-wrap{margin-top:24px;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}th{text-align:left;color:#afd2e8;background:#183148;font-size:11px;font-weight:600}th,td{border-bottom:1px solid #2c4459;padding:16px}td small{color:#89a8be;margin-top:5px;font-size:10px;display:block}.badge-done,.badge-progress{color:#a0efcf;background:#1a4e46;border-radius:6px;padding:5px 8px}.badge-progress{color:#b7dff6;background:#25435d}.empty-table{text-align:center;color:#a6c0d3;padding:32px}.loading{text-align:center;color:#b5d4e8;padding:80px}@media (min-width:1450px){.entry-grid{margin-top:64px}.workshop.large{height:335px}}@media (max-width:1000px){.entry-grid{gap:32px;padding:0 26px}.entry-copy h1{font-size:52px}.entry-form{padding:24px}.game-main{padding:25px}.game-grid{gap:18px}.pair-tag{font-size:9px}.top-progress{gap:10px}.progress-pips span{width:16px}.editor-actions{flex-wrap:wrap}}@media (max-width:760px){.topbar{gap:12px;height:76px;padding:0 20px}.brand{font-size:15px}.brand small{letter-spacing:1px;font-size:7px}.school-logo{width:34px;height:42px}.top-progress{display:none}.entry-grid{grid-template-columns:1fr;gap:14px;margin-top:30px}.entry-copy h1{font-size:48px}.entry-copy .workshop{height:240px}.entry-form{margin-top:0}.entry-copy>.footnote{display:none}.entry-form{margin-bottom:30px}.game-grid{grid-template-columns:1fr}.game-title h1{font-size:26px}.game-title{align-items:flex-start}.game-title>button{font-size:10px}.game-main{padding:24px 16px}.game-footer{flex-direction:column}.game-footer>span{text-align:left;max-width:100%}.results{margin:24px 16px;padding:24px}.results h1{font-size:30px}.result-actions{flex-wrap:wrap}.result-concepts{grid-template-columns:1fr}.teacher-main{padding:0 18px}.teacher-actions{flex-direction:column}.pair-tag{text-align:center;max-width:160px}.lead{font-size:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.operator-badge{background:#143831;border:1px solid #3a867c;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin:0 20px 16px;padding:12px 16px;display:flex}.operator-badge span{color:#a0d4c8;letter-spacing:1.1px;font-size:9px}.operator-badge strong{color:#c4f8e8;overflow-wrap:anywhere;font-size:15px}.campaign-map{background:linear-gradient(145deg,#0b3047,#071e33);border:1px solid #31536a;border-radius:12px;margin-bottom:16px;padding:10px 14px}.campaign-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.campaign-heading h2{font-size:14px;font-weight:650}.campaign-heading h2 span{color:#b7cdda;margin-left:14px;font-size:12px;font-weight:400}button.campaign-toggle{min-height:28px;padding:2px 6px;font-size:12px}.campaign-stations{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.campaign-station{border-radius:8px;min-width:0;padding:4px 6px;position:relative}.campaign-station.current{background:#22495b;box-shadow:inset 0 0 0 1px #ebcb7c}button.campaign-station-button{width:100%;color:inherit;text-align:left;font:inherit;background:0 0;border:0;border-radius:5px;padding:5%;display:block}button.campaign-station-button:not(:disabled):hover{background:#4ac6ed12}button.campaign-station-button:disabled{opacity:1}.campaign-navigation{justify-content:flex-end;margin:-10px 0 10px;display:flex}.campaign-station-label{align-items:center;gap:7px;display:flex;position:relative}.campaign-icon{color:#a3bdce;background:#0b293e;border:1px solid #4b687a;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.station-icon{width:23px;height:23px}.approved .campaign-icon{color:#9cf1d6;background:#143f40;border-color:#7be5c4}.available .campaign-icon{color:#93e7fa;border-color:#65d5f3}.campaign-station-name{background:#0b293e;border-radius:4px;padding:0 2px;font-size:13px;font-weight:650}.current .campaign-station-name{background:#22495b}.campaign-number{color:#b1c8d6;font-size:11px}.campaign-station-status{color:#b9cdda;margin-top:3px;font-size:11px;line-height:1.5;position:relative}.campaign-station-status strong{color:#ffe0a0;font-weight:500}.approved .campaign-station-status{color:#99e6cb}.campaign-connection{pointer-events:none;width:calc(100% + 12px);height:2px;position:absolute;top:30px;left:22px}.campaign-connection path{fill:none;stroke:#325368;stroke-width:2px;vector-effect:non-scaling-stroke;transition:stroke .25s}.campaign-connection.energized path{stroke:#7be5c4}.campaign-details{border-top:1px solid #31536a;margin-top:12px;padding-top:12px}.campaign-description{color:#c5dbe7;margin-bottom:14px;font-size:13px}.campaign-objectives{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;display:grid}.campaign-objectives h3{color:#d5f1fa;font-size:14px}.campaign-objectives p{color:#b9cdda;font-size:13px;line-height:1.6}.campaign-objectives .campaign-concept{color:#8ed8e9;margin:4px 0}.game-topbar{height:66px}.game-main{padding-top:16px}.game-title{margin-bottom:14px}.game-title .eyebrow{margin-bottom:5px}.game-title h1{font-size:29px}.game-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.study-column{gap:12px;min-width:0;display:grid}.code-panel{overflow:visible}.objective{padding:16px 20px}.objective p{margin-top:6px;font-size:14px;line-height:1.55}.html-reference{margin:0 20px 12px}.editor-header{padding:9px 20px}.code-editor{padding:14px 20px}.fixed-code{font-size:13px;line-height:1.7}.zone-label{font-size:12px}.editor-actions{background:#102c41;border-bottom:1px solid #31536a;border-radius:0;flex-wrap:wrap;padding:10px 16px}.editor-actions button{font-size:13px}.feedback-location{color:#b8cdda;flex-basis:100%;font-size:12px}.feedback-location a{font-weight:600}.code-editor textarea{scroll-margin:115px 0 20px}.editor-actions.mobile{display:none}.learning-support .restrictions{margin:14px 20px;font-size:12px}.learning-support .help-area{padding:16px 20px;font-size:13px}.preview-column{gap:12px;min-width:0}.preview-column[data-sticky=true]{position:sticky;top:12px}.world-panel .panel-heading{padding:12px 18px 0}.world-panel .panel-heading h2{font-size:17px}.world-panel .panel-heading p{margin-top:2px;font-size:12px}.world-panel .workshop{height:210px}.world-panel .preview-header{padding:6px 18px;font-size:12px}.game-main .exercise-frame,.game-main .preview-empty{height:150px}.game-main[data-level="1"] .exercise-frame,.game-main[data-level="1"] .preview-empty{height:230px}.game-main[data-level="2"] .exercise-frame,.game-main[data-level="2"] .preview-empty{height:120px}.game-main[data-level="5"] .exercise-frame,.game-main[data-level="5"] .preview-empty{height:210px}.game-main[data-level="6"] .exercise-frame,.game-main[data-level="6"] .preview-empty{height:230px}.world-panel .observed{min-height:36px;padding:8px 18px;font-size:12px}.feedback{min-height:130px;padding:14px 18px;scroll-margin-top:18px}.feedback-label{color:#9ec3d4;letter-spacing:1px;margin-bottom:4px;font-size:10px;display:block}.feedback>p{margin-top:7px;font-size:13px;line-height:1.5}.feedback.checking{border-color:#65d5f3}.feedback button{margin-top:10px}.check-details{color:#bed8e5;margin-top:8px;font-size:12px}.check-details summary{cursor:pointer}.checks{margin-top:8px}.checks li,.checks small{font-size:12px}.game-footer{margin-top:16px}@media (min-width:1100px) and (min-height:700px){.editor-actions.desktop{z-index:2;position:sticky;top:12px;box-shadow:0 -5px 12px #06192a50}}@media (max-width:1000px){.campaign-station-label{gap:4px}.campaign-station-name{font-size:12px}.campaign-station-status strong{display:block}}@media (max-width:760px){.campaign-heading{align-items:start}.campaign-heading h2 span{margin:2px 0 0;display:block}.campaign-map{padding:12px}.campaign-stations{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}.campaign-station-label{flex-direction:column;gap:3px}.campaign-station{text-align:center;padding:4px 2px}.campaign-station-status strong{display:block}.campaign-connection{width:calc(100% + 8px);top:20px;left:50%}.campaign-station:nth-child(3) .campaign-connection{transform-origin:0;width:98px;transform:rotate(90deg)}.campaign-station:nth-child(4){grid-area:2/3}.campaign-station:nth-child(5){grid-area:2/2}.campaign-station:nth-child(6){grid-area:2/1}.campaign-station:nth-child(4) .campaign-connection,.campaign-station:nth-child(5) .campaign-connection{left:auto;right:50%}.campaign-objectives{grid-template-columns:1fr}.game-topbar{height:62px}.game-main{padding:14px 16px}.game-title h1{font-size:25px}.game-title{gap:12px}.game-grid{flex-direction:column;display:flex}.study-column{display:contents}.code-panel,.preview-column,.learning-support{width:100%}.preview-column{order:1}.learning-support{order:2}.world-panel .workshop{height:230px}.game-main[data-level="5"] .exercise-frame,.game-main[data-level="5"] .preview-empty{height:270px}.game-main[data-level="6"] .exercise-frame,.game-main[data-level="6"] .preview-empty{height:320px}.game-title>button{font-size:11px}.objective,.code-editor{padding:14px 16px}.html-reference{margin:0 16px 12px}.editor-actions{padding:12px 16px}.editor-actions.desktop{display:none}.editor-actions.mobile{border-radius:0 0 14px 14px;display:flex}}@media (min-width:761px){.code-panel{grid-area:1/1}.learning-support{grid-area:2/1}.preview-column{grid-area:1/2/span 2}}.editor-actions button[aria-disabled=true]{opacity:.65;cursor:wait;transform:none}.campaign-icon{transition:background .2s,color .2s,border-color .2s}.world-panel .fallback{padding:14px 18px 28px}.world-panel .fallback-machine{font-size:30px;line-height:1}.world-panel .fallback p{max-width:420px;margin-top:6px}.world-panel .fallback button{margin-top:8px;padding:7px 12px}@media (min-width:761px){.editor-workspace .code-editor{border-radius:0 0 14px 14px}}#station-editor{scroll-margin-top:115px}#station-help{scroll-margin-top:18px}.help-return{padding:0 20px 14px;font-size:12px;display:block}.module-recovery{font-weight:600;color:#a7f0d4!important;margin:8px 0!important;font-size:12px!important}.campaign-station.recovering .campaign-icon{animation:1.2s ease-out module-energy}.workshop-modules{background:#0a2237;border-top:1px solid #28465c;padding:12px 18px}.workshop-modules>p{color:#bfd9e6;margin-bottom:8px;font-size:12px}.workshop-modules ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.workshop-modules li{border:1px solid #365269;border-radius:7px;align-items:center;gap:7px;min-width:0;padding:7px 8px;font-size:11px;display:flex}.workshop-modules strong{overflow-wrap:anywhere;font-weight:600;display:block}.workshop-modules small{color:#a8bdcc;font-size:10px;display:block}.workshop-modules li[data-installed=true]{color:#b4efd8;border-color:#438678}.workshop-modules li[data-installed=false]{color:#b0c4d4}@keyframes module-energy{0%{box-shadow:0 0 #73ebc888}70%{box-shadow:0 0 0 10px #73ebc800}to{box-shadow:0 0 #73ebc800}}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :before,html[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.gali-companion{min-width:0}.gali-avatar{pointer-events:none;display:none}.gali-toolbar{align-items:center;gap:8px;min-height:22px;display:flex}.gali-toolbar strong{color:#65d5f3;letter-spacing:1px;white-space:nowrap;font-size:10px}.gali-toolbar button.text-button{margin:0;padding:2px 0;font-size:11px}.gali-settings{margin-left:auto;position:relative}.gali-settings summary{cursor:pointer;font-size:16px;list-style:none}.gali-settings>div{z-index:16;background:#08283b;border:1px solid #3d7189;border-radius:8px;gap:8px;width:215px;padding:10px;font-size:12px;display:grid;position:absolute;top:26px;right:0;box-shadow:0 6px 20px #001b3070}.gali-settings label{cursor:pointer;align-items:center;gap:6px;display:flex}.gali-settings input{accent-color:#65d5f3;width:auto}.gali-settings small{line-height:1.4}.gali-bubble{overflow-wrap:anywhere;margin:4px 0 7px;font-size:13px;line-height:1.5}.gali-retry{font-size:12px}.feedback{padding:10px 16px}.feedback>p{margin-top:5px}.feedback>.module-recovery{margin:2px 0;font-size:12px;line-height:1.3}.feedback .achievement,.feedback .role-swap{font-size:12px;line-height:1.4}.feedback .primary.full{margin-top:7px;padding-top:9px;padding-bottom:9px}.gali-bubble .module-recovery{font-size:inherit}.gali-toolbar{flex-wrap:wrap}.gali-settings[open]{flex-basis:100%}.gali-settings[open]>div{width:auto;margin-top:5px;position:static}.gali-flyer{z-index:12;pointer-events:none;will-change:transform;filter:drop-shadow(0 5px 7px #001b3040);display:none;position:fixed;top:0;left:0}.gali-companion[data-floating=true] .gali-flyer,.gali-flyer .gali-avatar{display:block}.gali-place-label{color:#baf5ff;text-align:center;background:#082b3ce8;border:1px solid #68d7ea55;border-radius:20px;width:max-content;max-width:100%;margin:-3px auto 0;padding:2px 5px;font-size:9px;line-height:12px;display:block}.gali-pointed{outline-offset:5px;outline:2px solid #71e1ed}.gali-places{font-size:11px;position:relative}.gali-places summary{cursor:pointer;color:#baf5ff;padding:2px 0;list-style:none}.gali-places nav{z-index:16;background:#08283b;border:1px solid #3d7189;border-radius:8px;flex-wrap:wrap;gap:6px 12px;width:220px;max-width:min(220px,100vw - 40px);padding:10px;display:flex;position:absolute;top:24px;right:0}.gali-places nav button.text-button{margin:0}@media (max-width:600px){.gali-toolbar{gap:5px 9px}.gali-toolbar .gali-tour{font-size:10px}.gali-places nav{width:190px;left:0;right:auto}}@media (min-width:1100px){.learning-support .help-area{min-height:158px;padding-right:132px}}.gali-toolbar{position:relative}.gali-places{position:static}.gali-places nav{top:calc(100% + 4px);left:auto;right:0}.feedback{overflow:visible}@media (max-width:1099px){.gali-places[open]{flex-basis:100%}.gali-places nav{width:auto;max-width:none;margin-top:4px;position:static}}.gali-celebration-bubble{color:#f4ffff;text-align:center;background:#082b40f5;border:2px solid #65e8f6;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:184px;min-height:68px;padding:8px 12px;font-size:13px;line-height:1.3;display:flex;position:absolute;box-shadow:0 0 15px #50e7f780,inset 0 0 12px #25c4df25}.gali-celebration-bubble strong{color:#fff;font-size:15px}.gali-celebration-bubble:after{content:"";background:#082b40;border-bottom:2px solid #65e8f6;border-right:2px solid #65e8f6;width:13px;height:13px;position:absolute;transform:rotate(45deg)}.gali-celebration-bubble[data-side=above]:after{bottom:-8px;left:calc(50% - 7px)}.gali-celebration-bubble[data-side=below]:after{top:-8px;left:calc(50% - 7px);transform:rotate(225deg)}.gali-celebration-bubble[data-side=left]:after{top:24px;right:-8px;transform:rotate(-45deg)}.gali-celebration-bubble[data-side=right]:after{top:24px;left:-8px;transform:rotate(135deg)}
