@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap);.wcb[data-v-54382956]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0}.wcb-bar[data-v-54382956]{flex-wrap:wrap;gap:8px;padding:6px 8px;background:#141a24;color:#9fb0c8;font-size:12px}.wcb-bar[data-v-54382956],.wcb-tabs[data-v-54382956]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wcb-tabs[data-v-54382956]{flex-wrap:wrap;gap:4px;min-width:0;-webkit-box-flex:1;-ms-flex:1;flex:1}.wcb-tab[data-v-54382956]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;border:0;background:#243044;color:#c8d4e4;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:12px}.wcb-tab.on[data-v-54382956]{background:#3b82f6;color:#fff}.wcb-name[data-v-54382956]{width:92px;border:0;background:transparent;color:inherit;font:inherit;outline:none}.wcb-del[data-v-54382956]{font-style:normal;opacity:.8}.wcb-add[data-v-54382956]{border:1px dashed #4b5b72;background:transparent;color:#9fb0c8;border-radius:6px;padding:3px 8px;cursor:pointer;font-size:12px}.wcb-actions[data-v-54382956]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-left:auto}.wcb-actions em[data-v-54382956]{font-style:normal;color:#6c7f99}.wcb-btn[data-v-54382956]{border:0;background:#2563eb;color:#fff;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:12px}.wcb-btn.ghost[data-v-54382956]{background:transparent;border:1px solid #3a4658;color:#c8d4e4}.code-field[data-v-54382956]{position:relative;background:#1e2430;min-height:180px}.code-field-hl[data-v-54382956],.code-field-input[data-v-54382956],.code-field-view[data-v-54382956]{margin:0;white-space:pre-wrap;overflow-wrap:break-word;font-family:Consolas,Courier New,monospace;font-size:13px;line-height:1.65;padding:12px 14px}.code-field-hl[data-v-54382956]{position:absolute;inset:0;overflow:auto;pointer-events:none;color:#e7edf5;background:transparent}.code-field-hl[data-v-54382956] span,.code-field-view[data-v-54382956] span{font:inherit}.code-field-input[data-v-54382956]{position:relative;z-index:1;width:100%;min-height:180px;-webkit-box-sizing:border-box;box-sizing:border-box;border:0;background:transparent;color:transparent;caret-color:#fff;resize:vertical;display:block}.code-field-view[data-v-54382956]{min-height:160px;color:#e7edf5;overflow:auto}.wcb-empty[data-v-54382956]{margin:0;padding:12px;color:#8aa0b5;font-size:13px}.wcb[data-v-54382956] .hljs-keyword,.wcb[data-v-54382956] .hljs-literal{color:#ffd23f;font-weight:600}.wcb[data-v-54382956] .hljs-string{color:#7ee0b0}.wcb[data-v-54382956] .hljs-number{color:#ff8fab}.wcb[data-v-54382956] .hljs-comment{color:#8d7f9c;font-style:italic}.wcb[data-v-54382956] .hljs-function,.wcb[data-v-54382956] .hljs-title{color:#8cb4ff}.py-ide[data-v-2ffa140d]{--bg-base:#0b0d11;--bg-panel:#11151b;--bg-panel-2:#161b22;--bg-elev:#1b2129;--border-subtle:rgba(150,180,210,0.1);--border-strong:rgba(150,180,210,0.2);--accent:#34d3c4;--accent-2:#5eead4;--accent-soft:rgba(52,211,196,0.14);--accent-glow:rgba(52,211,196,0.45);--phosphor:#7ee787;--phosphor-glow:rgba(126,231,135,0.3);--amber:#ffd479;--text:#c9d4e0;--text-dim:#6b7785;--danger:#ff6b6b;--font-ui:"IBM Plex Sans","PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;--font-mono:"IBM Plex Mono","JetBrains Mono",Consolas,"Courier New",monospace;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;min-height:0;overflow:hidden;border-radius:14px;position:relative;background:radial-gradient(140% 120% at 50% -10%,#121822 0,var(--bg-base) 55%);color:var(--text);font-family:var(--font-ui);font-size:13px;line-height:1.5;border:1px solid var(--border-strong);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.5),0 30px 80px -30px rgba(0,0,0,.9),0 0 60px -20px var(--accent-soft);box-shadow:0 0 0 1px rgba(0,0,0,.5),0 30px 80px -30px rgba(0,0,0,.9),0 0 60px -20px var(--accent-soft)}.py-ide[data-v-2ffa140d]:before{content:"";position:absolute;top:0;left:14px;right:14px;height:2px;background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(var(--accent)),to(transparent));background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.75;z-index:6;pointer-events:none}.py-ide-tabs[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:-webkit-gradient(linear,left top,left bottom,from(var(--bg-panel-2)),to(var(--bg-panel)));background:linear-gradient(180deg,var(--bg-panel-2),var(--bg-panel));border-bottom:1px solid var(--border-strong);-ms-flex-negative:0;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;cursor:-webkit-grab;cursor:grab}.py-ide-tabs[data-v-2ffa140d]:active{cursor:-webkit-grabbing;cursor:grabbing}.py-ide-tabs .py-ide-tab[data-v-2ffa140d],.py-ide-tabs button[data-v-2ffa140d],.py-ide-tabs input[data-v-2ffa140d]{cursor:pointer}.py-ide-tabs-inner[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden}.py-ide-tabs-inner[data-v-2ffa140d]::-webkit-scrollbar{height:2px}.py-ide-tabs-inner[data-v-2ffa140d]::-webkit-scrollbar-thumb{background:#555;border-radius:1px}.py-ide-tab[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:9px 12px 9px 14px;border:none;border-right:1px solid var(--border-subtle);background:transparent;color:var(--text-dim);font-size:12.5px;cursor:pointer;font-family:var(--font-ui);white-space:nowrap;position:relative;-webkit-transition:background .15s,color .15s;transition:background .15s,color .15s;min-width:0}.py-ide-tab[data-v-2ffa140d]:hover{background:hsla(0,0%,100%,.04);color:#a8b3c0}.py-ide-tab--active[data-v-2ffa140d]{background:var(--bg-base);color:#fff;border-bottom:2px solid var(--accent);-webkit-box-shadow:inset 0 -1px 0 var(--accent),0 4px 18px -8px var(--accent-glow);box-shadow:inset 0 -1px 0 var(--accent),0 4px 18px -8px var(--accent-glow)}.py-ide-tab-icon[data-v-2ffa140d]{width:16px;height:16px;-ms-flex-negative:0;flex-shrink:0;image-rendering:-webkit-optimize-contrast;-webkit-filter:drop-shadow(0 0 .5px rgba(126,231,135,.35));filter:drop-shadow(0 0 .5px rgba(126,231,135,.35));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.py-ide-tab-name[data-v-2ffa140d]{font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;cursor:default}.py-ide-tab-rename-input[data-v-2ffa140d]{width:100px;padding:2px 6px;border:1px solid var(--accent);border-radius:3px;background:var(--bg-base);color:#fff;font-family:var(--font-mono);font-size:12px;outline:none}.py-ide-tab-close[data-v-2ffa140d]{width:18px;height:18px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:4px;font-size:14px;color:#8a96a3;-ms-flex-negative:0;flex-shrink:0;margin-left:2px;-webkit-transition:background .15s,color .15s;transition:background .15s,color .15s}.py-ide-tab-close[data-v-2ffa140d]:hover{background:hsla(0,100%,71%,.18);color:var(--danger)}.py-ide-tab-new[data-v-2ffa140d]{width:34px;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:none;border-right:1px solid var(--border-subtle);background:transparent;color:var(--text-dim);font-size:18px;cursor:pointer;font-family:inherit;-webkit-transition:background .15s,color .15s;transition:background .15s,color .15s}.py-ide-tab-new[data-v-2ffa140d]:hover{background:rgba(52,211,196,.08);color:var(--accent)}.py-ide-win-btns[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-left:auto;border-left:1px solid var(--border-subtle);background:-webkit-gradient(linear,left top,left bottom,from(var(--bg-panel-2)),to(var(--bg-panel)));background:linear-gradient(180deg,var(--bg-panel-2),var(--bg-panel));position:relative;z-index:8}.py-ide-tool-btn[data-v-2ffa140d]{width:44px;min-width:44px;height:100%;min-height:36px;-ms-flex-negative:0;flex-shrink:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:none;background:transparent;color:#d5dde6;font-size:14px;line-height:1;cursor:pointer;-webkit-transition:background .15s,color .15s;transition:background .15s,color .15s}.py-ide-win-ico[data-v-2ffa140d]{display:block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;-webkit-box-flex:0;-ms-flex:none;flex:none}.py-ide-win-ico--min[data-v-2ffa140d]{width:12px;height:2.5px;border-radius:1px;background:#e8eef5;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.25);box-shadow:0 0 0 1px rgba(0,0,0,.25)}.py-ide-win-ico--max[data-v-2ffa140d]{width:10px;height:10px;border:1.5px solid currentColor;border-radius:1px}.py-ide-win-ico--restore[data-v-2ffa140d]{width:8px;height:8px;border:1.5px solid currentColor;border-radius:1px;margin-top:2px;margin-right:2px}.py-ide-win-ico--restore[data-v-2ffa140d]:after{content:"";position:absolute;top:-4px;left:2px;width:8px;height:8px;border:1.5px solid currentColor;border-bottom:none;border-left:none;border-radius:1px;-webkit-box-sizing:border-box;box-sizing:border-box}.py-ide-win-ico--close[data-v-2ffa140d]{width:12px;height:12px}.py-ide-win-ico--close[data-v-2ffa140d]:after,.py-ide-win-ico--close[data-v-2ffa140d]:before{content:"";position:absolute;top:50%;left:50%;width:12px;height:1.5px;border-radius:1px;background:currentColor}.py-ide-win-ico--close[data-v-2ffa140d]:before{-webkit-transform:translate(-50%,-50%) rotate(45deg);transform:translate(-50%,-50%) rotate(45deg)}.py-ide-win-ico--close[data-v-2ffa140d]:after{-webkit-transform:translate(-50%,-50%) rotate(-45deg);transform:translate(-50%,-50%) rotate(-45deg)}.py-ide-tool-btn--min[data-v-2ffa140d]:hover,.py-ide-tool-btn--size[data-v-2ffa140d]:hover{background:rgba(52,211,196,.14);color:var(--accent)}.py-ide-tool-btn--close[data-v-2ffa140d]:hover{background:hsla(0,100%,71%,.22);color:var(--danger)}.py-ide-actions[data-v-2ffa140d]{-ms-flex-align:center;gap:10px;padding:8px 14px;background:var(--bg-base);border-bottom:1px solid var(--border-strong);-ms-flex-negative:0;flex-shrink:0}.py-ide-actions-left[data-v-2ffa140d],.py-ide-actions[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center}.py-ide-actions-left[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-align:center;min-width:0}.py-ide-actions-right[data-v-2ffa140d],.py-ide-status[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.py-ide-status[data-v-2ffa140d]{font-size:12px;color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.2px}.py-ide-status--ready[data-v-2ffa140d]{color:var(--accent)}.py-ide-status--loading[data-v-2ffa140d]{color:#dcdcaa}.py-ide-bound[data-v-2ffa140d]{color:#9ecbff}.py-ide-retry-btn[data-v-2ffa140d]{margin-left:8px;padding:2px 10px;font-size:12px;line-height:1.4;color:#0b1220;background:var(--accent);border:none;border-radius:6px;cursor:pointer;-webkit-transition:-webkit-filter .15s ease,-webkit-transform .1s ease;transition:-webkit-filter .15s ease,-webkit-transform .1s ease;transition:filter .15s ease,transform .1s ease;transition:filter .15s ease,transform .1s ease,-webkit-filter .15s ease,-webkit-transform .1s ease}.py-ide-retry-btn[data-v-2ffa140d]:hover{-webkit-filter:brightness(1.1);filter:brightness(1.1)}.py-ide-retry-btn[data-v-2ffa140d]:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.py-ide-mobile-toggle[data-v-2ffa140d]{display:none;background:var(--bg-panel-2);border:1px solid var(--border-subtle);border-radius:8px;padding:2px;gap:2px}.py-ide-seg[data-v-2ffa140d]{background:transparent;border:none;cursor:pointer;padding:7px 14px;min-height:36px;font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--text-dim);border-radius:6px;-webkit-transition:background .15s,color .15s;transition:background .15s,color .15s;letter-spacing:.5px}.py-ide-seg.is-active[data-v-2ffa140d]{background:var(--accent-soft);color:var(--accent);-webkit-box-shadow:inset 0 0 0 1px rgba(52,211,196,.3);box-shadow:inset 0 0 0 1px rgba(52,211,196,.3)}.py-ide-seg[data-v-2ffa140d]:not(.is-active):hover{color:var(--text)}.py-ide-btn[data-v-2ffa140d]{padding:6px 14px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-panel-2);color:var(--text);font-size:12px;font-weight:500;font-family:var(--font-ui);cursor:pointer;-webkit-transition:background .15s,border-color .15s,color .15s,-webkit-transform .1s,-webkit-box-shadow .15s;transition:background .15s,border-color .15s,color .15s,-webkit-transform .1s,-webkit-box-shadow .15s;transition:background .15s,border-color .15s,color .15s,transform .1s,box-shadow .15s;transition:background .15s,border-color .15s,color .15s,transform .1s,box-shadow .15s,-webkit-transform .1s,-webkit-box-shadow .15s}.py-ide-btn[data-v-2ffa140d]:hover:not(:disabled){background:var(--bg-elev);border-color:rgba(150,180,210,.32);color:#fff;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.py-ide-btn[data-v-2ffa140d]:active:not(:disabled){-webkit-transform:translateY(0);transform:translateY(0)}.py-ide-btn[data-v-2ffa140d]:disabled{opacity:.35;cursor:not-allowed}.py-ide-btn--run[data-v-2ffa140d]{background:-webkit-gradient(linear,left top,left bottom,from(#16a394),to(#0f8579));background:linear-gradient(180deg,#16a394,#0f8579);border-color:rgba(94,234,212,.35);color:#fff;font-weight:600;-webkit-box-shadow:0 1px 0 rgba(94,234,212,.15) inset,0 4px 14px -6px var(--accent-glow);box-shadow:0 1px 0 rgba(94,234,212,.15) inset,0 4px 14px -6px var(--accent-glow)}.py-ide-btn--run[data-v-2ffa140d]:hover:not(:disabled){background:-webkit-gradient(linear,left top,left bottom,from(#1cc0af),to(#12998b));background:linear-gradient(180deg,#1cc0af,#12998b);border-color:rgba(94,234,212,.55);-webkit-box-shadow:0 1px 0 rgba(94,234,212,.25) inset,0 6px 22px -6px var(--accent-glow);box-shadow:0 1px 0 rgba(94,234,212,.25) inset,0 6px 22px -6px var(--accent-glow)}.py-ide-btn--publish[data-v-2ffa140d]{background:#17324d;border-color:#2d6cb5;color:#d7e8ff}.py-ide-btn--publish[data-v-2ffa140d]:hover:not(:disabled){background:#1d4268;color:#fff}.py-work-mask[data-v-2ffa140d]{position:absolute;inset:0;z-index:8;background:rgba(8,12,18,.55);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.py-work-code[data-v-2ffa140d]{gap:6px}.py-work-code-head[data-v-2ffa140d],.py-work-code[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.py-work-code-head[data-v-2ffa140d]{gap:2px}.py-work-code-head strong[data-v-2ffa140d]{font-size:13px}.py-work-code-head span[data-v-2ffa140d]{font-size:12px;color:#6b7785}.py-work-dialog[data-v-2ffa140d]{width:min(1080px,calc(100% - 20px));max-height:calc(100% - 16px);overflow:hidden;background:#fff;color:#243040;border-radius:10px;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.py-work-dialog-head[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:16px;-ms-flex-negative:0;flex-shrink:0;padding:14px 20px 12px;border-bottom:1px solid #e8edf3;background:#fff}.py-work-dialog-body[data-v-2ffa140d]{padding:14px 20px 18px;overflow:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;min-height:0}.py-work-dialog h3[data-v-2ffa140d]{margin:0;font-size:16px}.py-work-dialog p[data-v-2ffa140d]{margin:0 0 4px;color:#6b7785;font-size:13px}.py-work-dialog label[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px;font-size:13px}.py-work-dialog input[data-v-2ffa140d],.py-work-dialog textarea[data-v-2ffa140d]{border:1px solid #d5dbe3;border-radius:6px;padding:8px;font:inherit}.py-work-vh[data-v-2ffa140d]{color:#1d4ed8!important;font-size:12px!important}.py-work-count[data-v-2ffa140d]{font-size:12px;color:#6b7785}.py-work-summary[data-v-2ffa140d]{min-height:128px;font-size:15px;line-height:1.7;padding:12px 14px;resize:vertical}.py-work-circuit[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;color:#456}.py-work-circuit p[data-v-2ffa140d]{margin:0;width:100%}.py-work-file[data-v-2ffa140d]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;border:1.5px solid #241a2e;border-radius:999px;padding:4px 10px;cursor:pointer;font-weight:700}.py-work-actions[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:8px;-ms-flex-negative:0;flex-shrink:0}.py-work-actions button[data-v-2ffa140d]{border:1px solid #d5dbe3;background:#fff;border-radius:6px;padding:6px 12px;cursor:pointer}.py-work-actions .is-primary[data-v-2ffa140d]{background:#006fff;border-color:#006fff;color:#fff}.py-ide-btn--stop[data-v-2ffa140d]{background:-webkit-gradient(linear,left top,left bottom,from(#d04531),to(#a82a1a));background:linear-gradient(180deg,#d04531,#a82a1a);border-color:rgba(255,123,114,.4);color:#fff;font-weight:600;-webkit-animation:py-ide-stop-pulse-2ffa140d 1.6s ease-in-out infinite;animation:py-ide-stop-pulse-2ffa140d 1.6s ease-in-out infinite}.py-ide-btn--stop[data-v-2ffa140d]:hover{background:-webkit-gradient(linear,left top,left bottom,from(#e35944),to(#c2361f));background:linear-gradient(180deg,#e35944,#c2361f);border-color:rgba(255,123,114,.55);-webkit-box-shadow:0 4px 16px -4px rgba(196,43,28,.55);box-shadow:0 4px 16px -4px rgba(196,43,28,.55)}@-webkit-keyframes py-ide-stop-pulse-2ffa140d{0%,to{-webkit-box-shadow:0 0 0 0 rgba(196,43,28,.4);box-shadow:0 0 0 0 rgba(196,43,28,.4)}50%{-webkit-box-shadow:0 0 0 6px rgba(196,43,28,0);box-shadow:0 0 0 6px rgba(196,43,28,0)}}@keyframes py-ide-stop-pulse-2ffa140d{0%,to{-webkit-box-shadow:0 0 0 0 rgba(196,43,28,.4);box-shadow:0 0 0 0 rgba(196,43,28,.4)}50%{-webkit-box-shadow:0 0 0 6px rgba(196,43,28,0);box-shadow:0 0 0 6px rgba(196,43,28,0)}}.py-ide-btn--clear[data-v-2ffa140d],.py-ide-btn--reset[data-v-2ffa140d]{background:transparent;border-color:var(--border-subtle);color:#a8b3c0}.py-ide-btn--clear[data-v-2ffa140d]:hover:not(:disabled),.py-ide-btn--reset[data-v-2ffa140d]:hover:not(:disabled){background:var(--bg-elev);border-color:rgba(150,180,210,.28);color:#fff}.py-ide-main[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0;overflow:hidden}.py-ide-editor-pane[data-v-2ffa140d],.py-ide-main[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.py-ide-editor-pane[data-v-2ffa140d]{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:radial-gradient(120% 100% at 30% 0,#141922 0,#0b0d11 70%)}.py-ide-editor-wrap[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0;overflow:hidden}.py-ide-editor-plain[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border:0;outline:none;resize:none;padding:10px 12px;background:#14151a;color:#e6e6e6;font-family:IBM Plex Mono,JetBrains Mono,Consolas,Courier New,monospace;line-height:1.55;-moz-tab-size:4;-o-tab-size:4;tab-size:4;caret-color:var(--accent)}.py-ide-editor-plain[data-v-2ffa140d]::-webkit-input-placeholder{color:#6b7280}.py-ide-editor-plain[data-v-2ffa140d]::-moz-placeholder{color:#6b7280}.py-ide-editor-plain[data-v-2ffa140d]:-ms-input-placeholder{color:#6b7280}.py-ide-editor-plain[data-v-2ffa140d]::-ms-input-placeholder{color:#6b7280}.py-ide-editor-plain[data-v-2ffa140d]::placeholder{color:#6b7280}.py-ide-divider[data-v-2ffa140d]{-webkit-box-flex:0;-ms-flex:0 0 8px;flex:0 0 8px;position:relative;cursor:col-resize;background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(var(--border-subtle)),to(transparent));background:linear-gradient(90deg,transparent,var(--border-subtle),transparent);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:background .15s;transition:background .15s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none;will-change:background}.py-ide-divider[data-v-2ffa140d]:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--accent);opacity:.35;-webkit-box-shadow:0 0 10px var(--accent-glow);box-shadow:0 0 10px var(--accent-glow);-webkit-transform:translateX(-.5px);transform:translateX(-.5px);-webkit-transition:opacity .15s,-webkit-box-shadow .15s;transition:opacity .15s,-webkit-box-shadow .15s;transition:opacity .15s,box-shadow .15s;transition:opacity .15s,box-shadow .15s,-webkit-box-shadow .15s}.py-ide-divider[data-v-2ffa140d]:active:before,.py-ide-divider[data-v-2ffa140d]:hover:before{opacity:.9;-webkit-box-shadow:0 0 14px var(--accent-glow);box-shadow:0 0 14px var(--accent-glow)}.py-ide-divider-grip[data-v-2ffa140d]{position:relative;z-index:1;width:3px;height:38px;border-radius:4px;background:var(--accent);-webkit-box-shadow:0 0 12px var(--accent-glow);box-shadow:0 0 12px var(--accent-glow);opacity:.55;-webkit-transition:height .15s,opacity .15s;transition:height .15s,opacity .15s}.py-ide-divider:active .py-ide-divider-grip[data-v-2ffa140d],.py-ide-divider:hover .py-ide-divider-grip[data-v-2ffa140d]{opacity:1;height:56px}.py-ide-side-pane[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:240px;max-width:560px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:radial-gradient(140% 100% at 50% 0,#0a1410 0,#03060a 70%);position:relative;overflow:hidden}.py-term-header[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:8px 14px;-ms-flex-negative:0;flex-shrink:0;background:rgba(11,15,18,.85);border-bottom:1px solid rgba(126,231,135,.18);backdrop-filter:blur(8px)}.py-term-dots[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px}.py-term-dots i[data-v-2ffa140d]{width:10px;height:10px;border-radius:50%;background:#2a3138;display:inline-block}.py-term-dots i[data-v-2ffa140d]:first-child{background:#ff5f56;opacity:.75;-webkit-box-shadow:0 0 6px rgba(255,95,86,.4);box-shadow:0 0 6px rgba(255,95,86,.4)}.py-term-dots i[data-v-2ffa140d]:nth-child(2){background:#ffbd2e;opacity:.75;-webkit-box-shadow:0 0 6px rgba(255,189,46,.4);box-shadow:0 0 6px rgba(255,189,46,.4)}.py-term-dots i[data-v-2ffa140d]:nth-child(3){background:var(--phosphor);opacity:.75;-webkit-box-shadow:0 0 6px var(--phosphor-glow);box-shadow:0 0 6px var(--phosphor-glow)}.py-term-title[data-v-2ffa140d]{font-weight:700;text-transform:uppercase;letter-spacing:1.2px}.py-term-status[data-v-2ffa140d],.py-term-title[data-v-2ffa140d]{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.py-term-status[data-v-2ffa140d]{margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px}.py-term-status.is-run[data-v-2ffa140d]{color:var(--phosphor)}.py-err-coach[data-v-2ffa140d]{-ms-flex-negative:0;flex-shrink:0;max-height:42%;overflow:auto;margin:8px 10px 0;padding:10px 12px;border:1px solid rgba(255,120,96,.45);border-radius:8px;background:rgba(48,18,16,.72);color:#f6e7e2}.py-err-coach-head[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:8px;font-size:13px}.py-err-coach-head span[data-v-2ffa140d]{color:#ffb4a8;font-family:var(--font-mono);font-size:12px}.py-err-coach-hint[data-v-2ffa140d]{margin:6px 0 0;font-size:12px;line-height:1.55;color:#ffd7cf}.py-err-ai[data-v-2ffa140d]{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,180,168,.25)}.py-err-ai-title[data-v-2ffa140d]{font-size:12px;font-weight:700;color:#ffd27a}.py-err-ai-text[data-v-2ffa140d]{margin:6px 0 0;font-size:13px;line-height:1.6;white-space:pre-wrap}.py-err-ai-retry[data-v-2ffa140d]{margin-top:8px;padding:2px 8px;border:1px solid rgba(255,210,122,.45);border-radius:4px;background:transparent;color:#ffd27a;font-size:12px;cursor:pointer}.py-term-status.is-err[data-v-2ffa140d]{color:var(--danger)}.py-term-status[data-v-2ffa140d]:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;-webkit-box-shadow:0 0 6px currentColor;box-shadow:0 0 6px currentColor}.py-term-status.is-run[data-v-2ffa140d]:before{-webkit-animation:py-term-status-pulse-2ffa140d 1.1s ease-in-out infinite;animation:py-term-status-pulse-2ffa140d 1.1s ease-in-out infinite}@-webkit-keyframes py-term-status-pulse-2ffa140d{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.4;-webkit-transform:scale(.7);transform:scale(.7)}}@keyframes py-term-status-pulse-2ffa140d{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.4;-webkit-transform:scale(.7);transform:scale(.7)}}.py-term-screen[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:0;overflow-y:auto;padding:12px 16px;font-family:var(--font-mono);font-size:13px;line-height:1.7;color:var(--phosphor);text-shadow:0 0 8px var(--phosphor-glow);background:transparent;position:relative}.py-term-screen[data-v-2ffa140d]:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.18) 3px);z-index:2}.py-term-screen[data-v-2ffa140d]:after{content:"";position:absolute;left:0;right:0;top:0;height:30%;pointer-events:none;z-index:3;background:-webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(50%,var(--phosphor-glow)),to(transparent));background:linear-gradient(180deg,transparent,var(--phosphor-glow) 50%,transparent);-webkit-animation:py-term-poweron-2ffa140d 1.1s ease-out 1;animation:py-term-poweron-2ffa140d 1.1s ease-out 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0}@-webkit-keyframes py-term-poweron-2ffa140d{0%{-webkit-transform:translateY(-110%);transform:translateY(-110%);opacity:0}20%{opacity:.85}to{-webkit-transform:translateY(380%);transform:translateY(380%);opacity:0}}@keyframes py-term-poweron-2ffa140d{0%{-webkit-transform:translateY(-110%);transform:translateY(-110%);opacity:0}20%{opacity:.85}to{-webkit-transform:translateY(380%);transform:translateY(380%);opacity:0}}.py-term-line[data-v-2ffa140d]{white-space:pre-wrap;word-break:break-word;position:relative;z-index:1;text-align:left;padding:1px 0}.py-term-gutter[data-v-2ffa140d]{color:var(--text-dim);margin-right:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-flex-negative:0;flex-shrink:0}.py-term-line--err[data-v-2ffa140d]{color:#ff8a80;text-shadow:0 0 8px rgba(255,138,128,.4);text-align:center;padding:6px 14px;margin:6px 4px;border-left:3px solid var(--danger);background:hsla(0,100%,71%,.08);border-radius:0 4px 4px 0;font-weight:500}.py-term-line--sys[data-v-2ffa140d]{color:#6b7b8b;font-style:italic;text-shadow:none}.py-term-line--input[data-v-2ffa140d]{color:var(--amber);text-shadow:0 0 8px rgba(255,212,121,.35)}.py-term-line--out[data-v-2ffa140d]{color:var(--phosphor)}.py-term-line--prompt[data-v-2ffa140d]{color:var(--phosphor);text-shadow:0 0 8px var(--phosphor-glow);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap;background:-webkit-gradient(linear,left top,right top,from(rgba(126,231,135,.1)),to(transparent));background:linear-gradient(90deg,rgba(126,231,135,.1),transparent);padding:2px 6px;border-radius:3px;-webkit-animation:py-term-prompt-blink-2ffa140d .22s ease-out;animation:py-term-prompt-blink-2ffa140d .22s ease-out}.py-term-prompt-text[data-v-2ffa140d]{white-space:pre}.py-term-inline-input[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:60px;background:transparent;border:none;outline:none;color:var(--phosphor);font-family:inherit;font-size:inherit;caret-color:var(--amber);padding:0}.py-term-inline-input[data-v-2ffa140d]::-webkit-input-placeholder{color:#3a464f}.py-term-inline-input[data-v-2ffa140d]::-moz-placeholder{color:#3a464f}.py-term-inline-input[data-v-2ffa140d]:-ms-input-placeholder{color:#3a464f}.py-term-inline-input[data-v-2ffa140d]::-ms-input-placeholder{color:#3a464f}.py-term-inline-input[data-v-2ffa140d]::placeholder{color:#3a464f}.py-term-inputbar[data-v-2ffa140d]{display:none}@-webkit-keyframes py-term-prompt-blink-2ffa140d{0%{background:rgba(126,231,135,.18)}to{background:-webkit-gradient(linear,left top,right top,from(rgba(126,231,135,.1)),to(transparent));background:linear-gradient(90deg,rgba(126,231,135,.1),transparent)}}@keyframes py-term-prompt-blink-2ffa140d{0%{background:rgba(126,231,135,.18)}to{background:-webkit-gradient(linear,left top,right top,from(rgba(126,231,135,.1)),to(transparent));background:linear-gradient(90deg,rgba(126,231,135,.1),transparent)}}.py-term-hint[data-v-2ffa140d]{color:#44515c;font-size:12.5px;font-style:italic;line-height:1.9;position:relative;z-index:1}.py-term-hint kbd[data-v-2ffa140d]{border-radius:4px;border:1px solid rgba(126,231,135,.22)}.py-term-hint code[data-v-2ffa140d],.py-term-hint kbd[data-v-2ffa140d]{padding:2px 6px;background:rgba(126,231,135,.1);color:var(--phosphor);font-style:normal;font-size:11px;font-family:var(--font-mono)}.py-term-hint code[data-v-2ffa140d]{border-radius:4px}.py-ide-statusbar[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:5px 20px 5px 14px;background:-webkit-gradient(linear,left top,left bottom,from(var(--bg-panel-2)),to(var(--bg-base)));background:linear-gradient(180deg,var(--bg-panel-2),var(--bg-base));border-top:1px solid var(--border-strong);color:var(--text-dim);font-size:11px;font-weight:500;font-family:var(--font-mono);letter-spacing:.3px;-ms-flex-negative:0;flex-shrink:0}.py-ide-statusbar>span[data-v-2ffa140d]:first-of-type{color:var(--accent);font-weight:600}.py-ide-statusbar-sep[data-v-2ffa140d]{opacity:.4}.py-ide-statusbar-right[data-v-2ffa140d]{margin-left:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;opacity:.85}.py-ide-fontsize[data-v-2ffa140d]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;padding-left:10px;border-left:1px solid var(--border-subtle)}.py-ide-fontsize-btn[data-v-2ffa140d]{width:19px;height:19px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-panel-2);color:var(--text);font-size:13px;line-height:1;font-family:var(--font-mono);cursor:pointer;-webkit-transition:background .15s,border-color .15s,color .15s;transition:background .15s,border-color .15s,color .15s}.py-ide-fontsize-btn[data-v-2ffa140d]:hover:not(:disabled){background:var(--bg-elev);border-color:rgba(52,211,196,.4);color:var(--accent)}.py-ide-fontsize-btn[data-v-2ffa140d]:disabled{opacity:.3;cursor:not-allowed}.py-ide-fontsize-val[data-v-2ffa140d]{min-width:34px;text-align:center;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-transition:color .15s;transition:color .15s}.py-ide-fontsize-val[data-v-2ffa140d]:hover{color:var(--accent)}.py-ide-spinner[data-v-2ffa140d]{display:inline-block;width:14px;height:14px;border:2px solid hsla(0,0%,100%,.25);border-top-color:var(--accent);border-radius:50%;-webkit-animation:py-ide-spin-2ffa140d .7s linear infinite;animation:py-ide-spin-2ffa140d .7s linear infinite;vertical-align:middle;-ms-flex-negative:0;flex-shrink:0}@-webkit-keyframes py-ide-spin-2ffa140d{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes py-ide-spin-2ffa140d{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.py-ide-editor-wrap[data-v-2ffa140d] .ace_gutter{background:transparent;color:inherit}.py-ide-editor-wrap[data-v-2ffa140d] .ace_gutter-active-line{background:rgba(52,211,196,.08)}.py-ide-editor-wrap[data-v-2ffa140d] .ace_scroller{background:transparent}.py-ide-editor-wrap[data-v-2ffa140d] .py-ide-error-line{background:rgba(248,81,73,.18);position:absolute;-webkit-box-shadow:inset 3px 0 0 var(--danger);box-shadow:inset 3px 0 0 var(--danger)}.py-ide-editor-wrap[data-v-2ffa140d] .ace_gutter-cell.py-ide-error-gutter{background:rgba(248,81,73,.28)!important;color:#ff7b72!important;font-weight:600;-webkit-box-shadow:inset 3px 0 0 var(--danger);box-shadow:inset 3px 0 0 var(--danger);position:relative;z-index:1}.py-ide-editor-wrap[data-v-2ffa140d] .ace_error{background-image:none;border-bottom:1px solid var(--danger)}.py-ide-main.is-resizing[data-v-2ffa140d],.py-ide-main.is-resizing [data-v-2ffa140d]{cursor:col-resize!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important;-webkit-user-select:none!important}.py-ide-main.is-resizing .py-ide-editor-pane[data-v-2ffa140d],.py-ide-main.is-resizing .py-ide-side-pane[data-v-2ffa140d]{-webkit-transform:translateZ(0);transform:translateZ(0);pointer-events:none}.py-ide-main.is-resizing .py-ide-divider[data-v-2ffa140d]{pointer-events:auto}@media (max-width:820px){.py-ide[data-v-2ffa140d]{border-radius:10px;min-height:0}.py-ide-actions[data-v-2ffa140d]{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;gap:6px;padding:6px 8px}.py-ide-actions-left[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;min-width:0}.py-ide-mobile-toggle[data-v-2ffa140d]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.py-ide-actions-right[data-v-2ffa140d]{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%;-ms-flex-wrap:nowrap;flex-wrap:nowrap;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:thin}.py-ide-main[data-v-2ffa140d]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:0;-webkit-box-flex:1;-ms-flex:1;flex:1}.py-ide-editor-pane[data-v-2ffa140d],.py-ide-side-pane[data-v-2ffa140d]{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important;min-width:0!important;max-width:none!important;width:100%;height:100%;min-height:0}.py-ide-divider[data-v-2ffa140d],.py-ide-editor-pane.is-hidden-mobile[data-v-2ffa140d],.py-ide-side-pane.is-hidden-mobile[data-v-2ffa140d]{display:none}.py-ide-btn[data-v-2ffa140d]{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-height:36px;padding:6px 10px;font-size:12px;white-space:nowrap}.py-ide-seg[data-v-2ffa140d]{min-height:36px;padding:8px 14px;-webkit-box-flex:1;-ms-flex:1;flex:1}.py-ide-tab-close[data-v-2ffa140d]{width:28px;height:28px}.py-ide-tab-new[data-v-2ffa140d]{width:40px}.py-ide-tool-btn[data-v-2ffa140d]{width:40px;min-width:40px}.py-ide-tab[data-v-2ffa140d]{padding:10px 12px}.py-ide-status[data-v-2ffa140d]{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.py-ide-bound[data-v-2ffa140d]{display:none}.py-ide-tabs[data-v-2ffa140d]{overflow:hidden}.py-ide-tabs-inner[data-v-2ffa140d]{-webkit-overflow-scrolling:touch}}.py-ide-target-switch[data-v-2ffa140d]{position:relative;-webkit-box-flex:0;-ms-flex:none;flex:none}.py-ide-target-pill[data-v-2ffa140d]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:2px 10px;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg-elev);color:var(--text);font-size:11px;font-weight:600;font-family:var(--font-ui);cursor:pointer;-webkit-transition:border-color .15s ease,background .15s ease;transition:border-color .15s ease,background .15s ease}.py-ide-target-pill.is-open[data-v-2ffa140d],.py-ide-target-pill[data-v-2ffa140d]:hover{border-color:var(--accent);background:var(--bg-panel)}.py-ide-target-dot[data-v-2ffa140d]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:6px;height:6px;border-radius:50%;background:#8b98a8}.py-ide-target-dot.is-python[data-v-2ffa140d]{background:#66d9ef}.py-ide-target-dot.is-board[data-v-2ffa140d]{background:#ffd479}.py-ide-target-caret[data-v-2ffa140d]{font-size:8px;color:var(--text-dim);-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease}.py-ide-target-caret.is-open[data-v-2ffa140d]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.py-ide-target-menu[data-v-2ffa140d]{position:absolute;left:0;bottom:calc(100% + 8px);width:264px;padding:5px;border-radius:10px;background:var(--bg-panel-2);border:1px solid var(--border-strong);-webkit-box-shadow:0 10px 28px rgba(0,0,0,.5);box-shadow:0 10px 28px rgba(0,0,0,.5);z-index:60}.py-ide-target-item[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font-family:var(--font-ui);text-align:left;cursor:pointer}.py-ide-target-item[data-v-2ffa140d]:hover{background:hsla(0,0%,100%,.06)}.py-ide-target-item.is-active[data-v-2ffa140d]{background:var(--accent-soft)}.py-ide-target-item-name[data-v-2ffa140d]{font-size:12.5px;font-weight:600;-webkit-box-flex:0;-ms-flex:none;flex:none}.py-ide-target-item-desc[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;font-size:11px;color:var(--text-dim);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.py-ide-target-check[data-v-2ffa140d]{-webkit-box-flex:0;-ms-flex:none;flex:none;color:var(--accent);font-weight:700;font-size:12px}.py-ide-target-pop-enter-active[data-v-2ffa140d],.py-ide-target-pop-leave-active[data-v-2ffa140d]{-webkit-transition:opacity .14s ease,-webkit-transform .14s ease;transition:opacity .14s ease,-webkit-transform .14s ease;transition:opacity .14s ease,transform .14s ease;transition:opacity .14s ease,transform .14s ease,-webkit-transform .14s ease}.py-ide-target-pop-enter[data-v-2ffa140d],.py-ide-target-pop-leave-to[data-v-2ffa140d]{opacity:0;-webkit-transform:translateY(4px);transform:translateY(4px)}.py-ide-vsplit[data-v-2ffa140d]{-webkit-box-flex:0;-ms-flex:none;flex:none;position:relative;height:9px;margin:2px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:row-resize;background:transparent}.py-ide-vsplit[data-v-2ffa140d]:before{content:"";width:100%;height:1px;background:var(--border-strong,rgba(150,180,210,.2));-webkit-transition:background .15s ease;transition:background .15s ease}.py-ide-vsplit.is-active[data-v-2ffa140d]:before,.py-ide-vsplit[data-v-2ffa140d]:hover:before{background:var(--accent,#34d3c4)}.py-ide-vsplit-grip[data-v-2ffa140d]{position:absolute;width:34px;height:3px;border-radius:2px;background:rgba(150,180,210,.28);-webkit-transition:background .15s ease;transition:background .15s ease}.py-ide-vsplit.is-active .py-ide-vsplit-grip[data-v-2ffa140d],.py-ide-vsplit:hover .py-ide-vsplit-grip[data-v-2ffa140d]{background:var(--accent,#34d3c4)}.py-ide-side-pane.is-vsplitting[data-v-2ffa140d]{-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.py-ide-be[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;padding:6px 10px;font-size:11.5px;color:var(--text-dim,#8b949e);background:hsla(0,0%,100%,.03);border-bottom:1px solid hsla(0,0%,100%,.07)}.py-ide-be.is-on[data-v-2ffa140d]{color:var(--phosphor,#7ee787);background:rgba(126,231,135,.07)}.py-ide-be.is-off[data-v-2ffa140d]{color:var(--danger,#ff6b6b);background:hsla(0,100%,71%,.07)}.py-ide-be.is-checking[data-v-2ffa140d]{color:var(--accent-2,#5eead4);background:rgba(94,234,212,.06)}.py-ide-be.is-cloud-mode.is-on[data-v-2ffa140d]{color:#7dd3fc;background:rgba(56,189,248,.08)}.py-ide-be.is-cloud-mode.is-on .py-ide-be-dot[data-v-2ffa140d]{background:#38bdf8;-webkit-box-shadow:0 0 8px rgba(56,189,248,.35);box-shadow:0 0 8px rgba(56,189,248,.35)}.py-ide-be-dot[data-v-2ffa140d]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:8px;height:8px;border-radius:50%;background:#55606e}.py-ide-be.is-on .py-ide-be-dot[data-v-2ffa140d]{background:var(--phosphor,#7ee787);-webkit-box-shadow:0 0 8px var(--phosphor-glow,rgba(126,231,135,.3));box-shadow:0 0 8px var(--phosphor-glow,rgba(126,231,135,.3))}.py-ide-be.is-off .py-ide-be-dot[data-v-2ffa140d]{background:var(--danger,#ff6b6b)}.py-ide-be-badge[data-v-2ffa140d]{-webkit-box-flex:0;-ms-flex:none;flex:none;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.py-ide-be-badge.is-cloud[data-v-2ffa140d]{color:#7dd3fc;background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.4)}.py-ide-be-badge.is-local[data-v-2ffa140d]{color:#86efac;background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.4)}.py-ide-be-badge.is-serial[data-v-2ffa140d]{color:#fbbf24;background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.35)}.py-ide-be-text[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:140px}.py-ide-be-switch[data-v-2ffa140d]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:none;flex:none;border:1px solid rgba(148,163,184,.35);border-radius:7px;overflow:hidden;background:rgba(15,23,42,.35)}.py-ide-be-sw[data-v-2ffa140d]{margin:0;padding:3px 10px;border:0;background:transparent;color:var(--text-dim,#8b949e);font-family:var(--font-ui);font-size:11px;font-weight:600;cursor:pointer;line-height:1.4}.py-ide-be-sw+.py-ide-be-sw[data-v-2ffa140d]{border-left:1px solid rgba(148,163,184,.28)}.py-ide-be-sw.is-active[data-v-2ffa140d]{color:#0f172a;background:#e2e8f0}.py-ide-be.is-cloud-mode .py-ide-be-sw.is-active[data-v-2ffa140d]{color:#082f49;background:#7dd3fc}.py-ide-be.is-local-mode .py-ide-be-sw.is-active[data-v-2ffa140d]{color:#052e16;background:#86efac}.py-ide-be .py-ide-btn[data-v-2ffa140d],.py-ide-be a.py-ide-btn[data-v-2ffa140d]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;height:28px;min-height:28px;padding:0 11px;font-size:11.5px;line-height:1;border-radius:7px;white-space:nowrap;text-decoration:none}.py-ide-be .py-ide-be-switch[data-v-2ffa140d]{-webkit-box-sizing:border-box;box-sizing:border-box;height:28px;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;border-radius:7px}.py-ide-be .py-ide-be-sw[data-v-2ffa140d]{height:100%;padding:0 11px;font-size:11.5px;line-height:1}.py-ide-be-link[data-v-2ffa140d]{-webkit-box-flex:0;-ms-flex:none;flex:none;border:0;background:none;padding:0;color:var(--text-dim,#8b949e);font-family:var(--font-ui);font-size:11px;text-decoration:underline;cursor:pointer}.py-ide-be-help[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%;margin:2px 0 0;padding:7px 9px;border-left:2px solid var(--border-strong,rgba(150,180,210,.2));border-radius:4px;background:rgba(0,0,0,.25);font-size:11px;line-height:1.7;color:var(--text,#c9d4e0)}.py-ide-be-help code[data-v-2ffa140d]{padding:0 4px;border-radius:4px;background:hsla(0,0%,100%,.07);color:var(--amber,#ffd479);font-family:var(--font-mono,Consolas,monospace);font-size:10.5px}.py-ide-be-help p[data-v-2ffa140d]{margin:0 0 6px}.py-ide-be-help p[data-v-2ffa140d]:last-child{margin-bottom:0}.py-ide-be-help ol[data-v-2ffa140d]{margin:0 0 6px;padding-left:18px;list-style:decimal}.py-ide-be-help li[data-v-2ffa140d]{margin:3px 0}.py-ide-be-help b[data-v-2ffa140d]{color:var(--accent-2,#5eead4);font-weight:700}.py-ide-be-help b.is-warn[data-v-2ffa140d]{color:var(--danger,#ff6b6b)}.py-ide-be-help-note[data-v-2ffa140d]{color:var(--text-dim,#8b949e)}.py-ide-btn--ghost[data-v-2ffa140d]{background:transparent;border-color:var(--border-strong,rgba(150,180,210,.2));color:var(--text-dim,#8b949e)}.py-ide-btn--ghost[data-v-2ffa140d]:hover{background:hsla(0,0%,100%,.05);color:var(--text,#c9d4e0)}.py-ide-be-log[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%;margin:2px 0 0;padding:7px 9px;border-radius:6px;background:#05070a;border:1px solid var(--border-subtle,rgba(150,180,210,.1));max-height:150px;overflow-y:auto;font-family:var(--font-mono,Consolas,monospace);font-size:11px;line-height:1.6;color:var(--phosphor,#7ee787);-moz-user-select:text;-ms-user-select:text;user-select:text;-webkit-user-select:text}.py-ide-be-log-line[data-v-2ffa140d]{white-space:pre-wrap;word-break:break-all}.py-ide-board-pane[data-v-2ffa140d]{margin-top:8px;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;background:#14181f;overflow:hidden}.py-ide-board-bar[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:7px 10px;font-size:12px;color:#9aa7bd;background:hsla(0,0%,100%,.04);-ms-flex-wrap:wrap;flex-wrap:wrap}.py-ide-board-dot[data-v-2ffa140d]{width:8px;height:8px;border-radius:50%;background:#555;-webkit-box-flex:0;-ms-flex:none;flex:none}.py-ide-board-dot.is-on[data-v-2ffa140d]{background:#3ecf6e}.py-ide-board-bar .py-ide-btn[data-v-2ffa140d]{padding:3px 10px;font-size:12px}.py-ide-board-inputrow[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid hsla(0,0%,100%,.07)}.py-ide-board-ps[data-v-2ffa140d]{color:var(--accent,#4f8cff);font-family:Consolas,Menlo,monospace;font-size:12px;-webkit-box-flex:0;-ms-flex:none;flex:none}.py-ide-board-input[data-v-2ffa140d]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;padding:4px 8px;border:1px solid hsla(0,0%,100%,.12);border-radius:6px;background:#0d1117;color:#e6edf3;font-family:Consolas,Menlo,monospace;font-size:12px;outline:none}.py-ide-board-input[data-v-2ffa140d]:focus{border-color:var(--accent,#4f8cff)}.py-ide-board-wifi[data-v-2ffa140d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid hsla(0,0%,100%,.07);-ms-flex-wrap:wrap;flex-wrap:wrap}.py-ide-board-wifi-title[data-v-2ffa140d]{font-size:12px;font-weight:600;color:var(--text-dim,#8b949e);letter-spacing:.4px}.py-ide-board-wifi-title[data-v-2ffa140d],.py-ide-board-wifi .py-ide-board-input[data-v-2ffa140d]{-webkit-box-flex:0;-ms-flex:none;flex:none}.py-ide-board-wifi-ssid[data-v-2ffa140d]{width:168px}.py-ide-board-wifi-pwd[data-v-2ffa140d]{width:128px}.py-ide-board-wifi-hint[data-v-2ffa140d]{margin:0;padding:2px 12px 10px;font-size:11px;line-height:1.7;color:var(--text-dim,#8b949e)}.py-ide-board-wifi-ok[data-v-2ffa140d]{font-size:12px;font-weight:600;color:var(--phosphor,#7ee787)}@media (prefers-reduced-motion:reduce){.py-ide-btn--stop[data-v-2ffa140d],.py-ide-spinner[data-v-2ffa140d],.py-term-screen[data-v-2ffa140d]:after,.py-term-status.is-run[data-v-2ffa140d]:before{-webkit-animation:none!important;animation:none!important}.py-ide-btn[data-v-2ffa140d]{-webkit-transition:none;transition:none}.py-ide-btn[data-v-2ffa140d]:hover:not(:disabled){-webkit-transform:none;transform:none}}