@media(prefers-reduced-motion:reduce){[data-astro-cid-x2umym6b][data-learning-video-load] span[data-astro-cid-x2umym6b]{transition:none!important}}.lesson-bibliography[data-astro-cid-uamadmnw]{margin-top:3.5rem;padding:1.4rem 0 0;border-top:1px solid rgba(14,116,144,.24);color:#233246}.lesson-bibliography[data-astro-cid-uamadmnw] h2[data-astro-cid-uamadmnw]{margin:0;color:#102a43;font-size:1.35rem;line-height:1.2}.lesson-bibliography[data-astro-cid-uamadmnw] header[data-astro-cid-uamadmnw]>span[data-astro-cid-uamadmnw]{display:block;max-width:52rem;margin-top:.7rem;color:#526174;font-family:var(--font-body);line-height:1.6}.lesson-bibliography[data-astro-cid-uamadmnw] ol[data-astro-cid-uamadmnw]{display:grid;gap:.8rem;margin:1.4rem 0 0;padding-left:1.4rem}.lesson-bibliography[data-astro-cid-uamadmnw] li[data-astro-cid-uamadmnw]{padding-left:.25rem}.lesson-bibliography[data-astro-cid-uamadmnw] li[data-astro-cid-uamadmnw]>p[data-astro-cid-uamadmnw]{margin:0;color:#25364d;font-family:var(--font-body);line-height:1.55}.lesson-bibliography[data-astro-cid-uamadmnw] li[data-astro-cid-uamadmnw]>p[data-astro-cid-uamadmnw] a[data-astro-cid-uamadmnw]{color:inherit;text-decoration-color:#0e7490;text-underline-offset:.2rem}.lesson-bibliography[data-astro-cid-uamadmnw] li[data-astro-cid-uamadmnw]>span[data-astro-cid-uamadmnw]{display:block;margin-top:.25rem;color:#5d6d80;font-family:var(--font-body);font-size:.88rem;line-height:1.5}.dark .lesson-bibliography[data-astro-cid-uamadmnw]{border-color:#67e8f92e;color:#d7e3f1}.dark .lesson-bibliography[data-astro-cid-uamadmnw] h2[data-astro-cid-uamadmnw],.dark .lesson-bibliography[data-astro-cid-uamadmnw] li[data-astro-cid-uamadmnw]>p[data-astro-cid-uamadmnw]{color:#e8f2fb}.dark .lesson-bibliography[data-astro-cid-uamadmnw] header[data-astro-cid-uamadmnw]>span[data-astro-cid-uamadmnw],.dark .lesson-bibliography[data-astro-cid-uamadmnw] li[data-astro-cid-uamadmnw]>span[data-astro-cid-uamadmnw]{color:#aebdd0}body.learning-site .learning-code-shell{margin-block:1.6rem;overflow:hidden;border:1px solid var(--learning-border, rgba(32, 48, 57, .16));border-radius:.55rem;background:color-mix(in srgb,var(--learning-surface-muted, #edf0eb) 86%,transparent);box-shadow:none}body.learning-site .learning-code-toolbar{display:flex;min-height:2.35rem;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem .55rem .35rem .75rem;border-bottom:1px solid var(--learning-border, rgba(32, 48, 57, .16));background:color-mix(in srgb,var(--learning-surface, #fff) 62%,transparent)}body.learning-site .learning-code-language{color:var(--learning-muted, #5a6971);font-family:var(--learning-font-body, sans-serif);font-size:.76rem;font-weight:500;letter-spacing:.025em}body.learning-site .learning-code-copy{min-height:1.9rem;border:1px solid var(--learning-border-strong, rgba(32, 48, 57, .24));border-radius:.35rem;background:transparent;color:var(--learning-heading, #17252e);padding:.28rem .62rem;font-family:var(--learning-font-body, sans-serif);font-size:.78rem;font-weight:500;line-height:1.2;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}body.learning-site .learning-code-copy:hover{border-color:var(--learning-accent, #a3133f);background:color-mix(in srgb,var(--learning-accent, #a3133f) 7%,transparent);color:var(--learning-accent, #a3133f)}body.learning-site .learning-code-copy:focus-visible,body.learning-site .python-exercise :is(button,a,textarea,summary):focus-visible,body.learning-site .python-notebook-download a:focus-visible{outline:2px solid var(--learning-focus, #be123c);outline-offset:2px}body.learning-site .learning-code-copy:disabled{cursor:wait;opacity:.72}body.learning-site .learning-code-shell>pre{margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}body.learning-site .python-exercise{margin-block:2rem;overflow:hidden;border:1px solid var(--learning-border-strong, rgba(32, 48, 57, .24));border-radius:.75rem;background:color-mix(in srgb,var(--learning-surface, #fff) 94%,transparent);color:var(--learning-text, #33454f);font-family:var(--learning-font-body, sans-serif);box-shadow:0 .5rem 1.5rem #0f171c0e}body.learning-site .python-exercise__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--learning-border, rgba(32, 48, 57, .16));background:color-mix(in srgb,var(--learning-surface-muted, #edf0eb) 52%,transparent)}body.learning-site .prose .python-exercise__header h3,body.learning-site .python-exercise__header h3{margin:0!important;color:var(--learning-heading, #17252e)!important;font-family:var(--learning-font-heading, serif)!important;font-size:clamp(1.08rem,1.4vw,1.22rem)!important;font-weight:600!important;line-height:1.35!important;letter-spacing:-.005em!important}body.learning-site .python-exercise__eyebrow{margin:0 0 .25rem;color:var(--learning-accent, #a3133f);font-size:.72rem;font-weight:600;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}body.learning-site .python-exercise__engine{flex:none;border:1px solid var(--learning-border, rgba(32, 48, 57, .16));border-radius:999px;color:var(--learning-muted, #5a6971);padding:.25rem .55rem;font-size:.72rem;font-weight:500;white-space:nowrap}body.learning-site .python-exercise__instructions{padding:.85rem 1.1rem 0;color:var(--learning-text, #33454f);font-size:.95rem;line-height:1.65}body.learning-site .python-exercise__instructions>:first-child{margin-top:0}body.learning-site .python-exercise__instructions>:last-child{margin-bottom:0}body.learning-site .python-exercise__editor-group{display:grid;gap:.42rem;padding:1rem 1.1rem 0}body.learning-site .python-exercise__editor-group label{color:var(--learning-heading, #17252e);font-size:.83rem;font-weight:600}body.learning-site .python-exercise textarea{width:100%;min-height:13rem;resize:vertical;border:1px solid var(--learning-border-strong, rgba(32, 48, 57, .24));border-radius:.48rem;background:color-mix(in srgb,var(--learning-surface-muted, #edf0eb) 88%,transparent);color:var(--learning-heading, #17252e);padding:.85rem .9rem;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.87rem;font-weight:400;line-height:1.55;tab-size:4;color-scheme:light}.dark body.learning-site .python-exercise textarea{color-scheme:dark}body.learning-site .python-exercise__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.8rem 1.1rem 0}body.learning-site .python-exercise__button,body.learning-site .python-exercise__download{display:inline-flex;min-height:2.2rem;align-items:center;justify-content:center;border:1px solid var(--learning-border-strong, rgba(32, 48, 57, .24));border-radius:.4rem;background:transparent;color:var(--learning-heading, #17252e);padding:.42rem .72rem;font-family:var(--learning-font-body, sans-serif);font-size:.82rem;font-weight:500;line-height:1.2;text-decoration:none!important;cursor:pointer}body.learning-site .python-exercise__button:hover,body.learning-site .python-exercise__download:hover{border-color:var(--learning-accent, #a3133f);color:var(--learning-accent, #a3133f)}body.learning-site .python-exercise__button--primary{border-color:var(--learning-accent, #a3133f);background:var(--learning-accent, #a3133f);color:#fff}body.learning-site .python-exercise__button--primary:hover{background:var(--learning-accent-hover, #7f1234);color:#fff}body.learning-site .python-exercise__button:disabled{cursor:not-allowed;opacity:.5}body.learning-site .python-exercise__download{margin-inline-start:auto;color:var(--learning-accent, #a3133f)}body.learning-site .python-exercise__status{min-height:1.35rem;margin:0;padding:.65rem 1.1rem 0;color:var(--learning-muted, #5a6971);font-size:.82rem;line-height:1.5}body.learning-site .python-exercise[data-state=running] .python-exercise__status{color:#8a5b00}.dark body.learning-site .python-exercise[data-state=running] .python-exercise__status{color:#f4cb73}body.learning-site .python-exercise[data-state=success] .python-exercise__status{color:#166534}.dark body.learning-site .python-exercise[data-state=success] .python-exercise__status{color:#86efac}body.learning-site .python-exercise[data-state=error] .python-exercise__status{color:#b42318}.dark body.learning-site .python-exercise[data-state=error] .python-exercise__status{color:#fda29b}body.learning-site .python-exercise__result{padding:.8rem 1.1rem 0}body.learning-site .prose .python-exercise__result h4,body.learning-site .python-exercise__result h4{margin:0 0 .42rem!important;color:var(--learning-heading, #17252e)!important;font-family:var(--learning-font-body, sans-serif)!important;font-size:.83rem!important;font-weight:600!important;letter-spacing:0!important}body.learning-site .python-exercise__result pre{min-height:4.8rem;max-height:24rem;overflow:auto;margin:0!important;border:1px solid var(--learning-border, rgba(32, 48, 57, .16))!important;border-radius:.48rem!important;background:color-mix(in srgb,var(--learning-surface-muted, #edf0eb) 72%,transparent)!important;color:var(--learning-heading, #17252e)!important;padding:.8rem .9rem!important;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.82rem;font-weight:400;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:none!important}body.learning-site .python-exercise__figures{display:grid;gap:.8rem;padding:.9rem 1.1rem 0}body.learning-site .python-exercise__figures[hidden]{display:none}body.learning-site .python-exercise__figures figure{margin:0;overflow:hidden;border:1px solid var(--learning-border, rgba(32, 48, 57, .16));border-radius:.5rem;background:color-mix(in srgb,var(--learning-surface, #fff) 68%,transparent)}body.learning-site .python-exercise__figures img{display:block;width:100%;height:auto;max-height:36rem;object-fit:contain}body.learning-site .python-exercise__figures figcaption{border-top:1px solid var(--learning-border, rgba(32, 48, 57, .16));color:var(--learning-muted, #5a6971);padding:.48rem .7rem;font-size:.78rem}body.learning-site .python-exercise__notice{margin:1rem 1.1rem 1.1rem;border-top:1px solid var(--learning-border, rgba(32, 48, 57, .16));color:var(--learning-muted, #5a6971);padding-top:.75rem;font-size:.79rem;line-height:1.55}body.learning-site .python-exercise__notice summary{width:fit-content;color:var(--learning-heading, #17252e);font-weight:500;cursor:pointer}body.learning-site .python-exercise__notice p{margin:.55rem 0 0}body.learning-site .python-notebook-download{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-block:1.5rem;border:1px solid var(--learning-border, rgba(32, 48, 57, .16));border-inline-start:3px solid var(--learning-accent, #a3133f);border-radius:.45rem;background:color-mix(in srgb,var(--learning-surface, #fff) 75%,transparent);color:var(--learning-text, #33454f);padding:.85rem 1rem;font-family:var(--learning-font-body, sans-serif)}body.learning-site .python-notebook-download strong{color:var(--learning-heading, #17252e);font-size:.95rem;font-weight:600}body.learning-site .python-notebook-download p{margin:.2rem 0 0;color:var(--learning-muted, #5a6971);font-size:.82rem;line-height:1.45}body.learning-site .python-notebook-download a{flex:none;border:1px solid var(--learning-accent, #a3133f);border-radius:.38rem;color:var(--learning-accent, #a3133f)!important;padding:.42rem .7rem;font-size:.82rem;font-weight:500;text-decoration:none!important}.dark body.learning-site .learning-code-shell,.dark body.learning-site .python-exercise,.dark body.learning-site .python-notebook-download{box-shadow:none}@media(max-width:640px){body.learning-site .python-exercise__header,body.learning-site .python-notebook-download{align-items:flex-start;flex-direction:column}body.learning-site .python-exercise__download{width:100%;margin-inline-start:0}body.learning-site .python-notebook-download a{width:100%;text-align:center}}@media(prefers-reduced-motion:reduce){body.learning-site .learning-code-copy{transition:none}}
