.py-loop-choices[data-v-01fadac4]{display:flex;flex-wrap:wrap;gap:8px;padding:15px 17px;border-bottom:1px solid #deebe1}.py-loop-choices button[data-v-01fadac4]{min-height:34px;padding:6px 11px;border:1px solid #c9ddce;border-radius:4px;background:#fff;color:#3d604b;cursor:pointer;font-size:12px;transition:background .2s,transform .2s}.py-loop-choices button[data-v-01fadac4]:hover{transform:translateY(-2px)}.py-loop-choices button.active[data-v-01fadac4]{border-color:#5d9c70;background:#e2f0e5;color:#1f6343;font-weight:700}.py-loop-body[data-v-01fadac4]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.py-loop-code[data-v-01fadac4]{min-width:0;padding:17px;border-right:1px solid #dce9df;background:#213c36;color:#d8ecde}.py-loop-code span[data-v-01fadac4],.py-loop-output span[data-v-01fadac4]{color:#9bc2ae;font-size:11px;font-weight:700}.py-loop-code pre[data-v-01fadac4]{margin:12px 0 0;overflow-x:auto;font:12px/1.8 Consolas,monospace}.py-loop-observe[data-v-01fadac4]{min-width:0;padding:17px;background:#f9fcf9}.py-loop-progress[data-v-01fadac4]{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:12px}.py-loop-progress span[data-v-01fadac4]{color:#648573;font-size:11px;font-weight:700}.py-loop-progress strong[data-v-01fadac4]{color:#225c41;font-size:15px}.py-loop-current[data-v-01fadac4]{min-height:76px;-webkit-animation:py-loop-appear-data-v-01fadac4 .25s ease-out;animation:py-loop-appear-data-v-01fadac4 .25s ease-out}.py-loop-current code[data-v-01fadac4]{color:#b26941;font:700 15px/1.5 Consolas,monospace}.py-loop-current p[data-v-01fadac4],.py-loop-intro[data-v-01fadac4]{margin:7px 0 0;color:#456250;font-size:12px;line-height:1.7}.py-loop-intro[data-v-01fadac4]{min-height:76px}.py-loop-grid[data-v-01fadac4]{display:grid;grid-template-columns:repeat(var(--loop-cols),minmax(0,1fr));gap:5px;margin:10px 0 12px}.py-loop-grid span[data-v-01fadac4]{padding:6px 3px;border:1px solid #d8e7da;border-radius:3px;background:#fff;color:#70917a;text-align:center;font:11px Consolas,monospace}.py-loop-grid span.visited[data-v-01fadac4]{background:#e2f1e3;color:#326c48}.py-loop-grid span.current[data-v-01fadac4]{border-color:#d19461;background:#fff0db;color:#8e542e;font-weight:700}.py-loop-output[data-v-01fadac4]{margin-top:12px;padding:10px 12px;border:1px solid #dae8dc;border-radius:4px;background:#fff}.py-loop-output span[data-v-01fadac4]{color:#5f806d}.py-loop-output pre[data-v-01fadac4]{min-height:28px;margin:6px 0 0;color:#275d40;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 Consolas,monospace}.py-loop-controls[data-v-01fadac4]{display:flex;justify-content:flex-end;gap:8px;padding:12px 17px;border-top:1px solid #deebe1}.py-loop-controls button[data-v-01fadac4]{min-height:34px;padding:0 12px;border:1px solid #bcd6c4;border-radius:4px;background:#fff;color:#356447;cursor:pointer;font-size:12px}.py-loop-controls button.primary[data-v-01fadac4]{border-color:#2d8055;background:#307d55;color:#fff;font-weight:700}.py-loop-controls button[data-v-01fadac4]:disabled{opacity:.45;cursor:not-allowed}@-webkit-keyframes py-loop-appear-data-v-01fadac4{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes py-loop-appear-data-v-01fadac4{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:690px){.py-loop-body[data-v-01fadac4]{grid-template-columns:1fr}.py-loop-code[data-v-01fadac4]{border-right:0}.py-loop-code pre[data-v-01fadac4]{max-height:190px}.py-loop-observe[data-v-01fadac4]{border-top:1px solid #dce9df}}@media(prefers-reduced-motion:reduce){.py-loop-lab [data-v-01fadac4]{-webkit-animation:none!important;animation:none!important;transition:none!important;transform:none!important}}.py-string-lab[data-v-4c757e15]{padding:15px 17px 16px}.py-string-lab-heading[data-v-4c757e15]{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;margin:2px 0 15px}.py-string-lab-heading span[data-v-4c757e15]{color:#225b42;font:700 15px Consolas,monospace}.py-string-lab-heading small[data-v-4c757e15]{color:#688371;font-size:12px}.py-string-lab-tabs[data-v-4c757e15]{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 15px}.py-string-lab-tabs button[data-v-4c757e15]{min-height:34px;padding:5px 11px;border:1px solid #cbded0;border-radius:4px;background:#fff;color:#3e634c;cursor:pointer;font-size:12px;transition:background .2s,transform .2s}.py-string-lab-tabs button.active[data-v-4c757e15]{border-color:#3c845d;background:#e4f2e7;color:#175a3b;font-weight:700}.py-string-lab-tabs button[data-v-4c757e15]:active{transform:scale(.96)}.py-string-lab-pair[data-v-4c757e15]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #d9e8dc;border-radius:5px;background:#fff}.py-string-lab-pair>div[data-v-4c757e15]{min-width:0;min-height:115px;padding:15px}.py-string-lab-pair>div+div[data-v-4c757e15]{border-left:1px solid #d9e8dc}.py-string-lab-pair span[data-v-4c757e15]{display:block;margin-bottom:13px;color:#71917a;font-size:11px;font-weight:700}.py-string-lab-pair code[data-v-4c757e15],.py-string-lab-pair pre[data-v-4c757e15]{margin:0;color:#a05c3c;white-space:pre-wrap;overflow-wrap:anywhere;font:700 16px/1.55 Consolas,monospace}.py-string-lab-characters[data-v-4c757e15]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.py-string-lab-characters button[data-v-4c757e15]{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:9px 3px;border:1px solid #cfdfd1;border-radius:4px;background:#fff;color:#245740;cursor:pointer;transition:transform .2s,background .2s,border-color .2s}.py-string-lab-characters button.sliced[data-v-4c757e15]{border-color:#98c3a2;background:#eef7ed}.py-string-lab-characters button.active[data-v-4c757e15]{border-color:#c18454;background:#fff0df;transform:translateY(-3px)}.py-string-lab-characters strong[data-v-4c757e15]{font:700 19px Consolas,monospace}.py-string-lab-characters small[data-v-4c757e15]{color:#708d79;font:11px Consolas,monospace}.py-string-lab-focus[data-v-4c757e15]{display:flex;flex-wrap:wrap;align-items:center;gap:7px 16px;padding:13px 2px}.py-string-lab-focus code[data-v-4c757e15]{color:#955637;font:700 14px Consolas,monospace}.py-string-lab-focus span[data-v-4c757e15]{color:#5a7561;font-size:12px}.py-string-lab-ranges[data-v-4c757e15]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:12px 0;border-top:1px solid #deebe0}.py-string-lab-ranges label[data-v-4c757e15]{display:flex;align-items:center;gap:10px;color:#385d48;font-size:12px;font-weight:700}.py-string-lab-ranges input[data-v-4c757e15]{flex:1;min-width:0;accent-color:#38865e}.py-string-lab-input[data-v-4c757e15]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:14px;color:#426a50;font-size:12px}.py-string-lab-input input[data-v-4c757e15]{width:108px;min-height:32px;padding:5px 8px;border:1px solid #adcdb8;border-radius:4px;color:#254e39;font:13px Consolas,monospace}.py-string-lab-input span[data-v-4c757e15]{color:#728f7a}.py-string-lab-result[data-v-4c757e15]{display:flex;align-items:center;flex-wrap:wrap;gap:11px;min-height:56px;padding:11px 15px;border-left:3px solid #c17f4e;background:#fff}.py-string-lab-result code[data-v-4c757e15]{min-width:0;color:#3d6550;overflow-wrap:anywhere;font:700 14px Consolas,monospace}.py-string-lab-result i[data-v-4c757e15]{color:#b97c4b}.py-string-lab-result strong[data-v-4c757e15]{min-width:0;color:#a65c37;overflow-wrap:anywhere;font:700 17px Consolas,monospace}.py-string-lab-note[data-v-4c757e15]{margin:12px 0 0;color:#466b52;font-size:13px;line-height:1.7}@media(max-width:650px){.py-string-lab-pair[data-v-4c757e15]{grid-template-columns:1fr}.py-string-lab-pair>div+div[data-v-4c757e15]{border-left:0;border-top:1px solid #d9e8dc}.py-string-lab-pair>div[data-v-4c757e15]{min-height:85px}.py-string-lab-ranges[data-v-4c757e15]{grid-template-columns:1fr;gap:9px}}@media(prefers-reduced-motion:reduce){.py-string-lab [data-v-4c757e15]{-webkit-animation:none!important;animation:none!important;transition:none!important;transform:none!important}}.py-cf-lab[data-v-0cb0c5ca]{padding:19px;color:#315243}.py-cf-list[data-v-0cb0c5ca]{display:flex;flex-wrap:wrap;gap:9px;min-height:78px;align-items:center;padding:12px 14px;border:1px solid #d7e6db;background:#f0f7f0}.py-cf-list>div[data-v-0cb0c5ca],.py-cf-list button[data-v-0cb0c5ca]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:62px;min-height:63px;padding:5px 11px;border:1px solid #bfd5c5;border-radius:5px;background:#fff;color:#285740;transition:transform .2s,border-color .2s,background .2s}.py-cf-list button[data-v-0cb0c5ca]{cursor:pointer}.py-cf-list button[data-v-0cb0c5ca]:hover{transform:translateY(-2px);border-color:#43805c}.py-cf-list button.active[data-v-0cb0c5ca]{border-color:#39805a;background:#dceee0}.py-cf-list button.done[data-v-0cb0c5ca]{background:#eff4ee}.py-cf-list strong[data-v-0cb0c5ca]{font-size:17px}.py-cf-list small[data-v-0cb0c5ca]{color:#647f6a;font:12px Consolas,monospace}.py-cf-controls[data-v-0cb0c5ca]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:15px 0}.py-cf-controls button[data-v-0cb0c5ca]{min-height:37px;padding:7px 12px;border:1px solid #bfd4c4;border-radius:5px;background:#fff;color:#275a41;cursor:pointer;font-size:13px;transition:transform .2s,border-color .2s,background .2s}.py-cf-controls button[data-v-0cb0c5ca]:hover{border-color:#458663;transform:translateY(-2px)}.py-cf-controls button.active[data-v-0cb0c5ca]{border-color:#307451;background:#e1f0e3;font-weight:700}.py-cf-controls button[data-v-0cb0c5ca]:disabled{opacity:.5;cursor:not-allowed;transform:none}.py-cf-controls span[data-v-0cb0c5ca]{color:#547260;font-size:13px;line-height:1.6}.py-cf-controls label[data-v-0cb0c5ca]{display:flex;align-items:center;gap:8px;color:#315a44;font-size:13px}.py-cf-controls input[type=range][data-v-0cb0c5ca]{width:100px;accent-color:#3c8058}.py-cf-controls input[type=number][data-v-0cb0c5ca],.py-cf-controls input[type=text][data-v-0cb0c5ca],.py-cf-controls select[data-v-0cb0c5ca]{min-height:34px;max-width:180px;padding:5px 8px;border:1px solid #c5d9ca;border-radius:4px;background:#fff;color:#254536}.py-cf-range label strong[data-v-0cb0c5ca]{min-width:16px;font:700 14px Consolas,monospace}.py-cf-result[data-v-0cb0c5ca]{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:57px;padding:12px 15px;border-left:3px solid #c88c5c;background:#fff}.py-cf-result code[data-v-0cb0c5ca]{min-width:0;overflow-wrap:anywhere;color:#315844;font:13px/1.5 Consolas,monospace}.py-cf-result strong[data-v-0cb0c5ca]{color:#a7633c;font-size:16px;text-align:right;overflow-wrap:anywhere}.py-cf-note[data-v-0cb0c5ca]{margin:12px 0 0;color:#496b56;font-size:13px;line-height:1.7}.py-cf-pairs[data-v-0cb0c5ca]{display:flex;flex-wrap:wrap;gap:9px;min-height:76px;align-items:center;padding:12px;border:1px solid #d7e6db;background:#f0f7f0}.py-cf-pairs>div[data-v-0cb0c5ca]{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #bed7c7;border-radius:5px;background:#fff}.py-cf-pairs>div.active[data-v-0cb0c5ca]{border-color:#3e865d;background:#e0f0e2}.py-cf-pairs span[data-v-0cb0c5ca]{color:#486c55;font-size:13px}.py-cf-pairs strong[data-v-0cb0c5ca]{color:#255942;font-size:14px}.py-cf-pairs i[data-v-0cb0c5ca]{color:#a67a4c}.py-cf-pairs p[data-v-0cb0c5ca]{margin:0;color:#68806a;font-size:13px}.py-cf-function[data-v-0cb0c5ca]{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:12px;min-height:108px;padding:16px;border:1px solid #d7e6db;background:#f0f7f0}.py-cf-function>div[data-v-0cb0c5ca]{display:flex;flex-direction:column;gap:7px;min-width:0}.py-cf-function span[data-v-0cb0c5ca]{color:#5b795e;font-size:12px;font-weight:700}.py-cf-function code[data-v-0cb0c5ca]{overflow-wrap:anywhere;color:#2b5845;font:13px/1.6 Consolas,monospace}.py-cf-function strong[data-v-0cb0c5ca]{color:#225a42;font-size:15px;line-height:1.6}.py-cf-function i[data-v-0cb0c5ca]{color:#a8754f}@media(max-width:680px){.py-cf-lab[data-v-0cb0c5ca]{padding:13px}.py-cf-function[data-v-0cb0c5ca],.py-cf-result[data-v-0cb0c5ca]{align-items:flex-start}.py-cf-result[data-v-0cb0c5ca]{flex-direction:column}.py-cf-result strong[data-v-0cb0c5ca]{text-align:left}.py-cf-function[data-v-0cb0c5ca]{grid-template-columns:1fr}.py-cf-function i[data-v-0cb0c5ca]{transform:rotate(90deg)}.py-cf-controls label[data-v-0cb0c5ca]{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.py-cf-controls button[data-v-0cb0c5ca],.py-cf-list button[data-v-0cb0c5ca]{transition:none}.py-cf-controls button[data-v-0cb0c5ca]:hover,.py-cf-list button[data-v-0cb0c5ca]:hover{transform:none}}.advanced-lab[data-v-4a2fc713]{color:#294d3d}.advanced-controls[data-v-4a2fc713]{display:flex;flex-wrap:wrap;gap:8px;padding:15px 18px;border-bottom:1px solid #dfebe1}.advanced-controls button[data-v-4a2fc713]{min-height:36px;padding:7px 12px;border:1px solid #cadfce;border-radius:4px;background:#fff;color:#315b44;cursor:pointer;font-size:13px;transition:background .18s,border-color .18s,transform .18s}.advanced-controls button[data-v-4a2fc713]:hover{border-color:#76aa83;transform:translateY(-2px)}.advanced-controls button.active[data-v-4a2fc713]{border-color:#43845f;background:#e7f3e8;font-weight:700}.advanced-comparison[data-v-4a2fc713]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;min-height:114px;padding:18px}.advanced-comparison>div[data-v-4a2fc713]{display:flex;flex-direction:column;min-width:0;gap:9px}.advanced-comparison span[data-v-4a2fc713],.sorting-compare span[data-v-4a2fc713]{color:#648270;font-size:12px;font-weight:700}.advanced-comparison code[data-v-4a2fc713]{overflow-wrap:anywhere;color:#235942;font:700 15px/1.55 Consolas,monospace}.advanced-comparison strong[data-v-4a2fc713]{overflow-wrap:anywhere;color:#a65a38;font-size:20px;line-height:1.4;-webkit-animation:advanced-reveal-data-v-4a2fc713 .25s ease-out;animation:advanced-reveal-data-v-4a2fc713 .25s ease-out}.advanced-comparison>i[data-v-4a2fc713],.sorting-compare>i[data-v-4a2fc713]{color:#b57d53;font-size:21px}.advanced-note[data-v-4a2fc713]{margin:0;padding:11px 18px 15px;border-top:1px solid #dce9df;color:#4a6452;font-size:13px;line-height:1.75}.advanced-algorithm[data-v-4a2fc713]{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(185px,.75fr);min-height:156px}.advanced-track[data-v-4a2fc713]{display:flex;flex-wrap:wrap;align-content:center;gap:7px;padding:18px}.advanced-track>div[data-v-4a2fc713]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:46px;min-height:55px;border:1px solid #cbded1;border-radius:4px;background:#fff;transition:background .2s,transform .2s,opacity .2s}.advanced-track>div small[data-v-4a2fc713]{color:#76927e;font:11px Consolas,monospace}.advanced-track>div strong[data-v-4a2fc713]{color:#285b40;font:700 17px Consolas,monospace}.advanced-track>div.active[data-v-4a2fc713]{border-color:#c58a59;background:#fff1df;transform:translateY(-3px)}.advanced-track>div.passed[data-v-4a2fc713]{background:#e5f2e5}.advanced-track>div.muted[data-v-4a2fc713]{opacity:.43}.advanced-inspector[data-v-4a2fc713]{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;padding:19px;border-left:1px solid #dfebe1;background:#fff}.advanced-inspector span[data-v-4a2fc713]{color:#6a8572;font-size:12px;font-weight:700}.advanced-inspector strong[data-v-4a2fc713]{overflow-wrap:anywhere;color:#a15c37;font-size:18px;line-height:1.4;-webkit-animation:advanced-reveal-data-v-4a2fc713 .25s ease-out;animation:advanced-reveal-data-v-4a2fc713 .25s ease-out}.advanced-inspector p[data-v-4a2fc713]{margin:0;color:#456650;font-size:13px;line-height:1.6}.advanced-bottom[data-v-4a2fc713]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 18px;border-top:1px solid #dfebe1}.advanced-bottom span[data-v-4a2fc713]{color:#69826e;font-size:12px}.advanced-bottom button[data-v-4a2fc713]{border:0;background:#327750;color:#fff;padding:9px 12px;border-radius:4px;cursor:pointer;font-size:12px}.advanced-bottom button[data-v-4a2fc713]:hover{background:#276542}.sorting-compare[data-v-4a2fc713]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;min-height:120px;padding:18px}.sorting-compare>div[data-v-4a2fc713]{display:flex;flex-direction:column;gap:9px;min-width:0}.sorting-compare strong[data-v-4a2fc713]{color:#a65a38;font:700 18px Consolas,monospace}.turtle-stage[data-v-4a2fc713]{padding:14px 18px}.turtle-stage canvas[data-v-4a2fc713]{display:block;width:100%;height:230px;border:1px solid #d7e7d9;border-radius:4px;background:#f7fbf6}.turtle-caption[data-v-4a2fc713]{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:9px}.turtle-caption span[data-v-4a2fc713]{color:#688274;font-size:12px}.turtle-caption strong[data-v-4a2fc713]{color:#a45e38;font-size:13px}.advanced-lab button[data-v-4a2fc713]:focus-visible{outline:2px solid #bd784e;outline-offset:2px}@-webkit-keyframes advanced-reveal-data-v-4a2fc713{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes advanced-reveal-data-v-4a2fc713{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){.advanced-comparison[data-v-4a2fc713],.sorting-compare[data-v-4a2fc713]{gap:8px;padding:14px}.advanced-comparison code[data-v-4a2fc713]{font-size:12px}.advanced-comparison strong[data-v-4a2fc713],.sorting-compare strong[data-v-4a2fc713]{font-size:15px}.advanced-algorithm[data-v-4a2fc713]{grid-template-columns:1fr}.advanced-inspector[data-v-4a2fc713]{border-left:0;border-top:1px solid #dfebe1}.advanced-track>div[data-v-4a2fc713]{min-width:40px;min-height:48px}.turtle-stage canvas[data-v-4a2fc713]{height:190px}}@media(prefers-reduced-motion:reduce){.advanced-lab [data-v-4a2fc713]{-webkit-animation:none!important;animation:none!important;transition:none!important;transform:none!important}}.py-lab[data-v-1407645d]{border:1px solid #d7e6dd;border-radius:7px;background:#f8fbf8;color:#28453b;overflow:hidden}.py-lab-heading[data-v-1407645d]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #deebe1}.py-lab-heading>div[data-v-1407645d]{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap}.py-lab-kicker[data-v-1407645d]{color:#4e7058;font-size:12px;font-weight:700}.py-lab-heading strong[data-v-1407645d]{color:#1c563c;font-size:15px}.py-lab-reset[data-v-1407645d]{width:30px;height:30px;border:1px solid #d1e2d6;border-radius:5px;background:#fff;color:#487b58;cursor:pointer;transition:transform .2s}.py-lab-reset[data-v-1407645d]:active{transform:rotate(-35deg)}.py-console-grid[data-v-1407645d],.py-sequence-grid[data-v-1407645d]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(185px,.85fr);min-width:0}.py-sequence-lines[data-v-1407645d]{margin:0;padding:12px 0;list-style:none;border-right:1px solid #dce9df}.py-sequence-lines li[data-v-1407645d]{display:flex;gap:12px;align-items:baseline;min-width:0;padding:8px 17px;border-left:3px solid transparent;color:#4d6856;font-size:13px;transition:background .28s,transform .28s,border-color .28s}.py-sequence-lines li span[data-v-1407645d]{color:#93a69a;font:11px Consolas,monospace}.py-sequence-lines li code[data-v-1407645d]{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;font:13px Consolas,monospace}.py-sequence-lines li.active[data-v-1407645d]{border-color:#d47748;background:#fff3e9;color:#30483c;transform:translateX(3px)}.py-sequence-lines li.done[data-v-1407645d]{color:#4b765c}.py-sequence-lines li.skipped code[data-v-1407645d]{color:#606f65}.py-sequence-lines li em[data-v-1407645d]{margin-left:auto;color:#725b3e;font-size:11px;font-style:normal}.py-sequence-state[data-v-1407645d]{display:flex;flex-direction:column;gap:8px;padding:20px}.py-branch-result span[data-v-1407645d],.py-console-grid span[data-v-1407645d],.py-sequence-state span[data-v-1407645d]{color:#789487;font-size:11px;font-weight:700}.py-sequence-state strong[data-v-1407645d]{min-height:29px;color:#256a49;font:700 14px Consolas,monospace}.py-sequence-state pre[data-v-1407645d]{min-height:60px;margin:0;padding:10px;border:1px solid #e0e9df;border-radius:4px;background:#fff;color:#254838;white-space:pre-wrap;font:12px/1.7 Consolas,monospace}.py-lab-bottom[data-v-1407645d]{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 17px;border-top:1px solid #deebe1}.py-lab-bottom p[data-v-1407645d],.py-lab-note[data-v-1407645d]{margin:0;color:#3f624d;font-size:13px;line-height:1.7}.py-primary[data-v-1407645d]{flex:none;min-height:34px;padding:0 13px;border:1px solid #2f855a;border-radius:4px;background:#307d55;color:#fff;cursor:pointer;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.py-primary[data-v-1407645d]:hover{background:#206d47}.py-primary[data-v-1407645d]:active{transform:scale(.96)}.py-choice-strip[data-v-1407645d]{display:flex;flex-wrap:wrap;gap:7px;padding:15px 17px 10px}.py-choice-strip button[data-v-1407645d]{min-height:31px;padding:0 12px;border:1px solid #cbded0;border-radius:4px;background:#fff;color:#476655;cursor:pointer;font-size:12px;transition:background .2s,transform .2s}.py-choice-strip button.active[data-v-1407645d]{border-color:#65a078;background:#e1f0e3;color:#1d6542;font-weight:700}.py-choice-strip button[data-v-1407645d]:active{transform:scale(.96)}.py-lab-field[data-v-1407645d],.py-lab-fields[data-v-1407645d]{display:flex;align-items:center;gap:12px;padding:17px;color:#496859;font-size:12px}.py-lab-field[data-v-1407645d]{flex-wrap:wrap}.py-lab-fields label[data-v-1407645d]{display:flex;align-items:center;gap:8px}.py-lab-field input[data-v-1407645d]:not([type=range]),.py-lab-fields input[data-v-1407645d]{width:106px;min-height:33px;padding:5px 8px;border:1px solid #b9d3c4;border-radius:4px;background:#fff;color:#274a38;font:13px Consolas,monospace}.py-lab-field input[type=range][data-v-1407645d]{width:min(230px,100%);accent-color:#33835a}.py-console-grid[data-v-1407645d]{margin:7px 17px 12px;border:1px solid #d9e7dc;border-radius:5px;background:#fff}.py-console-grid>div[data-v-1407645d]{min-width:0;padding:15px}.py-console-grid>div+div[data-v-1407645d]{border-left:1px solid #d9e7dc}.py-console-grid pre[data-v-1407645d]{min-height:68px;margin:8px 0 0;color:#254f3d;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 Consolas,monospace}.py-console-grid .py-console-result[data-v-1407645d]{color:#b8613e}.py-lab-note[data-v-1407645d]{padding:0 18px 16px}.py-memory-row[data-v-1407645d]{display:flex;align-items:center;gap:12px;padding:26px 19px}.py-memory-name[data-v-1407645d]{padding:9px 13px;border:1px solid #c3dbc9;border-radius:4px;background:#e5f3e7;color:#286447;font:700 14px Consolas,monospace}.py-memory-name[data-v-1407645d]:after{content:"→";margin-left:12px}.py-memory-value[data-v-1407645d]{min-width:55px;padding:9px;border:1px solid #d9b18c;border-radius:4px;background:#fff1e1;color:#a45e38;text-align:center;font:700 18px Consolas,monospace;-webkit-animation:py-value-in-data-v-1407645d .35s ease-out;animation:py-value-in-data-v-1407645d .35s ease-out}.py-memory-row>span[data-v-1407645d]{color:#708a78;font-size:11px}@-webkit-keyframes py-value-in-data-v-1407645d{0%{opacity:.45;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}@keyframes py-value-in-data-v-1407645d{0%{opacity:.45;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}.py-type-stage[data-v-1407645d]{display:flex;align-items:center;justify-content:center;gap:22px;min-height:112px}.py-type-stage code[data-v-1407645d]{color:#af6940;font:700 23px Consolas,monospace}.py-type-stage i[data-v-1407645d]{color:#88a79a}.py-type-stage strong[data-v-1407645d]{color:#226c4b;font:700 24px Consolas,monospace}.py-conversion-grid[data-v-1407645d]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 17px 15px}.py-conversion-grid>div[data-v-1407645d]{display:flex;flex-direction:column;gap:9px;min-width:0;padding:13px;border:1px solid #dce9dd;border-radius:4px;background:#fff}.py-conversion-grid small[data-v-1407645d]{color:#708d7c}.py-conversion-grid code[data-v-1407645d]{overflow-wrap:anywhere;color:#565f58;font:12px Consolas,monospace}.py-conversion-grid strong[data-v-1407645d]{color:#2a7251;font:700 17px Consolas,monospace}.py-expression-stage[data-v-1407645d]{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:14px;min-height:117px;margin:3px 17px 12px;padding:15px;border:1px solid #dce8da;border-radius:4px;background:#fff}.py-expression-stage code[data-v-1407645d]{color:#375f4b;font:700 17px Consolas,monospace}.py-expression-stage>span[data-v-1407645d]{color:#779386;font:13px Consolas,monospace}.py-expression-stage strong[data-v-1407645d]{color:#b55f3d;font:700 25px Consolas,monospace;-webkit-animation:py-value-in-data-v-1407645d .3s ease-out;animation:py-value-in-data-v-1407645d .3s ease-out}.py-expression-arrow[data-v-1407645d]{display:flex;align-items:center;gap:8px;color:#647e6f;font-size:12px}.py-expression-arrow i[data-v-1407645d]{color:#d59763}.py-toggle-pair[data-v-1407645d]{display:flex;flex-wrap:wrap;gap:18px;padding:17px}.py-toggle-pair label[data-v-1407645d]{display:flex;align-items:center;gap:8px;color:#3f624d;font-size:13px;cursor:pointer}.py-toggle-pair input[data-v-1407645d]{accent-color:#328357;width:16px;height:16px}.py-logic-results[data-v-1407645d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 17px 14px}.py-logic-results>div[data-v-1407645d]{display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-width:0;padding:12px;border:1px solid #d9e5db;border-radius:4px;background:#fff}.py-logic-results code[data-v-1407645d]{overflow-wrap:anywhere;color:#607b69;font:11px/1.5 Consolas,monospace}.py-logic-results strong[data-v-1407645d]{color:#23754b;font:700 15px Consolas,monospace}.py-branch-path[data-v-1407645d]{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:6px 17px 15px;padding-top:15px;border-top:2px solid #c3d7c6}.py-branch-path.branches-2[data-v-1407645d]{grid-template-columns:repeat(2,minmax(0,1fr))}.py-branch-path>div[data-v-1407645d]{display:flex;flex-direction:column;gap:6px;min-height:68px;padding:11px;border:1px solid #d9e6dc;border-radius:5px;background:#fff;opacity:.55;transform:translateY(3px);transition:opacity .28s,transform .28s,border-color .28s,background .28s}.py-branch-path>div.active[data-v-1407645d]{border-color:#bfa370;background:#fff7e9;opacity:1;transform:translateY(0)}.py-branch-path span[data-v-1407645d]{color:#7e9484;font-size:11px}.py-branch-path strong[data-v-1407645d]{color:#355e46;font-size:15px}.py-branch-result[data-v-1407645d]{display:flex;align-items:center;gap:16px;margin:0 17px 12px;padding:12px 15px;border-left:3px solid #c7784b;background:#fff}.py-branch-result strong[data-v-1407645d]{color:#a45b39;font-size:14px;white-space:pre-line}@media(max-width:760px){.py-console-grid[data-v-1407645d],.py-sequence-grid[data-v-1407645d]{grid-template-columns:1fr}.py-console-grid>div+div[data-v-1407645d],.py-sequence-lines[data-v-1407645d]{border-right:0;border-left:0;border-bottom:1px solid #dce9df}.py-lab-bottom[data-v-1407645d]{align-items:flex-start;flex-direction:column}.py-logic-results[data-v-1407645d]{grid-template-columns:1fr}.py-branch-path[data-v-1407645d]{gap:5px}.py-branch-path>div[data-v-1407645d]{min-height:64px;padding:8px}.py-branch-path strong[data-v-1407645d]{font-size:12px}}@media(prefers-reduced-motion:reduce){.py-lab [data-v-1407645d],.py-lab [data-v-1407645d]:after,.py-lab [data-v-1407645d]:before{-webkit-animation:none!important;animation:none!important;transition:none!important;transform:none!important}}.py-concept-diagram[data-v-032bba9f]{margin:20px 0 21px;padding:0;border:1px solid #cbded3;border-top:3px solid #367454;border-radius:6px;background:#fff;color:#254638;overflow:hidden}.py-concept-diagram figcaption[data-v-032bba9f]{display:flex;align-items:center;gap:12px;min-height:58px;margin:0;padding:10px 18px;border-bottom:1px solid #dfebe3;background:#f5f9f5}.py-diagram-mark[data-v-032bba9f]{flex:none;display:flex;align-items:center;gap:6px;color:#8b5333;font-size:12px;font-weight:700}.py-diagram-mark i[data-v-032bba9f]{font-size:15px}.py-concept-diagram figcaption strong[data-v-032bba9f]{min-width:0;color:#1c523b;font-size:16px;line-height:1.4}.py-concept-diagram figcaption small[data-v-032bba9f]{flex:none;margin-left:auto;color:#697d6e;font:700 12px Consolas,monospace}.py-diagram-takeaway[data-v-032bba9f]{display:flex;align-items:flex-start;gap:9px;margin:0;padding:11px 18px 13px;border-top:1px solid #e4ede5;color:#405f4a;font-size:13px;line-height:1.6}.py-diagram-takeaway i[data-v-032bba9f]{flex:none;margin-top:3px;color:#39805a}.py-concept-diagram button[data-v-032bba9f]{font:inherit;cursor:pointer}.py-concept-diagram button[data-v-032bba9f]:focus-visible{outline:2px solid #c47747;outline-offset:-2px}.py-diagram-code-stage[data-v-032bba9f]{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(190px,.78fr);min-height:206px}.py-diagram-code-lines[data-v-032bba9f]{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:14px 0;background:#1d3b36}.py-diagram-code-lines button[data-v-032bba9f]{display:flex;align-items:baseline;gap:13px;min-width:0;min-height:35px;padding:7px 17px;border:0;border-left:3px solid transparent;background:transparent;color:#dceee0;text-align:left;transition:background .2s,border-color .2s}.py-diagram-code-lines button[data-v-032bba9f]:hover{background:hsla(0,0%,100%,.07058823529411765)}.py-diagram-code-lines button.active[data-v-032bba9f]{border-color:#eda66c;background:hsla(0,0%,100%,.10980392156862745)}.py-diagram-code-lines button.indented code[data-v-032bba9f]{padding-left:18px}.py-diagram-code-lines button.muted code[data-v-032bba9f]{color:#b2cabb}.py-diagram-code-lines button span[data-v-032bba9f]{flex:none;color:#abc4b3;font:11px Consolas,monospace}.py-diagram-code-lines button code[data-v-032bba9f]{min-width:0;overflow-wrap:anywhere;font:13px/1.5 Consolas,monospace}.py-diagram-reading[data-v-032bba9f]{display:flex;flex-direction:column;justify-content:center;gap:9px;min-width:0;padding:21px 25px;border-left:1px solid #d9e5dc;background:#fbfdfb}.py-diagram-condition span[data-v-032bba9f],.py-diagram-pair-result span[data-v-032bba9f],.py-diagram-reading span[data-v-032bba9f]{color:#687e6f;font-size:12px;font-weight:700}.py-diagram-reading strong[data-v-032bba9f]{color:#a55b36;font-size:18px;line-height:1.5;-webkit-animation:py-diagram-reveal-data-v-032bba9f .25s ease-out;animation:py-diagram-reveal-data-v-032bba9f .25s ease-out}.py-diagram-reading p[data-v-032bba9f]{margin:0;color:#45604e;font-size:13px;line-height:1.6}.py-diagram-flow-stage[data-v-032bba9f]{padding:18px}.py-diagram-flow-steps[data-v-032bba9f]{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.py-diagram-flow-steps.many-steps[data-v-032bba9f]{grid-template-columns:repeat(4,minmax(0,1fr))}.py-diagram-flow-steps[data-v-032bba9f]:before{content:"";position:absolute;left:15%;right:15%;top:17px;height:2px;background:#bdd5c2}.py-diagram-flow-steps button[data-v-032bba9f]{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:0 3px 15px;border:0;background:transparent;color:#41614b;text-align:left}.py-diagram-flow-steps button span[data-v-032bba9f]{display:grid;flex:none;place-items:center;width:34px;height:34px;border:2px solid #afc9b5;border-radius:50%;background:#fff;color:#4d785a;font:700 12px Consolas,monospace;transition:background .2s,border-color .2s,color .2s,transform .2s}.py-diagram-flow-steps button.active span[data-v-032bba9f]{border-color:#337b55;background:#337b55;color:#fff;transform:scale(1.08)}.py-diagram-flow-steps button.passed span[data-v-032bba9f]{border-color:#9dbfa8;background:#deeddf}.py-diagram-flow-steps button strong[data-v-032bba9f]{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.py-diagram-focus[data-v-032bba9f]{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px;padding:17px 21px;border-left:3px solid #d38856;background:#f7faf6}.py-diagram-focus code[data-v-032bba9f]{min-width:0;overflow-wrap:anywhere;color:#174a36;font:700 18px/1.4 Consolas,monospace;-webkit-animation:py-diagram-reveal-data-v-032bba9f .25s ease-out;animation:py-diagram-reveal-data-v-032bba9f .25s ease-out}.py-diagram-focus span[data-v-032bba9f]{color:#8e5435;font-size:13px;font-weight:700;line-height:1.5}.py-diagram-loop-stage[data-v-032bba9f]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.py-diagram-loop-track[data-v-032bba9f]{display:flex;flex-wrap:wrap;align-content:center;gap:9px;padding:18px;background:#f6faf7}.py-diagram-loop-track button[data-v-032bba9f]{display:flex;flex-direction:column;gap:4px;min-width:90px;padding:9px 12px;border:1px solid #c9ddcf;border-radius:5px;background:#fff;color:#326045;text-align:left;transition:background .2s,transform .2s,border-color .2s}.py-diagram-loop-track button[data-v-032bba9f]:hover{transform:translateY(-2px)}.py-diagram-loop-track button.active[data-v-032bba9f]{border-color:#bc885d;background:#fff3e5}.py-diagram-loop-track button.passed[data-v-032bba9f]{border-color:#8fbea0;background:#edf6ed}.py-diagram-loop-track button span[data-v-032bba9f]{font-size:11px;font-weight:700}.py-diagram-loop-track button code[data-v-032bba9f]{overflow-wrap:anywhere;font:12px/1.45 Consolas,monospace}.py-diagram-loop-focus[data-v-032bba9f]{display:flex;flex-direction:column;justify-content:center;gap:9px;min-width:0;padding:20px 23px;border-left:1px solid #d9e5dc}.py-diagram-loop-focus span[data-v-032bba9f]{color:#6b8471;font-size:11px;font-weight:700}.py-diagram-loop-focus strong[data-v-032bba9f]{color:#a86038;font-size:19px;line-height:1.35;-webkit-animation:py-diagram-reveal-data-v-032bba9f .25s ease-out;animation:py-diagram-reveal-data-v-032bba9f .25s ease-out}.py-diagram-loop-focus p[data-v-032bba9f]{margin:0;color:#496652;font-size:13px;line-height:1.65}.py-diagram-string-stage[data-v-032bba9f]{padding:20px 18px}.py-diagram-string-track[data-v-032bba9f]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.py-diagram-string-track button[data-v-032bba9f]{display:flex;align-items:center;flex-direction:column;gap:6px;min-width:0;padding:10px 4px;border:1px solid #cddfd2;border-radius:5px;background:#f8fbf7;color:#23553e;transition:background .2s,border-color .2s,transform .2s}.py-diagram-string-track button.active[data-v-032bba9f]{border-color:#ba8154;background:#fff2e5;transform:translateY(-3px)}.py-diagram-string-track button strong[data-v-032bba9f]{font:700 20px Consolas,monospace}.py-diagram-string-track button small[data-v-032bba9f]{color:#718d7b;font:11px Consolas,monospace}.py-diagram-string-reading[data-v-032bba9f]{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-top:14px;padding:10px 13px;border-left:3px solid #c48250;background:#f7faf6}.py-diagram-string-reading code[data-v-032bba9f]{color:#925736;font:700 14px Consolas,monospace}.py-diagram-string-reading span[data-v-032bba9f]{color:#456351;font-size:13px;line-height:1.6}.py-diagram-key-stage[data-v-032bba9f],.py-diagram-list-stage[data-v-032bba9f]{padding:18px}.py-diagram-list-track[data-v-032bba9f]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.py-diagram-list-track button[data-v-032bba9f]{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:10px;border:1px solid #cddfd2;border-radius:5px;background:#f8fbf7;color:#23553e;transition:background .2s,border-color .2s,transform .2s}.py-diagram-list-track button.active[data-v-032bba9f]{border-color:#ba8154;background:#fff2e5;transform:translateY(-3px)}.py-diagram-list-track button strong[data-v-032bba9f]{font-size:18px}.py-diagram-list-track button small[data-v-032bba9f]{color:#718d7b;font:11px Consolas,monospace}.py-diagram-list-reading[data-v-032bba9f]{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-top:14px;padding:11px 13px;border-left:3px solid #c48250;background:#f7faf6}.py-diagram-list-reading code[data-v-032bba9f]{color:#925736;font:700 14px Consolas,monospace}.py-diagram-list-reading span[data-v-032bba9f]{color:#456351;font-size:13px;line-height:1.6}.py-diagram-key-pairs[data-v-032bba9f]{display:flex;flex-wrap:wrap;gap:8px}.py-diagram-key-pairs button[data-v-032bba9f]{display:flex;align-items:center;gap:7px;min-width:0;padding:10px 12px;border:1px solid #cddfd2;border-radius:5px;background:#f8fbf7;color:#315a42;transition:background .2s,border-color .2s,transform .2s}.py-diagram-key-pairs button.active[data-v-032bba9f]{border-color:#ba8154;background:#fff2e5;transform:translateY(-2px)}.py-diagram-key-pairs button span[data-v-032bba9f]{color:#64836e;font-size:11px}.py-diagram-key-pairs button strong[data-v-032bba9f]{overflow-wrap:anywhere;font-size:14px}.py-diagram-key-pairs button i[data-v-032bba9f]{color:#ad764e}.py-diagram-key-stage>p[data-v-032bba9f]{margin:13px 0 0;padding:10px 13px;border-left:3px solid #c48250;background:#f7faf6;color:#456351;font-size:13px;line-height:1.6}.py-diagram-pair-stage[data-v-032bba9f]{padding:17px 18px 20px}.py-diagram-pair-tabs[data-v-032bba9f]{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #dfebe1;padding-bottom:13px}.py-diagram-pair-tabs button[data-v-032bba9f]{max-width:100%;min-height:34px;padding:5px 11px;border:1px solid #c8dcd0;border-radius:4px;background:#fff;color:#315a42;transition:background .2s,border-color .2s}.py-diagram-pair-tabs button.active[data-v-032bba9f]{border-color:#3d8058;background:#e4f1e6}.py-diagram-pair-tabs code[data-v-032bba9f]{overflow-wrap:anywhere;font:700 12px/1.5 Consolas,monospace}.py-diagram-pair-result[data-v-032bba9f]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,.7fr);grid-template-rows:auto 1fr;align-items:center;gap:5px 19px;min-height:106px;padding:16px 13px 8px}.py-diagram-pair-result span[data-v-032bba9f]:last-of-type{grid-column:3;grid-row:1}.py-diagram-pair-result code[data-v-032bba9f]{grid-column:1;grid-row:2;min-width:0;overflow-wrap:anywhere;color:#254c39;font:700 20px/1.4 Consolas,monospace;-webkit-animation:py-diagram-reveal-data-v-032bba9f .25s ease-out;animation:py-diagram-reveal-data-v-032bba9f .25s ease-out}.py-diagram-pair-result i[data-v-032bba9f]{grid-column:2;grid-row:2;color:#b7764b;font-size:22px}.py-diagram-pair-result strong[data-v-032bba9f]{grid-column:3;grid-row:2;min-width:0;overflow-wrap:anywhere;color:#a75b37;font:700 24px/1.35 Consolas,monospace;-webkit-animation:py-diagram-reveal-data-v-032bba9f .25s ease-out;animation:py-diagram-reveal-data-v-032bba9f .25s ease-out}.py-diagram-pair-note[data-v-032bba9f]{margin:0 13px;color:#476451;font-size:13px;line-height:1.6}.py-diagram-branch-stage[data-v-032bba9f]{padding:18px}.py-diagram-condition[data-v-032bba9f]{display:flex;align-items:baseline;gap:12px;padding:0 0 16px}.py-diagram-condition code[data-v-032bba9f]{min-width:0;overflow-wrap:anywhere;color:#1c543a;font:700 17px/1.5 Consolas,monospace}.py-diagram-branch-options[data-v-032bba9f]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:2px solid #c9ddce;padding-top:15px}.py-diagram-branch-options button[data-v-032bba9f]{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:76px;padding:11px 13px;border:1px solid #d6e4d9;border-top:3px solid #b4c8b9;border-radius:4px;background:#f8faf7;text-align:left;transition:background .2s,border-color .2s,transform .2s}.py-diagram-branch-options button[data-v-032bba9f]:hover{transform:translateY(-2px)}.py-diagram-branch-options button.active[data-v-032bba9f]{border-color:#b9784d;border-top-color:#b9784d;background:#fff4ea}.py-diagram-branch-options span[data-v-032bba9f]{color:#72553f;font-size:12px}.py-diagram-branch-options strong[data-v-032bba9f]{overflow-wrap:anywhere;color:#28543e;font-size:15px;line-height:1.4}.py-diagram-branch-note[data-v-032bba9f]{margin:13px 2px 0;color:#8a5033;font-size:13px;font-weight:700;line-height:1.6}.py-diagram-branch-options button[data-v-032bba9f]{position:relative}.py-diagram-branch-options button[data-v-032bba9f]:before{content:"";position:absolute;top:-17px;left:17px;width:2px;height:14px;background:#b4c8b9}.py-diagram-branch-options button.active[data-v-032bba9f]:before{background:#b9784d}.py-diagram-branch-note[data-v-032bba9f]{-webkit-animation:py-diagram-reveal-data-v-032bba9f .25s ease-out;animation:py-diagram-reveal-data-v-032bba9f .25s ease-out}@-webkit-keyframes py-diagram-reveal-data-v-032bba9f{0%{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes py-diagram-reveal-data-v-032bba9f{0%{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.py-diagram-code-stage[data-v-032bba9f],.py-diagram-loop-stage[data-v-032bba9f]{grid-template-columns:1fr}.py-diagram-loop-focus[data-v-032bba9f],.py-diagram-reading[data-v-032bba9f]{border-left:0;border-top:1px solid #d9e5dc}.py-diagram-reading[data-v-032bba9f]{min-height:110px;padding:16px 18px}.py-diagram-flow-steps[data-v-032bba9f]{gap:3px}.py-diagram-flow-steps.many-steps[data-v-032bba9f]{grid-template-columns:repeat(2,minmax(0,1fr))}.py-diagram-flow-steps.many-steps[data-v-032bba9f]:before{display:none}.py-diagram-flow-steps button[data-v-032bba9f],.py-diagram-focus[data-v-032bba9f]{flex-direction:column;align-items:flex-start;gap:6px}.py-diagram-branch-options[data-v-032bba9f]{gap:6px}.py-diagram-branch-options button[data-v-032bba9f]{min-height:68px;padding:8px}.py-diagram-branch-options strong[data-v-032bba9f]{font-size:13px}}@media(max-width:430px){.py-concept-diagram figcaption[data-v-032bba9f]{gap:8px;padding:9px 12px}.py-concept-diagram figcaption strong[data-v-032bba9f]{font-size:14px}.py-diagram-branch-stage[data-v-032bba9f],.py-diagram-flow-stage[data-v-032bba9f],.py-diagram-pair-stage[data-v-032bba9f]{padding:13px}.py-diagram-flow-steps button strong[data-v-032bba9f]{font-size:12px}.py-diagram-pair-tabs[data-v-032bba9f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.py-diagram-pair-tabs button[data-v-032bba9f]{min-width:0}.py-diagram-pair-result[data-v-032bba9f]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 10px;padding:13px 3px}.py-diagram-pair-result span[data-v-032bba9f]:last-of-type,.py-diagram-pair-result strong[data-v-032bba9f]{grid-column:2}.py-diagram-pair-result i[data-v-032bba9f]{display:none}.py-diagram-pair-result code[data-v-032bba9f]{font-size:15px}.py-diagram-pair-result strong[data-v-032bba9f]{font-size:17px}.py-diagram-branch-options[data-v-032bba9f]{grid-template-columns:1fr}.py-diagram-branch-options button[data-v-032bba9f]{min-height:48px;flex-direction:row;justify-content:space-between;align-items:center}}@media(prefers-reduced-motion:reduce){.py-concept-diagram [data-v-032bba9f]{-webkit-animation:none!important;animation:none!important;transition:none!important;transform:none!important}}.py-handbook-entry[data-v-27fadc72]{max-width:920px;margin:0 auto;padding-bottom:54px;color:#2e4b41}.py-breadcrumb[data-v-27fadc72]{display:flex;align-items:center;gap:8px;color:#506f5b;font-size:calc(13px + var(--hb-font-delta, 0px))}.py-entry-header[data-v-27fadc72]{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,31%);align-items:center;gap:22px;min-height:185px;margin:18px 0 26px;border-bottom:1px solid #dbe9df}.py-entry-intro[data-v-27fadc72]{padding:12px 0 20px}.py-entry-category[data-v-27fadc72]{color:#426e4e;font-size:calc(13px + var(--hb-font-delta, 0px));font-weight:700}.py-entry-intro h1[data-v-27fadc72]{margin:11px 0 10px;color:#184538;font-size:calc(34px + var(--hb-font-delta, 0px));line-height:1.25}.py-entry-intro p[data-v-27fadc72]{max-width:540px;margin:0;color:#4d6856;font-size:calc(15px + var(--hb-font-delta, 0px));line-height:1.75}.py-entry-art[data-v-27fadc72]{display:block;width:100%;max-height:175px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 8px 10px #21463218)}.py-section[data-v-27fadc72]{margin:0 0 39px;scroll-margin-top:18px}.py-section-title[data-v-27fadc72]{display:flex;align-items:center;gap:10px;margin-bottom:16px}.py-section-title>span[data-v-27fadc72]{color:#4d7358;font:700 calc(13px + var(--hb-font-delta, 0px)),Consolas,monospace}.py-section-title h2[data-v-27fadc72]{margin:0;color:#235f46;font-size:calc(20px + var(--hb-font-delta, 0px));line-height:1.4}.py-example-title[data-v-27fadc72],.py-question[data-v-27fadc72]{margin:0 0 11px;color:#25493c;font-size:calc(16px + var(--hb-font-delta, 0px));line-height:1.5}.py-worked-example+.py-worked-example[data-v-27fadc72]{margin-top:25px;padding-top:23px;border-top:1px solid #dbe9df}.py-example-title[data-v-27fadc72]{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.py-example-title span[data-v-27fadc72]{color:#a36b40;font:700 calc(12px + var(--hb-font-delta, 0px))/1.5 Consolas,monospace}.py-prose[data-v-27fadc72]{margin:0 0 12px;color:#435e52;font-size:calc(14px + var(--hb-font-delta, 0px));line-height:1.9}.py-rule[data-v-27fadc72]{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:12px 14px;border-left:3px solid #c58958;background:#fbf7ed}.py-rule i[data-v-27fadc72]{margin-top:4px;color:#ae7446;font-size:calc(16px + var(--hb-font-delta, 0px))}.py-rule p[data-v-27fadc72]{margin:0;color:#725a43;font-size:calc(13px + var(--hb-font-delta, 0px));line-height:1.75}.py-reference-part[data-v-27fadc72]{padding:14px 0 8px;border-top:1px solid #e5eee7}.py-reference-part h4[data-v-27fadc72]{margin:0 0 9px;color:#245840;font-size:calc(15px + var(--hb-font-delta, 0px));line-height:1.5}.py-reference-part .py-prose[data-v-27fadc72]{margin-bottom:11px}.py-reference-table-wrap[data-v-27fadc72]{max-width:100%;margin:11px 0 14px;overflow-x:auto;border:1px solid #dae8dc;border-radius:5px}.py-reference-table[data-v-27fadc72]{width:100%;min-width:400px;border-collapse:collapse;text-align:left;font-size:calc(13px + var(--hb-font-delta, 0px));line-height:1.65}.py-reference-table th[data-v-27fadc72]{padding:9px 12px;background:#eaf4ea;color:#315c41;font-weight:700}.py-reference-table td[data-v-27fadc72]{padding:9px 12px;border-top:1px solid #e5eee7;color:#3d584a;vertical-align:top}.py-reference-table tbody tr:nth-child(2n) td[data-v-27fadc72]{background:#f8fbf8}.py-inline-illustration[data-v-27fadc72]{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);align-items:center;gap:22px;min-height:162px;margin:18px 0 23px;padding:12px 22px;border-top:1px solid #e3ede5;border-bottom:1px solid #e3ede5;background:#f8fbf7}.py-inline-illustration img[data-v-27fadc72]{display:block;width:100%;height:142px;-o-object-fit:contain;object-fit:contain}.py-inline-illustration figcaption span[data-v-27fadc72]{color:#48755a;font-size:calc(12px + var(--hb-font-delta, 0px));font-weight:700}.py-inline-illustration figcaption p[data-v-27fadc72]{margin:8px 0 0;color:#3e5e4b;font-size:calc(14px + var(--hb-font-delta, 0px));line-height:1.8}.py-section-lead[data-v-27fadc72]{margin:-7px 0 15px;color:#4b6d57;font-size:calc(14px + var(--hb-font-delta, 0px));line-height:1.65}.py-prerequisite[data-v-27fadc72]{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;margin:12px 0;color:#3f644e;font-size:calc(13px + var(--hb-font-delta, 0px));line-height:1.7}.py-prerequisite button[data-v-27fadc72]{padding:0;border:0;background:none;color:#1e6848;cursor:pointer;font-size:calc(13px + var(--hb-font-delta, 0px));font-weight:700}.py-prerequisite button[data-v-27fadc72]:hover{text-decoration:underline}.py-example-grid[data-v-27fadc72]{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr);min-width:0;border:1px solid #d4e4dc;border-radius:6px;overflow:hidden}.py-code-panel[data-v-27fadc72]{min-width:0;background:#203b37}.py-panel-head[data-v-27fadc72]{display:flex;justify-content:space-between;align-items:center;min-height:35px;padding:0 14px;border-bottom:1px solid hsla(0,0%,100%,.13333333333333333);color:#b6d6c1;font-size:calc(11px + var(--hb-font-delta, 0px))}.py-panel-head button[data-v-27fadc72]{border:0;background:transparent;color:#dbe8d9;cursor:pointer;font-size:calc(11px + var(--hb-font-delta, 0px))}.py-panel-head button[data-v-27fadc72]:hover{color:#fff}.py-code-panel pre[data-v-27fadc72]{margin:0;padding:18px;overflow-x:auto;color:#e1eee5;font:calc(12px + var(--hb-font-delta, 0px))/1.75 Consolas,monospace}.py-code-panel code[data-v-27fadc72]{background:transparent}.py-code-panel[data-v-27fadc72] .hljs{background:transparent;color:#e1eee5}.py-code-panel[data-v-27fadc72] .hljs-built_in,.py-code-panel[data-v-27fadc72] .hljs-keyword{color:#91d4c8}.py-code-panel[data-v-27fadc72] .hljs-string{color:#f6c997}.py-code-panel[data-v-27fadc72] .hljs-number{color:#f5bb9b}.py-code-panel[data-v-27fadc72] .hljs-comment{color:#9bbaa8}.py-output-panel[data-v-27fadc72]{min-width:0;padding:15px;background:#f5f9f5}.py-output-label[data-v-27fadc72]{display:block;margin:0 0 6px;color:#6d8a7a;font-size:calc(11px + var(--hb-font-delta, 0px));font-weight:700}.py-output-panel pre[data-v-27fadc72]{margin:0 0 14px;color:#2b5940;white-space:pre-wrap;overflow-wrap:anywhere;font:calc(13px + var(--hb-font-delta, 0px))/1.7 Consolas,monospace}.py-output-panel .py-input[data-v-27fadc72]{color:#b0643c}.py-walkthrough[data-v-27fadc72]{margin:17px 0 0;padding:0;list-style:none}.py-walkthrough li[data-v-27fadc72]{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #edf2ed}.py-walkthrough li>span[data-v-27fadc72]{flex:none;color:#c18355;font:700 calc(12px + var(--hb-font-delta, 0px)),Consolas,monospace}.py-walkthrough p[data-v-27fadc72]{margin:0;color:#4d6559;font-size:calc(13px + var(--hb-font-delta, 0px));line-height:1.75}.py-mistake-list[data-v-27fadc72]{display:grid;gap:10px}.py-mistake-list p[data-v-27fadc72]{display:flex;gap:10px;margin:0;padding:10px 0;border-bottom:1px solid #e9eee9;color:#5d6053;font-size:calc(13px + var(--hb-font-delta, 0px));line-height:1.75}.py-mistake-list i[data-v-27fadc72]{flex:none;margin-top:4px;color:#bd784e;font-size:calc(15px + var(--hb-font-delta, 0px))}.py-quiz-section[data-v-27fadc72]{padding-top:4px}.py-quiz-question[data-v-27fadc72]{margin:0 0 15px;color:#27483c;font-size:calc(15px + var(--hb-font-delta, 0px));font-weight:600;line-height:1.7}.py-quiz-options[data-v-27fadc72]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.py-quiz-options button[data-v-27fadc72]{display:flex;align-items:center;gap:9px;min-height:46px;padding:9px 12px;border:1px solid #d2e2d7;border-radius:5px;background:#fff;color:#3f5e4b;text-align:left;cursor:pointer;font-size:calc(13px + var(--hb-font-delta, 0px));line-height:1.5;transition:background .2s,border-color .2s,transform .2s}.py-quiz-options button[data-v-27fadc72]:hover{border-color:#86b397;background:#f0f8f1;transform:translateY(-2px)}.py-quiz-options button span[data-v-27fadc72]{color:#b07952;font:700 calc(13px + var(--hb-font-delta, 0px)),Georgia,serif}.py-quiz-options button.correct[data-v-27fadc72]{border-color:#5c9b70;background:#e8f5e8}.py-quiz-options button.wrong[data-v-27fadc72]{border-color:#d39b83;background:#fff1e9}.py-quiz-feedback[data-v-27fadc72]{display:flex;gap:8px;margin:14px 0 0;color:#3d7852;font-size:calc(13px + var(--hb-font-delta, 0px));line-height:1.75}.py-quiz-feedback i[data-v-27fadc72]{margin-top:4px}.py-quiz-feedback.needs-retry[data-v-27fadc72]{color:#855432}@media(max-width:760px){.py-entry-header[data-v-27fadc72]{grid-template-columns:1fr;gap:0}.py-entry-intro[data-v-27fadc72]{padding-bottom:0}.py-entry-intro h1[data-v-27fadc72]{font-size:calc(29px + var(--hb-font-delta, 0px))}.py-entry-art[data-v-27fadc72]{justify-self:center;max-width:230px;max-height:145px}.py-reference-table[data-v-27fadc72]{min-width:0;table-layout:fixed;font-size:calc(12px + var(--hb-font-delta, 0px))}.py-reference-table td[data-v-27fadc72],.py-reference-table th[data-v-27fadc72]{padding:8px 7px;overflow-wrap:anywhere}.py-inline-illustration[data-v-27fadc72]{grid-template-columns:1fr;gap:5px;padding:13px 16px 16px}.py-inline-illustration img[data-v-27fadc72]{height:126px}.py-example-grid[data-v-27fadc72],.py-quiz-options[data-v-27fadc72]{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.py-quiz-options button[data-v-27fadc72]{transition:none}.py-quiz-options button[data-v-27fadc72]:hover{transform:none}}