:where([data-astro-image]){object-fit:var(--fit);object-position:var(--pos);height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}@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;font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;font-weight:400;font-style:normal;line-height:1.65;color:#212529;background-color:#fff;-ms-overflow-style:-ms-autohiding-scrollbar}*,*:before,*:after{box-sizing:inherit}:focus{outline:1px dotted black}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid black}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{list-style:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E");padding-left:0}b,strong{font-weight:bolder}small{font-size:80%}sub{bottom:-.25em}sup{top:-.5em}a:not([class]){color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects;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]){color:inherit;text-decoration:none}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{width:100%;vertical-align:middle;border-style:none}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{border-radius:0;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit}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{overflow:auto;resize:vertical}button *{pointer-events:none}embed,iframe,img,object,video{display:block;max-width:100%}img,video{width:100%;height:auto}table{table-layout:fixed;width:100%;border-collapse:collapse}[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{display:block;margin-bottom:1em;margin-top:1em}.sr-only:not(:focus):not(:active){clip:rect(0 0 0 0);clip-path:inset(100%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.visually-hidden{position:absolute;white-space:nowrap;width:1px;height:1px;overflow:hidden;border:0;padding:0;clip:rect(0 0 0 0);clip-path:inset(50%);margin:-1px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}}@layer prism{code[class*=language-],pre[class*=language-]{color:#ffd493;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-html],pre[class*=language-html]{color:#fff}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:transparent}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.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:#6196cc;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{position:relative;padding-left:3.8em;padding-left:clamp(3.56rem,calc(3.36rem + 1.02vw),4.13rem);counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:-.225em;font-size:100%;left:-3.8em;left:calc(-1*clamp(3.56rem,calc(3.36rem + 1.02vw),4.13rem));width:3em;letter-spacing:-1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:var(--blue-muted);display:block;padding-right:.8em;text-align:right}div.prism-live{position:relative;box-sizing:border-box;display:flex;flex-flow:column;font-size:1.08em;block-size:100%}textarea.prism-live,pre.prism-live{padding:.2rem .5rem;box-sizing:border-box;margin:0}textarea.prism-live{position:absolute;top:0;right:0;width:100%;height:100%;z-index:1;color:transparent;cursor:text;white-space:pre;border:0;outline:none;background:transparent;resize:none;--selection-background: #adbdcc33}@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{flex:1;position:relative;pointer-events:none;overflow:hidden;max-height:100%;--scrollbar-width: 17px;padding-bottom:var(--scrollbar-width);padding-right:var(--scrollbar-width)}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){height:100%;object-fit:none;object-position:left;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{scroll-padding-block-start:var(--space-7);touch-action:pan-y;overscroll-behavior:none;@media (prefers-reduced-motion: no-preference){scroll-behavior:smooth}}html:focus-within{scroll-behavior:smooth}body{display:flow-root;overscroll-behavior:none;color:var(--text-muted);line-height:1.75}h3{font-family:Wotfard,Segoe UI,system-ui,-apple-system,sans-serif;font-weight:500;--min-font: 22;--max-font: 38;--screen-max: 1200;--screen-min: 375;font-size:clamp(var(--min-font) * 1px,var(--responsive),var(--max-font) * 1px);line-height:1.125}p{font-family:var(--font-mona);font-weight:430;font-feature-settings:"ss01" on;font-size:18px;--min-font: 16;--max-font: 17;--screen-max: 1200;--screen-min: 375;font-size:clamp(var(--min-font) * 1px,var(--responsive),var(--max-font) * 1px)}p:has(small){line-height:1.25}[contenteditable]{outline:none}footer{display:grid;grid:auto / minmax(var(--space-5),1fr) minmax(auto,1200px) minmax(var(--space-5),1fr);gap:var(--space-7) 0;text-align:center;padding-block-start:var(--space-7);padding-block-end:var(--space-7);background:var(--blue-900);margin-block-start:var(--space-7)}footer>*{grid-column:2 / -2;color:var(--purple-50);font-weight:700}main{display:grid;grid:auto / minmax(var(--space-5),1fr) minmax(auto,1200px) minmax(var(--space-5),1fr);gap:var(--space-9) 0}.in-view:is(:not(.in-view+*)){--pseudo-opacity: .4;--filter: grayscale(0);--before-opacity: .8}path{stroke-width:inherit}section{grid-column:2 / -2;display:grid;grid:auto / repeat(auto-fit,minmax(min(100%,400px),1fr));gap:var(--space-5) var(--space-6);position:relative;padding:var(--space-6);border-radius:var(--bdrs-xl);margin-inline-start:var(--space-6);margin-block-end:var(--space-6);box-shadow:var(--shadow-border);background:var(--ui-surface);view-timeline:--t;animation:--a both linear;animation-timeline:--t;&:before{content:"";position:absolute;inset:4%;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}}@keyframes --a{entry 0%,exit 100% { --light: 0; } contain 50% { --light: 1; }}section:has(:target){min-height:95vh;grid-template-rows:min-content min-content 1fr;min-height:calc(100vh - 2 * var(--space-6));@media (max-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;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:var(--space-3) var(--space-6)}.exercise-content>p+*{margin-block-start:var(--space-5)}button{--btn-icon: var(--blue-muted);display:inline-flex;align-items:center;gap:var(--space-2);gap:var(--space-1);border-radius:var(--bdrs-l);border:0;background:var(--btn-bg);color:var(--blue-900);font-weight:600;font-size:var(--font-size-md);padding:.25em .75em .25em .6em;cursor:pointer;box-shadow:var(--btn-theme, var(--ui-accent)) 0 0 0 var(--btn-stroke, 1px) inset;transition:.2s box-shadow;will-change:box-shadow;font-variation-settings:"wdth" 120;font-family:var(--font-mona),system-ui;letter-spacing:.01em}button.reset:focus-visible:before{opacity:1}button:where(:not([disabled]):active){--btn-stroke: 2px;background:var(--blue-muted-comment)}button[disabled]{filter:grayscale(1);opacity:var(--opacity, .6);cursor:default;background:transparent}.exercise-details p>code{--m: var(--ui-surface);display:inline-block;padding-inline:var(--space-2);padding-block:0;font-size:.9em;color:var(--m, var(--ui-primary));border-radius:var(--bdrs-md);color:var(--text-primary);background:var(--ui-surface);box-shadow:var(--shadow-code);cursor:pointer;transition:.2s;&:hover{color:var(--blue-700);text-shadow:0 0 3px hsl(from var(--ui-accent) h s l / 33%)}}.resize{display:inline flow-root;inline-size:1rem;block-size:1rem;vertical-align:middle;background:var(--resize-icon) 0 0 / contain no-repeat}div.prism-live{border-radius:0 0 var(--bdrs-sm) var(--bdrs-sm);overflow:hidden}textarea.prism-live,pre.prism-live,code{font-family:var(--font-mono),Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace!important;font-weight:500}}@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: hsl(153.07deg 89.8% 80.78% / 95%);--green-200: hsl(153.07deg 70% 65%);--green-300: #72f1b8;--green-400: hsl(153.07deg 79.8% 39.78%);--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: hsl(153.07deg 70% 65%);--ui-primary-dark: hsl(153.07deg 79.8% 39.78%);--ui-secondary: #ffa956;--ui-accent: oklch(from var(--ui-primary) l 100% h);--ui-bg: hsl(267, 30%, 18%);--ui-bg-2: hsl(266, 30%, 15%);--ui-bg-3: hsl(289, 27%, 19%);--text-primary: var(--gray-900);--text-secondary: var(--gray-700);--text-muted: var(--gray-600);--text-inverted: var(--gray-100);--shadow-border: rgb(51 65 85 / 10%) 0 0 0 1px;--shadow-sm: 0 0 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-lg: rgb(51 65 85 / 10%) 0 0 0 1px, rgb(0 0 0 / 5%) 0 20px 25px -5px, rgb(0 0 0 / 5%) 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}}
