.py-wrap{justify-content:flex-start;gap:14px;--py-tab:28px;--py-guide:rgba(160,172,200,.5);--py-panel:#202638;--py-well:rgba(8,11,20,.5);--py-edge:rgba(130,150,200,.22);--py-gold:#e0c98a;--py-mint:#8fe3c3;--py-indigo:#aab8f0}.realm-wrap.py-wrap{max-width:1640px}.py-wrap [hidden]{display:none!important}.py-wrap .realm-head .lede{max-width:760px;margin-inline:auto}body.bg-notes .py-wrap .realm-head .kicker{display:inline-flex}@media (max-width:374px){body.bg-notes .py-wrap .realm-head .kicker{letter-spacing:.11em;font-size:10.5px}}.py-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,46%);gap:18px;align-items:start;width:100%;margin:0 auto}.py-main{min-width:0;display:flex;flex-direction:column;gap:10px}.py-mainbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.py-mapbtn,.py-barlink{display:inline-flex;align-items:center;gap:7px;cursor:pointer;text-decoration:none;color:var(--ink);border:1px solid rgba(140,160,235,.3);background:rgba(32,38,56,.94);font:700 13px/1 var(--font-sans);padding:9px 13px;border-radius:10px;transition:background .15s,border-color .15s}.py-mapbtn b{font:800 12.5px/1 var(--font-mono);color:var(--py-gold)}.py-mapbtn[aria-expanded=true]{border-color:#f0a46a99;background:rgba(240,164,106,.12)}.py-barlink{color:var(--dim)}.py-barlink.on{color:var(--ink);border-color:#f0a46a80}.py-barsp{flex:1}@media (hover:hover){.py-mapbtn:hover,.py-barlink:hover{background:rgba(140,160,235,.14);border-color:#8ca0eb8c}}.py-mapbtn:focus-visible,.py-barlink:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.py-scrim{position:fixed;inset:0;z-index:65;background:rgba(4,6,12,.55)}.py-mapclose{cursor:pointer;width:30px;height:30px;border-radius:50%;border:1px solid rgba(140,160,235,.3);background:rgba(8,11,20,.6);color:var(--ink);font:700 12px/1 var(--font-sans);flex-shrink:0}.py-panel,.py-map,.py-content,.py-bench{border-radius:16px;border:1px solid rgba(130,150,200,.34);background:rgba(32,38,56,.94);box-shadow:0 22px 56px -28px #000000d9,inset 0 1px #dce6ff14}.py-map{position:fixed;left:0;top:0;bottom:0;z-index:70;width:min(320px,88vw);overflow-y:auto;padding:14px 12px 18px;scrollbar-width:thin;border-radius:0 16px 16px 0;border-left:0;background:#1d2232;transform:translate(-104%);visibility:hidden;transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s linear .26s}.py-map.open{transform:none;visibility:visible;transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s}.py-maphead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 6px 8px;font:600 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.py-maphead b{font:800 13px/1 var(--font-mono);color:var(--accent);letter-spacing:0}.py-mapbar{height:4px;border-radius:2px;background:rgba(130,150,200,.16);margin:0 6px 12px;overflow:hidden}.py-mapbar i{display:block;height:100%;background:linear-gradient(90deg,#c9a95f,#e0c98a);border-radius:2px;transition:width .4s}.py-stage{margin-top:6px}.py-stagehead{display:flex;align-items:center;gap:8px;padding:6px 4px 4px;font:800 11.5px/1.2 var(--font-sans);color:var(--dim)}.py-badge{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:14px;flex-shrink:0;background:rgba(130,150,200,.12);filter:grayscale(1);opacity:.55}.py-stage.got .py-stagehead{color:var(--ink)}.py-stage.got .py-badge{filter:none;opacity:1;background:rgba(224,201,138,.22);box-shadow:0 0 0 1px #e0c98a80}.py-maplist{list-style:none;margin:0 0 0 15px;padding:2px 0 4px 9px;border-left:1px dotted var(--py-guide)}.py-mapitem{position:relative;overflow:hidden;display:flex;align-items:center;gap:9px;padding:6px 8px 6px 7px;border-radius:9px;color:var(--dim);text-decoration:none;border:1px solid transparent;transition:background .15s,color .15s}@media (hover:hover){.py-mapitem:not(.soon):hover{background:rgba(140,160,235,.1);color:var(--ink)}}.py-mapitem.on{color:var(--ink);background:rgba(240,164,106,.12);border-color:#f0a46a66}.py-mapitem.on:after{content:"";position:absolute;right:9px;top:-2px;width:10px;height:16px;background:linear-gradient(180deg,#e0c98a,#c9a95f);clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}.py-mapitem.soon{opacity:.45;cursor:default}.py-mapnum{flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;font:700 11px/1 var(--font-mono);color:var(--dim);background:rgba(130,150,200,.1);border:1px solid var(--line)}.py-mapitem.done .py-mapnum{background:rgba(111,201,168,.18);border-color:#6fc9a880;color:var(--py-mint)}.py-mapitem.on .py-mapnum{background:var(--accent);border-color:transparent;color:#0a0e1a}.py-maptx{display:flex;flex-direction:column;min-width:0;font:600 12.5px/1.25 var(--font-sans)}.py-maptx small{font:500 10.5px/1.3 var(--font-sans);color:var(--faint)}.py-mapextra{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:2px}.py-mapextra .py-mapitem{padding-left:8px}.py-content{padding:22px 30px 28px;min-height:60vh;font-size:15px;line-height:1.72;overflow-wrap:break-word}.py-crumb{display:flex;align-items:center;gap:9px;font:600 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 12px}.py-crumb b{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:7px;background:rgba(240,164,106,.16);border:1px solid rgba(240,164,106,.4);color:var(--accent);font-weight:700}.py-crumb a{color:var(--dim)}.py-h1{font-size:30px;line-height:1.15;margin:0 0 10px;font-weight:800;letter-spacing:-.012em;color:var(--ink)}.py-goal{margin:0 0 22px;padding:0 0 16px;border-bottom:1px solid var(--line);color:var(--dim);font-size:15px;line-height:1.65}.py-goaltag{display:inline-block;margin-right:8px;font:700 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#ecd9a4}.py-body{position:relative;padding-left:var(--py-tab)}.py-body:before{content:"";position:absolute;left:5px;top:0;bottom:0;z-index:0;border-left:1px dotted var(--py-guide)}.py-body h2{position:relative;z-index:1;margin:34px 0 12px calc(-1 * var(--py-tab));padding:4px 10px 4px 0;font-size:20px;line-height:1.25;font-weight:800;color:var(--ink);background:var(--py-panel);width:max-content;max-width:100%}.py-body>h2:first-child{margin-top:0}.py-body h3{font-size:15.5px;line-height:1.3;margin:24px 0 8px;color:var(--accent);font-weight:800}.py-body p{margin:8px 0}.py-body ul,.py-body ol{padding-left:22px;margin:8px 0}.py-body li{margin:4px 0}.py-body a{color:var(--accent)}.py-body code,.py-goal code,.py-errbody code,.py-hint code,.py-quizq code,.py-quizex code,.py-ctnote code,.py-prehelp code,.py-sstatus code{background:rgba(130,150,200,.14);padding:2px 6px;border-radius:5px;font-size:.88em;font-family:var(--font-mono)}.py-body blockquote{margin:12px 0;padding:8px 14px;border-left:3px solid var(--py-gold);background:rgba(214,180,120,.07);border-radius:0 10px 10px 0}.py-body blockquote p{margin:4px 0}.py-body table{border-collapse:collapse;width:100%;margin:10px 0;font-size:14px}.py-body th,.py-body td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}.py-body th{background:rgba(130,150,200,.1);font-weight:700}.py-body hr{border:0;border-top:1px dashed var(--line);margin:22px 0}.py-text{margin:10px 0;padding:10px 14px;border-radius:10px;background:var(--py-well);font:500 13.5px/1.6 var(--font-mono);color:#dce3f5;white-space:pre-wrap;overflow-x:auto}.py-aside{margin:14px 0;padding:11px 16px;border-radius:10px;border:1px solid rgba(130,150,200,.22);background:rgba(130,150,200,.07)}.py-aside.tip{border-color:#6fc9a859;background:rgba(111,201,168,.08)}.py-aside.warn{border-color:#f0a46a66;background:rgba(240,164,106,.08)}.py-aside p{margin:4px 0}.py-aside>:first-child{margin-top:0}.py-aside>:last-child{margin-bottom:0}.py-cell{margin:14px 0;border-radius:12px;border:1px solid rgba(130,150,200,.26);background:var(--py-well);overflow:hidden}.py-cell.done{border-color:#6fc9a873}.py-cellhead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px 2px;font:700 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.py-cellstate{color:var(--py-mint);letter-spacing:.04em;text-transform:none}.py-code{position:relative;margin:0;padding:8px 14px 10px 26px;font:500 13.5px/1.65 var(--font-mono);color:#c8d0e6;overflow-x:auto;white-space:pre;tab-size:4}.py-code:before{content:"";position:absolute;left:13px;top:6px;bottom:8px;border-left:1px dotted var(--py-guide)}.py-cellbtns{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px 10px}.py-cellhint{padding:2px 12px 10px}.py-hint{margin:6px 0;padding:8px 12px;border-radius:0 10px 10px 0;border-left:3px solid var(--py-gold);background:rgba(214,180,120,.08);font-size:14px}.py-hint b{color:#ecd9a4;margin-right:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-mono)}.py-cellres{padding:4px 12px 12px;font-size:14px}.py-checkok{padding:10px 14px;border-radius:10px;background:rgba(111,201,168,.14);border:1px solid rgba(111,201,168,.4);color:#c9f3e1;font-weight:700}.py-checkfail{padding:8px 12px;border-radius:10px;background:rgba(240,164,106,.1);border:1px solid rgba(240,164,106,.3);color:var(--ink);font-weight:600;margin-bottom:8px}.py-checking{color:var(--faint);font-style:italic}.py-ct{margin:6px 0;padding:8px 12px;border-radius:10px;border:1px solid var(--line)}.py-ct.ok{color:var(--py-mint);font-weight:600}.py-cthead{font-weight:700;color:var(--ink);margin-bottom:4px}.py-ctin{color:var(--dim);margin:4px 0}.py-cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:6px 0}.py-cmp b{display:block;font:700 10.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.py-cmp pre{margin:0;padding:8px 10px;border-radius:8px;background:rgba(8,11,20,.6);font:500 13px/1.5 var(--font-mono);white-space:pre-wrap;color:var(--ink);min-height:34px}.py-ctnote{margin-top:4px;color:#ecd9a4;font-size:13.5px}.py-quiz{margin:14px 0;padding:12px 14px;border-radius:12px;border:1px solid rgba(127,155,240,.28);background:rgba(127,155,240,.07)}.py-quiztag{display:inline-block;margin-right:8px;font:700 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--py-indigo)}.py-quizq{font-weight:600;margin-bottom:8px}.py-quizopts{display:flex;flex-wrap:wrap;gap:6px}.py-quizopt{cursor:pointer;font:600 13.5px/1.3 var(--font-mono);padding:8px 12px;border-radius:9px;color:var(--ink);border:1px solid rgba(140,160,235,.3);background:rgba(255,255,255,.04)}@media (hover:hover){.py-quizopt:not(:disabled):hover{background:rgba(140,160,235,.14)}}.py-quizopt.ok{background:rgba(111,201,168,.2);border-color:#6fc9a899}.py-quizopt.no{background:rgba(240,164,106,.15);border-color:#f0a46a80}.py-quizopt:disabled{cursor:default;opacity:.8}.py-quizex{margin-top:8px;font-size:14px;color:var(--dim)}.py-quizex b{color:var(--ink)}.py-lfoot{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px;align-items:flex-start}.py-lnav{display:flex;justify-content:space-between;gap:12px;width:100%;flex-wrap:wrap}.py-navlink{color:var(--dim);text-decoration:none;font-weight:600;font-size:14px;padding:8px 12px;border-radius:9px;border:1px solid var(--line)}.py-navlink.next{color:var(--accent);border-color:#f0a46a66}@media (hover:hover){.py-navlink:hover{background:rgba(140,160,235,.1);color:var(--ink)}}.py-tier{font-size:18px;margin:26px 0 10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.py-tier small{font:500 12.5px/1 var(--font-sans);color:var(--faint)}.py-chgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.py-chcard{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;border:1px solid var(--line);background:rgba(8,11,20,.35);color:var(--ink);text-decoration:none;transition:background .15s,border-color .15s}@media (hover:hover){.py-chcard:hover{background:rgba(140,160,235,.1);border-color:#8ca0eb66}}.py-chcard.done{border-color:#6fc9a873}.py-chnum{flex-shrink:0;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font:700 12px/1 var(--font-mono);background:rgba(130,150,200,.12);border:1px solid var(--line);color:var(--dim)}.py-chcard.done .py-chnum{background:rgba(111,201,168,.18);border-color:#6fc9a880;color:var(--py-mint)}.py-chtitle{font:700 13.5px/1.25 var(--font-sans);flex:1;min-width:0}.py-chcard small{font:500 10.5px/1.2 var(--font-sans);color:var(--faint)}.py-soon{color:var(--faint);font-style:italic}.py-statement p{margin:8px 0}.py-example{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:8px 0}.py-example b{display:block;font:700 10.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.py-example pre{margin:0;padding:8px 10px;border-radius:8px;background:rgba(8,11,20,.6);font:500 13px/1.5 var(--font-mono);white-space:pre-wrap}.py-btn{cursor:pointer;color:var(--ink);border:1px solid rgba(140,160,235,.3);background:rgba(255,255,255,.04);font:700 13px/1 var(--font-sans);padding:9px 13px;border-radius:9px;transition:background .15s,border-color .15s,color .15s,opacity .15s;white-space:nowrap}.py-btn.small{padding:7px 11px;font-size:12.5px}.py-btn.big{padding:12px 18px;font-size:14px}.py-btn.icon{padding:9px 11px}.py-btn.primary{color:#06101f;background:var(--accent);border-color:transparent;font-weight:800}.py-btn.check{border-color:#6fc9a880;color:#c9f3e1}.py-btn.ghost{color:var(--dim)}.py-btn:disabled{opacity:.45;cursor:default}.py-btn:focus-visible,.py-tab:focus-visible,.py-sb:focus-visible,.py-mapitem:focus-visible,.py-quizopt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.py-btn:not(:disabled):not(.primary):hover{background:rgba(140,160,235,.14);border-color:#8ca0eb8c}.py-btn.primary:not(:disabled):hover{filter:brightness(1.08)}}.py-bench{position:sticky;top:14px;height:calc(100vh - 28px);display:flex;flex-direction:column;overflow:hidden;min-height:520px;background:rgba(24,29,45,.96)}.py-benchclose{display:none}.py-btop{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px 9px 14px;border-bottom:1px solid var(--py-edge)}.py-blabel{display:flex;align-items:baseline;gap:8px;min-width:0;font:600 12px/1.2 var(--font-mono);color:var(--dim);overflow:hidden}.py-blabtx{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.py-blink{cursor:pointer;border:0;background:none;color:var(--accent);font:600 11.5px/1 var(--font-sans);text-decoration:underline;text-underline-offset:3px;padding:0;white-space:nowrap}.py-bbtns{display:flex;gap:6px;align-items:center;flex-shrink:0}.py-more{position:relative}.py-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:210px;display:flex;flex-direction:column;padding:6px;border-radius:12px;border:1px solid rgba(130,150,200,.34);background:#1b2133;box-shadow:0 18px 40px -16px #000000e6}.py-menu button{cursor:pointer;text-align:left;border:0;background:none;color:var(--ink);font:600 13px/1.2 var(--font-sans);padding:9px 10px;border-radius:8px}@media (hover:hover){.py-menu button:hover{background:rgba(140,160,235,.14)}}.py-beditor{flex:1 1 46%;min-height:160px;overflow:hidden;position:relative;background:var(--py-well)}.py-beditor .cm-editor{height:100%}.py-bench.running .py-beditor:before{content:"";position:absolute;left:0;top:0;z-index:5;height:2px;width:38%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:py-run 1.1s linear infinite}@keyframes py-run{0%{transform:translate(-100%)}to{transform:translate(270%)}}.py-btabs{display:flex;gap:2px;padding:6px 6px 0;border-top:1px solid var(--py-edge);border-bottom:1px solid var(--py-edge);background:rgba(14,18,30,.5);overflow-x:auto;scrollbar-width:none}.py-btabs::-webkit-scrollbar{display:none}.py-tab{cursor:pointer;border:0;background:none;color:var(--faint);border-radius:8px 8px 0 0;font:700 12px/1 var(--font-sans);padding:9px 11px;white-space:nowrap;flex-shrink:0}.py-tab.on{color:var(--ink);background:rgba(240,164,106,.14);box-shadow:inset 0 -2px 0 var(--accent)}.py-bpanes{flex:1 1 54%;min-height:180px;position:relative;overflow:hidden}.py-bpanes>.py-pane{position:absolute;inset:0;display:none;overflow:auto;scrollbar-width:thin}.py-bpanes>.py-pane.on{display:flex;flex-direction:column}.py-bpanes>.py-pane[data-pane=out].on{display:block}.py-bstatus{display:flex;align-items:center;gap:8px;padding:6px 14px;border-top:1px solid var(--py-edge);font:600 11px/1.3 var(--font-mono);color:var(--faint)}.py-dot{width:8px;height:8px;border-radius:50%;background:#5c6782;flex-shrink:0}.py-dot[data-st=ready]{background:#6fc9a8}.py-dot[data-st=running]{background:var(--accent);animation:py-pulse 1s infinite}.py-dot[data-st=loading]{background:var(--py-gold);animation:py-pulse 1.2s infinite}.py-dot[data-st=failed]{background:#f07070}@keyframes py-pulse{50%{opacity:.35}}.py-console{padding:10px 14px;height:100%;box-sizing:border-box;overflow:auto;scrollbar-width:thin}.py-empty{color:var(--faint);font-size:13.5px;padding:8px 0}.py-out{margin:0;font:500 13.5px/1.6 var(--font-mono);color:#dce3f5;white-space:pre-wrap;word-break:break-word}.py-stderr{color:#f0a0a0}.py-echo{color:var(--py-indigo)}.py-inrow{display:inline-flex;align-items:center}.py-in{font:600 13.5px/1.4 var(--font-mono);color:#ffe6c4;background:rgba(240,164,106,.1);border:1px solid rgba(240,164,106,.55);border-radius:6px;padding:2px 8px;min-width:140px;outline:none}.py-in:focus{box-shadow:0 0 0 2px #f0a46a4d}.py-errbox{margin:10px 0 4px;padding:10px 14px;border-radius:0 12px 12px 0;border:1px solid rgba(240,164,106,.3);border-left:4px solid var(--accent);background:rgba(240,164,106,.09);font:500 13.5px/1.6 var(--font-sans);white-space:normal;color:var(--ink)}.py-errbox.soft{border-color:#8296c84d;border-left-color:#8f99b0;background:rgba(130,150,200,.08)}.py-errbox.inline{margin:6px 0}.py-errtitle{display:block;font-weight:800;margin-bottom:3px}.py-errraw{margin-top:8px}.py-errraw summary{cursor:pointer;color:var(--faint);font-size:12px}.py-errraw pre{margin:6px 0 0;padding:8px 10px;border-radius:8px;background:rgba(8,11,20,.6);font:500 12px/1.5 var(--font-mono);color:#c9c2b8;white-space:pre-wrap}.py-note{margin:8px 0 0;font:600 12px/1.4 var(--font-sans);color:var(--faint);white-space:normal}.py-note.ok{color:var(--py-mint)}.py-note.warn{color:#f0c090}.py-loading{margin:8px 0;white-space:normal}.py-loadmsg{font:600 12.5px/1.4 var(--font-sans);color:var(--dim);margin-bottom:6px}.py-loadbar{height:6px;border-radius:3px;background:rgba(130,150,200,.16);overflow:hidden}.py-loadbar i{display:block;height:100%;width:3%;background:linear-gradient(90deg,#c9a95f,#e0c98a);transition:width .4s}.py-twrap{flex:1;min-height:200px;position:relative;margin:10px 10px 0;border-radius:10px;overflow:hidden;background:#fff;border:1px solid rgba(130,150,200,.3)}.py-tcanvas{position:absolute;inset:0;width:100%;height:100%;display:block}.py-tbar{display:flex;gap:6px;padding:8px 10px}.py-stepper{padding:10px 12px;display:flex;flex-direction:column;gap:8px;height:100%;box-sizing:border-box;outline:none}.py-stepper:focus-visible{box-shadow:inset 0 0 0 2px #f0a46a66}.py-stepctl{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.py-sb{cursor:pointer;width:34px;height:32px;border-radius:8px;border:1px solid rgba(140,160,235,.3);background:rgba(255,255,255,.04);color:var(--ink);font:700 12px/1 var(--font-sans)}.py-sb.play{background:var(--accent);color:#06101f;border-color:transparent}.py-sb.play.on{background:var(--py-gold)}.py-srange{flex:1;min-width:60px;accent-color:var(--accent)}.py-spos{font:700 12px/1 var(--font-mono);color:var(--dim);min-width:48px;text-align:right}.py-sstatus{font:600 13px/1.5 var(--font-sans);color:var(--ink);min-height:20px}.py-swhere{color:var(--faint);margin-left:6px}.py-sdim{color:var(--faint);font-weight:500}.py-sbody{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1;min-height:120px}.py-svars,.py-sout{display:flex;flex-direction:column;min-height:0;border-radius:10px;border:1px solid rgba(130,150,200,.2);background:rgba(8,11,20,.45);overflow:hidden}.py-shead{padding:6px 10px;font:700 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid rgba(130,150,200,.16)}.py-svtable{overflow:auto;flex:1;padding:4px 0;scrollbar-width:thin}.py-svrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:8px;padding:4px 10px;font:500 12.5px/1.4 var(--font-mono);align-items:baseline}.py-svrow.chg{background:rgba(240,164,106,.16);animation:py-chg .7s ease-out}.py-svrow.new{background:rgba(111,201,168,.12);animation:py-new .7s ease-out}@keyframes py-chg{0%{background:rgba(240,164,106,.5)}}@keyframes py-new{0%{background:rgba(111,201,168,.42)}}.py-svname{color:var(--py-indigo);font-weight:700;overflow:hidden;text-overflow:ellipsis}.py-svval{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.py-svtype{color:var(--faint);font-size:10.5px}.py-soutpre{margin:0;padding:6px 10px;overflow:auto;flex:1;font:500 12.5px/1.5 var(--font-mono);color:#dce3f5;white-space:pre-wrap;scrollbar-width:thin}.py-sturtle{display:none}.py-stepper.has-turtle .py-sturtle{display:block;min-height:180px;flex:1}.py-stepper.has-turtle .py-sturtle .py-twrap{margin:0;height:100%;min-height:180px}.py-stepper.has-turtle .py-sbody{flex:0 0 auto;max-height:170px}.py-snote .py-errbox{margin:0}.py-prefill{margin:10px 10px 0;flex:0 0 auto;min-height:110px;resize:vertical;border-radius:10px;padding:10px 12px;color:var(--ink);border:1px solid rgba(140,160,235,.34);background:rgba(8,11,20,.55);font:600 13.5px/1.5 var(--font-mono)}.py-prefill:focus{outline:2px solid var(--accent);border-color:transparent}.py-prehelp{margin:8px 12px;font:500 12.5px/1.5 var(--font-sans);color:var(--faint)}.tok-keyword{color:#f0a46a;font-weight:700}.tok-atom{color:#e0c98a}.tok-string{color:#9ad78a}.tok-number{color:#e0c98a}.tok-comment{color:#7f8aa3;font-style:italic}.tok-def{color:#7fb2f0;font-weight:700}.tok-fn{color:#c9a2f0}.tok-class{color:#7fb2f0}.tok-prop{color:#aab8f0}.tok-op{color:#d0d4e0}.tok-punct{color:#9aa3b8}.tok-var{color:#dce3f5}.py-fab{display:none;position:fixed;right:16px;bottom:72px;z-index:50;cursor:pointer;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;border:1px solid rgba(240,164,106,.6);background:#1b2133;color:var(--ink);font:800 13px/1 var(--font-sans);box-shadow:0 14px 34px -12px #000000e6}.py-toast{position:fixed;left:50%;bottom:28px;z-index:80;transform:translate(-50%,16px);opacity:0;transition:opacity .25s,transform .25s;max-width:min(92vw,520px);padding:10px 16px;border-radius:12px;background:#1b2133;border:1px solid rgba(224,201,138,.5);color:#e8eaf2;font:600 13.5px/1.4 var(--font-sans);box-shadow:0 18px 40px -14px #000000e6;word-break:break-all}.py-toast.show{opacity:1;transform:translate(-50%)}@media (max-width:1180px){.py-layout{grid-template-columns:minmax(0,1fr)}.py-fab{display:flex}.py-bench{position:fixed;inset:auto 0 0;height:min(82vh,760px);min-height:0;z-index:60;border-radius:18px 18px 0 0;transform:translateY(102%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}.py-bench.open{transform:none}.py-benchclose{display:grid;place-items:center;position:absolute;right:10px;top:8px;z-index:3;width:32px;height:32px;border-radius:50%;cursor:pointer;border:1px solid rgba(140,160,235,.3);background:rgba(8,11,20,.7);color:var(--ink);font:700 13px/1 var(--font-sans)}.py-btop{padding-right:50px}body.py-bench-open .py-fab{display:none}}@media (max-width:700px){.py-wrap{--py-tab:18px}.py-content{padding:18px 16px 22px;font-size:14.5px}.py-h1{font-size:24px}.py-body h2{font-size:18px}.py-bbtns .py-btn:not(.primary):not(.icon){padding:9px 10px}.py-sbody,.py-cmp{grid-template-columns:1fr}.py-btn,.py-tab,.py-sb,.py-benchclose,.py-quizopt,.py-navlink,.py-menu button,.py-mapbtn,.py-barlink{min-height:40px}.py-mapclose{width:40px;height:40px}.py-sb{width:40px}}@media (max-width:480px){.py-wrap{--py-tab:14px}.py-tab{padding:8px;font-size:11.5px}.py-cellbtns .py-btn{flex:1 1 auto;text-align:center}.py-spos{min-width:40px}}
