:root{--gold: #f2a900;--orange: #ffab19;--blue: #4c97ff;--green: #59c059;--cyan: #5cb1d6;--purple: #9966ff;--ink: #3a4150;--muted: #5e6573;--line: #e6e8ec;--canvas: #f4f5f7;--panel: #ffffff;--font: "Fredoka", "Baloo 2", Nunito, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--panel-bg: #ffffff;--panel-fg: #1e2633;--panel-muted: #6b7488;--panel-edge: #e2e6ee;--panel-rule: rgba(20, 26, 40, .09);--panel-active-bg: rgba(20, 26, 40, .06);--panel-field-bg: #f1f3f8;--panel-field-line: #d6dbe6;--panel-canvas-bg: rgba(20, 26, 40, .03);--panel-code-accent: #2b6fd6;--panel-ok: #2e9e52;--panel-warn: #b7791a;--panel-err: #d4342f;--panel-log: #1f7a3d;--sb-thumb: #ced2db;--sb-thumb-hover: #b8bec9;--ino-kw: #00838a;--ino-fn: #b8460c;--ino-num: #8e44ad;--ino-str: #2e7d32;--ino-comment: #6e7c8a;--ino-pre: #a83277}[data-theme=dark]{--ink: #e6e9f2;--muted: #8b93ad;--line: #2a3346;--canvas: #0c1018;--panel: #1a2233;--panel-bg: #0f1320;--panel-fg: #dfe5f3;--panel-muted: #8b93ad;--panel-edge: #0a0d17;--panel-rule: rgba(255, 255, 255, .06);--panel-active-bg: rgba(255, 255, 255, .08);--panel-field-bg: #1b2030;--panel-field-line: rgba(255, 255, 255, .12);--panel-canvas-bg: rgba(0, 0, 0, .18);--panel-code-accent: #8fb6ff;--panel-ok: #73d68a;--panel-warn: #ffcf6b;--panel-err: #ffb4b4;--panel-log: #bfe3c8;--sb-thumb: #3a445e;--sb-thumb-hover: #4a5573;--ino-kw: #2fc0b0;--ino-fn: #f2a65e;--ino-num: #bb9af7;--ino-str: #9ece6a;--ino-comment: #7c8a99;--ino-pre: #e58fc4}[data-theme=dark] .blockly pattern line{stroke:#232c40!important}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-logo{height:40px;width:auto;object-fit:contain;display:block}.brand-tag{font-size:13px;font-weight:600;color:var(--muted);border-left:1px solid var(--line);padding-left:12px}.home-btn{display:inline-flex;align-items:center;gap:4px;font-family:var(--font);font-weight:600;font-size:13px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:10px;padding:7px 12px 7px 8px;cursor:pointer;white-space:nowrap}.home-btn:hover{color:var(--ink);border-color:var(--blue)}.doc-title{font-family:var(--font);font-weight:700;font-size:15px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:9px;padding:6px 10px;max-width:220px;min-width:90px}.doc-title:hover{border-color:var(--line)}.doc-title:focus{outline:none;border-color:var(--blue);background:var(--panel)}.brandtext h1{font-size:19px;margin:0;font-weight:700;line-height:1.1}.brandtext p{margin:2px 0 0;font-size:12px;color:var(--muted)}.controls{display:flex;align-items:center;gap:14px}.board-select{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.board-select select{font-family:var(--font);font-size:14px;font-weight:600;color:var(--ink);padding:8px 12px;border:2px solid var(--line);border-radius:12px;background:var(--panel);cursor:pointer}.btn{font-family:var(--font);font-weight:700;font-size:14px;border:none;border-radius:13px;padding:10px 18px;cursor:pointer;color:#1a1c22;background:var(--blue);box-shadow:0 2px #0000001f;transition:transform .05s ease}.btn:active{transform:translateY(1px);box-shadow:0 1px #0000001f}.btn.upload{background:var(--orange);color:#241800}.btn.ghost{background:transparent;color:var(--muted);box-shadow:none;padding:4px 10px;font-size:12px}.icon-btn{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted);cursor:pointer;transition:color .15s ease}.icon-btn:hover{color:var(--ink)}.onboard-tip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 18px;font-size:13.5px;line-height:1.45;color:var(--ink);background:#5cb1d624;border-bottom:1px solid var(--line)}.onboard-tip strong{font-weight:800}.onboard-tip-x{flex:none;font-family:var(--font);font-weight:700;font-size:12.5px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:6px 14px;cursor:pointer;transition:border-color .15s ease}.onboard-tip-x:hover{border-color:var(--cyan)}.workarea{flex:1;display:flex;min-height:0}.blockly{flex:1;min-width:0;min-height:0}.canvas-wrap{position:relative;flex:1;min-width:0;min-height:0;display:flex}.gallery{flex:1;overflow-y:auto;background:var(--canvas)}.gallery-inner{max-width:920px;margin:0 auto;padding:40px 24px 56px}.gallery-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.gallery-logo{height:26px;width:auto}.gallery-tag{font-size:13px;font-weight:600;color:var(--muted);padding-left:12px;border-left:1px solid var(--line)}.gallery-h1{font-size:27px;font-weight:700;color:var(--ink);margin:0;letter-spacing:-.02em}.gallery-sub{font-size:14px;color:var(--muted);margin:6px 0 22px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.gallery-new{display:flex;flex-direction:column;align-items:flex-start;min-height:150px;padding:18px;border-radius:16px;border:2px dashed var(--line);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,transform .15s ease}.gallery-new:hover{border-color:var(--blue);transform:translateY(-2px)}.gallery-new-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#4c97ff24;color:var(--blue);margin-bottom:10px}.gallery-new-title{font-size:15px;font-weight:700;color:var(--ink)}.gallery-new-sub{margin-top:3px;font-size:12px;color:var(--muted);line-height:1.4}.gallery-card{position:relative;border-radius:16px;border:1px solid var(--line);background:var(--panel);overflow:hidden;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.gallery-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 8px 22px #0000002e}.gallery-card-open{display:block;width:100%;padding:0;border:none;background:transparent;cursor:pointer;text-align:left}.gallery-thumb{display:grid;place-items:center;aspect-ratio:4 / 3;background:#0000002e;border-bottom:1px solid var(--line);color:var(--muted);overflow:hidden}.gallery-thumb img{width:100%;height:100%;object-fit:contain;padding:10px}.gallery-card-title{display:block;padding:10px 12px 2px;font-size:13.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-card-sub{display:block;padding:0 12px 11px;font-size:11.5px;color:var(--muted)}.gallery-del{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:30px;height:30px;border:none;border-radius:9px;background:#141824b3;color:#b9c0d4;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .12s ease,color .12s ease,background .12s ease}.gallery-card:hover .gallery-del,.gallery-del:focus-visible{opacity:1}.gallery-del:hover{background:#ff547033;color:#ff6f80}.gallery-empty{display:flex;align-items:center;gap:10px;margin-top:16px;padding:18px 20px;border:1px dashed var(--line);border-radius:14px;font-size:13px;color:var(--muted)}.gallery-empty-ico{color:var(--gold);flex:none}.codepanel{width:384px;background:var(--panel-bg);color:var(--panel-fg);display:flex;flex-direction:column;border-left:1px solid var(--panel-edge)}.codehead{display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:13px;color:var(--panel-muted);border-bottom:1px solid var(--panel-rule)}.codehead .dot{width:10px;height:10px;border-radius:50%;background:var(--green)}.codehead .btn.ghost{margin-left:auto;color:var(--panel-muted)}.code-wrap{position:relative;flex:1;min-height:0;display:flex}.code{flex:1;margin:0;padding:14px 16px;overflow:auto;font-family:var(--mono);font-size:12.5px;line-height:1.65;white-space:pre;color:var(--panel-fg)}.code-copy{position:absolute;top:8px;right:14px;display:inline-flex;align-items:center;gap:5px;font-family:var(--font);font-weight:600;font-size:12px;color:var(--panel-muted);background:var(--panel-field-bg);border:1px solid var(--panel-field-line);border-radius:8px;padding:5px 10px;cursor:pointer;opacity:.9;transition:opacity .12s ease,color .12s ease,border-color .12s ease}.code-copy:hover{opacity:1;color:var(--panel-fg)}.code-copy.copied{opacity:1;color:var(--panel-ok);border-color:var(--panel-ok)}.ino-kw{color:var(--ino-kw)}.ino-fn{color:var(--ino-fn)}.ino-num{color:var(--ino-num)}.ino-str{color:var(--ino-str)}.ino-comment{color:var(--ino-comment);font-style:italic}.ino-pre{color:var(--ino-pre)}.code::-webkit-scrollbar,.serial-log::-webkit-scrollbar,.issues-list::-webkit-scrollbar,.cmd::-webkit-scrollbar,.gallery::-webkit-scrollbar{width:10px;height:10px}.code::-webkit-scrollbar-track,.serial-log::-webkit-scrollbar-track,.issues-list::-webkit-scrollbar-track,.cmd::-webkit-scrollbar-track,.gallery::-webkit-scrollbar-track{background:transparent}.code::-webkit-scrollbar-thumb,.serial-log::-webkit-scrollbar-thumb,.issues-list::-webkit-scrollbar-thumb,.cmd::-webkit-scrollbar-thumb,.gallery::-webkit-scrollbar-thumb{background:var(--sb-thumb);border-radius:5px}.code::-webkit-scrollbar-thumb:hover,.serial-log::-webkit-scrollbar-thumb:hover,.issues-list::-webkit-scrollbar-thumb:hover,.cmd::-webkit-scrollbar-thumb:hover,.gallery::-webkit-scrollbar-thumb:hover{background:var(--sb-thumb-hover)}.code::-webkit-scrollbar-button,.serial-log::-webkit-scrollbar-button,.issues-list::-webkit-scrollbar-button,.cmd::-webkit-scrollbar-button,.gallery::-webkit-scrollbar-button{display:none;width:0;height:0}.modalwrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182480;display:grid;place-items:center;z-index:50}.modal{background:var(--panel);border-radius:18px;padding:24px;width:min(540px,92vw);box-shadow:0 24px 60px #00000040}.modal h2{margin:0 0 6px;font-size:20px}.muted{color:var(--muted);font-size:13px;margin:0 0 12px;line-height:1.5}.cmd{background:#0f1320;color:#dfe5f3;border-radius:12px;padding:14px;font-family:var(--mono);font-size:12.5px;line-height:1.7;white-space:pre-wrap;overflow:auto}.notes{margin:14px 0 18px;padding-left:18px;color:var(--ink);font-size:13px;line-height:1.6}.upload-row{display:flex;align-items:center;gap:12px;margin:4px 0 14px}.upload-port{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.upload-port select{font-family:var(--font);font-weight:600;font-size:14px;color:var(--ink);padding:8px 12px;border:2px solid var(--line);border-radius:12px;background:var(--panel);cursor:pointer}.upload-row .fqbn{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted)}.modal-actions{display:flex;gap:10px;align-items:center}.cmd.log{margin-top:14px;max-height:300px;white-space:pre-wrap}.cmd.log.ok{box-shadow:inset 0 0 0 1.5px #59c0598c}.cmd.log.err{box-shadow:inset 0 0 0 1.5px #ff54708c}.flashbar{height:8px;border-radius:6px;background:var(--line);overflow:hidden;margin-top:14px}.flashbar-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--green));transition:width .2s ease}.muted.small{font-size:11.5px;margin-top:10px}.muted.small code{font-family:var(--mono);font-size:11px;color:var(--ink);background:var(--line);padding:1px 5px;border-radius:5px}.modal.adv{position:relative;width:min(560px,94vw)}.modal.adv h2{margin:0 0 8px;padding-right:30px}.modal-x{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;border:none;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.modal-x:hover{background:var(--line);color:var(--ink)}.adv-board{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 16px;font-size:13px}.adv-board strong{font-size:14px}.adv-board code{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.adv-board .ok{color:#1a7f43}.adv-board .warn{color:#8a5300}[data-theme=dark] .adv-board .ok{color:#73d68a}[data-theme=dark] .adv-board .warn{color:#ffcf6b}.adv-group{margin:0 0 14px}.adv-label{display:block;margin:0 0 7px;font-size:12px;font-weight:600;color:var(--muted)}.adv-actions{display:flex;flex-wrap:wrap;gap:10px}.adv-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.btn.outline{background:transparent;color:var(--ink);box-shadow:none;border:2px solid var(--line)}.btn.outline:not(:disabled):hover{border-color:var(--blue);color:var(--blue)}.btn:disabled{opacity:.5;cursor:default;box-shadow:none}.codepanel{flex:none}.resizer{flex:none;width:7px;cursor:col-resize;background:var(--line);transition:background .15s ease}.resizer:hover,.resizer:active{background:var(--blue)}.blocklyToolboxContents{padding:8px 6px}.blocklyToolboxCategory{height:auto!important}.blocklyTreeRow{height:auto!important;min-height:42px;border-left:0!important;padding:5px!important;margin:1px 0;border-radius:12px;min-width:60px;transition:background .12s ease}.blocklyTreeRow:hover{background:#7f7f7f1a}.blocklyTreeRow.blocklyTreeSelected,.blocklyToolboxCategory[aria-selected=true] .blocklyTreeRow{background:color-mix(in srgb,var(--cat) 24%,transparent)!important}.blocklyTreeRowContentContainer{display:flex!important;flex-direction:column;align-items:center;gap:4px}.blocklyTreeIcon{visibility:visible!important;position:relative;width:24px!important;height:24px!important;border-radius:50%;background:var(--cat, #9aa0ad)}.blocklyTreeIcon:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--glyph-color, transparent);-webkit-mask:var(--glyph) center / 74% 74% no-repeat;mask:var(--glyph) center / 74% 74% no-repeat}.blocklyTreeLabel{font-size:10.5px!important;font-weight:600;text-align:center;line-height:1.15}.blockly .blocklyEditableText>rect{rx:15px;ry:15px}.blockly g.blocklyEditableText:has(image)>rect{fill:#0000002e!important}.blockly g.blocklyEditableText:has(image) image{filter:brightness(0) invert(1)}.blocklyHtmlInput{border-radius:15px!important;text-align:center;padding:0 8px!important}.blocklyDropDownDiv{border-radius:12px!important;border-width:0!important;box-shadow:0 10px 28px #0006!important;padding:4px!important}.blocklyDropDownDiv .blocklyMenu{padding:0!important}.blocklyDropDownDiv .blocklyMenuItem{position:relative;color:#fff!important;text-shadow:0 1px 1.5px rgba(0,0,0,.35);font-family:var(--font);font-weight:600;font-size:13px;border-radius:8px;padding:7px 14px 7px 30px!important;margin:1px 0}.blocklyDropDownDiv .blocklyMenuItemHighlight,.blocklyDropDownDiv .blocklyMenuItem:hover{background-color:#ffffff38!important}.blocklyDropDownDiv .blocklyMenuItemSelected{background-color:#ffffff24!important}.blocklyDropDownDiv .blocklyMenuItemSelected:before{content:"✓";position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:12px;color:#fff}.tabs{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--panel-rule)}.tab{font-family:var(--font);font-weight:600;font-size:13px;color:var(--panel-muted);background:transparent;border:none;padding:6px 10px;border-radius:9px;cursor:pointer}.tab:hover{color:var(--panel-fg)}.tab.active{color:var(--panel-fg);background:var(--panel-active-bg)}.tabs-right{margin-left:auto;display:flex;align-items:center;gap:6px}.tab-collapse{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--panel-muted);border-radius:8px;cursor:pointer}.tab-collapse:hover{color:var(--panel-fg);background:var(--panel-active-bg)}.panel-reopen{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;width:30px;padding-top:12px;background:var(--panel-bg);color:var(--panel-muted);border:none;border-left:1px solid var(--panel-edge);cursor:pointer}.panel-reopen:hover{color:var(--panel-fg);background:var(--panel-active-bg)}.panel-reopen span{writing-mode:vertical-rl;font-family:var(--font);font-weight:600;font-size:12px;letter-spacing:.03em}.serial{flex:1;display:flex;flex-direction:column;min-height:0}.serial-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--panel-rule)}.serial-bar select{font-family:var(--font);font-weight:600;font-size:13px;color:var(--panel-fg);background:var(--panel-field-bg);border:1px solid var(--panel-field-line);border-radius:9px;padding:6px 8px;cursor:pointer}.btn.danger{background:#ff5470}.status-dot{width:10px;height:10px;border-radius:50%;margin-left:auto}.status-dot.on{background:#59c059;box-shadow:0 0 0 3px #59c05940}.status-dot.off{background:var(--panel-muted)}.plot-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;color:var(--panel-fg)}.plot-legend-item{display:inline-flex;align-items:center;gap:5px}.plot-legend-dot{width:9px;height:9px;border-radius:50%;flex:none}.serial-note{margin:8px 12px 0;font-size:12px;color:var(--panel-muted)}.serial-note.err{color:var(--panel-err)}.serial-log{flex:1;margin:0;padding:12px;overflow:auto;font-family:var(--mono);font-size:12.5px;line-height:1.6;white-space:pre-wrap;color:var(--panel-log)}@media(max-width:920px){.workarea{flex-direction:column}.blockly{flex:1;min-height:0}.codepanel{width:100%;height:260px;border-left:none;border-top:1px solid var(--panel-edge)}}.plot-wrap{flex:1;display:flex;flex-direction:column;min-height:0;padding:10px 12px 12px}.plot-canvas{flex:1;width:100%;min-height:0;border-radius:10px;background:var(--panel-canvas-bg);border:1px solid var(--panel-rule)}.serial-note.small{font-size:11px;margin:6px 0 0}.serial-note.small code{font-family:var(--mono);background:var(--panel-active-bg);padding:1px 4px;border-radius:4px}.blocksearch{position:relative}.blocksearch-input{font-family:var(--font);font-size:13px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:9px;padding:7px 10px;width:150px}.blocksearch-input::placeholder{color:var(--muted)}.blocksearch-input:focus{outline:none;border-color:var(--accent, #4c97ff)}.blocksearch-list{position:absolute;top:calc(100% + 4px);left:0;z-index:50;margin:0;padding:4px;list-style:none;width:220px;max-height:280px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #0006}.blocksearch-list li{margin:0}.blocksearch-list button{display:block;width:100%;text-align:left;font-family:var(--font);font-size:13px;color:var(--ink);background:transparent;border:none;padding:7px 9px;border-radius:7px;cursor:pointer}.blocksearch-list button:hover{background:var(--panel-active-bg)}.blocklyFlyoutLabelText,.flyout-label{fill:#ff6680!important;font-family:var(--font)!important;font-weight:700;font-size:12.5px}.btn.run{background:#25b36b;color:#06301b;font-size:15px;padding:11px 22px;box-shadow:0 2px #0000001f,0 6px 16px #25b36b5c}.btn.run:disabled{opacity:.6;cursor:default;box-shadow:none}.ctl-divider{width:1px;align-self:stretch;min-height:26px;margin:0 3px;background:var(--line)}.runwrap{position:relative;display:inline-flex}.runstatus{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:190px;max-width:320px;padding:8px 11px;border-radius:10px;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 30px #0006;font-size:12.5px;line-height:1.5;color:var(--ink)}.runstatus.ok{color:var(--panel-ok)}.runstatus.err{color:var(--panel-err)}.runstatus-x{background:none;border:none;color:inherit;cursor:pointer;font-size:15px;margin-left:6px;opacity:.7}.runbar{height:6px;margin-top:6px;background:var(--line);border-radius:4px;overflow:hidden}.runbar-fill{height:100%;background:#25b36b;transition:width .15s}.boardstatus{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-weight:600;font-size:12px;color:var(--muted);padding:0 2px;white-space:nowrap}.boardstatus-dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}.boardstatus.ready{color:#59c059}.boardstatus.ready .boardstatus-dot{background:#59c059;box-shadow:0 0 0 3px #59c05940}.boardstatus.unplugged{color:#ff8a8a}.boardstatus.unplugged .boardstatus-dot{background:#ff5470;box-shadow:0 0 0 3px #ff547033}.hint-err{margin:10px 0 0;padding:9px 12px;border-radius:10px;background:#ffab191f;color:#ffce7a;font-size:13px;font-weight:600;line-height:1.45}.topbar{flex-wrap:wrap;gap:10px 14px}.controls{flex-wrap:wrap;justify-content:flex-end}@media(max-width:860px){.topbar{padding:9px 12px}.brand-tag,.ctl-divider{display:none}.controls{gap:8px}.board-select span{display:none}.board-select select{max-width:168px}}@media(max-width:420px){.blocksearch-input{width:116px}}@media(pointer:coarse){.icon-btn,.modal-x{width:44px;height:44px}.btn,.onboard-tip-x{min-height:44px}.resizer{width:14px}.board-select select,.blocksearch-input{min-height:44px}.tab{min-height:40px}}.btn:focus-visible,.icon-btn:focus-visible,.modal-x:focus-visible,.onboard-tip-x:focus-visible,.board-select select:focus-visible,.blocksearch-input:focus-visible,.tab:focus-visible,.tab-collapse:focus-visible,.panel-reopen:focus-visible,.runstatus-x:focus-visible{outline:3px solid var(--blue);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.xlb-block-error>.blocklyPath{stroke:#ff4d4d!important;stroke-width:3px!important}@keyframes xlb-flash-kf{0%,to{opacity:1}25%,75%{opacity:.3}50%{opacity:1}}.xlb-flash{animation:xlb-flash-kf .9s ease-in-out 1}.issues-bar{position:absolute;left:calc(var(--toolbox-w, 78px) + 14px);bottom:14px;z-index:20;width:min(340px,calc(100% - var(--toolbox-w, 78px) - 28px));max-height:min(46vh,264px);overflow:hidden;padding:9px 12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0f13202e;font-family:var(--font);font-size:14px;color:var(--ink)}.issues-msg{color:var(--muted)}.issues-jump{flex:none;font-family:var(--font);font-size:13px;font-weight:600;color:var(--ink);background:transparent;border:1.5px solid var(--line);border-radius:9px;padding:6px 13px;cursor:pointer}.issues-jump:hover{background:#7f8caa26}.issues-bar.full{display:flex;flex-direction:column;gap:7px}.issues-count{display:flex;gap:7px}.issues-count .cnt{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px}.issues-count .cnt.err{background:#e24b4a;color:#fff}.issues-count .cnt.warn{background:#e8a317;color:#3a2500}.issues-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-height:0;overflow-y:auto}.issues-list li{display:flex;align-items:flex-start;gap:10px;padding:7px 6px;border-radius:8px}.issues-list li:hover{background:#7f8caa1f}.issues-list .dot{flex:none;width:9px;height:9px;border-radius:50%;margin-top:5px}.issues-list li.error .dot{background:#e24b4a}.issues-list li.warn .dot{background:#e8a317}.issues-list .issues-msg{flex:1;color:var(--ink);white-space:pre-wrap;line-height:1.4}.issues-list .issues-jump{padding:4px 11px;font-size:12.5px}.issues-jump:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.btn.run,.issues-jump{display:inline-flex;align-items:center;gap:6px}.issues-jump{gap:5px}.tab{display:inline-flex;align-items:center;gap:5px}.blocksearch{position:relative;display:inline-flex;align-items:center}.blocksearch-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8b93ad;pointer-events:none}.blocksearch-input{padding-left:31px}.onboard-ico{color:var(--gold);vertical-align:-3px;margin-right:4px}.runstatus svg{vertical-align:-2px;margin-right:2px}.hint-err{display:flex;align-items:flex-start;gap:7px}.hint-err svg{flex:none;margin-top:1px}
