:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;color:#34445b;background:#e6eaf0;--surface:#fff;--chrome:#f5f7fa;--border:#d9dfe8;--muted:#758298;--accent:#497fd2;--canvas:#394556;--screen:#303c4f;--screen-text:#dce5f2;--scrollbar-ink:#9caac0;--scrollbar-active:#7288a6;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}body{margin:0;padding:0}button,input,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 12px;white-space:nowrap;cursor:pointer;font-size:12px;color:#40516a;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 1px 2px #2433480a;transition:background-color .14s var(--ease),color .14s var(--ease),border-color .14s var(--ease),transform .14s var(--ease)}button:hover:not(:disabled){background:#eef3fb;border-color:#bccde6;color:#345e9c}button:active:not(:disabled){background:#e4ecf8;transform:translateY(1px);box-shadow:inset 0 1px 2px #24334812}button:disabled{opacity:.4;cursor:default;box-shadow:none}button:focus-visible,input:focus-visible,summary:focus-visible,#code:focus-visible,.resize-handle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.icon{width:16px;height:16px;flex-shrink:0}p{margin:0}#app{display:flex;flex-direction:column;height:100dvh;min-height:620px;padding:0;border:0;border-radius:0;background:#edf0f5;box-shadow:none;overflow:clip}header{display:flex;align-items:center;gap:16px;flex-shrink:0;min-height:64px;margin:0;padding:12px 20px;background:#fff;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:#34445b;text-decoration:none}.brand-mark{display:block;width:32px;height:32px;flex-shrink:0}.brand span{font-size:17px;font-weight:600;line-height:1.4}.project{flex:1;min-width:140px;max-width:320px;margin-right:auto}.project input{display:block;width:100%;height:36px;padding:8px 12px;font-size:12px;color:#40516a;background:#f5f7fa;border:1px solid #e2e7ee;border-radius:6px;box-shadow:none}.project input:focus{background:#fff}.file-actions,.transport{display:flex;align-items:center;gap:8px}.transport{padding-left:16px;border-left:1px solid #e2e7ee}.run{padding:8px 20px;background:#3f73c4;color:#fff;border-color:#3f73c4;box-shadow:inset 0 1px #ffffff18,0 1px 2px #284e8a15}.run:hover:not(:disabled){background:#3b6fbe;border-color:#3b6fbe;color:#fff}.run:active:not(:disabled){background:#3263ad;color:#fff}#stop{color:#8b6168}main{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,var(--right-panel-width,37.7%));gap:0;flex:1;min-height:480px;margin:12px 12px 0}section{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:none}.workspace-panel,.code-panel,.console-panel{display:flex;flex-direction:column;min-width:0;min-height:0}aside{display:grid;grid-template-rows:1.15fr 1fr;gap:12px;min-width:0;min-height:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;height:44px;padding:0 12px;background:#f8fafd;border-bottom:1px solid var(--border)}.panel-head strong{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;font-weight:600;color:#465771}.panel-number{padding:0;font:10px/20px Consolas,monospace;font-variant-numeric:tabular-nums;color:#8d9bb0;background:none;border:none;box-shadow:none}.panel-head>div{display:flex;align-items:center;gap:8px}.panel-head button{min-height:28px;padding:4px 8px;font-size:11px;gap:4px;border-color:transparent;background:transparent;box-shadow:none}.panel-head button:hover:not(:disabled){border-color:#dce4f0;background:#eaf0f8}.panel-head .icon{width:14px;height:14px}#blockly{flex:1;min-height:0;width:100%;position:relative;background:var(--canvas);border:0}.workspace-foot,.code-foot,.console-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;padding:6px 12px;font-size:10px;color:#7d8ba0;background:#f8fafd;border-top:1px solid var(--border);box-shadow:none}#count{white-space:nowrap;font-variant-numeric:tabular-nums}#code{flex:1;min-height:0;overflow:auto;margin:0;padding:20px;border:0;background:#354255;color:var(--screen-text);box-shadow:none;font:13px/1.9 SFMono-Regular,Consolas,monospace;white-space:pre;-moz-tab-size:4;tab-size:4;--scrollbar-ink:#74849c;--scrollbar-active:#adbed5}.code-foot{font-family:Consolas,Microsoft YaHei,monospace}#terminal{flex:1;min-height:0;overflow:auto;padding:16px 20px;border:0;background:var(--screen);color:var(--screen-text);box-shadow:none;font:12px/1.9 Consolas,Microsoft YaHei,monospace;overflow-wrap:anywhere;white-space:pre-wrap;--scrollbar-ink:#74849c;--scrollbar-active:#adbed5}#terminal .muted{margin:4px 0;color:#9baac1;font-size:11px}#terminal .error{color:#f3b5ad}.console-foot{background:#f8fafd;color:#7d8ba0;border-color:var(--border);font-size:10px}#status{color:#5d8674;font-variant-numeric:tabular-nums}#input-form{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--screen);color:var(--screen-text);font-size:11px}#input-form[hidden]{display:none}#input-form label{white-space:nowrap}#stdin{min-width:0;width:100%;padding:8px;background:#293547;border:1px solid #62758e;border-radius:4px;color:#edf3fc;box-shadow:none}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;height:32px;padding:0 16px;color:#8a97aa;font-size:10px}footer span:first-child{font-family:Consolas,Microsoft YaHei,monospace}.blocklyToolbox{padding:6px 0!important;background:#f5f7fa!important;border-right:1px solid #e0e5ed;box-shadow:none}.blocklyToolboxCategoryContainer{margin:0!important;outline-offset:-3px}.blocklyToolboxCategory{display:flex;align-items:center;justify-content:center;height:56px!important;margin:0!important;padding:6px 2px!important;border-left:0!important;border-radius:0!important;background:transparent;color:#40516a}.blocklyTreeRowContentContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%}.blocklyTreeRowContentContainer:before{content:"";display:block;width:18px;height:18px;border:1px solid #34495e20;border-radius:50%;background:var(--category-colour,#acb4bf);box-shadow:inset 0 1px 1px #ffffff50}.blocklyToolboxCategoryIcon{display:none!important}.blocklyToolboxCategoryLabel{padding:0!important;font:11px/16px Microsoft YaHei,sans-serif!important;color:#738096!important}.blocklyToolboxCategoryContainer:hover .blocklyToolboxCategory{background:#eaf0f8}.blocklyToolboxSelected{background:#e5ecf6!important;box-shadow:none!important}.blocklyToolboxSelected .blocklyToolboxCategoryLabel{color:#365f9b!important}.blocklyToolboxSelected .blocklyTreeRowContentContainer:before{outline:2px solid #fff;box-shadow:0 0 0 3px var(--category-colour),inset 0 1px 1px #ffffff50}.blocklyTreeSeparator{margin:4px 10px!important;border-color:#e1e7ee!important}.blocklySvg{background:var(--canvas)!important}.blocklyFlyoutBackground{fill:#46556a!important;fill-opacity:1!important}.blocklyMainBackground{stroke:none!important}.blocklyDraggable>.blocklyPath{filter:drop-shadow(0 1px 1px #17243b20)}:is(html,#code,#terminal,.blocklyToolbox,.blocklyToolboxContents,.example-options){scrollbar-width:thin;scrollbar-color:transparent transparent}:is(html,#code,#terminal,.blocklyToolbox,.blocklyToolboxContents,.example-options):is(:hover,:focus-visible){scrollbar-color:var(--scrollbar-ink) transparent}:is(html,#code,#terminal,.blocklyToolbox,.blocklyToolboxContents,.example-options)::-webkit-scrollbar{width:8px;height:8px}:is(html,#code,#terminal,.blocklyToolbox,.blocklyToolboxContents,.example-options)::-webkit-scrollbar-track{background:transparent}:is(html,#code,#terminal,.blocklyToolbox,.blocklyToolboxContents,.example-options)::-webkit-scrollbar-thumb{background:transparent;border:2px solid transparent;background-clip:padding-box;border-radius:6px}:is(html,#code,#terminal,.blocklyToolbox,.blocklyToolboxContents,.example-options):is(:hover,:focus-visible)::-webkit-scrollbar-thumb{background-color:var(--scrollbar-ink)}:is(html,#code,#terminal,.blocklyToolbox,.blocklyToolboxContents,.example-options)::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-active)}:is(html,#code,#terminal,.blocklyToolbox,.blocklyToolboxContents,.example-options)::-webkit-scrollbar-corner{background:transparent}#blockly :is(.blocklyScrollbarHorizontal,.blocklyScrollbarVertical){opacity:0;pointer-events:none;transition:opacity .16s var(--ease)}#blockly.canvas-pointer-inside :is(.blocklyScrollbarHorizontal,.blocklyScrollbarVertical),#blockly :is(.blocklyScrollbarHorizontal,.blocklyScrollbarVertical):active{opacity:1;pointer-events:auto}#blockly .blocklyScrollbarHandle{fill:#9cacc2!important;transition:fill .14s var(--ease)}#blockly .blocklyScrollbarHandle:is(:hover,:active){fill:#c1d0e5!important}#blockly .blocklyScrollbarVertical .blocklyScrollbarHandle{width:6px;transform:translate(2px)}#blockly .blocklyScrollbarHorizontal .blocklyScrollbarHandle{height:6px;transform:translateY(2px)}.resize-handle{position:relative;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;outline-offset:-2px}.resize-handle:after{content:"";position:absolute;left:50%;top:50%;width:2px;height:28px;transform:translate(-50%,-50%);border-radius:2px;background:#b1bdce;box-shadow:none;transition:background-color .14s var(--ease)}.resize-handle:hover:after,.resize-handle.dragging:after,.resize-handle:focus-visible:after{background:var(--accent)}.toolbox-resizer{position:absolute;top:0;bottom:0;width:8px;z-index:40}.toolbox-resizer:after{height:24px;width:2px}body.resizing-panels,body.resizing-panels *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.example-picker{position:relative;flex:0 0 184px;min-width:0;color:#40516a;font-size:12px}.example-picker summary{display:flex;align-items:center;justify-content:space-between;gap:12px;height:36px;padding:8px 12px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;border:1px solid var(--border);border-radius:6px;background:#fff;box-shadow:0 1px 2px #2433480a}.example-picker summary::-webkit-details-marker{display:none}.example-picker summary::marker{content:""}.example-picker summary:hover{background:#eef3fb;border-color:#bccde6}.example-picker[open] summary{background:#eaf0fa;border-color:#bccde6}.example-picker[open] summary .icon{transform:rotate(180deg)}.example-options{position:absolute;top:calc(100% + 8px);left:0;min-width:100%;max-height:min(380px,60dvh);overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid #d5deea;border-radius:8px;background:#fff;box-shadow:0 6px 20px #26374e18;z-index:100}.example-options button{position:relative;width:100%;justify-content:flex-start;min-height:36px;padding:8px 24px 8px 12px;font-size:12px;border:0;border-radius:4px;background:transparent;box-shadow:none;color:#40516a}.example-options button:hover,.example-options button:focus-visible{background:#eef3fb;outline-offset:-2px}.example-options button[aria-pressed=true]{background:#e7effb;color:#365f9b}.example-options button[aria-pressed=true]:after{content:"";width:4px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);position:absolute;right:12px;top:12px}.workspace-actions{align-items:center;gap:8px!important}.workspace-actions .round-action{width:30px;height:30px;min-height:30px;padding:0;border-radius:50%;border:1px solid #dce3ed;background:#fff;box-shadow:0 1px 2px #24334808}.workspace-actions .round-action .icon{width:16px;height:16px}.action-divider{height:16px;width:1px;background:#dce3ed;margin:0 2px}.workspace-actions #clear{min-height:30px;padding:4px 8px;border-radius:5px;color:#8b6970}.workspace-actions #clear:hover{background:#f6ecec;border-color:#e8d8d8}.canvas-controls{position:absolute;right:38px;bottom:124px;z-index:35;display:flex;flex-direction:column;gap:8px}.canvas-controls button{width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;border:1px solid #d9e1ed;background:#f8fafd;color:#536986;box-shadow:0 2px 5px #17243b15}.canvas-controls button .icon{width:20px;height:20px}.canvas-controls button:hover{background:#e7effb;border-color:#b8cce9;color:#365f9b}.canvas-controls button:active{background:#dce8fa;transform:translateY(1px)}#blockly .blocklyTrash{opacity:1!important}#blockly .blocklyTrash image{visibility:hidden}.canvas-trash-backdrop{fill:#f8fafd;stroke:#d9e1ed;stroke-width:1px;filter:drop-shadow(0 2px 2px #17243b15)}.canvas-trash-glyph{color:#536986;pointer-events:none}#blockly .blocklyTrash:hover .canvas-trash-backdrop{fill:#f6ecec;stroke:#dcc4c4}#blockly .blocklyTrash:hover .canvas-trash-glyph{color:#94666c}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#354255;color:#e5edf9;border:1px solid #5b6c84;padding:12px 24px;border-radius:8px;box-shadow:0 4px 16px #17243b20;opacity:0;pointer-events:none;transition:opacity .16s var(--ease);font-size:13px;z-index:120}#toast.visible{opacity:1}@media(max-width:1080px){body{padding:0}#app{height:100dvh}header{gap:12px;flex-wrap:wrap;padding:12px 16px}.project{min-width:140px}.file-actions button{padding:8px}.file-actions .icon{display:none}.panel-head{padding:0 8px}.panel-head>div{gap:4px}.panel-head button{padding:4px 6px}.workspace-foot span:first-child{max-width:75%}}@media(max-width:760px){#app{height:auto;min-height:100dvh}header{gap:12px;padding:12px;flex-wrap:wrap}.brand{flex:0 0 132px}.project{max-width:none}.file-actions{margin-right:auto}.transport{padding-left:0;border:0}.example-picker{flex:1 1 160px}.example-options{min-width:184px}main{display:flex;flex-direction:column;height:auto;min-height:0;gap:12px;margin:12px 8px 0}.panel-resizer{display:none}.workspace-panel{height:560px;min-height:400px}aside{grid-template-rows:340px 300px;gap:12px}.panel-head{padding:0 12px}footer{height:auto;min-height:32px;flex-wrap:wrap;padding:8px 12px;gap:8px}.workspace-foot{font-size:9px}.canvas-controls{bottom:104px;gap:6px}.canvas-controls button{width:36px;height:36px;min-height:36px}}@media(hover:none){:is(html,#code,#terminal,.blocklyToolbox,.blocklyToolboxContents,.example-options){scrollbar-color:var(--scrollbar-ink) transparent}:is(html,#code,#terminal,.blocklyToolbox,.blocklyToolboxContents,.example-options)::-webkit-scrollbar-thumb{background-color:var(--scrollbar-ink)}#blockly :is(.blocklyScrollbarHorizontal,.blocklyScrollbarVertical){opacity:1;pointer-events:auto}}@media(prefers-reduced-motion:reduce){button,#toast,.resize-handle:after,#blockly :is(.blocklyScrollbarHorizontal,.blocklyScrollbarVertical,.blocklyScrollbarHandle){transition:none}}.icon-group{display:inline-flex;align-items:center;gap:2px!important;padding:2px;border:1px solid var(--border);border-radius:7px;background:#fff}.icon-group button,.panel-head .icon-group button{width:32px;height:30px;min-height:30px;padding:0;border:0;border-radius:4px;box-shadow:none;gap:0}.icon-group .icon,.panel-head .icon-group .icon{width:16px;height:16px}.transport .icon-group .run{background:#3f73c4;color:#fff}.transport .icon-group .run:hover:not(:disabled){background:#3263ad;color:#fff}.transport .icon-group #stop:hover:not(:disabled){background:#f6ecec;color:#9b555f}.panel-head .icon-only{width:30px;height:30px;min-height:30px;padding:0;border-radius:5px}.panel-head .icon-only .icon{width:16px;height:16px}.panel-head .icon-only:hover{background:#eef3fb}.footer-meta{display:flex;align-items:center;gap:12px;font-size:10px}.footer-meta a{display:inline-flex;align-items:center;gap:5px;min-height:28px;color:#74839a;text-decoration:none;transition:color .14s var(--ease)}.footer-meta a .icon{width:13px;height:13px}.footer-meta a:hover{color:#3f73c4}.footer-meta a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.footer-version{font:10px/16px Consolas,monospace;font-variant-numeric:tabular-nums;color:#8a97aa}@media(max-width:540px){footer .keyboard-hints{display:none}}@media(prefers-reduced-motion:reduce){.footer-meta a{transition:none}}.transport .icon-group .run{width:auto;min-width:72px;padding:0 12px;gap:6px}.blocklyWidgetDiv .blocklyContextMenu{box-sizing:content-box}
