/* Only the copied Option 3 build loads this stylesheet. */
.free-editor #codePalette,.free-editor .ed-selection-tools{display:none!important}
.free-editor #blockCodePanel{display:flex;flex-direction:column}
.free-editor .code-prog-col{width:100%;padding:8px;position:relative;min-height:0}
.free-editor .code-prog-header{margin-bottom:6px;gap:6px}
.free-editor .code-prog-col .prog-list.free-canvas{padding:0;position:relative;overflow:hidden;min-height:140px;border-radius:10px;isolation:auto;background:#eaf0f6}
.free-tools{display:flex;align-items:center;gap:6px;margin-bottom:6px;min-height:30px}
.free-version{font-size:9px;font-weight:800;letter-spacing:.06em;background:#304a67;color:#cbe9ff;border-radius:4px;padding:5px;white-space:nowrap}
.free-help{font-size:10px;color:#a7bdd1;line-height:1.4;flex:1}
.free-tools button{font-family:inherit;font-size:11px;font-weight:600;white-space:nowrap;padding:6px 8px;border:1px solid #425970;border-radius:6px;background:#2c4056;color:#e8f1fa;cursor:pointer}
.free-status{font-size:11px;line-height:1.4;color:#a7bdd1;padding:5px 2px;min-height:25px}
.free-editor .code-prog-actions{margin-top:4px}
.free-editor .code-prog-col .run-btn,.free-editor .code-prog-col .stop-prog-btn,.free-editor .code-prog-col .step-btn,.free-editor .code-prog-col .step-next-btn{min-height:40px;font-size:14px}
.free-editor .code-prog-col .prog-output{margin-top:5px;max-height:46px;min-height:26px;padding:5px 8px}
.free-editor .blocklyToolboxDiv{font-family:Outfit,sans-serif;font-size:11px;padding:6px 0;max-width:88px}
.free-editor .blocklyTreeRow{height:auto;min-height:34px;padding:7px 5px;margin:0 0 3px;border-radius:0 6px 6px 0;box-sizing:border-box}
.free-editor .blocklyTreeLabel{font-size:11px;white-space:normal;padding:0 3px}
.free-editor .blocklyTreeIcon{display:none}
.blocklyWidgetDiv,.blocklyDropDownDiv,.blocklyTooltipDiv{z-index:10050!important}
.free-run-shield{display:none}
.free-running .free-canvas{pointer-events:none;opacity:.88}
.free-running .free-run-shield{display:block;position:absolute;right:20px;top:95px;background:#173e34;color:#c6ffe4;padding:5px 10px;border-radius:6px;font-size:11px;pointer-events:none}
.free-editor .ed-font-controls{display:flex}
.sim-settings{position:fixed;inset:0;margin:auto;width:min(360px,calc(100vw - 32px));padding:18px;border:1px solid #496178;border-radius:16px;background:#203247;color:#eef5fb;box-shadow:0 20px 70px #0008;}
.sim-settings::backdrop{background:#07132199;backdrop-filter:blur(3px)}
.sim-settings-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:18px}
.sim-settings>.btn{display:flex;align-items:center;gap:12px;width:100%;padding:13px 12px;margin:6px 0;font-size:14px;justify-content:flex-start;white-space:normal}
.sim-settings .setting-value,.sim-settings #expLvl{margin-left:auto;color:#57def7;font-weight:700}
.sim-settings .set-ico{display:flex;color:#57def7}
.sim-settings .set-lbl{display:inline!important;color:#eef5fb}
#draftStatus{display:none!important}
.expo-show .app:not(.code-active){grid-template-columns:minmax(0,1fr)}
.expo-show #lpan,.expo-show .rpan,.expo-show #cams,.expo-show #stepGuide,.expo-show #expoBanner,.expo-show #expoChBtn{display:none!important}
.expo-show #sc{grid-column:1;min-width:0}
.expo-show .app.code-active{grid-template-columns:minmax(0,1fr) var(--editor-width)}
.expo-show #expoControls{position:absolute;top:12px;left:16px;right:16px;z-index:100;display:flex;gap:10px;align-items:center;padding:12px 16px;background:#14283bec;border:1px solid #65819b;border-radius:12px;color:#fff}
.expo-show #expoControls>div{flex:1;min-width:0}
.expo-show #expoSceneTitle{font-size:18px;display:block}
.expo-show #expoSceneDetail{display:block;font-size:13px;line-height:1.5;color:#d9e7f3;margin-top:4px}
.expo-show #expoControls button{padding:11px 16px;border:0;border-radius:8px;background:#31495e;color:#e5eef7;font:700 15px Outfit,sans-serif;cursor:pointer;white-space:nowrap}
.expo-show #expoControls button:disabled{background:#31495e;color:#bed0de;cursor:default}
.expo-show #expoControls button.active{background:#08b6d4;color:#092937;opacity:1}
.hdr .mtab:not(.active){background:#26384a;color:#dbe6f0}
.hdr .mtab.active{background:#08b6d4!important;color:#092937!important}
.expo-show.expo-build .app{grid-template-columns:210px minmax(0,1fr) 240px}
.expo-show.expo-build #lpan{display:block!important;grid-column:1;grid-row:2;position:static;transform:none}
.expo-show.expo-build #sc{grid-column:2;grid-row:2}
.expo-show.expo-build .rpan{display:flex!important;grid-column:3;grid-row:2;position:static;transform:none}
@media(max-width:900px){.expo-show.expo-build .app{grid-template-columns:180px minmax(0,1fr)}.expo-show.expo-build .rpan{display:none!important}}
.expo-show #hudSpd{top:110px}
.expo-show #expoHudStack{position:absolute;left:12px;top:110px;z-index:15;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.expo-show #expoHudStack>div{position:static!important;margin:0!important}
.expo-show #expoBoardPanel{top:150px!important;right:16px!important}
.expo-show:not(.expo-maze) #expoBoardPanel{display:none!important}
.expo-show #scoreHUD{top:230px!important;left:16px!important;right:auto!important}
.expo-show .code-active #scoreHUD{display:none!important}
.expo-show:not(.expo-manual) #drvCtrl{display:none!important}
.expo-show .ach-overlay{display:none!important}
.expo-show:not(.expo-manual) .code-panel-body{pointer-events:none}
.expo-show .free-help{display:none}
.expo-show .ed-workspace-title{font-size:17px}
.expo-show .code-prog-header{align-items:flex-start}
.expo-show #clearOverlay{padding-top:105px}
@media(max-width:800px){.expo-show #expoControls{flex-wrap:wrap}.expo-show #expoControls>div{flex-basis:100%}.expo-show #expoSceneTitle{font-size:15px}.expo-show #expoBoardPanel{top:200px!important;min-width:120px!important}.expo-show .app.code-active{grid-template-columns:minmax(0,1fr) 45vw}}
.sim-settings{max-height:90vh;max-height:90dvh;overflow-y:auto}
.settings-section-title{font-size:12px;color:#9cb7cc;margin:18px 0 8px}
.settings-environment>div{width:100%}
.settings-environment .btn{width:100%;padding:13px 12px;margin:6px 0;font-size:14px;text-align:left;justify-content:flex-start;white-space:normal}
.sim-settings .stage-dropdown{position:static;width:100%;min-width:0;max-height:260px!important;overflow-y:auto;box-sizing:border-box;box-shadow:none;margin:4px 0 10px}
.sim-settings .stage-label,.sim-settings .stage-desc{display:inline!important}
.sim-settings .btn:focus-visible{outline:2px solid #57def7;outline-offset:2px}
.code-overlay{--ed-frame:#e8eff6;--ed-panel:#f0f5fa;--ed-control:#fff;--ed-border:#b3c4d5;--ed-ink:#172f46;--ed-muted:#405b73;--ed-accent:#006e9d;--ed-canvas:#f8fbff}
.free-editor .code-panel{border-left:3px solid #91abc4}
.free-editor .code-tab{font-size:16px;color:#314e67}
.free-editor .code-tab.active{background:#cde7f4;color:#075b82}
.free-editor .ed-workspace-title{font-size:18px}
.free-editor .ed-font-controls{background:#d9e5ef;color:#20354b}
.free-editor .ed-font-controls button{color:#20354b}
.code-overlay .py-editor-col,.code-overlay .py-edit-area,.code-overlay .py-highlight{background:#f8fbff;color:#20354b}
.code-overlay .py-textarea{background:transparent;color:transparent;caret-color:#20354b}
.code-overlay .py-highlight,.code-overlay .py-textarea{font-weight:500}
.code-overlay .py-textarea::placeholder{color:#5b7185}
.code-overlay .py-textarea::selection{background:#84bce666}
.code-overlay .py-line-nums{background:#e8eff6;color:#526b81;border-color:#b3c4d5}
.code-overlay .py-actions,.code-overlay .py-console-header,.code-overlay .py-console-drag{background:#e8eff6;color:#38546d}
.code-overlay .py-console-clear{color:#38546d}
.code-overlay .py-output{background:#f2f7fc!important;color:#24435e!important;border-top:1px solid #b3c4d5}
.code-overlay .py-hl-kw{color:#743aa5}
.code-overlay .py-hl-bi{color:#215db0}
.code-overlay .py-hl-str{color:#286832}
.code-overlay .py-hl-num{color:#9b4d10}
.code-overlay .py-hl-cmt{color:#5a7082}
.code-overlay .py-hl-fn,.code-overlay .py-hl-op{color:#076a79}
.code-overlay .py-hl-def{color:#825509}
.free-editor .free-help,.free-editor .free-status{font-size:13px;line-height:1.5;color:#38546d}
.free-editor .free-version{background:#d6e5f2;color:#244762;font-size:11px}
.free-editor .free-tools button{background:#fff;color:#244762;border-color:#afc2d3;font-size:13px}
.free-editor .mini-btn,.free-editor .prog-ex-sel{font-size:15px}
.free-editor .code-prog-col .prog-output{background:#e2ecf5;color:#24435e;border:1px solid #b3c4d5;font-size:13px;line-height:1.5;max-height:70px}
.free-editor .blocklyToolboxCategoryLabel{font-size:15px;font-weight:600;color:#20354b}
.free-editor .blocklyToolboxCategory{min-height:34px}
.free-editor .blocklyToolboxCategory[aria-selected=true]{background:#c9dff0}
.lpan .slbl,.rpan .slbl{font-size:12px;color:#e4edf6;letter-spacing:.5px}
.lpan .preset-btn,.lpan .preset-name{font-size:13px;color:#f4f8fc}
.lpan .preset-meta,.lpan .preset-mission{font-size:12px;color:#c4d9ea;line-height:1.5;font-style:normal}
.lpan .preset-group-hdr{font-size:13px;color:#e4edf6}
.lpan .blk-btn .bn{font-size:13px;color:#fff}
.lpan .blk-btn .bd,.lpan .blk-btn .blk-limit{font-size:12px;color:#c9d9e8}
.rpan .st .l,.rpan .brot,.rpan .rot-label{font-size:12px;color:#c9d9e8}
.rpan .val-item,.rpan .bli{font-size:13px}
.rpan .val-miss,.rpan .bln{color:#dae6f0}
.rpan .val-ok{color:#65e5bf}
#howToContent{font-size:12px!important;color:#d5e3ef!important;line-height:1.7}
.sim-settings .settings-section-title{font-size:14px;color:#d5e4f1}
.sim-settings .stage-label{font-size:14px;color:#f4f8fc}
.sim-settings .stage-desc{font-size:12px;color:#c4d9ea}
/* Flat controls: selection and pressing use colour instead of depth or glow. */
:is(.code-overlay,.hdr,.lpan,.rpan,.sim-settings,#drvCtrl,#cams) button{
    box-shadow:none!important;text-shadow:none!important;filter:none!important;
    transform:none!important;animation:none!important;
}
.free-editor .code-tab{background:#f8fafc;color:#314e67;border:0}
.free-editor .code-tab.active{background:#087b98;color:#fff}
.free-editor .code-prog-col :is(.run-btn,.step-btn,.step-next-btn,.stop-prog-btn),
.free-editor :is(.py-run-btn,.py-stop-btn){border:1px solid transparent;background:#08b6d4;color:#092937}
.free-editor .code-prog-col .run-btn:hover,.free-editor .py-run-btn:hover{background:#09a5c1;color:#092937}
.free-editor .code-prog-col :is(.step-btn,.step-next-btn){background:#f2c14e;color:#3d2e05}
.free-editor .code-prog-col :is(.step-btn,.step-next-btn):hover{background:#e6b23b;color:#3d2e05}
.free-editor .code-prog-col .stop-prog-btn,.free-editor .py-stop-btn{background:#df9188;color:#582724}
.free-editor .code-prog-col .stop-prog-btn:hover,.free-editor .py-stop-btn:hover{background:#d58076;color:#582724}
:is(.code-overlay,.hdr,.lpan,.rpan,.sim-settings,#drvCtrl,#cams) button:not(:disabled):active{background:#37556f!important;color:#fff!important}
#codeOverlay :is(.run-btn,.py-run-btn):not(:disabled):active{background:#067e96!important;color:#fff!important}
#codeOverlay :is(.step-btn,.step-next-btn):not(:disabled):active{background:#c49120!important;color:#281d03!important}
#codeOverlay :is(.stop-prog-btn,.py-stop-btn):not(:disabled):active{background:#ac544c!important;color:#fff!important}
@media(max-width:600px){.free-help{font-size:9px}.free-editor .code-prog-header{flex-wrap:wrap}.free-editor .code-prog-col .prog-list.free-canvas{min-height:120px}.free-editor .blocklyToolboxDiv{max-width:75px}.free-editor .ed-font-controls{display:none}}
/* Keep the global navigation identical while the coding panel opens or closes. */
.app .hdr,.app.code-active .hdr{gap:8px;padding:0 12px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;flex-wrap:nowrap}
.app .hdr .logo,.app.code-active .hdr .logo{font-size:18px;flex-shrink:0}
.app .hdr .mtab,.app.code-active .hdr .mtab{font-size:12px;height:36px;box-sizing:border-box;padding:6px 16px;white-space:nowrap}
.app .hdr .btn,.app.code-active .hdr .btn{font-size:12px;height:36px;box-sizing:border-box;padding:6px 13px;white-space:nowrap;flex-shrink:0}
.app .hdr .hright,.app.code-active .hdr .hright{gap:6px;flex-wrap:nowrap}
.app .hdr .hsep,.app.code-active .hdr .hsep{display:block;flex-shrink:0}
