.pyc-topbar{grid-area:dtop}.pyc-statusbar{grid-area:dstatus}@media (width<=767px){.pyc-desktop-only{display:none!important}}.pyc-topbar{background:var(--pyc-chrome);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;padding:.2rem .5rem;display:flex}.pyc-tb-group{align-items:center;gap:.3rem;min-width:0;display:flex}.pyc-tb-sep{background:var(--border);width:1px;height:1.25rem;margin-inline:.2rem}.pyc-statusbar{color:#fff;background:#007acc;flex-wrap:wrap;justify-content:space-between;gap:0 1rem;font-size:12px;line-height:22px;display:flex}.pyc-ide[data-running=true] .pyc-statusbar{background:#c63}.pyc-sb-group{flex-wrap:wrap;min-width:0;display:flex}.pyc-sb-group>*{padding-inline:.45rem}.pyc-sb-group:first-child>:first-child{background:#16825d;padding-inline:.65rem}.pyc-sb-group>:empty{display:none}.pyc-sb-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.pyc-sb-btn:hover{background:#ffffff1f}.pyc-mtop{grid-area:mtop}.pyc-mkeys{grid-area:keys}.pyc-mbar{grid-area:mbar}@media (width>=768px){.pyc-mobile-only{display:none!important}}.pyc-sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=767px){.pyc{padding-inline:.5rem}#pyc-ide{--pyc-row:2.4rem;grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"mtop""body""keys""mbar";height:max(420px,100dvh - 4.75rem)}#pyc-ide.is-max{inset:auto 0;top:var(--pyc-vv-top,0px);height:var(--pyc-vv-h,100dvh)}#pyc-ide .pyc-mtop{background:var(--pyc-chrome);align-items:center;gap:.3rem;min-width:0;padding:.3rem .4rem;display:flex;position:relative}#pyc-ide .pyc-mtop-spacer{flex:1}#pyc-ide .pyc-mtop .pyc-project{min-width:0;max-width:40vw;min-height:2.5rem}#pyc-ide .pyc-mtop .pyc-btn{min-height:2.5rem;padding-inline:.9rem}#pyc-ide .pyc-status--dot{background:0 0;border:0;padding:.45rem}#pyc-ide:not(.is-max) .pyc-m-exit,#pyc-ide:not(.is-max) .pyc-m-exit-item,#pyc-ide.is-max .pyc-m-enter-full{display:none}#pyc-ide .pyc-m-dots{font-size:1.35rem;line-height:1}#pyc-ide .pyc-m-menu{top:calc(100% + .25rem);z-index:20;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--pyc-side);flex-direction:column;min-width:13rem;padding:.35rem;display:flex;position:absolute;inset-inline-end:.4rem;box-shadow:0 2px 8px #0000005c}#pyc-ide .pyc-m-menu[hidden]{display:none}#pyc-ide .pyc-m-menu button{min-height:2.75rem;color:var(--text);font-family:var(--font-body);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:.65rem;padding:0 .75rem;font-size:14px;display:flex}#pyc-ide .pyc-m-menu button:active,#pyc-ide .pyc-m-menu button:hover{background:var(--pyc-primary-soft)}#pyc-ide .pyc-editor .cm-lineNumbers .cm-gutterElement{padding:0 .7em 0 .3em}#pyc-ide .pyc-iconbtn{width:2.5rem;height:2.5rem}#pyc-ide .pyc-tree-actions .pyc-iconbtn{width:2rem;height:2rem}#pyc-ide .pyc-iconbtn--sm{width:2.25rem;height:2.25rem}#pyc-ide .pyc-act{width:2.75rem;height:2.75rem}#pyc-ide .pyc-btn--xs{min-height:2.25rem}#pyc-ide .pyc-tabs{min-height:2.5rem}#pyc-ide .pyc-tab{padding-inline-start:.6rem}#pyc-ide .pyc-tab-x{width:2rem;height:2rem}#pyc-ide .pyc-ptab{padding:.6rem .65rem}#pyc-ide .pyc-body{grid-template-columns:minmax(0,1fr)}#pyc-ide .pyc-main{grid-template-rows:auto minmax(0,1fr)}#pyc-ide .pyc-hsplit,#pyc-ide[data-mview=code] .pyc-panel,#pyc-ide[data-mview=output] .pyc-tabs,#pyc-ide[data-mview=output] .pyc-editor-wrap{display:none}#pyc-ide[data-mview=output] .pyc-main{grid-template-rows:minmax(0,1fr)}#pyc-ide .pyc-panel-head{flex-wrap:wrap}#pyc-ide .pyc-activity,#pyc-ide .pyc-sidebar{z-index:6;visibility:hidden;position:absolute;inset-block:0}#pyc-ide .pyc-activity{inset-inline-start:0}#pyc-ide .pyc-sidebar{width:min(18rem,100% - 3.25rem);box-shadow:var(--card-shadow);inset-inline-start:2.75rem}#pyc-ide[data-sidebar=closed] .pyc-sidebar{display:flex}#pyc-ide[data-drawer=open] .pyc-activity,#pyc-ide[data-drawer=open] .pyc-sidebar{visibility:visible}#pyc-ide[data-drawer=open] .pyc-backdrop{z-index:5;background:#0006;display:block;position:absolute;inset:0}#pyc-ide .pyc-activity,#pyc-ide .pyc-sidebar,#pyc-ide .pyc-main{grid-area:1/1}#pyc-ide .pyc-mkeys{border-top:1px solid var(--border);background:var(--pyc-chrome);scrollbar-width:none;gap:.3rem;padding:.3rem .4rem;display:none;overflow-x:auto}#pyc-ide[data-mview=code][data-editing=true] .pyc-mkeys{display:flex}#pyc-ide .pyc-mkey{background:var(--pyc-btn2-bg);min-width:2.6rem;height:2.4rem;color:var(--pyc-btn2-fg);font-family:var(--font-code);touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;border-radius:2px;flex:none;padding:0 .6rem;font-size:15px}#pyc-ide .pyc-mkey:active{background:var(--pyc-btn2-hover)}#pyc-ide .pyc-mbar{padding:.3rem .4rem calc(.3rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--pyc-chrome);justify-content:space-between;align-items:center;gap:.5rem;display:flex}#pyc-ide .pyc-mswitch{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);padding:0;display:inline-flex}#pyc-ide .pyc-mswitch button{border-radius:var(--radius-pill);min-height:2.35rem;color:var(--text-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0 1rem;font-size:13px;font-weight:400;display:inline-flex;position:relative}#pyc-ide .pyc-mswitch button[aria-pressed=true]{background:var(--pyc-btn-bg);color:#fff}#pyc-ide .pyc-unread{background:var(--pyc-warning);border-radius:9999px;width:.5rem;height:.5rem;display:none}#pyc-ide[data-unread=true] .pyc-unread{display:inline-block}#pyc-ide .pyc-mbar-status{font-family:var(--font-code);color:var(--text-muted);white-space:nowrap;font-size:.72rem}#pyc-ide .pyc-settings{grid-template-columns:minmax(0,1fr)}#pyc-ide .pyc-set-tabs{flex-direction:row;overflow-x:auto}#pyc-ide .pyc-set-tab{white-space:nowrap}}.pyc-body{grid-area:body;grid-template-columns:auto auto minmax(0,1fr);min-height:0;display:grid;position:relative}.pyc-activity{background:var(--pyc-activity);flex-direction:column;align-items:center;display:flex}.pyc-act-spacer{flex:1}.pyc-act{border:0;color:#ffffff80;cursor:pointer;background:0 0;border-inline:2px solid #0000;place-items:center;width:3rem;height:3rem;display:grid}.pyc-act svg{width:24px;height:24px}.pyc-act:hover{color:#fff}.pyc-act[aria-pressed=true]{color:#fff;border-inline-start-color:#fff}.pyc-sidebar{background:var(--pyc-side);flex-direction:column;width:15.5rem;min-height:0;display:flex}.pyc-ide[data-sidebar=closed] .pyc-sidebar,.pyc-backdrop{display:none}.pyc-view{flex-direction:column;flex:1;min-height:0;display:flex}.pyc-view[hidden]{display:none}.pyc-view-head{letter-spacing:.02em;text-transform:uppercase;min-height:35px;color:var(--text-muted);justify-content:space-between;align-items:center;padding-inline:1.25rem .5rem;font-size:11px;font-weight:400;display:flex}.pyc-view-tools{gap:.1rem;display:flex}.pyc-view-body{flex:1;min-height:0;padding:0 .75rem .75rem;overflow:auto}.pyc-view-body>.pyc-field{width:100%}.pyc-tree{outline:none;flex:1;min-height:0;padding:0 0 .5rem;overflow:auto}.pyc-tree ul{margin:0;padding:0;list-style:none}.pyc-tree-row{min-height:var(--pyc-row);padding-inline:calc(.5rem + var(--depth,0) * .5rem) .3rem;font-family:var(--font-body);color:var(--text);cursor:pointer;user-select:none;align-items:center;gap:.35rem;font-size:13px;display:flex;position:relative}.pyc-tree-row:hover{background:var(--pyc-list-hover)}.pyc-tree-row[aria-selected=true]{background:var(--pyc-list-inactive)}.pyc-tree:focus .pyc-tree-row[aria-selected=true]{background:var(--pyc-list-active);color:var(--pyc-list-active-fg);outline:1px solid var(--pyc-focus);outline-offset:-1px}.pyc-tree:focus .pyc-tree-row[aria-selected=true] .pyc-iconbtn{color:inherit}.pyc-tree-row.is-drop{outline:1px solid var(--pyc-focus);outline-offset:-1px}.pyc-tree-row .pyc-icon{color:var(--text-muted)}.pyc-tree-row[data-kind=folder]>.pyc-icon{display:none}.pyc-tree-row[data-path$=\.py]>.pyc-icon,.pyc-tab[data-path$=\.py] .pyc-tab-icon{color:#519aba}.pyc-tree-chev{width:.8rem;color:var(--text-muted);transition:transform .12s;display:inline-grid}.pyc-tree-row[aria-expanded=true] .pyc-tree-chev{transform:rotate(90deg)}.pyc-tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pyc-tree-actions{gap:.05rem;display:none}.pyc-tree-row:hover .pyc-tree-actions,.pyc-tree-row[aria-selected=true] .pyc-tree-actions{display:flex}.pyc-tree-actions .pyc-iconbtn{width:1.35rem;height:1.35rem}.pyc-tree-dirty{background:var(--pyc-warning);border-radius:9999px;width:.45rem;height:.45rem}.pyc-examples-box{border-top:1px solid var(--border);flex-direction:column;gap:.3rem;padding:.6rem .75rem .75rem;display:flex}.pyc-examples-box .pyc-field{width:100%}.pyc-search-results{font-family:var(--font-code);font-size:12px}.pyc-search-file{color:var(--heading);margin:.6rem 0 .2rem;font-weight:700}.pyc-search-hit{width:100%;color:var(--text);font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:.15rem .3rem;display:block;overflow:hidden}.pyc-search-hit:hover{background:var(--pyc-list-hover)}.pyc-search-hit .ln{min-width:2.2rem;color:var(--text-muted);display:inline-block}.pyc-search-hit mark{background:color-mix(in srgb, var(--pyc-warning) 35%, transparent);color:inherit;border-radius:2px}.pyc-pkg-form{gap:.35rem;display:flex}.pyc-pkg{font-family:var(--font-code);flex:1}.pyc-chips{flex-wrap:wrap;gap:.3rem;display:flex}.pyc-chip{border-radius:var(--radius-pill);background:var(--pyc-btn2-bg);color:var(--pyc-btn2-fg);font-family:var(--font-code);cursor:pointer;border:0;padding:.15rem .55rem;font-size:12px}.pyc-chip:hover:not(:disabled){background:var(--pyc-btn2-hover)}.pyc-chip:disabled{opacity:.5;cursor:not-allowed}.pyc-pkg-installed{font-family:var(--font-code);column-width:6rem;margin:0;padding:0;font-size:.75rem;list-style:none}.pyc-pkg-installed li{padding:.1rem 0}.pyc-main{--pyc-panel-h:40%;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0, 1fr) 4px minmax(5rem, var(--pyc-panel-h));min-width:0;min-height:0;display:grid}.pyc-tabs{background:var(--pyc-tabbar);scrollbar-width:thin;min-height:35px;display:flex;overflow:auto hidden}.pyc-tab{border:0;border-right:1px solid var(--pyc-tabbar);background:var(--pyc-tab);color:var(--pyc-tab-fg);font-family:var(--font-body);white-space:nowrap;cursor:pointer;align-items:center;gap:.35rem;padding:0 .3rem 0 .65rem;font-size:13px;display:flex}.pyc-tab[aria-selected=true]{background:var(--surface);color:var(--pyc-tab-active-fg)}.pyc-tab.is-drop{box-shadow:inset 2px 0 0 var(--pyc-focus)}.pyc-tab-icon{color:var(--text-muted);display:inline-grid}@media (hover:hover){.pyc-tab:not([aria-selected=true]):not(:hover):not(.is-dirty) .pyc-tab-x{visibility:hidden}}.pyc-tab-x{width:1.2rem;height:1.2rem;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.pyc-tab-x:hover{background:var(--pyc-primary-soft)}.pyc-tab-x .pyc-tab-dot{background:currentColor;border-radius:9999px;width:.5rem;height:.5rem}.pyc-tab-x .pyc-icon,.pyc-tab:not(.is-dirty) .pyc-tab-dot,.pyc-tab.is-dirty:hover .pyc-tab-dot{display:none}.pyc-tab:not(.is-dirty) .pyc-icon,.pyc-tab.is-dirty:hover .pyc-icon{display:block}.pyc-editor-wrap{min-height:0;position:relative}.pyc-editor{--pyc-font-size:14px;height:100%}.pyc-editor .cm-editor{height:100%}.pyc-editor .cm-scroller{overflow:auto}@media (hover:hover){.pyc-editor .cm-foldGutter{opacity:0;transition:opacity .1s}.pyc-editor .cm-gutters:hover .cm-foldGutter{opacity:1}}.pyc-editor-empty{text-align:center;color:var(--text-muted);background:var(--surface);place-items:center;margin:0;padding:2rem;font-size:.9rem;display:grid;position:absolute;inset:0}.pyc-editor-empty[hidden]{display:none}.pyc-hsplit{background:linear-gradient(transparent 1.5px, var(--border) 1.5px, var(--border) 2.5px, transparent 2.5px), var(--surface);cursor:row-resize;touch-action:none}.pyc-hsplit:hover,.pyc-hsplit:focus-visible{background:var(--pyc-focus);outline:none}.pyc-panel{background:var(--pyc-term-bg);grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.pyc-panel-head{background:var(--pyc-term-bg);justify-content:space-between;align-items:center;gap:.5rem;padding:0 .5rem;display:flex}.pyc-ptabs{gap:.35rem;display:flex;overflow-x:auto}.pyc-ptab{color:var(--pyc-ptab-fg);font-family:var(--font-body);text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:.35rem;padding:.55rem .5rem;font-size:11px;font-weight:400;display:inline-flex}.pyc-ptab:hover{color:var(--pyc-ptab-active)}.pyc-ptab[aria-selected=true]{color:var(--pyc-ptab-active);box-shadow:inset 0 -1px 0 var(--pyc-ptab-active)}.pyc-count{background:var(--pyc-badge-bg);min-width:1.15rem;color:var(--pyc-badge-fg);text-align:center;border-radius:9999px;padding:0 .3rem;font-size:11px}.pyc-count.is-error{background:var(--pyc-error);color:#fff}.pyc-pane-tools{align-items:center;gap:.5rem;display:flex}.pyc-time{font-family:var(--font-code);font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12px}.pyc-pview{min-height:0;position:relative;overflow:auto}.pyc-pview[data-panel=terminal]{overflow:hidden}.pyc-term{position:absolute;inset:0}.pyc-term .xterm{height:100%;padding:6px 4px 6px 10px}.pyc-term .xterm-viewport{background:var(--pyc-term-bg)!important}.pyc-term .xterm a,.pyc-term .xterm .xterm-underline-1{cursor:pointer}.pyc-boot{background:color-mix(in srgb, var(--pyc-term-bg) 94%, transparent);z-index:2;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.pyc-boot[hidden]{display:none}.pyc-boot-card{text-align:center;width:min(30rem,100%)}.pyc-boot-title{font-family:var(--font-brand);color:var(--heading);margin:0 0 .35rem;font-size:14px;font-weight:400}.pyc-boot-body{color:var(--text-muted);margin:0 0 .8rem;font-size:.8rem;line-height:1.7}.pyc-progress{border-radius:var(--radius-pill);background:var(--border);height:2px;overflow:hidden}.pyc-progress-bar{border-radius:inherit;background:var(--pyc-focus);width:0;height:100%;transition:width .25s;display:block}.pyc-progress.is-indeterminate .pyc-progress-bar{animation:1.4s ease-in-out infinite pyc-indeterminate}@keyframes pyc-indeterminate{50%{opacity:.45}}.pyc-boot-step{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:.45rem 0 0;font-size:.74rem}.pyc-input-row{border-top:1px solid var(--border);background:var(--pyc-side);align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.pyc-input-row[hidden]{display:none}.pyc-input-prompt{color:var(--primary);font-family:var(--font-code)}.pyc-input{border:1px solid var(--pyc-input-border);background:var(--pyc-input-bg);min-width:0;color:var(--text);font-family:var(--font-code);border-radius:2px;flex:1;padding:.3rem .5rem;font-size:16px}.pyc-problems{margin:0;padding:.3rem;font-size:13px;list-style:none}.pyc-problems button{width:100%;color:var(--text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;gap:.5rem;padding:.2rem .5rem;display:flex}.pyc-problems button:hover{background:var(--pyc-list-hover)}.pyc-problems .sev{color:var(--pyc-error)}.pyc-problems .loc{font-family:var(--font-code);color:var(--text-muted);white-space:nowrap}.pyc-problems .empty{color:var(--text-muted);padding:.5rem}.pyc-plots{flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.pyc-img{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:100%;display:block}.pyc-dialog,.pyc-palette{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--pyc-side);color:var(--text);box-shadow:0 0 8px 2px #0000005c}.pyc-dialog{width:min(38rem,100vw - 2rem);max-height:min(42rem,100dvh - 2rem);padding:1rem 1.1rem;overflow:auto}.pyc-dialog--sm{width:min(26rem,100vw - 2rem)}.pyc-dialog--lg{width:min(46rem,100vw - 2rem)}.pyc-dialog::backdrop,.pyc-palette::backdrop{background:#0006}.pyc-dialog-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.pyc-dialog-title{margin:0 0 .6rem;font-size:15px;font-weight:600}.pyc-dialog-head .pyc-dialog-title{margin:0}.pyc-dialog-tools{flex-wrap:wrap;gap:.4rem;margin:.75rem 0;display:flex}.pyc-dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.pyc-dialog-actions #pyc-set-defaults{margin-inline-end:auto}.pyc-ask-message{white-space:pre-line;margin:0 0 .75rem;font-size:.9rem;line-height:1.7}#pyc-ask-input{width:100%;font-family:var(--font-code)}.pyc-ask-error{min-height:1.2em;color:var(--pyc-error);margin:.35rem 0 0;font-size:.75rem}.pyc-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.pyc-list li{border:1px solid var(--border);border-radius:2px;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;padding:.5rem .75rem;display:flex}.pyc-list li.is-current{border-color:var(--pyc-focus);background:var(--pyc-list-inactive)}.pyc-list .meta{flex:1;min-width:10rem}.pyc-list .name{color:var(--heading);font-weight:600;display:block}.pyc-list .sub{color:var(--text-muted);font-size:.72rem;display:block}.pyc-list .actions{gap:.3rem;display:flex}.pyc-palette{width:min(38rem,100vw - 2rem);margin-top:5vh;padding:0;overflow:hidden}.pyc-pal-input{border:1px solid var(--pyc-focus);background:var(--pyc-input-bg);width:calc(100% - 12px);color:var(--text);font-family:var(--font-body);border-radius:2px;outline:none;margin:6px;padding:.3rem .45rem;font-size:13px;display:block}.pyc-pal-list{max-height:min(22rem,60dvh);margin:0;padding:0 0 6px;list-style:none;overflow:auto}.pyc-pal-list li{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.2rem .75rem;font-size:13px;display:flex}.pyc-pal-list li[aria-selected=true]{background:var(--pyc-list-active);color:var(--pyc-list-active-fg)}.pyc-pal-list li[aria-selected=true] .hint{color:inherit}.pyc-pal-list .hint{color:var(--text-muted);white-space:nowrap;font-size:.72rem}.pyc-pal-list .path{font-family:var(--font-code);font-size:.8rem}.pyc-settings{grid-template-columns:9.5rem minmax(0,1fr);gap:1rem;min-height:20rem;margin-top:.75rem;display:grid}.pyc-set-tabs{flex-direction:column;gap:.2rem;display:flex}.pyc-set-tab{color:var(--text);font-family:var(--font-body);text-align:start;cursor:pointer;background:0 0;border:0;padding:.3rem .6rem;font-size:13px}.pyc-set-tab:hover{background:var(--pyc-list-hover)}.pyc-set-tab[aria-selected=true]{background:var(--pyc-list-inactive);color:var(--heading)}.pyc-set-pane{flex-direction:column;gap:.15rem;display:flex}.pyc-set-pane[hidden]{display:none}.pyc-set-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;font-size:13px;display:flex}.pyc-set-row--check{cursor:pointer;justify-content:flex-start}.pyc-set-row--check input{width:1.05rem;height:1.05rem;accent-color:var(--primary)}.pyc-set-row--block{flex-direction:column;align-items:stretch;gap:.4rem}.pyc-set-row select{max-width:55%}.pyc-set-range{align-items:center;gap:.5rem;display:flex}.pyc-set-range input{accent-color:var(--primary)}.pyc-set-range output{min-width:3rem;font-family:var(--font-code);text-align:end;font-size:.78rem}.pyc-env{font-family:var(--font-code);resize:vertical}.pyc-seg{border:1px solid var(--border);border-radius:2px;display:inline-flex;overflow:hidden}.pyc-seg-btn{color:var(--text);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;padding:.3rem .8rem;font-size:13px}.pyc-seg-btn[aria-pressed=true]{background:var(--pyc-btn-bg);color:#fff}.pyc-font-preview{background:var(--surface);font-family:var(--font-code);font-size:var(--pyc-font-size,14px);border-radius:2px;margin:.5rem 0 0;padding:.75rem;overflow-x:auto}.pyc-danger{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.pyc-danger .pyc-subhead{width:100%}.pyc-toast{z-index:90;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--pyc-side);max-width:calc(100vw - 2rem);color:var(--text);box-shadow:var(--card-shadow);padding:.5rem .9rem;font-size:13px;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.pyc-icon{flex:none;display:block}.pyc-btn{border-radius:var(--radius-pill);min-height:2rem;color:var(--text);font-family:var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.35rem;padding:.25rem .8rem;font-size:13px;font-weight:400;line-height:1.2;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.pyc-btn:disabled{opacity:.5;cursor:not-allowed}.pyc-btn--primary{background:var(--pyc-btn-bg);border-color:var(--pyc-btn-bg);color:#fff}.pyc-btn--primary:not(:disabled):hover{background:var(--pyc-btn-hover);border-color:var(--pyc-btn-hover)}.pyc-btn--outline{background:var(--pyc-btn2-bg);color:var(--pyc-btn2-fg)}.pyc-btn--danger{border-color:var(--pyc-error);color:var(--pyc-error)}.pyc-btn--danger:hover{background:color-mix(in srgb, var(--pyc-error) 12%, transparent)}.pyc-btn--outline:not(:disabled):hover{background:var(--pyc-btn2-hover)}.pyc-btn--ghost:not(:disabled):hover,.pyc-iconbtn:not(:disabled):hover{background:var(--pyc-primary-soft);color:var(--text)}.pyc-btn--xs{min-height:1.65rem;padding:.1rem .65rem;font-size:12px}.pyc-iconbtn{width:2rem;height:2rem;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:inline-grid}.pyc-iconbtn--sm{width:1.4rem;height:1.4rem}.pyc-iconbtn[aria-pressed=true]{color:var(--text);background:var(--pyc-primary-soft)}.pyc-kbd{font-family:var(--font-body);opacity:.8;border:1px solid;border-radius:3px;padding:.05em .4em;font-size:.7em;display:inline-block}.pyc-field{border:1px solid var(--pyc-input-border);background:var(--pyc-input-bg);min-height:1.65rem;color:var(--text);font-family:var(--font-body);border-radius:2px;min-width:0;padding:.15rem .4rem;font-size:13px}.pyc-field:focus{outline:1px solid var(--pyc-focus);outline-offset:-1px;border-color:var(--pyc-focus)}.pyc-label{color:var(--text-muted);font-size:12px}.pyc-muted-sm{color:var(--text-muted);margin:.5rem 0;font-size:.75rem;line-height:1.6}.pyc-subhead{font-family:var(--font-body);letter-spacing:.02em;color:var(--text-muted);margin:1rem 0 .4rem;font-size:11px;font-weight:600}.pyc-alert{border-radius:var(--radius-card);border:1px solid color-mix(in srgb, var(--pyc-warning) 40%, transparent);background:color-mix(in srgb, var(--pyc-warning) 10%, transparent);color:var(--pyc-warning);margin:.75rem 0 0;padding:.6rem .9rem;font-size:.875rem}.pyc-hint{margin:.75rem 0 0;font-size:.8rem;line-height:2}.pyc-ide{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);height:clamp(520px,100dvh - 8rem,940px);box-shadow:var(--card-shadow);color:var(--text);--font-body:-apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", system-ui, Ubuntu, "Droid Sans", sans-serif;--font-brand:var(--font-body);--font-code:Menlo, Monaco, Consolas, "Droid Sans Mono", "Liberation Mono", "Courier New", monospace;--radius-pill:2px;--radius-card:6px;--pyc-row:22px;font-family:var(--font-body);--pyc-chrome:var(--pyc-title);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"dtop""body""dstatus";scroll-margin-top:4.75rem;display:grid;position:relative;overflow:hidden}.pyc-ide[data-theme=dark]{--surface:#1e1e1e;--text:#ccc;--heading:#e7e7e7;--text-muted:#9d9d9d;--border:#3c3c3c;--code-bg:#252526;--primary:#3794ff;--primary-hover:#4daafc;--accent:#3794ff;--card-shadow:0 2px 8px #0000005c;--pyc-title:#3c3c3c;--pyc-activity:#333;--pyc-side:#252526;--pyc-tabbar:#252526;--pyc-tab:#2d2d2d;--pyc-tab-fg:#ffffff80;--pyc-tab-active-fg:#fff;--pyc-btn-bg:#0e639c;--pyc-btn-hover:#17b;--pyc-btn2-bg:#3a3d41;--pyc-btn2-fg:#ccc;--pyc-btn2-hover:#45494e;--pyc-input-bg:#3c3c3c;--pyc-input-border:transparent;--pyc-focus:#007fd4;--pyc-list-hover:#2a2d2e;--pyc-list-inactive:#37373d;--pyc-list-active:#04395e;--pyc-list-active-fg:#fff;--pyc-badge-bg:#4d4d4d;--pyc-badge-fg:#fff;--pyc-ptab-fg:#e7e7e799;--pyc-ptab-active:#e7e7e7;--pyc-scroll:#79797966;--pyc-scroll-hover:#646464b3;--pyc-error:#f14c4c;--pyc-warning:#cca700;--pyc-success:#89d185;--pyc-primary-soft:#5a5d5e4f;--pyc-term-bg:#1e1e1e;color-scheme:dark}.pyc-ide[data-theme=light]{--surface:#fff;--text:#333;--heading:#333;--text-muted:#616161;--border:#d4d4d4;--code-bg:#f3f3f3;--primary:#006ab1;--primary-hover:#005a9e;--accent:#006ab1;--card-shadow:0 2px 8px #00000029;--pyc-title:#ddd;--pyc-activity:#2c2c2c;--pyc-side:#f3f3f3;--pyc-tabbar:#f3f3f3;--pyc-tab:#ececec;--pyc-tab-fg:#333333b3;--pyc-tab-active-fg:#333;--pyc-btn-bg:#007acc;--pyc-btn-hover:#0062a3;--pyc-btn2-bg:#e4e4e4;--pyc-btn2-fg:#333;--pyc-btn2-hover:#d4d4d4;--pyc-input-bg:#fff;--pyc-input-border:#cecece;--pyc-focus:#0090f1;--pyc-list-hover:#e8e8e8;--pyc-list-inactive:#e4e6f1;--pyc-list-active:#0060c0;--pyc-list-active-fg:#fff;--pyc-badge-bg:#c4c4c4;--pyc-badge-fg:#333;--pyc-ptab-fg:#424242bf;--pyc-ptab-active:#424242;--pyc-scroll:#64646466;--pyc-scroll-hover:#646464b3;--pyc-error:#e51400;--pyc-warning:#bf8803;--pyc-success:#388a34;--pyc-primary-soft:#b8b8b84f;--pyc-term-bg:#fff;color-scheme:light}.pyc-ide *{scrollbar-color:var(--pyc-scroll) transparent}.pyc-ide ::-webkit-scrollbar{width:10px;height:10px}.pyc-ide ::-webkit-scrollbar-track,.pyc-ide ::-webkit-scrollbar-corner{background:0 0}.pyc-ide ::-webkit-scrollbar-thumb{background:var(--pyc-scroll)}.pyc-ide ::-webkit-scrollbar-thumb:hover{background:var(--pyc-scroll-hover)}.pyc-ide :focus-visible{outline:1px solid var(--pyc-focus);outline-offset:-1px}.pyc-ide .cm-content:focus-visible,.pyc-ide .xterm-helper-textarea:focus-visible{outline:none}.pyc-ide.is-max{z-index:80;border:0;border-radius:0;height:100dvh;position:fixed;inset:0}.pyc-ide[data-density=compact]{--pyc-row:20px}.pyc-ide[data-density=compact] .pyc-btn{min-height:1.75rem}.pyc-project{max-width:14rem;min-height:1.6rem;color:var(--text);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:.4rem;padding:.1rem .5rem;font-size:13px;font-weight:400;display:inline-flex}.pyc-project span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pyc-project:hover{background:var(--pyc-primary-soft)}.pyc-badge{border-radius:var(--radius-pill);background:var(--pyc-badge-bg);color:var(--pyc-badge-fg);padding:.05rem .4rem;font-size:11px;font-weight:400}.pyc-status{min-width:0;color:var(--text);background:0 0;border:0;align-items:center;gap:.45rem;padding:.1rem .4rem;font-size:12px;display:inline-flex}.pyc-status-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pyc-dot{background:var(--text-muted);border-radius:9999px;flex:none;width:.5rem;height:.5rem}.pyc-status[data-state=loading] .pyc-dot{background:var(--pyc-warning);animation:1s ease-in-out infinite pyc-pulse}.pyc-status[data-state=ready] .pyc-dot{background:var(--pyc-success)}.pyc-status[data-state=running] .pyc-dot{background:var(--primary);animation:.8s ease-in-out infinite pyc-pulse}.pyc-status[data-state=input] .pyc-dot{background:var(--pyc-warning)}.pyc-status[data-state=error]{color:var(--pyc-error)}.pyc-status[data-state=error] .pyc-dot{background:var(--pyc-error)}@keyframes pyc-pulse{50%{opacity:.25}}.pyc-ide[data-running=true] .pyc-swap[data-act=run],.pyc-ide:not([data-running=true]) .pyc-swap[data-act=stop]{display:none}.pyc,.pyc-seo{--pyc-error:#dc2626;--pyc-warning:#d97706;--pyc-success:var(--primary);--pyc-primary-soft:color-mix(in srgb, var(--primary) 12%, transparent);--pyc-chrome:var(--code-bg);--pyc-term-bg:var(--surface);--pyc-row:1.75rem}:root[data-theme=dark] .pyc,:root[data-theme=dark] .pyc-seo{--pyc-error:#f87171;--pyc-warning:#fbbf24;--pyc-success:var(--accent);--pyc-primary-soft:color-mix(in srgb, var(--accent) 16%, transparent);--pyc-term-bg:#062826}#pyc-ide{scroll-margin-top:5rem}.pyc{padding-block:1.5rem 2rem}.pyc-head{margin-bottom:1rem}.pyc-title{margin-bottom:.15em;font-size:clamp(1.6rem,3vw + .5rem,2.2rem)}.pyc-lead{margin:0;font-size:.95rem}.pyc-seo{flex-direction:column;gap:3rem;max-width:60rem;padding-block:2rem 4rem;display:flex}.pyc-seo-section>.tag{margin-bottom:.6rem}.pyc-seo-section h2{margin-bottom:.9rem}.pyc-byline{flex-wrap:wrap;gap:.4rem;margin:-.4rem 0 1rem;font-size:.85rem;display:flex}.pyc-byline a{font-weight:500}.pyc-figure{border-radius:var(--radius-card);border:1px solid var(--border);box-shadow:var(--card-shadow);margin:0 0 1.25rem;overflow:hidden}.pyc-figure img{width:100%;height:auto;display:block}.pyc-seo-text{font-size:1.05rem;line-height:1.9}.pyc-seo-text p:last-child{margin-bottom:0}.pyc-card-title{font-family:var(--font-body);margin:0 0 .25rem;font-size:.95rem;font-weight:700}.pyc-card-text{margin:0;font-size:.9rem;line-height:1.7}.pyc-features{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.pyc-steps{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.pyc-steps>li{align-items:flex-start;gap:.85rem;display:flex}.pyc-step-num{background:var(--pyc-primary-soft);width:2rem;height:2rem;color:var(--primary);font-family:var(--font-code);border-radius:9999px;flex:none;place-items:center;font-size:.85rem;font-weight:600;display:grid}:root[data-theme=dark] .pyc-step-num{color:var(--accent)}.pyc-book-chapter+.pyc-book-chapter{margin-top:1.25rem}.pyc-book-chapter .pyc-card-title{margin:1rem 0 .5rem}.pyc-book-list{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.4rem 1.5rem;margin:0;padding-inline-start:1.5rem;font-size:.95rem;display:grid}.pyc-book-list li{align-items:baseline;gap:.5rem;display:flex}.pyc-book-run{background:var(--pyc-primary-soft);border-radius:9999px;flex:none;place-items:center;width:1.6rem;height:1.6rem;font-size:.7rem;text-decoration:none;display:inline-grid}button.pyc-book-run{color:var(--primary);cursor:pointer;border:0;padding:0}:root[data-theme=dark] button.pyc-book-run{color:var(--accent)}.pyc-book-open{font:inherit;color:var(--primary);text-align:start;cursor:pointer;background:0 0;border:0;padding:0}.pyc-book-open:hover{text-underline-offset:3px;text-decoration:underline}.pyc-book-run:hover{background:var(--primary);color:#fff}.pyc-book-topics{font-family:var(--font-code);margin-inline-start:auto;font-size:.75rem}.pyc-table-wrap{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);overflow-x:auto}.pyc-table{border-collapse:collapse;width:100%;min-width:40rem;font-size:.875rem}.pyc-table th,.pyc-table td{border-bottom:1px solid var(--border);text-align:start;vertical-align:top;padding:.6rem .85rem}.pyc-table thead th{background:var(--code-bg);color:var(--text-muted);font-size:.78rem;font-weight:700}.pyc-table tbody th{color:var(--heading);white-space:nowrap;font-weight:700}.pyc-table tbody td:first-of-type{color:var(--primary);font-weight:500}.pyc-ide[data-theme=dark] .pyc-table tbody td:first-of-type{color:var(--accent)}.pyc-table tr:last-child th,.pyc-table tr:last-child td{border-bottom:0}.pyc-note{margin:.9rem 0 0;font-size:.9rem}.pyc-note-lead{margin:0 0 .9rem}.pyc-faq{flex-direction:column;gap:.5rem;display:flex}.pyc-faq details{padding:0}.pyc-faq details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.1rem;list-style:none;display:flex}.pyc-faq details summary::-webkit-details-marker{display:none}.pyc-faq details summary h3{font-family:var(--font-body);color:var(--heading);margin:0;font-size:.95rem;font-weight:700}.pyc-faq-chev{color:var(--text-muted);flex:none;transition:transform .2s}.pyc-faq details[open] .pyc-faq-chev{transform:rotate(180deg)}.pyc-faq details>p{color:var(--text-muted);margin:0;padding:0 1.1rem 1rem;font-size:.925rem;line-height:1.85}.pyc-en h2{font-family:var(--font-body);font-weight:700}.pyc-cta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.pyc-cta-title{margin-bottom:.25rem;font-size:1.25rem}.pyc-cta-text{margin:0;font-size:.9rem}.pyc-cta-text a{text-underline-offset:3px;text-decoration:underline}
