:root{--ink:#16201d;--muted:#6b7470;--line:#dfe4e1;--paper:#fbfcfb;--green:#1e6550;--green-dark:#154a3b}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{color:var(--ink);background:#f3f5f3;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:hidden}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.studio-shell{grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;min-height:0;display:grid;overflow:hidden}.app-header{border-bottom:1px solid var(--line);z-index:20;background:#fbfcfbf5;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:14px 24px;display:flex;box-shadow:0 1px #16201d08}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f}.brand-copy{min-width:0}.brand-copy h1{letter-spacing:-.02em;margin:0;font-size:18px}.brand-copy p{color:var(--muted);margin:3px 0 0;font-size:12px}.header-meta{align-items:center;gap:10px;display:flex}.board-chip,.language-chip{border:1px solid var(--line);color:#3d4844;background:#fff;border-radius:10px;align-items:center;gap:8px;min-height:38px;padding:0 13px;font-size:13px;font-weight:700;display:flex}.board-dot{background:#4dad80;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #e3f3eb}.board-dot.unsupported{background:#d89335;box-shadow:0 0 0 3px #faedd9}.language-chip svg{color:var(--green)}.language-select{color:#36413d;cursor:pointer;background:0 0;border:0;outline:0;font-size:13px;font-weight:750}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.workspace-layout{background:var(--line);grid-template-columns:minmax(480px,1.48fr) minmax(360px,.78fr);gap:1px;min-height:0;display:grid;overflow:hidden}.workspace-layout.manual-mode{grid-template-columns:minmax(280px,.52fr) minmax(480px,1.48fr)}.workspace-panel,.code-panel{background:var(--paper);min-width:0;min-height:0;overflow:hidden}.workspace-panel{grid-template-rows:auto minmax(0,1fr);display:grid}.code-panel{background:#f7f9f7;grid-template-rows:auto minmax(0,1fr) auto;display:grid}.panel-toolbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:9px 14px;display:flex}.toolbar-group{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.panel-title{color:#36413d;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.panel-title svg{color:var(--green)}.action-button{color:#36413d;cursor:pointer;background:#fff;border:1px solid #d7ddda;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 11px;font-size:12px;font-weight:750;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.action-button:hover{background:#f7faf8;border-color:#aebbb5}.action-button:active{transform:translateY(1px)}.action-button.primary{border-color:var(--green);background:var(--green);color:#fff}.action-button.primary:hover{background:var(--green-dark)}.action-button.example{color:#225b48;background:#edf5f1;border-color:#c8d8d1}.action-button.example:hover{background:#e3f0ea;border-color:#91b5a6}.action-button.compile{color:#fff;background:#183f34;border-color:#183f34;min-width:112px}.action-button.compile:hover{background:#0f3027}.action-button:disabled{opacity:.62;cursor:wait}.action-button.icon-only{width:36px;padding:0}.blockly-host{background:#f5f7f5;min-height:0;position:relative;overflow:hidden}.blockly-host-disabled{pointer-events:none}.blockly-host-disabled:after{content:"";z-index:10;background:#f5f7f5b8;position:absolute;inset:0}.blockly-root{position:absolute;inset:0}.blocklyToolboxDiv{border-right:1px solid #d9dfdc;padding:9px 7px;background:#eef1ef!important}.blocklyTreeRow{border-radius:8px;margin-bottom:3px;height:36px!important;padding:0 10px!important}.blocklyTreeLabel{font-weight:700;color:#48534f!important;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important}.blocklyTreeSelected .blocklyTreeLabel{color:#17211e!important}.blocklyFlyoutBackground{fill:#fbfcfb!important;fill-opacity:.98!important}.blocklyFlyout[style*="display: none"]+.blocklyFlyoutScrollbar{display:none!important}.blocklyMainBackground{stroke:none!important}.blocklyScrollbarHandle{fill:#c8cfcb!important}.blocklyTrash image{opacity:.7}.code-wrap{background:#17211e;min-height:0;overflow:auto}.code-editor{color:#dfe9e3;tab-size:2;white-space:pre;resize:none;caret-color:#7ec8a8;background:#17211e;border:none;outline:none;width:100%;height:100%;min-height:0;padding:24px 22px;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.action-button.edit-active{color:#1e6550;background:#e8f2ee;border-color:#a0bab2}.action-button.edit-active:hover{background:#d9ece4}.edit-mode-hint{color:#7a6b2e;text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;align-items:center;gap:6px;min-width:0;font-size:11px;display:inline-flex;overflow:hidden}.code-view{color:#dfe9e3;tab-size:2;white-space:pre;min-height:100%;margin:0;padding:24px 22px 44px;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.code-line{min-height:1.65em;display:block}.code-line:before{content:attr(data-line);color:#63736c;text-align:right;-webkit-user-select:none;user-select:none;width:34px;margin-right:16px;display:inline-block}.token-comment{color:#7e9b8d}.token-keyword{color:#f0bd62}.token-function{color:#7ec8a8}.token-number{color:#d7a9f2}.token-string{color:#e59f85}.status-bar{border-top:1px solid var(--line);min-height:40px;color:var(--muted);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-size:11px;display:flex}.status-message{color:#3f4b46;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;min-width:0;display:inline-flex;overflow:hidden}.status-message .status-icon{flex:none}.status-icon{color:#349368}.status-message.running .status-icon{animation:.85s linear infinite spin}.status-message.error{color:#8b352c}.status-message.error .status-icon{color:#b34539}.code-stats{white-space:nowrap}.toast{z-index:100;color:#fff;background:#16201d;border-radius:11px;max-width:min(390px,100vw - 40px);padding:13px 16px;font-size:13px;animation:.2s ease-out toast-in;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 35px #16201d3d}.toast.error{background:#7f3028}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.workspace-layout{grid-template-rows:minmax(0,1.1fr) minmax(0,.9fr);grid-template-columns:1fr}.blockly-host,.code-wrap{min-height:0}}@media (width<=620px){.app-header{align-items:flex-start;padding:12px 14px}.brand-copy p{display:none}.header-meta{align-self:center}.board-chip{display:none}.language-chip{padding:0 9px}.panel-toolbar{flex-direction:column;align-items:flex-start}.toolbar-group{width:100%}.action-button{flex:1}.action-button.icon-only{flex:0 0 36px}.workspace-layout{grid-template-rows:minmax(0,1.1fr) minmax(0,.9fr)}}
