*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;background:#1e1e1e;color:#ccc}#app{display:flex;flex-direction:column;height:100vh;height:100dvh}#toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:36px;background:#323233;border-bottom:1px solid #3c3c3c;flex-shrink:0}.toolbar-left{display:flex;align-items:center;gap:12px}.toolbar-logo{width:24px;height:24px;border-radius:4px}.toolbar-title{font-size:13px;font-weight:500;color:#ccc;letter-spacing:.5px}.toolbar-actions{display:flex;align-items:center;gap:4px}.toolbar-actions button{padding:4px 10px;border:none;border-radius:4px;background:transparent;color:#ccc;cursor:pointer;font-size:12px;line-height:20px}.toolbar-actions button:hover{background:#505050}.toolbar-actions button:active{background:#404040}#auto-sync-btn{font-weight:700;border:1px solid #555;border-radius:4px;padding:4px 8px;transition:background .2s,border-color .2s,color .2s}#auto-sync-btn.auto-sync-on,#mobile-sync-btn.auto-sync-on{color:#4ec9b0;border-color:#4ec9b0;background:#4ec9b01f}#auto-sync-btn.auto-sync-off,#mobile-sync-btn.auto-sync-off{color:#888;border-color:#555;background:transparent}#auto-sync-btn.auto-sync-on:hover,#mobile-sync-btn.auto-sync-on:hover{background:#4ec9b040}#auto-sync-btn.auto-sync-off:hover,#mobile-sync-btn.auto-sync-off:hover{background:#3a3a3a}#sync-blocks-btn{color:#f0c040;border:1px solid transparent;transition:border-color .3s,box-shadow .3s}#sync-code-btn{color:#5edc8e;border:1px solid transparent;transition:border-color .3s,box-shadow .3s}#sync-blocks-btn:hover{background:#f0c04026}#sync-code-btn:hover{background:#2ecc7126}.toolbar-separator{width:1px;height:16px;background:#505050;margin:0 4px}.toolbar-select{padding:2px 6px;border:1px solid #555;border-radius:4px;background:#3c3c3c;color:#ccc;font-size:11px;cursor:pointer;outline:none}.toolbar-select:hover{border-color:#007acc}.toolbar-select:focus{border-color:#007acc}.topic-selector{display:inline-flex;align-items:center;gap:2px}.topic-dropdown{max-width:140px}.topic-tree-btn{padding:2px 6px!important;font-size:11px!important;line-height:18px!important;min-width:22px;background:#3c3c3c!important;border:1px solid #555!important;border-radius:3px!important;color:#ccc!important;cursor:pointer;transition:background .15s}.topic-tree-btn:hover{background:#505050!important;color:#fff!important}.topic-tree-popover{z-index:10002;background:#2d2d2d;border:1px solid #555;border-radius:6px;padding:6px 0;box-shadow:0 4px 16px #00000080;min-width:200px;max-width:320px;font-size:12px}.topic-tree-row{display:flex;align-items:center;gap:5px;padding:3px 10px;cursor:pointer;color:#ccc;white-space:nowrap;-webkit-user-select:none;user-select:none}.topic-tree-row:hover{background:#3c3c3c}.topic-tree-row input[type=checkbox]{margin:0;accent-color:#007acc;cursor:pointer}.topic-tree-row input[type=checkbox]:disabled{opacity:.5;cursor:default}.topic-tree-label{overflow:hidden;text-overflow:ellipsis}#editors{display:grid;gap:4px;flex:1;min-height:0;overflow:hidden;position:relative;background:#1b1b1c}#editors>#code-column,#editors>#flow-column,#editors>#blocks-column,#editors>#bottom-container{border:1px solid #3c3c3c;border-radius:3px;position:relative;box-sizing:border-box}.panel-head,.quick-access-bar,.bottom-panel-tabs,.monaco-clipboard-bar,.flow-toolbar{display:flex;align-items:center;gap:4px;padding:2px 8px;background:#2d2d2d;border-bottom:1px solid #3c3c3c;flex-shrink:0;min-height:28px;box-sizing:border-box;white-space:nowrap;overflow:hidden;min-width:0}.panel-head>*,.quick-access-bar>*,.bottom-panel-tabs>*,.monaco-clipboard-bar>*,.flow-toolbar>*{white-space:nowrap;flex-shrink:0}.panel-head-actions{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.panel-head-actions:empty{display:none}.grid-divider{background:#252526;z-index:5;transition:background .1s}.grid-divider:hover{background:#007acc}.grid-divider-columns{cursor:col-resize}.grid-divider-rows{cursor:row-resize}.slot-picker{background:none;border:1px solid transparent;border-radius:3px;color:#ccc;cursor:pointer;font-size:12px;padding:1px 8px}.slot-picker:hover{background:#37373d;border-color:#3c3c3c;color:#fff}.quick-pick-preview{display:grid;width:52px;height:34px;gap:2px;flex:0 0 auto;margin-right:10px;padding:2px;background:#1b1b1c;border:1px solid #3c3c3c;border-radius:3px}.quick-pick-preview-cell{background:#37373d;border-radius:1px;font-size:0;overflow:hidden}.quick-pick-item.active .quick-pick-preview-cell{background:#4a6b8a}#blockly-panel{background:#1e1e1e}#blockly-panel .injectionDiv{border:none!important}#monaco-panel{background:#1e1e1e}#status-bar{display:flex;align-items:center;padding:0 8px;height:26px;background:#007acc;color:#fff;font-size:12px;flex-shrink:0;gap:2px}.quick-access-bar .view-tab{border-bottom:2px solid transparent;border-radius:0}.quick-access-bar .view-tab.active{color:#fff;border-bottom-color:#007acc}#status-bar .status-mount{display:inline-flex;align-items:center}#status-bar select,#status-bar .toolbar-select,#status-bar .topic-dropdown{appearance:none;-webkit-appearance:none;background-image:none!important;height:20px;padding:0 6px;border:none!important;border-radius:3px;background-color:transparent!important;color:#fff!important;font-size:12px;cursor:pointer;max-width:170px;text-overflow:ellipsis}#status-bar select:hover{background-color:#ffffff2e!important}#status-bar select option{color:#1f1f1f;background:#fff}#status-bar .topic-tree-btn{height:20px!important;min-width:18px!important;padding:0 4px!important;border:none!important;border-radius:3px!important;background:transparent!important;color:#fff!important;font-size:11px!important;cursor:pointer}#status-bar .topic-tree-btn:hover{background:#ffffff2e!important}.status-controls{display:inline-flex;align-items:center}#status-bar .status-item-btn{height:22px;padding:0 8px;border:none;border-radius:0;background:transparent;color:#fff;font-size:12px;line-height:22px;cursor:pointer;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}#status-bar .status-item-btn:hover{background:#ffffff2e}.drawer-backdrop{position:fixed;inset:0;z-index:10001;background:#0000;transition:background .18s ease}.drawer-backdrop.open{background:#00000073}.drawer{position:absolute;top:0;right:0;height:100%;width:min(300px,82vw);background:#252526;border-left:1px solid #454545;box-shadow:-8px 0 24px #00000080;display:flex;flex-direction:column;transform:translate(100%);transition:transform .18s ease}.drawer-backdrop.open .drawer{transform:translate(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #3a3a3a;color:#ccc;font-size:13px;font-weight:600}.drawer-close{border:none;background:transparent;color:#999;font-size:15px;cursor:pointer;padding:2px 6px;border-radius:4px}.drawer-close:hover{background:#3a3a3a;color:#fff}.drawer-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;border:none;background:transparent;color:#ddd;font-size:14px;text-align:left;cursor:pointer}.drawer-item:hover,.drawer-item:active{background:#37373d}.drawer-item-divided{border-top:1px solid #3a3a3a;margin-top:6px;padding-top:14px}.drawer-item-icon{font-size:15px;line-height:1.4}.drawer-item-mark{width:16px;height:16px;margin-top:3px;flex:0 0 auto}.drawer-item-text{display:flex;flex-direction:column;gap:2px}.drawer-item-desc{color:#999;font-size:12px}.quick-pick-overlay{position:fixed;inset:0;z-index:10000;display:flex;justify-content:center;align-items:flex-start;background:transparent}.quick-pick{margin-top:8px;width:min(600px,90vw);background:#252526;border:1px solid #454545;border-radius:6px;box-shadow:0 8px 24px #0000008c;overflow:hidden;display:flex;flex-direction:column}.quick-pick-filter{margin:6px;padding:4px 8px;background:#3c3c3c;border:1px solid #007fd4;border-radius:2px;color:#ccc;font-size:13px;outline:none}.quick-pick-list{max-height:44vh;overflow-y:auto;padding-bottom:4px}@media(max-width:768px){body:not(.host-no-mobile-layout) .quick-pick-overlay{align-items:flex-end;background:#0006}body:not(.host-no-mobile-layout) .quick-pick{margin-top:0;width:100%;border-radius:12px 12px 0 0}body:not(.host-no-mobile-layout) .quick-pick-list{max-height:60vh}body:not(.host-no-mobile-layout) .quick-pick-item{padding:10px 14px;font-size:15px}}.quick-pick-item{display:flex;align-items:center;gap:6px;padding:3px 10px;color:#ccc;font-size:13px;cursor:pointer;white-space:pre}.quick-pick-item.active{background:#04395e;color:#fff}.quick-pick-group{padding:8px 10px 3px;color:#8a8a8a;font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid #333;margin-top:4px;cursor:default;-webkit-user-select:none;user-select:none}.quick-pick-group:first-child{border-top:none;margin-top:0}.quick-pick-mark{width:14px;flex:none;text-align:center;opacity:.9}.quick-pick-label{flex:1;overflow:hidden;text-overflow:ellipsis}.quick-pick-desc{opacity:.6;font-size:12px}#status-bar .status-sync-btn{height:20px;padding:0 8px;border:none;border-radius:3px;background:transparent;color:#fff;font-size:12px;cursor:pointer}#status-bar .status-sync-btn:hover{background:#ffffff2e}#status-summary{padding:0 8px;opacity:.9}#status-bar .topic-selector{display:inline-flex;align-items:center}.status-item{margin:0 4px}.status-sep{margin:0 2px;opacity:.6}.status-spacer{flex:1}.status-sync{opacity:.9}.status-message{font-weight:500}.console-panel{display:flex;flex-direction:column;background:#1e1e1e;border-top:1px solid #3c3c3c}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#252526;border-bottom:1px solid #3c3c3c}.panel-title{font-size:11px;font-weight:600;text-transform:uppercase;color:#ccc}.panel-clear-btn{border:none;background:transparent;color:#999;cursor:pointer;font-size:12px;padding:2px 4px}.panel-clear-btn:hover{color:#fff}.console-verdict{margin:8px 0;padding:8px 10px;border-radius:6px;border:1px solid #3a3a3a;background:#232323;font-size:13px}.console-verdict.passed{border-color:#2ea043;background:#12261a}.console-verdict.not-yet{border-color:#9e6a03;background:#241f12}.console-verdict-head{font-weight:600;color:#ddd;margin-bottom:6px}.console-verdict-diff{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.console-verdict-diff .h{color:#999;font-size:12px;font-family:inherit;padding-bottom:2px;border-bottom:1px solid #3a3a3a;margin-bottom:2px}.console-verdict-diff .c{white-space:pre-wrap;word-break:break-all;color:#bbb;padding:1px 4px;border-radius:3px}.console-verdict-diff .c.different,.console-verdict-diff .c.missing,.console-verdict-diff .c.extra{background:#3a2f14;color:#f0d99b}.console-next-task{display:flex;align-items:center;gap:10px;margin:2px 0 8px;padding:4px 10px;font-size:13px;color:#9fb8a3}.console-next-task-btn{padding:2px 10px;border-radius:4px;border:1px solid #2ea043;background:transparent;color:#7ee29a;font-size:12px;cursor:pointer}.console-next-task-btn:hover:not(:disabled){background:#12261a}.console-next-task-btn:disabled{border-color:#3a3a3a;color:#777;cursor:default}.console-output{flex:1;overflow-y:auto;padding:4px 8px;font-family:Consolas,Courier New,monospace;font-size:12px}.console-line{padding:1px 0;color:#ccc;white-space:pre-wrap}.console-error{color:#f44747}.variable-panel{display:flex;flex-direction:column;background:#1e1e1e;border-top:1px solid #3c3c3c}.variable-table{width:100%;border-collapse:collapse;font-size:12px}.variable-table th{background:#252526;color:#999;text-align:left;padding:3px 8px;font-weight:500;font-size:11px;text-transform:uppercase;border-bottom:1px solid #3c3c3c}.variable-table td{padding:2px 8px;border-bottom:1px solid #2d2d2d}.var-name{color:#9cdcfe}.var-type{color:#4ec9b0}.var-value{color:#ce9178}.var-empty{color:#666;text-align:center;padding:8px!important}.toast{position:fixed;bottom:40px;left:50%;transform:translate(-50%) translateY(20px);padding:8px 20px;border-radius:4px;font-size:13px;color:#fff;opacity:0;transition:opacity .3s,transform .3s;z-index:10000;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-success{background:#27ae60f2}.toast-error{background:#e74c3cf2}.style-action-bar{position:fixed;top:36px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 16px;background:#1e1e1ef7;border-bottom:2px solid #007acc;color:#ccc;font-size:13px;z-index:10001;transform:translateY(-100%);transition:transform .25s ease;box-shadow:0 2px 8px #0006}.style-action-bar.show{transform:translateY(0)}.style-action-bar-msg{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.style-action-bar-btns{display:flex;gap:6px;flex-shrink:0}.style-action-btn{padding:3px 12px;border:1px solid #555;border-radius:3px;background:#333;color:#ccc;font-size:12px;cursor:pointer}.style-action-btn:hover{background:#444}.style-action-btn.primary{background:#007acc;border-color:#007acc;color:#fff}.style-action-btn.primary:hover{background:#0098ff}.bottom-panel{display:flex;flex-direction:column;overflow:hidden}.bottom-panel-divider{height:6px;background:#333;cursor:row-resize;flex-shrink:0;transition:background .1s;position:relative}.bottom-panel-divider:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:32px;height:2px;background:#666;border-radius:1px}.bottom-panel-divider:hover{background:#007acc}.bottom-panel-divider:hover:after{background:#fff}.bottom-panel-tab-buttons{display:flex;flex:1}.bottom-panel-tab-actions{display:flex;margin-right:4px}.bottom-panel-actions{display:flex;gap:2px;margin-left:4px;padding-left:6px;border-left:1px solid #3c3c3c}.bottom-panel-actions .bottom-panel-action-btn{border-color:transparent;padding:2px 7px;font-size:13px;line-height:1}.bottom-panel-actions .bottom-panel-action-btn:hover{border-color:#555}.bottom-panel-action-btn{padding:2px 6px;border:1px solid #555;background:transparent;color:#999;cursor:pointer;font-size:12px;line-height:1;border-radius:3px}.bottom-panel-action-btn:hover{color:#fff;background:#3c3c3c}.bottom-tab-btn{padding:4px 12px;border:none;border-bottom:2px solid transparent;background:transparent;color:#999;cursor:pointer;font-size:11px;text-transform:uppercase;font-weight:500}.bottom-tab-btn:hover{color:#ccc}.bottom-tab-btn.active{color:#fff;border-bottom-color:#007acc}.bottom-panel-content{flex:1;overflow:hidden;position:relative}.bottom-panel-content>*{position:absolute;inset:0;overflow-y:auto}.code-column{display:flex;flex-direction:column;overflow:hidden}.code-column>.monaco-wrapper{flex:1;overflow:hidden}.console-input-row{display:flex;align-items:center;padding:2px 8px;gap:4px;border-top:1px solid #3c3c3c}.console-input{flex:1;background:#2d2d2d;border:1px solid #555;border-radius:3px;color:#ccc;padding:3px 6px;font-family:Consolas,Courier New,monospace;font-size:12px;outline:none}.console-input:focus{border-color:#007acc}.console-input-btn{padding:3px 8px;border:none;border-radius:3px;background:#007acc;color:#fff;cursor:pointer;font-size:11px}.console-inline-input-line{display:flex;align-items:center;padding:1px 0}.console-inline-input{background:transparent;border:none;outline:none;color:#ccc;caret-color:#ccc;font-family:Consolas,Courier New,monospace;font-size:12px;padding:0;margin:0;width:auto;min-width:60px;flex:1;display:inline}.console-inline-input::placeholder{color:#cccccc4d}.console-input-echo{color:#ccc;padding:1px 0}.console-status{padding:2px 8px;font-size:11px;color:#999;border-top:1px solid #3c3c3c;flex-shrink:0}.console-status:empty{display:none}.console-status.running{color:#4fc1ff;background:#4fc1ff1f;border-radius:10px;display:inline-block;padding:1px 10px;margin:2px 8px;border-top:none}.console-status.error{color:#f44747;background:#f447471f;border-radius:10px;display:inline-block;padding:1px 10px;margin:2px 8px;border-top:none}.console-status.completed{color:#6a9955;background:#6a99551f;border-radius:10px;display:inline-block;padding:1px 10px;margin:2px 8px;border-top:none}.scope-group{margin-bottom:2px}.scope-group-header{display:flex;align-items:center;padding:2px 8px;background:#2d2d2d;cursor:pointer;font-size:11px;color:#999;-webkit-user-select:none;user-select:none}.scope-group-header:hover{background:#333}.scope-group-toggle{margin-right:4px;font-size:10px}.scope-group.collapsed .scope-group-body{display:none}.var-changed{background:#ffff0014!important}.var-changed .var-value{color:#dcdcaa;font-weight:600}.exec-btn{padding:4px 8px!important}.exec-btn.run{color:#fff!important;background:#27ae6059!important;border:1px solid #27ae60!important}.exec-btn.run:hover{background:#27ae608c!important}.run-group{display:flex;align-items:center;position:relative}.run-group #run-btn{border-radius:4px 0 0 4px!important;border-right:none!important}.run-group .run-mode-arrow{border-radius:0 4px 4px 0!important;padding:4px!important;min-width:20px;font-size:10px}.run-mode-menu{position:absolute;top:100%;right:0;margin-top:2px;background:#2d2d2d;border:1px solid #555;border-radius:6px;box-shadow:0 4px 12px #00000080;min-width:160px;z-index:10000;overflow:hidden;padding:4px 0}.run-mode-option{padding:6px 12px;font-size:12px;color:#ccc;cursor:pointer;white-space:nowrap}.run-mode-option:hover{background:#094771;color:#fff}.run-mode-option.active{background:#27ae6033}.run-mode-option.active:after{content:" ✓";color:#27ae60}.run-mode-separator{height:1px;background:#555;margin:4px 0}.debug-toolbar{position:fixed;top:38px;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:1px;background:#3c3c3c;border:1px solid #555;border-radius:6px;padding:2px 4px;box-shadow:0 4px 12px #00000080;-webkit-user-select:none;user-select:none}.debug-toolbar-handle{display:flex;align-items:center;cursor:grab;padding:0 4px;color:#888;font-size:10px;letter-spacing:1px}.debug-toolbar-handle:active{cursor:grabbing}.debug-toolbar-handle:before{content:"⠿";font-size:14px}.debug-toolbar button{display:flex;align-items:center;justify-content:center;width:28px;height:24px;border:none;border-radius:4px;background:transparent;color:#ccc;font-size:14px;cursor:pointer;padding:0;line-height:1}.debug-toolbar button:hover{background:#505050}.debug-toolbar button:active{background:#404040}.debug-toolbar button.debug-continue{color:#27ae60}.debug-toolbar button.debug-pause{color:#f39c12}.debug-toolbar button.debug-step,.debug-toolbar button.debug-step-out{color:#4fc1ff}.debug-toolbar button.debug-accelerate{color:#dcdcaa}.debug-toolbar button.debug-auto-scroll{opacity:.5;border-bottom:2px solid transparent}.debug-toolbar button.debug-auto-scroll.active{opacity:1;border-bottom:2px solid #4fc1ff}.debug-toolbar .debug-accelerate-level{width:36px;height:22px;background:#3c3c3c;color:#dcdcaa;border:1px solid #555;border-radius:3px;text-align:center;font-size:12px;padding:0 2px;margin-left:2px}.debug-toolbar button.debug-stop{color:#e74c3c}.debug-toolbar .debug-separator{width:1px;height:16px;background:#555;margin:0 2px}.debug-toolbar .debug-status{font-size:11px;color:#aaa;padding:0 6px;white-space:nowrap}#sync-blocks-btn.sync-hint{animation:sync-pulse-yellow 1.5s ease-in-out infinite;border:2px solid #f0c040!important;box-shadow:0 0 6px #f0c04099}#sync-code-btn.sync-hint{animation:sync-pulse-green 1.5s ease-in-out infinite;border:2px solid #2ecc71!important;box-shadow:0 0 6px #2ecc7199}@keyframes sync-pulse-yellow{0%,to{box-shadow:0 0 4px #f0c04066}50%{box-shadow:0 0 10px #f0c040cc}}@keyframes sync-pulse-green{0%,to{box-shadow:0 0 4px #2ecc7166}50%{box-shadow:0 0 10px #2ecc71cc}}.blocklySelected>.blocklyPath{stroke:inherit!important;stroke-width:inherit!important;filter:none!important}.blocklyPath.blockly-highlight-forward,.blocklySelected>.blocklyPath.blockly-highlight-forward{stroke:#f0c040!important;stroke-width:4px!important;filter:drop-shadow(0 0 6px rgba(240,192,64,.8))!important}.blocklyPath.blockly-highlight-reverse,.blocklySelected>.blocklyPath.blockly-highlight-reverse{stroke:#2ecc71!important;stroke-width:4px!important;filter:drop-shadow(0 0 6px rgba(46,204,113,.8))!important}.blocklyPath.blockly-highlight-execution,.blocklySelected>.blocklyPath.blockly-highlight-execution{stroke:#ffdd57!important;stroke-width:6px!important;filter:drop-shadow(0 0 14px rgba(255,221,87,1)) drop-shadow(0 0 6px rgba(255,255,150,.8))!important}.monaco-line-highlight{background:#f0c04026!important}.monaco-line-highlight-gutter{background:#f0c040;width:3px!important}.monaco-line-highlight-reverse{background:#2ecc7126!important}.monaco-line-highlight-gutter-reverse{background:#2ecc71;width:3px!important}.ghost-line{opacity:.4!important;font-style:italic!important}.ghost-line-gutter{background:#8080804d;width:3px!important}.console-predict{margin:8px 0;padding:8px 10px;border-radius:6px;border:1px solid #2a5f8f;background:#13202c}.console-predict-head{font-size:13px;font-weight:600;color:#9ccbf0;margin-bottom:6px}.console-predict-row{display:flex;align-items:flex-start;gap:8px}.console-predict-input{flex:1;min-width:0;padding:4px 8px;border-radius:4px;border:1px solid #2a5f8f;background:#0d1620;color:#ddd;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;resize:vertical}.console-predict-btn,.console-predict-skip{padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap}.console-predict-btn{border:1px solid #2a5f8f;background:#1b3d5c;color:#cfe6f7}.console-predict-skip{border:1px solid #3a3a3a;background:transparent;color:#888}.console-predict-btn:disabled,.console-predict-skip:disabled{opacity:.5;cursor:default}.console-predict-result{margin:8px 0;padding:8px 10px;border-radius:6px;border:1px solid #3a3a3a;background:#232323;font-size:13px}.console-predict-result.right{border-color:#3fb950;background:#102b18}.console-predict-result.differs{border-color:#2a5f8f;background:#13202c}.never-ran>.blocklyPath{stroke:#d0a215;stroke-width:2px;stroke-dasharray:6 4}.iteration-badge{pointer-events:none}.iteration-badge-bg{fill:#14120adb;stroke:#d0a215;stroke-width:1px}.iteration-badge-text{text-anchor:middle;fill:#f0c236;font-size:12px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ghost-block>.blocklyPath{opacity:.4;stroke-dasharray:4 3}.ghost-block>.blocklyLabelField,.ghost-block>.blocklyField,.ghost-block>.blocklyImageField,.ghost-block>.blocklyIconGroup,.ghost-block>text,.ghost-block>.blocklyText{opacity:.4}.out-of-scope-block>.blocklyPath{opacity:.35}.out-of-scope-block>.blocklyLabelField,.out-of-scope-block>.blocklyField,.out-of-scope-block>.blocklyImageField,.out-of-scope-block>.blocklyIconGroup,.out-of-scope-block>text,.out-of-scope-block>.blocklyText{opacity:.35}.quick-access-bar button{padding:2px 8px;border:none;border-radius:3px;background:transparent;color:#bbb;cursor:pointer;font-size:11px;line-height:18px}.quick-access-bar button:hover{background:#505050;color:#fff}.quick-access-bar button:active{background:#404040}.file-menu-group{position:relative}#toolbar #file-menu-btn{padding:3px 10px;border:none;border-radius:4px;background:transparent;color:#ccc;font-size:13px;line-height:20px;cursor:pointer}#toolbar #file-menu-btn:hover,#toolbar #lessons-link:hover{background:#3a3a3a;color:#fff}#toolbar #lessons-link{padding:3px 10px;border-radius:4px;color:#ccc;font-size:13px;line-height:20px;text-decoration:none}.file-menu{position:absolute;top:100%;left:0;margin-top:2px;background:#2d2d2d;border:1px solid #555;border-radius:6px;box-shadow:0 4px 12px #00000080;min-width:140px;z-index:10000;overflow:hidden;padding:4px 0}.file-menu-option{padding:6px 12px;font-size:12px;color:#ccc;cursor:pointer;white-space:nowrap}.file-menu-option:hover{background:#094771;color:#fff}.breakpoint-glyph{background:#e51400;border-radius:50%;width:10px!important;height:10px!important;margin-top:4px;margin-left:4px;cursor:pointer}.hidden{display:none!important}.clipboard-btn{background:#2d2d2d;color:#ccc;border:1px solid #444;border-radius:3px;padding:2px 8px;font-size:11px;cursor:pointer;white-space:nowrap}.clipboard-btn:hover{background:#3a3a3a;color:#fff}.blocklyToolboxDiv{background:#252526!important}.blocklyTreeRow{padding:4px 12px!important}.blocklyTreeLabel{color:#ccc!important;font-size:13px!important}.blocklyFlyoutBackground{fill:#2d2d2d!important}.blocklyScrollbarBackground{fill:transparent!important}.blocklyScrollbarHandle{fill:#4a4a4a!important}.blocklyTrash{opacity:.6}#mobile-tab-bar-container{flex-shrink:0;height:48px}.mobile-tab-bar{display:flex;align-items:center;justify-content:space-around;height:48px;background:#252526;border-top:1px solid #3c3c3c;z-index:9000}.mobile-tab-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;min-height:44px;border:none;background:transparent;color:#888;cursor:pointer;font-size:10px;padding:4px 0;position:relative;-webkit-tap-highlight-color:transparent}.mobile-tab-item.active{color:#007acc}.mobile-tab-icon{font-size:18px;line-height:1}.mobile-tab-label{font-size:10px;margin-top:2px}.mobile-tab-badge{position:absolute;top:4px;right:calc(50% - 16px);width:8px;height:8px;background:#e74c3c;border-radius:50%}.mobile-menu-overlay{position:absolute;top:36px;right:0;background:#2d2d2d;border:1px solid #555;border-radius:0 0 6px 6px;box-shadow:0 4px 16px #00000080;min-width:220px;max-width:300px;z-index:10001;padding:8px 0}.mobile-menu-item{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#ccc;font-size:12px}.mobile-menu-item label{white-space:nowrap;min-width:60px;color:#999;font-size:11px}.mobile-menu-item .toolbar-select,.mobile-menu-item select,.mobile-menu-item .topic-selector{flex:1;min-width:0}.mobile-menu-separator{height:1px;background:#3c3c3c;margin:4px 0}.mobile-menu-summary{padding:8px 16px;font-size:11px;color:#888;border-top:1px solid #3c3c3c;margin-top:4px}.hamburger-btn{display:none;padding:4px 10px;border:none;border-radius:4px;background:transparent;color:#ccc;cursor:pointer;font-size:16px;line-height:20px}.hamburger-btn:hover{background:#505050}.mobile-panel-container{display:none;position:absolute;inset:0;overflow:hidden}.mobile-panel-container.active{display:flex;flex-direction:column}.mobile-panel-container>.monaco-wrapper{flex:1;overflow:hidden}.mobile-panel-container>.monaco-wrapper .monaco-editor .inputarea{font-size:16px!important}.mobile-panel-container>.bottom-panel{flex:1!important}.mobile-panel-container>.bottom-panel .bottom-panel-divider{display:none}.mobile-panel-container>.bottom-panel .bottom-panel-content{flex:1}.code-keyboard{background:#1b1b1b;border-top:1px solid #3c3c3c;padding:4px 2px;flex-shrink:0;user-select:none;-webkit-user-select:none}.code-kb-row{display:flex;justify-content:center;gap:3px;margin-bottom:3px}.code-kb-row:last-child{margin-bottom:0}.code-kb-key{flex:1;min-width:0;height:38px;border:none;border-radius:5px;background:#3a3a3a;color:#e0e0e0;font-size:15px;font-family:Consolas,Courier New,monospace;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.code-kb-key:active{background:#555}.code-kb-key.code-kb-active{background:#007acc;color:#fff}.code-kb-shortcuts{border-bottom:1px solid #333;padding-bottom:4px;margin-bottom:2px}.code-kb-shortcut-key{height:30px!important;font-size:12px!important;font-family:-apple-system,BlinkMacSystemFont,sans-serif!important;background:#2a2a2a!important;border-radius:3px!important}.code-kb-shortcut-key:active{background:#555!important}.ime-toggle-btn{position:absolute;bottom:8px;right:8px;width:40px;height:40px;border:none;border-radius:50%;background:#007acc;color:#fff;font-size:20px;cursor:pointer;z-index:200;box-shadow:0 2px 8px #00000080;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ime-toggle-btn:active{background:#0098ff}@media(max-width:768px){body:not(.host-no-mobile-layout) .grid-divider{display:none!important}body:not(.host-no-mobile-layout) .quick-access-bar .view-tab{display:none!important}body:not(.host-no-mobile-layout) #status-controls,body:not(.host-no-mobile-layout) #status-summary{display:none!important}body:not(.host-no-mobile-layout) .quick-access-bar #auto-sync-btn,body:not(.host-no-mobile-layout) .quick-access-bar #sync-blocks-btn,body:not(.host-no-mobile-layout) .quick-access-bar #sync-code-btn,body:not(.host-no-mobile-layout) .quick-access-bar #level-selector-mount,body:not(.host-no-mobile-layout) .quick-access-bar #block-style-selector-mount,body:not(.host-no-mobile-layout) .quick-access-bar .file-menu-group,body:not(.host-no-mobile-layout) .toolbar-left .file-menu-group,body:not(.host-no-mobile-layout) .github-star-label{display:none!important}body:not(.host-no-mobile-layout) #toolbar{padding:0 8px}body:not(.host-no-mobile-layout) #toolbar #lessons-link,body:not(.host-no-mobile-layout) #toolbar .toolbar-title,body:not(.host-no-mobile-layout) #toolbar #run-btn{white-space:nowrap;flex:0 0 auto}body:not(.host-no-mobile-layout) .quick-access-bar .toolbar-separator{display:none!important}body:not(.host-no-mobile-layout) .hamburger-btn{display:inline-flex}body:not(.host-no-mobile-layout) .toolbar-actions #style-selector-mount,body:not(.host-no-mobile-layout) .toolbar-actions #locale-selector-mount,body:not(.host-no-mobile-layout) .toolbar-actions .toolbar-separator{display:none!important}body:not(.host-no-mobile-layout) .slot-picker{display:none!important}body:not(.host-no-mobile-layout) #editors{display:flex!important;flex-direction:column;position:relative}body:not(.host-no-mobile-layout) #code-column,body:not(.host-no-mobile-layout) #blocks-column,body:not(.host-no-mobile-layout) #flow-column{position:absolute!important;width:100%!important}body:not(.host-no-mobile-layout) #mobile-blocks #blockly-panel{flex:1;max-height:calc(100% - 10px)}body:not(.host-no-mobile-layout) .blocklyToolbox{max-height:calc(100vh - 111px)!important;overflow-y:auto!important}body:not(.host-no-mobile-layout) .toolbox-collapse-btn{display:flex}body:not(.host-no-mobile-layout) .flow-palette-toggle{display:flex}body:not(.host-no-mobile-layout){--flow-toolbox-w: 84px;--flow-palette-left: 106px;--flow-palette-w: 150px}body:not(.host-no-mobile-layout) .flow-toolbox{width:var(--flow-toolbox-w)}body:not(.host-no-mobile-layout) .flow-palette{left:var(--flow-palette-left);width:var(--flow-palette-w)}body:not(.host-no-mobile-layout) .flow-panel.flow-palette-closed .flow-palette-toggle{left:0}body:not(.host-no-mobile-layout) .flow-panel.flow-flyout-open .flow-palette-toggle{left:calc(var(--flow-palette-left) + var(--flow-palette-w))}body:not(.host-no-mobile-layout)>.toast{bottom:calc(var(--kb-height, 0px) + 60px)}body:not(.host-no-mobile-layout) .debug-toolbar{top:38px;font-size:11px}}.flow-panel{display:flex;flex-direction:column;height:100%;background:#1a1a1a;border-top:1px solid #3c3c3c;overflow:auto}.flow-toolbar{position:sticky;top:0;z-index:1}.flow-btn{background:#3c3c3c;color:#ccc;border:1px solid #555;border-radius:4px;padding:3px 10px;font-size:12px;cursor:pointer}.flow-btn:hover{background:#4a4a4a}.flow-empty{padding:20px;color:#888;font-size:13px}.flow-svg{display:block;flex:none}.fc-node{cursor:grab}.fc-node:active{cursor:grabbing}.fc-node-body{fill:#2b2b2b;stroke:#4a4a4a;stroke-width:1}.fc-node-header:not([fill]){fill:#4a6fa5}.fc-node.fc-on .fc-node-body{stroke:gold;stroke-width:2.5}.fc-node-title{fill:#fff;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;font-weight:600;pointer-events:none;-webkit-user-select:none;user-select:none}.fc-field{fill:#d4d4d4;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;pointer-events:none;-webkit-user-select:none;user-select:none}.fc-port-label{fill:#9a9a9a;font-family:SF Mono,Menlo,Consolas,monospace;font-size:10px;pointer-events:none;-webkit-user-select:none;user-select:none}.fc-port-exec-label{fill:#cfcfcf}.fc-port-data{fill:#7fb3d5;stroke:#1a1a1a;stroke-width:1}.fc-port-exec{fill:#e0e0e0;stroke:#1a1a1a;stroke-width:1}.fc-wire{fill:none}.fc-wire-exec{stroke:#e0e0e0;stroke-width:2}.fc-wire-data{stroke:#7fb3d5;stroke-width:1.4}.fc-port-exec.fc-flow-loop{fill:#b58bd0}.fc-port-exec.fc-flow-branch{fill:#f0c674}.fc-wire-exec.fc-flow-loop{stroke:#b58bd0}.semorphe-dialog-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000}.semorphe-dialog{background:#252526;color:#ddd;border:1px solid #555;border-radius:6px;padding:16px;min-width:300px;box-shadow:0 8px 32px #00000080}.semorphe-dialog-msg{font-size:13px;margin-bottom:10px}.semorphe-dialog-input{width:100%;box-sizing:border-box;background:#1e1e1e;color:#eee;border:1px solid #555;border-radius:4px;padding:6px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px}.semorphe-dialog-row{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.semorphe-dialog-btn{background:#3c3c3c;color:#ccc;border:1px solid #555;border-radius:4px;padding:4px 14px;font-size:12px;cursor:pointer}.semorphe-dialog-btn.semorphe-dialog-primary{background:#0e639c;color:#fff;border-color:#17b}.var-editable{cursor:text;border-bottom:1px dashed #6a6a6a}.var-editable:hover{background:#2a2d2e}.var-value-input{width:100%;background:#1e1e1e;color:#ce9178;border:1px solid #007acc;border-radius:2px;font-family:inherit;font-size:inherit;padding:0 2px}.fc-node:hover .fc-field-editable{text-decoration:underline dashed #6a6a6a}.flow-field-input{position:absolute;z-index:20;min-width:120px;background:#1e1e1e;color:#d4d4d4;border:1px solid #007acc;border-radius:2px;font-family:inherit;font-size:12px;padding:1px 3px}.fc-port-wirable{cursor:crosshair}.fc-port-wirable{stroke:#0000;stroke-width:10;paint-order:stroke}.flow-dropping .fc-port-wirable{stroke:#4a9eff;stroke-width:3}.flow-dropping .fc-port-wirable:hover{fill:#4a9eff}.fc-field-editable{cursor:text;pointer-events:none}.fc-field-hit{fill:transparent;cursor:text}.fc-field-hit:hover{fill:#7d7d7d24}.fc-port-wirable:hover{stroke:#007acc;stroke-width:2}.fc-wire-preview{stroke:#007acc;stroke-width:2;stroke-dasharray:4 3;pointer-events:none}.flow-notice{position:absolute;left:12px;bottom:12px;right:12px;z-index:30;background:#3a2d2d;color:#f0c0c0;border:1px solid #a04040;border-radius:3px;padding:6px 10px;font-size:12px;line-height:1.5}#flow-panel{position:relative;display:flex;flex-direction:column}.flow-canvas{flex:1;min-width:0;min-height:0;overflow:hidden;position:relative;cursor:grab;touch-action:none}.flow-canvas.fc-panning{cursor:grabbing}.flow-svg{width:100%;height:100%}.fc-node{touch-action:none}.flow-zoom-btn{min-width:26px;padding:2px 6px;font-size:13px;line-height:1}.fc-wire-hit{fill:none;stroke:transparent;stroke-width:16;cursor:pointer;pointer-events:stroke}.fc-wire-g:hover .fc-wire,.fc-wire-g.fc-sel .fc-wire{stroke:#f48771}.flow-menu{position:absolute;z-index:40;min-width:132px;background:#252526;border:1px solid #454545;border-radius:6px;box-shadow:0 4px 14px #00000080;padding:4px 0;overflow:hidden}.flow-menu-item{display:block;width:100%;box-sizing:border-box;background:none;border:none;color:#d4d4d4;cursor:pointer;font-size:14px;text-align:left;padding:12px 16px;touch-action:manipulation}.flow-menu-item:hover,.flow-menu-item:focus-visible{background:#37373d;color:#fff}.fc-node.fc-sel .fc-node-body{stroke:#4a90d9;stroke-width:2}.flow-canvas:focus-visible{outline:1px solid #4a90d9;outline-offset:-1px}.flow-zoom-label{min-width:46px;padding:2px 4px;font-variant-numeric:tabular-nums}.flow-work{flex:1;min-height:0;display:flex;position:relative}.flow-toolbox{flex:none;width:96px;overflow-y:auto;background:#252526;border-right:1px solid #3c3c3c;display:flex;flex-direction:column;padding:4px 0}.flow-cat{display:flex;align-items:center;gap:6px;background:none;border:none;color:#ccc;cursor:pointer;font-size:12px;text-align:left;padding:6px 8px;width:100%}.flow-cat:hover{background:#2d2d30}.flow-cat.active{background:#37373d;color:#fff}.flow-cat-swatch{flex:none;width:10px;height:10px;border-radius:2px;background:#666}.toolbox-collapse-btn,.flow-palette-toggle{display:none;position:absolute;top:50%;transform:translateY(-50%);flex:none;z-index:200;width:22px;height:44px;background:#333;border:1px solid #555;border-left:none;border-radius:0 6px 6px 0;color:#ccc;font-size:12px;cursor:pointer;align-items:center;justify-content:center;touch-action:manipulation}.toolbox-collapse-btn:active,.flow-palette-toggle:active{background:#444}.flow-palette-toggle{left:var(--flow-toolbox-w, 96px);z-index:20}.flow-panel.flow-palette-closed .flow-palette-toggle{left:0}.flow-panel.flow-flyout-open .flow-palette-toggle{left:calc(var(--flow-palette-left, 96px) + var(--flow-palette-w, 168px))}.cell-narrow .toolbox-collapse-btn,.cell-narrow .flow-palette-toggle{display:flex}.flow-palette{position:absolute;left:96px;top:0;bottom:0;z-index:15;display:flex;flex-direction:column;gap:4px;width:168px;background:#1e1e1e;border-right:1px solid #3a3a3a;box-shadow:2px 0 6px #0006;padding:6px;overflow-y:auto}.flow-chip{background:#2d2d2d;color:#d4d4d4;border:1px solid #454545;border-radius:3px;padding:2px 6px;font-size:11px;cursor:grab}.flow-chip:hover{background:#3a3a3a;border-color:#007acc}.fc-ghost{opacity:.45}.fc-ghost .fc-node-body{stroke-dasharray:4 3}.fc-ghost .fc-port{opacity:1}.github-star{display:inline-flex;align-items:center;gap:5px;padding:1px 9px;margin-right:4px;border:1px solid #3c3c3c;border-radius:6px;background:#2d2d2d;color:#ccc;font-size:12px;line-height:20px;text-decoration:none;overflow:hidden;white-space:nowrap}.github-star:hover{background:#3a3a3a;border-color:#4a4a4a;color:#fff}.github-star-mark{display:block;flex:0 0 auto}.github-star-label{line-height:20px}.github-star:focus-visible{outline:2px solid #4a90d9;outline-offset:1px}#mobile-action-bar{display:flex;align-items:center;gap:4px;padding:3px 6px;background:#2d2d2d;border-bottom:1px solid #3c3c3c;flex:0 0 auto;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}#mobile-action-bar::-webkit-scrollbar{display:none}#mobile-action-bar>.quick-access-bar,#mobile-action-bar>.flow-toolbar,#mobile-action-bar>.monaco-clipboard-bar,#mobile-action-bar>.bottom-panel-tabs{border:none;background:none;padding:0;margin:0;flex:0 0 auto}#mobile-action-bar .bottom-panel-tab-buttons{flex:0 0 auto}#mobile-action-bar .bottom-panel-tab-actions{margin-right:0}#mobile-action-bar .bottom-panel-actions{display:none}#mobile-action-bar>#undo-group button{min-width:30px;min-height:24px;padding:2px 8px;border:none;border-radius:3px;background:transparent;color:#bbb;cursor:pointer;font-size:13px;line-height:1}#mobile-action-bar>#undo-group button:hover{background:#505050;color:#fff}#mobile-action-bar>#undo-group button:active{background:#404040}#mobile-action-bar>.bottom-panel-tabs{flex:1 1 auto;display:flex;justify-content:space-between;align-items:center;min-width:0}#mobile-action-bar .clipboard-btn,#mobile-action-bar .bottom-tab-btn{padding:2px 6px;white-space:nowrap}
