.logo-link.svelte-50q0g6,.logo-link.svelte-50q0g6:hover{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:56px;color:#000;-webkit-tap-highlight-color:transparent;transition:color .3s}.logo-link.svelte-50q0g6 :where(svg:where(.svelte-50q0g6),g:where(.svelte-50q0g6),line:where(.svelte-50q0g6),path:where(.svelte-50q0g6)){color:inherit}.logo-link.svelte-50q0g6:focus-visible{color:var(--active-blue)}.logo-link.svelte-50q0g6:focus-visible{outline:2px solid var(--active-blue);outline-offset:3px;border-radius:6px}.logo.svelte-50q0g6{display:block;width:30px;height:30px}.logo__letter.svelte-50q0g6{animation-duration:2.2s;animation-timing-function:cubic-bezier(.5,0,.5,1);animation-fill-mode:forwards;stroke:currentColor}.logo__letter--stem.svelte-50q0g6{stroke-dasharray:32 32}.logo__letter--loop1.svelte-50q0g6{stroke-dasharray:52 52}.logo__letter--loop2.svelte-50q0g6{stroke-dasharray:54 54}.logo--running.svelte-50q0g6 .logo__letter--stem:where(.svelte-50q0g6){animation-name:svelte-50q0g6-stem;stroke-dashoffset:32}.logo--running.svelte-50q0g6 .logo__letter--loop1:where(.svelte-50q0g6){animation-name:svelte-50q0g6-upper-loop;stroke-dashoffset:52}.logo--running.svelte-50q0g6 .logo__letter--loop2:where(.svelte-50q0g6){animation-name:svelte-50q0g6-lower-loop;stroke-dashoffset:54}.logo--running.svelte-50q0g6 .logo__group:where(.svelte-50q0g6):nth-child(2) .logo__letter:where(.svelte-50q0g6){animation-delay:.33s}.logo--running.svelte-50q0g6 .logo__group:where(.svelte-50q0g6):nth-child(3) .logo__letter:where(.svelte-50q0g6){animation-delay:.67s}.logo--reversed.svelte-50q0g6 .logo__letter:where(.svelte-50q0g6){animation-direction:reverse}.logo--reversed.svelte-50q0g6 .logo__letter--stem:where(.svelte-50q0g6){stroke-dashoffset:32}.logo--reversed.svelte-50q0g6 .logo__letter--loop1:where(.svelte-50q0g6){stroke-dashoffset:52}.logo--reversed.svelte-50q0g6 .logo__letter--loop2:where(.svelte-50q0g6){stroke-dashoffset:54}.logo--running.logo--reversed.svelte-50q0g6 .logo__letter:where(.svelte-50q0g6){stroke-dashoffset:0}.logo--running.logo--reversed.svelte-50q0g6 .logo__group:where(.svelte-50q0g6):nth-child(1) .logo__letter:where(.svelte-50q0g6){animation-delay:.67s}.logo--running.logo--reversed.svelte-50q0g6 .logo__group:where(.svelte-50q0g6):nth-child(3) .logo__letter:where(.svelte-50q0g6){animation-delay:0s}html.dark .logo-link.svelte-50q0g6,html.dark .logo-link.svelte-50q0g6:hover{color:#fff}html.dark .logo-link.svelte-50q0g6:focus-visible{color:var(--dark-active-blue)}@media(max-width:600px){.logo-link.svelte-50q0g6{width:40px;padding-top:0}}@media(prefers-reduced-motion:reduce){.logo-link.svelte-50q0g6{transition:none}.logo__letter.svelte-50q0g6{animation:none!important;stroke-dashoffset:0!important}}@keyframes svelte-50q0g6-stem{0%{stroke-dashoffset:32}30%,to{stroke-dashoffset:0}}@keyframes svelte-50q0g6-upper-loop{0%,25%{stroke-dashoffset:52}65%,to{stroke-dashoffset:0}}@keyframes svelte-50q0g6-lower-loop{0%,60%{stroke-dashoffset:54}to{stroke-dashoffset:0}}header.svelte-1elxaub{--nav-border: #dedeea;--nav-text: #666;--nav-active-text: #222;--nav-highlight: rgba(238, 238, 245, .66);--nav-shadow: 0 6px 24px rgba(30, 30, 50, .07);display:flex;align-items:center;justify-content:space-between;height:58px;padding-top:24px}.menu.svelte-1elxaub{position:fixed;top:calc(28px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;width:max-content;gap:4px;padding:5px;border:1px solid var(--nav-border);border-radius:999px;background:var(--nav-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-link.svelte-1elxaub{position:relative;display:inline-flex;align-items:center;flex-shrink:0;padding:0 13px;height:36px;overflow:hidden;border-radius:999px;color:var(--nav-text)}.nav-link.svelte-1elxaub:focus-visible,.nav-link.active.svelte-1elxaub{background:var(--nav-highlight);color:var(--nav-active-text)}.nav-link.svelte-1elxaub:focus-visible .link-title:where(.svelte-1elxaub),.nav-link.active.svelte-1elxaub .link-title:where(.svelte-1elxaub){grid-template-columns:1fr;transform:translate(0);opacity:1}.nav-link.svelte-1elxaub *,.theme-toggle.svelte-1elxaub *{color:inherit}.link-icon.svelte-1elxaub{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:22px;height:22px}.link-title.svelte-1elxaub{display:grid;grid-template-columns:0fr;min-width:0;opacity:0;transform:translate(12px);transition:grid-template-columns .2s ease,transform .2s ease,opacity .2s ease}.link-title-content.svelte-1elxaub{min-width:0;overflow:hidden}.link-label.svelte-1elxaub{display:block;padding-left:8px;font-size:.8rem;font-weight:600;white-space:nowrap}@media(hover:hover)and (pointer:fine){.nav-link.svelte-1elxaub:hover{background:var(--nav-highlight);color:var(--nav-active-text)}.nav-link.svelte-1elxaub:hover .link-title:where(.svelte-1elxaub){grid-template-columns:1fr;transform:translate(0);opacity:1}}.theme-toggle.svelte-1elxaub{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:4px;border-radius:50%;color:var(--nav-text)}.theme-toggle.svelte-1elxaub:hover{background:var(--nav-highlight);color:var(--nav-active-text)}.nav-link.svelte-1elxaub:focus-visible,.theme-toggle.svelte-1elxaub:focus-visible{outline:2px solid var(--active-blue);outline-offset:3px}html.dark header.svelte-1elxaub{--nav-border: #333;--nav-text: #aaa;--nav-active-text: #fff;--nav-highlight: rgba(48, 48, 48, .66);--nav-shadow: 0 6px 24px rgba(0, 0, 0, .3)}@media(max-width:600px){header.svelte-1elxaub{padding-top:0}.theme-toggle.svelte-1elxaub{margin-right:0;padding-top:0}.menu.svelte-1elxaub{top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:2px}.nav-link.svelte-1elxaub{padding:0 11px}}@media(max-width:400px){.menu.svelte-1elxaub{gap:0}.nav-link.svelte-1elxaub{padding:0 10px}}@media(prefers-reduced-motion:reduce){.nav-link.svelte-1elxaub,.link-title.svelte-1elxaub{transition:none}}.flash-messages.svelte-10frwqb{position:fixed;top:0;left:0;z-index:2000;box-sizing:border-box;display:flex;justify-content:center;width:100%;padding:1.2rem 1rem .75rem;pointer-events:none}.flash-message.svelte-10frwqb{width:fit-content;max-width:100%;padding:.4rem 1.25rem;border-radius:4px;font-size:.8rem;text-align:center;overflow-wrap:anywhere;animation:svelte-10frwqb-flash-enter .16s ease-out;pointer-events:auto}.flash-message.svelte-10frwqb span:where(.svelte-10frwqb){font-size:.8rem}.flash-message.error.svelte-10frwqb{background:#f8d7da}.flash-message.error.svelte-10frwqb span:where(.svelte-10frwqb){color:#721c24}.flash-message.success.svelte-10frwqb{color:#155724;background:#d4edda}.flash-message.success.svelte-10frwqb span:where(.svelte-10frwqb){color:#155724}.flash-message.info.svelte-10frwqb{color:#0c5460;background:#d1ecf1}@keyframes svelte-10frwqb-flash-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}*{margin:0;padding:0;font-size:1.2rem;font-family:Calibri,Arial,sans-serif}:root{--white: #fff;--black: #1e1e1e;--active-blue: #06c;--light-hover-bg: rgba(61, 37, 20, .08);--light-disabled: rgba(53, 38, 28, .3);--dark-active-blue: #4da3ff;--dark-hover-bg: rgba(255, 255, 255, .08);--dark-disabled: #333}html{width:100%;height:100%;overflow-y:auto;overflow-x:auto;scrollbar-gutter:stable}.unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}p{text-wrap:pretty}a{text-decoration:none;cursor:pointer}button{all:unset;display:inline-block;cursor:pointer}hr{border:none;border-top:2px solid #ccc}blockquote{padding-left:1rem;padding-bottom:1rem}h1{font-size:2rem;text-wrap:pretty}h2{font-size:1.75rem;text-wrap:pretty}h3{font-size:1.5rem;text-wrap:pretty}h4{font-size:1.25rem;text-wrap:pretty}h5{font-size:1.2rem;text-wrap:pretty}:is(h1,h2,h3,h4,h5) :is(strong,em,i,s,del){font-size:inherit;font-weight:inherit}ul,ol{padding:0 0 0 1rem;margin:0 0 0 1rem}ul li p,ol li p{margin-top:.25em;margin-bottom:.25em}pre{padding:1rem;border-radius:6px;overflow-x:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9rem;line-height:1.45;margin:1rem 0;position:relative}code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;padding:.2em .4em;border-radius:3px;font-size:.9em}pre code{background:transparent}.container{line-height:1.8}@media(min-width:768px){.container{padding:0 85px}}.button-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:.125rem;width:fit-content;border-radius:.5rem;padding:4px;background:var(--nav-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100}.button-group.is-fixed{margin:0 20px;position:fixed;left:0}.button-group button{display:inline-flex;align-items:center;justify-content:center;transition:background 20ms ease-in;border-radius:.5rem;padding:.5rem;font-size:.875rem;font-weight:600;line-height:1}.button-group button[disabled]{cursor:not-allowed}.button-group svg{stroke-width:2.4}.button-group button:disabled svg path,.button-group button:disabled svg line,.button-group button:disabled svg polyline,.button-group button:disabled svg polygon,.button-group button:disabled svg circle,.button-group button:disabled svg rect{cursor:not-allowed}@media(max-width:520px){*{font-size:1rem}}*{color:#000;--nav-surface: rgba(253, 253, 255, .5)}.card-actions .button-group{--nav-surface: rgba(0, 0, 0, .03)}html{background-color:#f8f8fe}a{color:#222}a:hover{color:#666}pre{background:#0000000a;color:#333;border:1px solid #e1e4e8}code{background:#0000000a;color:#333}blockquote{border-left:3px solid #000}.card-actions .button-group{border:none}.button-group{background-color:var(--nav-surface);border:1px solid #dedeea}.button-group button{background-color:transparent;filter:invert(20%)}.button-group button:hover{background-color:#ffffff80}.button-group button.is-active{background:transparent}.button-group button.is-active:hover{background:#ffffff80}.button-group button[disabled]{background:transparent;color:var(--light-disabled)}.button-group svg path,.button-group svg line,.button-group svg polyline,.button-group svg polygon,.button-group svg circle,.button-group svg rect{stroke:var(--black)}.button-group .is-active svg path,.button-group .is-active svg line,.button-group .is-active svg polyline,.button-group .is-active svg polygon,.button-group .is-active svg circle,.button-group .is-active svg rect{stroke:var(--active-blue)}.button-group button:disabled svg path,.button-group button:disabled svg line,.button-group button:disabled svg polyline,.button-group button:disabled svg polygon,.button-group button:disabled svg circle,.button-group button:disabled svg rect{background:transparent;stroke:var(--light-disabled)}html.dark{background-color:#000}html.dark blockquote{border-left:3px solid #fff}html.dark .card-actions .button-group{border:none}html.dark .button-group{background-color:var(--nav-surface);border:1px solid #333}html.dark .button-group button{background-color:transparent;filter:invert(10%)}html.dark .button-group button:hover{background-color:#ffffff1a}html.dark .button-group button.is-active{background:transparent;color:var(--dark-active-blue)}html.dark .button-group button.is-active:hover{background:#ffffff1a}html.dark .button-group button[disabled]{background:transparent;color:var(--dark-disabled)}html.dark .button-group svg path,html.dark .button-group svg line,html.dark .button-group svg polyline,html.dark .button-group svg polygon,html.dark .button-group svg circle,html.dark .button-group svg rect{stroke:var(--white)}html.dark .button-group .is-active svg path,html.dark .button-group .is-active svg line,html.dark .button-group .is-active svg polyline,html.dark .button-group .is-active svg polygon,html.dark .button-group .is-active svg circle,html.dark .button-group .is-active svg rect{stroke:var(--dark-active-blue)}html.dark .button-group button:disabled svg path,html.dark .button-group button:disabled svg line,html.dark .button-group button:disabled svg polyline,html.dark .button-group button:disabled svg polygon,html.dark .button-group button:disabled svg circle,html.dark .button-group button:disabled svg rect{background:transparent;stroke:var(--dark-disabled)}.dark *{color:#fff;--nav-surface: rgba(26, 26, 26, .5)}.dark .card-actions .button-group{--nav-surface: rgba(255, 255, 255, .05)}.dark a{color:#fff}.dark a:hover{color:#999}.dark pre{background:#1e1e1e;border:1px solid #333}.dark code{background:#1e1e1e}.app.svelte-12qhfyh{padding:0 20px;margin:0 auto}main.svelte-12qhfyh{padding-top:20px;padding-bottom:10rem}@media(min-width:1250px){.app.svelte-12qhfyh{margin:0 auto;width:1200px}}@media(max-width:520px){.app.svelte-12qhfyh{padding:0 15px}}
