@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}@layer reset{html{box-sizing:border-box;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-font-feature-settings:"pnum";font-feature-settings:"pnum";font-variant-numeric:proportional-nums;color:#212529;-ms-overflow-style:-ms-autohiding-scrollbar;background-color:#fff;font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:1.65}*,:before,:after{box-sizing:inherit}:focus{outline:1px dotted #000}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid #000}body,h1,h2,h3,h4,h5,h6,ul,ol,li,p,pre,blockquote,figure,hr{margin:0;padding:0}ul[class],ol[class]{list-style:none}.plain-list{padding-left:0;list-style:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E")}b,strong{font-weight:bolder}small{font-size:80%}sub{bottom:-.25em}sup{top:-.5em}a:not([class]){color:#007bff;-webkit-text-decoration-skip:objects;background-color:#0000;text-decoration:none;transition:color .2s}@media (pointer:fine) and (hover:hover){a:not([class]):hover,a:not([class]):focus{text-decoration:underline}a:hover{color:#0056b3}}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}img{vertical-align:middle;border-style:none;width:100%}svg:not(:root){overflow:hidden}a,area,button,[role=button],input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}input,textarea,select,button{color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;border-radius:0}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder,select::-webkit-input-placeholder{line-height:normal}input,textarea,button{border:1px solid gray}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}input[type=search]{-webkit-appearance:textfield}::-webkit-search-decoration{display:none}textarea{resize:vertical;overflow:auto}button *{pointer-events:none}embed,iframe,img,object,video{max-width:100%;display:block}img,video{width:100%;height:auto}table{table-layout:fixed;border-collapse:collapse;width:100%}[hidden]{display:none!important}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0, 0, 0, 0);clip-path:inset(100%);position:absolute}noscript{margin-top:1em;margin-bottom:1em;display:block}.sr-only:not(:focus):not(:active){clip:rect(0 0 0 0);clip-path:inset(100%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.visually-hidden{white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}}@layer prism{code[class*=language-],pre[class*=language-]{color:#ffd493;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;background:0 0;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;line-height:1.5}code[class*=language-html],pre[class*=language-html]{color:#fff}pre[class*=language-]{margin:.5em 0;padding:1em;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#0000}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.3em;padding:.1em}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:var(--blue-muted-comment)}.token.punctuation{color:#eef0f9}.token.tag,.token.namespace,.token.number,.token.unit,.token.hexcode,.token.deleted{color:#54b9ff}.token.attr-name{color:#4bf3c8}.token.property,.token.function{color:#fff}.token.selector{color:#4bf3c8}.token.function-name{color:#00d4ff}.token.boolean,.token.selector .token.id{color:#fdfdfd}.token.class-name{color:#fff5f6}.token.constant,.token.symbol{color:#f92aad}.token.important,.token.atrule,.token.keyword,.token.selector .token.class,.token.builtin{color:#f4eee4}.token.string,.token.char,.token.regex,.token.variable{color:#72f1b8}.token.attr-value{color:#ffd493}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{counter-reset:linenumber;padding-left:clamp(3.56rem,3.36rem + 1.02vw,4.13rem);position:relative}pre[class*=language-].line-numbers>code{white-space:inherit;position:relative}.line-numbers .line-numbers-rows{pointer-events:none;letter-spacing:-1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:3em;font-size:100%;position:absolute;top:-.225em;left:calc(-1*clamp(3.56rem,3.36rem + 1.02vw,4.13rem))}.line-numbers-rows>span{counter-increment:linenumber;display:block}.line-numbers-rows>span:before{content:counter(linenumber);color:var(--blue-muted);text-align:right;padding-right:.8em;display:block}div.prism-live{box-sizing:border-box;flex-flow:column;block-size:100%;font-size:1.08em;display:flex;position:relative}textarea.prism-live,pre.prism-live{box-sizing:border-box;margin:0;padding:.2rem .5rem}textarea.prism-live{z-index:1;color:#0000;cursor:text;white-space:pre;resize:none;--selection-background:#adbdcc33;background:0 0;border:0;outline:none;width:100%;height:100%;position:absolute;top:0;right:0}@supports (not (caret-color:black)) and (-webkit-text-fill-color:black){textarea.prism-live{color:inherit;-webkit-text-fill-color:transparent}}textarea.prism-live::-moz-selection{background:var(--selection-background);color:var(--selection-color)}textarea.prism-live::selection{background:var(--selection-background);color:var(--selection-color)}pre.prism-live{pointer-events:none;--scrollbar-width:17px;max-height:100%;padding-bottom:var(--scrollbar-width);padding-right:var(--scrollbar-width);flex:1;position:relative;overflow:hidden}pre.prism-live>code:empty:before{content:" "}}@layer custom{@view-transition{navigation:auto}::view-transition{pointer-events:none}::view-transition-group(root){animation-duration:.2s}::view-transition-old(--current-link),::view-transition-new(--current-link),::view-transition-old(nav-background),::view-transition-new(nav-background){block-size:100%;inline-size:100%}::view-transition-group(.current-link-text){z-index:2}::view-transition-old(.current-link-text),::view-transition-new(.current-link-text){object-fit:none;object-position:left;height:100%;overflow:clip}nav{view-transition-group:contain}*{--max-screen-size:var(--screen-max,1200);--min-screen-size:var(--screen-min,375);--responsive:( (var(--min-font) * 1px) + (var(--max-font) - var(--min-font)) * ( (100vw - (var(--min-screen-size) * 1px)) / (var(--max-screen-size) - var(--min-screen-size)) ) )}*,:before,:after{corner-shape:squircle;corner-shape:superellipse(1.25)}html{touch-action:pan-y;overscroll-behavior:none;scroll-padding-block-start:var(--space-7);@media (prefers-reduced-motion:no-preference){scroll-behavior:smooth}}html:focus-within{scroll-behavior:smooth}body{overscroll-behavior:none;color:var(--text-muted);line-height:1.75;display:flow-root}h3{--min-font:22;--max-font:38;--screen-max:1200;--screen-min:375;font-family:Wotfard,Segoe UI,system-ui,-apple-system,sans-serif;font-weight:500;font-size:clamp(var(--min-font) * 1px, var(--responsive), var(--max-font) * 1px);line-height:1.125}p{font-family:var(--font-mona);font-feature-settings:"ss01" on;--min-font:16;--max-font:17;--screen-max:1200;--screen-min:375;font-size:18px;font-weight:430;font-size:clamp(var(--min-font) * 1px, var(--responsive), var(--max-font) * 1px)}p:has(small){line-height:1.25}[contenteditable]{outline:none}footer{grid:auto / minmax(var(--space-5), 1fr) minmax(auto, 1200px) minmax(var(--space-5), 1fr);gap:var(--space-7) 0;text-align:center;background:var(--blue-900);margin-block-start:var(--space-7);padding-block-start:var(--space-7);padding-block-end:var(--space-7);display:grid}footer>*{color:var(--purple-50);grid-column:2/-2;font-weight:700}main{grid:auto / minmax(var(--space-5), 1fr) minmax(auto, 1200px) minmax(var(--space-5), 1fr);gap:var(--space-9) 0;display:grid}.in-view:not(.in-view+*){--pseudo-opacity:.4;--filter:grayscale(0);--before-opacity:.8}path{stroke-width:inherit}section{gap:var(--space-5) var(--space-6);padding:var(--space-6);background:var(--ui-surface);border-radius:var(--bdrs-xl);box-shadow:var(--shadow-border);background:var(--ui-surface);view-timeline:--t;grid:auto/repeat(auto-fit,minmax(min(100%,400px),1fr));grid-column:2/-2;margin-block-end:var(--space-6);margin-inline-start:var(--space-6);animation:linear both --a --t;display:grid;position:relative;&:before{content:"";background:oklch(from var(--ui-primary) .9 .05 h);border-radius:inherit;z-index:-1;filter:blur(40px);opacity:var(--light,0);transition:opacity .3s;position:absolute;inset:4%}}@keyframes --a{entry 0%,exit 100%{--light:0}contain 50%{--light:1}}section:has(:target){min-height:95vh;min-height:calc(100vh - 2 * var(--space-6));grid-template-rows:min-content min-content 1fr;@media (width<=895px){grid-template-rows:min-content min-content min-content 1fr}}section :is(.small-label,.exercise-details){grid-column:1/-1}section .exercise-details{display:inherit;gap:var(--space-3) var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}.exercise-content>p+*{margin-block-start:var(--space-5)}button{--btn-icon:var(--blue-muted);align-items:center;gap:var(--space-2);gap:var(--space-1);border-radius:var(--bdrs-l);background:var(--btn-bg);color:var(--blue-900);font-weight:600;font-size:var(--font-size-md);cursor:pointer;box-shadow:var(--btn-theme,var(--ui-accent)) 0 0 0 var(--btn-stroke,1px) inset;will-change:box-shadow;font-variation-settings:"wdth" 120;font-family:var(--font-mona), system-ui;letter-spacing:.01em;border:0;padding:.25em .75em .25em .6em;transition:box-shadow .2s;display:inline-flex}button.reset:focus-visible:before{opacity:1}button:where(:not([disabled]):active){--btn-stroke:2px;background:var(--blue-muted-comment)}button[disabled]{filter:grayscale();opacity:var(--opacity,.6);cursor:default;background:0 0}.exercise-details p>code{--m:var(--ui-surface);padding-inline:var(--space-2);color:var(--text-primary);border-radius:var(--bdrs-md);background:var(--ui-surface);box-shadow:var(--shadow-code);cursor:pointer;padding-block:0;font-size:.9em;transition:all .2s;display:inline-block;&:hover{color:var(--blue-700);text-shadow:0 0 3px hsl(from var(--ui-accent) h s l / 33%)}}.resize{vertical-align:middle;background:var(--resize-icon) 0 0 / contain no-repeat;block-size:1rem;inline-size:1rem;display:inline-block}div.prism-live{border-radius:0 0 var(--bdrs-sm) var(--bdrs-sm);overflow:hidden}textarea.prism-live,pre.prism-live,code{font-weight:500;font-family:var(--font-mono), Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace!important}}@layer tokens{:root{--gray-50:oklch(98.5% 0 0);--gray-100:oklch(96.7% .001 286.375);--gray-200:oklch(92% .004 286.32);--gray-300:oklch(87.1% .006 286.286);--gray-400:oklch(70.5% .015 286.067);--gray-500:oklch(55.2% .016 285.938);--gray-600:oklch(44.2% .017 285.786);--gray-700:oklch(37% .013 285.805);--gray-800:oklch(27.4% .006 286.033);--gray-900:oklch(21% .006 285.885);--gray-1000:oklch(14.1% .005 285.823);--blue-muted-comment:#a9bcce;--blue-muted:#55718d;--blue-600:oklch(32% .06 263.05);--blue-700:#172541;--blue-800:#071533;--blue-900:#000523;--cyan-400:oklch(83% .19 207.05);--orange-500:#ff6701;--yellow-200:oklch(96% .24 109);--green-100:#a2fad2f2;--green-200:#67e4ac;--green-300:#72f1b8;--green-400:#14b66e;--purple-50:#e4deed;--purple-600:#5000ca;--violet-100:#f3daf8;--violet-200:#e2b9ea;--violet-400:#be8cc8;--indigo-100:oklch(89% .07 292.66/.95);--indigo-200:oklch(75% .1 292.66);--indigo-400:oklch(60% .07 292.66);--pink-100:oklch(88% .08 320);--pink-200:oklch(71% .1 320);--pink-400:oklch(52% .12 320);--pink-900:#853a67;--aquamarine-300:#82f4e1;--periwinkle-100:oklch(88% .08 265);--periwinkle-200:oklch(72% .13 265);--periwinkle-400:oklch(52% .16 265);--theme-grid:var(--green-200);--theme-subgrid:var(--indigo-200);--theme-flex:var(--pink-200);--theme-sda:var(--periwinkle-200);--surface-primary:#fff;--surface-secondary:#e9eef4;--surface-tertiary:#f1eef5;--surface-elevated:#fffc;--surface-overlay:#fff3;--surface-backdrop:#000c;--ui-surface:var(--surface-primary);--ui-primary:var(--green-300);--ui-primary-border:#67e4ac;--ui-primary-dark:#14b66e;--ui-secondary:#ffa956;--ui-accent:oklch(from var(--ui-primary) l 100% h);--ui-bg:#2d203c;--ui-bg-2:#251b32;--ui-bg-3:#39233e;--text-primary:var(--gray-900);--text-secondary:var(--gray-700);--text-muted:var(--gray-600);--text-inverted:var(--gray-100);--shadow-border:#3341551a 0 0 0 1px;--shadow-sm:0 0 2px #0000001a;--shadow-md:0 4px 12px #00000014, 0 0 0 1px #0000000a;--shadow-lg:#3341551a 0 0 0 1px, #0000000d 0 20px 25px -5px, #0000000d 0 8px 10px -6px;--shadow-code:inset #33415526 0 0 0 1px, #0000000d 0 20px 25px -5px;--shadow-ui:0 0 0 1px #00000014, 0 2px 2px #0000000a;--space-1:.25rem;--space-2:.375rem;--space-3:.5rem;--space-4:clamp(.31rem, calc(.15rem + .8vw), .75rem);--space-5:clamp(.69rem, calc(.53rem + .8vw), 1.13rem);--space-6:clamp(1rem, calc(.55rem + 2.27vw), 2.25rem);--space-7:clamp(1.31rem, calc(.7rem + 3.07vw), 3rem);--space-8:clamp(2rem, calc(1.09rem + 4.55vw), 4.5rem);--space-9:clamp(3.94rem, calc(3.19rem + 3.75vw), 6rem);--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:.9rem;--font-size-lg:1.2rem;--font-size-xl:1.7rem;--bdrs-sm:.1875rem;--bdrs-md:.375rem;--bdrs-l:.5rem;--bdrs-xl:1rem;--bdrs-round:99rem;--btn-bg:var(--surface-secondary);--btn-icon:var(--blue-muted);--btn-stroke:1px;--btn-theme:var(--ui-accent);--resize-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%23909090' d='M9.75 16.5a6.75 6.75 0 0 0 6.75-6.75v-4.5a2.25 2.25 0 0 1 4.5 0v4.5A11.25 11.25 0 0 1 9.75 21h-4.5a2.25 2.25 0 0 1 0-4.5h4.5Z'/%3E%3C/svg%3E%0A")}}body,h1,h2,h3,h4,h5,h6,p,span,a,li,label,button,summary{font-feature-settings:"ss01"}.output{& *{font-feature-settings:normal}}path,g,symbol{stroke-width:inherit!important}.language-html>.token.tag:has(>.style-attr):not(:has(>.attr-name)){&,&+.token.tag{opacity:.5}}
