:root{color:#e5e7eb;font-synthesis:none;text-rendering:optimizelegibility;background:#0b1020;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{flex-direction:column;min-height:100dvh;display:flex}button,input,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}.topbar{min-height:68px;padding:9px 14px;padding-top:max(9px, env(safe-area-inset-top));z-index:20;background:#111827;border-bottom:1px solid #273244;flex:none;justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-radius:11px;flex:none;place-items:center;width:40px;height:40px;font-size:21px;font-weight:800;display:grid;box-shadow:0 8px 24px #2563eb4d}.brand h1,.brand p,.panel-heading h2,.panel-heading p{margin:0}.brand h1{white-space:nowrap;font-size:17px}.brand p,.panel-heading p{color:#9ca3af;font-size:11.5px}.version-badge{color:#93c5fd;vertical-align:middle;font-size:11px}.toolbar,.panel-actions{align-items:center;gap:7px;display:flex}.toolbar{scrollbar-width:thin;min-width:0;overflow-x:auto}.button{color:#fff;white-space:nowrap;border:1px solid #0000;border-radius:9px;min-height:38px;padding:8px 11px;font-size:12.5px;font-weight:700;transition:background .12s,border-color .12s,transform .12s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:wait;transform:none}.button-primary{background:#2563eb}.button-primary:hover{background:#1d4ed8}.button-success{background:#059669}.button-success:hover{background:#047857}.button-danger{background:#b91c1c}.button-danger:hover{background:#991b1b}.button-secondary{background:#1f2937;border-color:#374151}.button-secondary:hover{background:#293548;border-color:#4b5563}.app-shell{flex:auto;grid-template-columns:minmax(0,1fr) minmax(350px,37vw);min-height:0;display:grid}.workspace-panel{background:#f5f7fb;min-width:0;min-height:0;position:relative}#blocklyDiv{touch-action:none;position:absolute;inset:0}.code-panel{background:#0b1020;border-left:1px solid #273244;flex-direction:column;min-width:0;min-height:0;display:flex}.inspector-tabs{background:#0d1424;border-bottom:1px solid #273244;flex:none;grid-template-columns:1fr 1fr;display:grid}.inspector-tab{color:#9ca3af;background:0 0;border:0;min-height:40px;font-weight:750}.inspector-tab.active{color:#fff;background:#111827;box-shadow:inset 0 -2px #60a5fa}.inspector-view{flex-direction:column;flex:1;min-height:0;display:none}.inspector-view.active{display:flex}.panel-heading{background:#111827;border-bottom:1px solid #273244;justify-content:space-between;align-items:center;gap:10px;min-height:62px;padding:10px 12px;display:flex}.panel-heading h2{font-size:15px}.diagnostics{color:#fed7aa;background:#241412;border-bottom:1px solid #273244;padding:9px 12px;font-size:12px;line-height:1.4;display:none}.diagnostics.visible{display:block}.diagnostics ul{margin:0;padding-left:18px}.code-view{color:#d1e7ff;tab-size:4;white-space:pre;-webkit-overflow-scrolling:touch;background:#080c17;flex:1;min-height:0;margin:0;padding:14px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;overflow:auto}.runner-layout{background:#080c17;flex:1;grid-template-rows:minmax(230px,1fr) auto auto;gap:10px;min-height:0;padding:10px;display:grid;overflow:auto}.virtual-monitor{background:#020503;border:1px solid #334155;border-radius:12px;min-height:230px;padding:22px 12px 12px;position:relative;overflow:auto;box-shadow:inset 0 0 30px #22c55e14}.monitor-label{color:#64748b;letter-spacing:.12em;font-size:9px;font-weight:800;position:absolute;top:5px;left:10px}.display-output{color:#bbf7d0;white-space:pre;text-shadow:0 0 5px #22c55e59;background:0 0;width:max-content;min-width:80ch;margin:0;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:clamp(7px,.72vw,12px);line-height:1.15}.input-console{background:#111827;border:1px solid #273244;border-radius:11px;gap:7px;padding:10px;display:grid}.input-console label{font-size:12px;font-weight:800}.input-console p{color:#94a3b8;margin:0;font-size:10.5px;line-height:1.35}.input-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.input-row input{color:#fff;background:#060b15;border:1px solid #374151;border-radius:9px;outline:none;min-width:0;padding:10px 11px;font-size:16px}.input-row input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #2563eb2e}.run-log{background:#0d1424;border:1px solid #273244;border-radius:10px;overflow:hidden}.run-log summary{color:#cbd5e1;cursor:pointer;padding:10px 12px;font-size:12px;font-weight:750}.run-log .code-view{color:#d1fae5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px}.mobile-nav{display:none}@media (width<=1180px){.topbar{min-height:0;padding:7px 9px;padding-top:max(7px, env(safe-area-inset-top));flex-direction:column;align-items:stretch;gap:7px}.brand-mark{border-radius:8px;width:33px;height:33px;font-size:17px}.brand h1{font-size:14px}.brand p{display:none}.toolbar{gap:5px;width:100%;padding-bottom:1px}.button{min-height:38px;padding:7px 10px;font-size:12px}.app-shell{display:block;position:relative}.workspace-panel,.code-panel{border:0;width:100%;height:100%;display:none;position:absolute;inset:0}body[data-mobile-panel=blocks] .workspace-panel{display:block}body[data-mobile-panel=code] .code-panel,body[data-mobile-panel=run] .code-panel{display:flex}.mobile-nav{padding:6px 7px;padding-bottom:max(6px, env(safe-area-inset-bottom));z-index:30;background:#111827;border-top:1px solid #273244;flex:none;grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.mobile-nav-button{color:#cbd5e1;background:#1f2937;border:1px solid #374151;border-radius:9px;min-height:42px;font-weight:750}.mobile-nav-button.active{color:#fff;background:#1d4ed8;border-color:#3b82f6}.panel-heading{min-height:56px;padding:7px 9px}.panel-heading h2{font-size:13.5px}.panel-heading p{white-space:nowrap;text-overflow:ellipsis;max-width:44vw;overflow:hidden}.panel-actions{gap:4px}.code-view{padding:11px;font-size:11px}.blocklyToolboxDiv{max-width:34vw!important}.blocklyFlyout{max-width:82vw!important}.blocklyZoom{transform-origin:100% 100%;transform:scale(.86)}.runner-layout{grid-template-rows:minmax(210px,1fr) auto auto;gap:8px;padding:8px}.display-output{font-size:clamp(6px,1.1vw,11px)}}@media (width<=700px){.toolbar .button{padding:6px 8px;font-size:11px}.blocklyToolboxDiv{max-width:42vw!important}.blocklyFlyout{max-width:88vw!important}.run-heading{align-items:flex-start}.run-heading .panel-actions{flex-direction:column}.run-heading .button{min-height:32px;padding:5px 8px}.virtual-monitor{min-height:190px;padding-left:8px;padding-right:8px}.display-output{font-size:6.5px}.input-row{grid-template-columns:1fr}.input-row .button{width:100%}}.button-accent{background:#7c3aed}.button-accent:hover{background:#6d28d9}.qemu-layout{background:#080c17;flex:1;gap:10px;min-height:0;padding:10px;display:grid;overflow:auto}.display-card,.input-card,.serial-details{background:#111827;border:1px solid #273244;border-radius:12px;overflow:hidden}.display-card-heading{color:#cbd5e1;justify-content:space-between;gap:12px;padding:9px 11px;font-size:11px;display:flex}.display-card-heading span{color:#94a3b8;text-align:right}.qemu-screen{aspect-ratio:4/3;background:#000;outline:none;place-items:center;width:100%;min-height:260px;display:grid;overflow:hidden}.qemu-screen:focus{box-shadow:inset 0 0 0 2px #3b82f6}.qemu-screen canvas{object-fit:contain;image-rendering:auto;width:100%!important;height:100%!important}.screen-placeholder{color:#94a3b8;text-align:center;padding:20px}.input-card{gap:8px;padding:10px;display:grid}.input-card label{font-size:12px;font-weight:800}.input-card p{color:#94a3b8;margin:0;font-size:10.5px;line-height:1.35}.serial-details summary{color:#cbd5e1;cursor:pointer;padding:10px 12px;font-size:12px;font-weight:750}.serial-details .code-view{color:#d1fae5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px}.dialog{color:#e5e7eb;background:#111827;border:1px solid #374151;border-radius:16px;width:min(680px,100vw - 24px);padding:0;box-shadow:0 24px 80px #0000008c}.dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6}.dialog form{gap:15px;padding:18px;display:grid}.dialog-heading{justify-content:space-between;gap:16px;display:flex}.dialog-heading h2,.dialog-heading p{margin:0}.dialog-heading h2{margin-bottom:5px;font-size:19px}.dialog-heading p{color:#9ca3af;font-size:12px;line-height:1.4}.icon-button{color:#fff;background:#1f2937;border:1px solid #374151;border-radius:9px;flex:none;width:38px;height:38px;font-size:22px}.dialog label{color:#d1d5db;gap:7px;font-size:13px;font-weight:700;display:grid}.dialog input[type=file]{color:#fff;background:#0b1020;border:1px solid #374151;border-radius:9px;width:100%;padding:10px}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-actions-split{justify-content:space-between}.notice{color:#bfdbfe;background:#172554;border:1px solid #3b4b67;border-radius:9px;padding:10px 12px;font-size:12px;line-height:1.45}.asset-list{gap:7px;max-height:260px;display:grid;overflow:auto}.asset-row{background:#0b1020;border:1px solid #273244;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:flex}.asset-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=700px){.qemu-layout{gap:7px;padding:7px}.qemu-screen{min-height:190px}.display-card-heading{gap:3px;display:grid}.display-card-heading span{text-align:left}.dialog-actions-split{flex-direction:column}.asset-row{flex-direction:column;align-items:stretch}}.custom-block-dialog{width:min(820px,100vw - 20px)}.dialog input[type=text],.dialog select{color:#fff;background:#0b1020;border:1px solid #374151;border-radius:9px;outline:none;width:100%;min-width:0;padding:10px 11px;font-size:15px}.dialog input[type=text]:focus,.dialog select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #2563eb2e}.custom-arguments-heading,.custom-existing-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.custom-arguments-heading>div{gap:2px;display:grid}.custom-arguments-heading span{color:#94a3b8;font-size:11px}.custom-argument-rows,.custom-block-list{gap:8px;max-height:270px;display:grid;overflow:auto}.custom-argument-row{background:#0b1020;border:1px solid #273244;border-radius:10px;grid-template-columns:minmax(120px,1fr) minmax(145px,.8fr) minmax(130px,.8fr) auto;align-items:center;gap:7px;padding:8px;display:grid}.custom-argument-row .custom-type-name[hidden]{display:none}.custom-remove-argument{min-width:38px;padding:7px}.custom-block-row{background:#0b1020;border:1px solid #273244;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.custom-block-row strong,.custom-block-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.custom-block-row span{color:#94a3b8;margin-top:3px;font-size:11px}@media (width<=700px){.custom-argument-row{grid-template-columns:1fr}.custom-remove-argument{width:100%}.custom-block-row{grid-template-columns:1fr}}.button-learning{color:#ecfeff;background:#0f766e}.button-learning:hover{background:#0d9488}.blocklyTreeRow{padding-right:35px!important;position:relative!important}.blockos-category-help{color:#e0f2fe;cursor:help;background:#0f172ab3;border:1px solid #ffffff40;border-radius:999px;place-items:center;width:23px;height:23px;padding:0;font-size:12px;font-weight:900;line-height:1;display:grid;position:absolute;top:50%;right:6px;translate:0 -50%}.blockos-category-help:hover,.blockos-category-help:focus-visible{color:#fff;background:#0369a1;border-color:#7dd3fc;outline:none}
