@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@400..800&family=Caveat:wght@400..700&family=Lora:ital,wght@0,400..700;1,400..700&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap";.project-list{gap:var(--space-2);margin-block-start:var(--space-4);display:grid}.project{justify-content:space-between;align-items:center;gap:var(--space-4);min-inline-size:0;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-small);background:radial-gradient(circle at 100% 0, #5c8eaa1a, transparent 45%), linear-gradient(135deg, var(--surface-raised) 0%, var(--surface) 55%, var(--surface-blue) 100%);color:var(--text);text-decoration:none;transition:border-color .12s,background .12s,transform .12s,box-shadow .12s;display:flex;box-shadow:0 1px 2px #0000000d,inset 0 1px #ffffff59}.project:hover{border-color:var(--blue-600);background:radial-gradient(circle at 0 100%, #5c8eaa1f, transparent 45%), linear-gradient(135deg, var(--surface-blue) 0%, var(--surface-raised) 55%, var(--surface) 100%);color:var(--text);transform:translateY(-1px);box-shadow:0 4px 12px #00000012,inset 0 1px #fff6}.project:focus-visible{z-index:1;outline:2px solid var(--focus);outline-offset:2px;position:relative}.project-info{gap:.2rem;min-inline-size:0;display:grid}.project-info strong{color:var(--blue-800);font-size:var(--type-sm);font-weight:700}.project-info span{color:var(--text-faint);font-size:var(--type-xs);text-overflow:ellipsis;line-height:1.5;overflow:hidden}.project-status{padding:.2rem var(--space-2);border:1px solid var(--border);border-radius:var(--radius-small);background:linear-gradient(135deg, var(--surface-raised), var(--surface-blue));font-size:var(--type-xs);white-space:nowrap;flex:none;font-weight:700;line-height:1.3}.project-status-active{border-color:var(--success);background:linear-gradient(135deg, var(--surface-raised), var(--surface-blue));color:var(--success)}.project-status-maintained,.project-status-coming-soon{border-color:var(--blue-500);background:linear-gradient(135deg, var(--surface-raised), var(--surface-blue));color:var(--blue-700)}@media (width<=480px){.project{align-items:flex-start;gap:var(--space-2);flex-direction:column}}.sitemap{gap:var(--space-5);display:grid}.sitemap-tree{gap:0;margin:0;padding:0;list-style:none;display:grid}.sitemap-tree .sitemap-tree{border-inline-start:1px solid var(--border);margin-inline-start:var(--space-5)}.sitemap-tree>li{margin:0;padding:0;position:relative}.sitemap-tree .sitemap-tree>li:before{inline-size:var(--space-4);border-block-start:1px solid var(--border);content:"";position:absolute;inset-block-start:1.15rem;inset-inline-start:-1px}.sitemap-entry{gap:var(--space-4);padding:var(--space-3) var(--space-4);border-block-end:1px solid var(--border-soft);background:var(--surface-raised);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;display:grid}.sitemap-tree>li:first-child>.sitemap-entry{border-block-start:1px solid var(--border)}.sitemap-entry:hover{background:linear-gradient(90deg, var(--surface-blue), var(--surface-raised))}.sitemap-entry:has(a:focus-visible){z-index:1;outline:2px solid var(--focus);outline-offset:-2px;background:var(--focus-background);position:relative}.sitemap-entry a{overflow-wrap:anywhere;min-inline-size:0;color:var(--link);font-size:var(--type-body);font-weight:600;text-decoration:none}.sitemap-entry a:before{inline-size:1.25rem;color:var(--blue-600);content:"↳";font-weight:400;display:inline-block}.sitemap-tree>li>.sitemap-entry a:before{content:"→"}.sitemap-entry a:hover{color:var(--link-hover);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.sitemap-entry a:visited{color:var(--link-visited)}.sitemap-entry code{padding:var(--space-1) var(--space-2);border:1px solid var(--border-soft);border-radius:var(--radius-small);background:var(--surface-blue);color:var(--text-faint);font-family:var(--font);font-size:var(--type-xs);white-space:nowrap;flex-shrink:0;line-height:1.4}.sitemap-tree .sitemap-tree .sitemap-entry{background:var(--surface)}.sitemap-tree .sitemap-tree .sitemap-entry:hover{background:var(--surface-blue)}@media (width<=700px){.sitemap-tree .sitemap-tree{margin-inline-start:var(--space-3)}.sitemap-entry{gap:var(--space-1);grid-template-columns:1fr}.sitemap-entry code{justify-self:start}}html.main{--blue-950:#172a3a;--blue-900:#1e3a4d;--blue-850:#294b60;--blue-800:#365f75;--blue-700:#477991;--blue-600:#5e91a8;--blue-500:#78a8bc;--blue-400:#96becd;--blue-300:#b4d0dc;--blue-200:#d0e2e9;--blue-100:#e5eff3;--page:#edf3f6;--surface:#f6f9fa;--surface-raised:#fff;--surface-blue:#e8f1f5;--text:#17232c;--text-soft:#405461;--text-faint:#687d88;--border:#b8cbd3;--border-strong:#7895a3;--border-soft:#d6e2e7;--link:#145d8b;--link-hover:#0b4569;--link-visited:#604b82;--focus:#c85b00;--focus-background:#fff2e4;--success:#276749;--warning:#855800;--danger:#a33a3a;--shadow:0 2px 6px #172a3a12;--shadow-large:0 12px 32px #172a3a1a;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:3rem;--space-9:4rem;--type-xs:.6875rem;--type-sm:.75rem;--type-md:.875rem;--type-body:.9375rem;--type-lg:1.125rem;--type-xl:1.375rem;--type-2xl:1.75rem;--type-3xl:2.25rem;--type-4xl:2.75rem;--radius-small:3px;--radius-default:6px;--radius-large:10px;--font:"Commit Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--line-height:1.7;--measure:72ch;--site-width:1100px;--site-gutter:var(--space-3);--content-gap:var(--space-5);--panel-padding:var(--space-5);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:radial-gradient(circle at 15% -10%, #6ba1be1a, transparent 28rem), radial-gradient(circle at 85% 8%, #427e9f12, transparent 24rem), var(--page);min-width:280px;min-height:100%;color:var(--text);font-family:var(--font);font-size:var(--type-body);line-height:var(--line-height);text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--blue-700) var(--page);scrollbar-width:thin;scroll-behavior:smooth}@media (width>=700px){html.main{--site-gutter:var(--space-4);--panel-padding:var(--space-6)}}@media (width>=1280px){html.main{--site-gutter:var(--space-5);--panel-padding:var(--space-6)}}html.main.dark{--blue-950:#e2edf1;--blue-900:#c9dce4;--blue-850:#b1cdd7;--blue-800:#99bbc9;--blue-700:#82a9ba;--blue-600:#719caf;--blue-500:#638ea2;--blue-400:#547d90;--blue-300:#476c7d;--blue-200:#3a5b6a;--blue-100:#2f4c5b;--page:#17242c;--surface:#1b2a33;--surface-raised:#22343e;--surface-blue:#203943;--text:#e4edf1;--text-soft:#b7c8cf;--text-faint:#91a7b1;--border:#506a76;--border-strong:#718d99;--border-soft:#354a54;--link:#91c7df;--link-hover:#b7ddec;--link-visited:#c2a9dc;--focus:#f0a15a;--focus-background:#3c3026;--success:#76c79d;--warning:#dbb166;--danger:#df8585;--shadow:0 2px 8px #0000003d;--shadow-large:0 12px 32px #00000052;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:radial-gradient(circle at 15% -10%, #74a3b624, transparent 30rem), radial-gradient(circle at 85% 5%, #40748f1a, transparent 26rem), var(--page)}html.main.dark ::selection{background:var(--blue-600);color:#fff}html.main body{background:radial-gradient(circle at 50% 0, #ffffffb3, transparent 36rem), radial-gradient(circle at 0% 45%, #74a3b60d, transparent 28rem), linear-gradient(180deg, var(--page) 0%, var(--surface-blue) 55%, var(--page) 100%);min-block-size:100dvh;margin:0}html.main.dark body{background:radial-gradient(circle at 50% 0, #74a3b61a, transparent 42rem), radial-gradient(circle at 100% 50%, #40748f12, transparent 30rem), linear-gradient(180deg, var(--page) 0%, var(--surface) 55%, var(--page) 100%)}html.main ::selection{background:var(--blue-800);color:#fff}html.main img,html.main svg,html.main video,html.main canvas{max-inline-size:100%;display:block}html.main img{block-size:auto}html.main button,html.main input,html.main textarea,html.main select{color:inherit;font:inherit}html.main button,html.main select,html.main summary{cursor:pointer}html.main a{color:var(--link);text-underline-offset:.18em;overflow-wrap:anywhere;text-decoration-thickness:1px}html.main a:hover{color:var(--link-hover)}html.main a:visited{color:var(--link-visited)}html.main a:active{color:var(--danger)}html.main p,html.main ul,html.main ol,html.main dl,html.main blockquote,html.main pre,html.main figure,html.main table{max-inline-size:var(--measure)}html.main p{margin-block:0 var(--space-5);text-wrap:pretty}html.main h1,html.main h2,html.main h3,html.main h4,html.main h5,html.main h6{margin-block:var(--space-7) var(--space-3);color:var(--blue-950);font-family:var(--font);text-wrap:balance;font-weight:700;line-height:1.25}html.main h1:first-child,html.main h2:first-child,html.main h3:first-child,html.main h4:first-child,html.main h5:first-child,html.main h6:first-child{margin-block-start:0}html.main h1{font-size:var(--type-4xl);letter-spacing:-.055em}@media (width<=700px){html.main h1{font-size:var(--type-3xl)}}@media (width<=480px){html.main h1{font-size:var(--type-2xl)}}html.main h2{font-size:var(--type-2xl);letter-spacing:-.035em}@media (width<=700px){html.main h2{font-size:var(--type-xl)}}html.main h3{font-size:var(--type-xl)}@media (width<=700px){html.main h3{font-size:var(--type-lg)}}html.main h4,html.main h5,html.main h6{font-size:var(--type-body)}html.main strong,html.main b{color:var(--blue-950);font-weight:700}html.main small{font-size:var(--type-sm)}html.main code,html.main kbd,html.main samp,html.main pre{font-family:var(--font)}html.main code{border:1px solid var(--border);border-radius:var(--radius-small);background:linear-gradient(135deg, var(--surface-raised), var(--surface-blue));color:var(--blue-950);padding:.12em .35em;font-size:.9em}html.main pre{margin-block:var(--space-6);padding:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius);background:radial-gradient(circle at 100% 0, #74a3b61f, transparent 20rem), linear-gradient(135deg, var(--blue-950), var(--blue-900) 55%, var(--blue-950));color:#edf5f8;tab-size:4;scrollbar-color:var(--blue-500) var(--blue-950);line-height:1.65;overflow-x:auto}html.main pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}html.main kbd{border:1px solid var(--border-strong);border-radius:var(--radius-small);background:linear-gradient(180deg, var(--surface-raised), var(--surface-blue));border-block-end-width:2px;padding:.05em .4em;font-size:.85em;display:inline-block}html.main blockquote{margin-block:var(--space-6);padding:var(--space-4) var(--space-5);border-inline-start:3px solid var(--blue-600);background:linear-gradient(135deg, var(--surface-blue) 0%, var(--surface-raised) 60%, var(--surface) 100%);color:var(--text-soft);margin-inline:0}html.main blockquote>:last-child{margin-block-end:0}html.main hr{margin-block:var(--space-8);border:0;border-block-start:1px dashed var(--border)}html.main mark{color:#241d00;background:#f8df8c;padding-inline:.15em}html.main figure{margin-inline:0;margin-block:var(--space-7)}html.main figcaption{color:var(--text-faint);font-size:var(--type-sm);margin-block-start:var(--space-2)}html.main table{inline-size:100%;margin-block:var(--space-6);border-collapse:collapse}html.main th,html.main td{padding:var(--space-3);border:1px solid var(--border);text-align:start;vertical-align:top}html.main th{background:linear-gradient(135deg, var(--surface-blue), var(--surface-raised));color:var(--blue-950);font-weight:700}html.main ul,html.main ol{padding-inline-start:1.75em}html.main li+li{margin-block-start:var(--space-2)}html.main .skip-link{z-index:1000;padding:var(--space-3) var(--space-5);border:2px solid var(--blue-950);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-large);font-weight:700;text-decoration:none;position:fixed;inset-block-start:-100px;inset-inline-start:var(--space-4)}html.main .skip-link:focus{inset-block-start:var(--space-4)}html.main :where(a,button,input,textarea,select,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 1px var(--focus-background)}html.main :where(a,button,input,textarea,select,summary):focus:not(:focus-visible){outline:none}html.main .site{inline-size:min(100% - var(--site-gutter) * 2, var(--site-width));padding-block:var(--space-6);margin-inline:auto}@media (width>=700px){html.main .site{padding-block:var(--space-7)}}@media (width>=1280px){html.main .site{padding-block:var(--space-8)}}@media (width<=480px){html.main .site{inline-size:100%;padding-block-start:0}}html.main .site-header{align-items:end;gap:var(--space-7);padding:var(--space-7) var(--panel-padding);border:1px solid var(--border-strong);border-radius:var(--radius-large) var(--radius-large) 0 0;background:radial-gradient(circle at 92% 0%, #5c8eaa26, transparent 18rem), radial-gradient(circle at 60% 100%, #5c8eaa12, transparent 20rem), linear-gradient(135deg, var(--surface-raised) 0%, var(--surface-raised) 38%, var(--surface-blue) 75%, var(--surface) 100%);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden;container:header/inline-size}html.main .site-header:before{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 0 40%,#5c8eaa12 40% 42%,#0000 42% 52%,#5c8eaa0f 52% 54%,#0000 54%);inline-size:45%;position:absolute;inset-block:0;inset-inline-end:0}html.main .site-header:after{content:"";pointer-events:none;background:radial-gradient(circle,#74a3b614,#0000 68%);border-radius:50%;block-size:16rem;inline-size:16rem;position:absolute;inset-block-start:0;inset-inline-end:12%;transform:translateY(-45%)}@media (width<=700px){html.main .site-header{gap:var(--space-5);padding-block:var(--space-6);grid-template-columns:1fr}}@media (width<=480px){html.main .site-header{border-inline-width:0;border-radius:0}}html.main .site-brand{z-index:1;min-inline-size:0;position:relative}html.main .site-title{color:var(--blue-950);font-size:var(--type-3xl);letter-spacing:-.06em;font-weight:700;line-height:1.1;text-decoration:none;display:inline-block}html.main .site-title:hover,html.main .site-title:visited{color:var(--blue-950)}html.main .site-title:hover{text-underline-offset:.12em;text-decoration:underline}@media (width<=700px){html.main .site-title{font-size:var(--type-2xl)}}html.main .site-breadcrumb{min-inline-size:0;flex-wrap:wrap;align-items:baseline;gap:.4em;margin-block-start:var(--space-2);line-height:1.2;display:flex}html.main .breadcrumb-separator{color:var(--blue-500);-webkit-user-select:none;user-select:none}html.main .breadcrumb-link,html.main .breadcrumb-current{font-size:var(--type-md)}html.main .breadcrumb-link{text-decoration:none}html.main .breadcrumb-link:hover{text-decoration:underline}html.main .breadcrumb-current{color:var(--text-soft)}html.main .site-kicker{margin-block:var(--space-3) 0;color:var(--text-faint);font-size:var(--type-sm);line-height:1.5}html.main .site-kicker:before{content:"// ";color:var(--blue-600)}html.main .header-meta{z-index:1;justify-content:flex-end;gap:var(--space-2);color:var(--text-faint);font-size:var(--type-xs);flex-wrap:wrap;display:flex;position:relative}html.main .header-meta span{border:1px solid var(--border);border-radius:var(--radius-small);background:linear-gradient(135deg, var(--surface-raised), var(--surface-blue));padding:.35em .6em}@media (width<=700px){html.main .header-meta{justify-content:flex-start}}html.main .site-nav{z-index:5;border:1px solid var(--border-strong);background:radial-gradient(circle at 90% 0, #74a3b624, transparent 16rem), linear-gradient(180deg, var(--blue-800) 0%, var(--blue-850) 45%, var(--blue-950) 100%);border-block-start:0;justify-content:space-between;align-items:stretch;display:flex;position:relative;container:navigation/inline-size}html.main .site-nav ul{flex-wrap:wrap;min-width:0;margin:0;padding:0;list-style:none;display:flex}html.main .site-nav li{margin:0}html.main .site-nav a{color:var(--blue-100);font-size:var(--type-sm);background:linear-gradient(#ffffff0d,#0000 50%,#00000012);border-inline-end:1px solid #ffffff1a;padding-block:.6875rem;padding-inline:1rem;text-decoration:none;transition:background-color .14s,color .14s;display:block;position:relative}html.main .site-nav a:visited{color:var(--blue-200)}html.main .site-nav a:hover{background:linear-gradient(180deg, var(--blue-700), var(--blue-850))}html.main .site-nav a[aria-current=page]{background:linear-gradient(180deg, var(--blue-600) 0%, var(--blue-700) 45%, var(--blue-800) 100%);color:var(--blue-100);font-weight:700}html.main .site-nav a[aria-current=page]:before{content:"[ ";color:var(--blue-100)}html.main .site-nav a[aria-current=page]:after{content:" ]";color:var(--blue-100)}@media (width<=600px){html.main .site-nav a{padding-inline:.875rem}}html.main .site-nav .coffee-link{color:var(--blue-100);border-inline-start:1px solid #ffffff1a;border-inline-end:0;flex:none;margin-inline-start:auto}html.main .site-nav .coffee-link:hover{background:linear-gradient(180deg, var(--blue-700), var(--blue-850))}@container navigation (width<=600px){html.main .site-nav ul{overscroll-behavior-inline:contain;scrollbar-width:thin;scroll-snap-type:inline proximity;flex-wrap:nowrap;overflow-x:auto}html.main .site-nav li{scroll-snap-align:start;flex:none}html.main .site-nav .coffee-link{align-self:stretch}}@media (width<=480px){html.main .site-nav{border-inline-width:0}}html.main .page{gap:var(--content-gap);grid-template-columns:minmax(0,1fr) 240px;margin-block-start:var(--space-6);display:grid;container:page/inline-size}@media (width<=960px){html.main .page{grid-template-columns:minmax(0,1fr) 210px}}@media (width<=700px){html.main .page{grid-template-columns:1fr}}@media (width<=480px){html.main .page{margin-block-start:var(--space-4)}}html.main .content{min-inline-size:0}html.main .content>.content-panel:first-child{border-top-left-radius:var(--radius-default);border-bottom-left-radius:var(--radius-default)}html.main .content-panel{padding:var(--panel-padding);border:1px solid var(--border);border-radius:var(--radius-large);background:radial-gradient(circle at 100% 0%, #74a3b612, transparent 22rem), radial-gradient(circle at 0% 100%, #74a3b60a, transparent 24rem), linear-gradient(145deg, var(--surface-raised) 0%, var(--surface-raised) 42%, var(--surface) 72%, var(--surface-blue) 100%);box-shadow:var(--shadow);position:relative;container:content/inline-size}html.main .content-panel:before{content:attr(data-label);padding-inline:var(--space-3);background:linear-gradient(135deg, var(--surface-raised), var(--surface-blue));color:var(--blue-700);font-size:var(--type-sm);letter-spacing:.02em;border:1px solid var(--border);border-radius:var(--radius-default);font-weight:700;line-height:1.4;position:absolute;inset-block-start:0;inset-inline-start:var(--space-5);transform:translateY(-50%)}html.main .content-panel+.content-panel{margin-block-start:var(--space-5)}@media (width<=700px){html.main .content-panel{padding:var(--space-6)}}@media (width<=480px){html.main .content-panel{padding:var(--space-5);border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}}html.main .page-heading{gap:var(--space-2);margin-block-end:var(--space-6);display:grid}html.main .page-heading h1{color:var(--blue-950);letter-spacing:-.04em;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.1}html.main .page-heading p{color:var(--text-muted);margin:0;font-size:1rem}html.main .page-heading-meta{gap:var(--space-2) var(--space-4);color:var(--text-faint);font-size:var(--type-sm);flex-wrap:wrap;display:flex}html.main .post-list{gap:0;margin:0;padding:0;list-style:none;display:grid}html.main .post{padding-block:var(--space-7);border-block-end:1px dashed var(--border)}html.main .post:first-child{padding-block-start:0}html.main .post:last-child{border-block-end:0;padding-block-end:0}html.main .post h2,html.main .post h3{margin-block:0 var(--space-2)}html.main .post h2 a,html.main .post h3 a{text-decoration-thickness:1px}html.main .post-excerpt{color:var(--text-soft)}html.main .post-meta{gap:var(--space-2) var(--space-4);color:var(--text-faint);font-size:var(--type-sm);flex-wrap:wrap;display:flex}html.main .post-meta>*{align-items:center;gap:.3em;display:inline-flex}html.main .post-meta>*+:before{content:"·";color:var(--border-strong)}html.main .tags{gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-4);display:flex}html.main .tag{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-raised) 0%, var(--surface-blue) 55%, var(--blue-100) 100%);min-block-size:1.625rem;color:var(--blue-900);font-size:var(--type-xs);border-radius:999px;align-items:center;padding:.25em .6em;text-decoration:none;transition:border-color .14s,background-color .14s,color .14s;display:inline-flex}html.main .tag:visited{color:var(--blue-900)}html.main .tag:hover{border-color:var(--blue-600);background:linear-gradient(180deg, var(--blue-100) 0%, var(--blue-200) 100%);color:var(--blue-950)}html.main .sidebar{align-content:start;gap:var(--space-5);min-inline-size:0;display:grid}@media (width<=700px){html.main .sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){html.main .sidebar{grid-template-columns:1fr}}html.main .sidebar-panel{border:1px solid var(--border);border-radius:var(--radius);background:radial-gradient(circle at 100% 0, #74a3b612, transparent 15rem), linear-gradient(145deg, var(--surface-raised) 0%, var(--surface-raised) 55%, var(--surface-blue) 100%);min-inline-size:0;box-shadow:var(--shadow);position:relative}html.main .sidebar-panel:before{content:attr(data-label);z-index:1;padding-inline:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg, var(--surface-raised), var(--surface-blue));color:var(--blue-700);font-size:var(--type-xs);letter-spacing:.02em;text-transform:lowercase;font-weight:700;line-height:1.4;position:absolute;inset-block-start:0;inset-inline-start:var(--space-4);transform:translateY(-50%)}html.main .sidebar-heading{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.main .sidebar-content{padding:var(--space-4);padding-inline-start:var(--space-1)}html.main .sidebar-list{margin:0;padding:0;list-style:none;display:grid}html.main .sidebar-list li{margin:0}html.main .sidebar-list li+li{border-block-start:1px dashed var(--border-soft)}html.main .sidebar-list a{align-items:center;gap:var(--space-3);min-block-size:.75rem;padding-block:var(--space-3);padding-inline:var(--space-2);color:var(--text-soft);font-size:var(--type-sm);border-inline-start:2px solid #0000;line-height:1.35;text-decoration:none;transition:color .14s,background-color .14s,border-color .14s;display:flex}html.main .sidebar-list a:hover{border-inline-start-color:var(--blue-500);background:linear-gradient(90deg, var(--surface-blue), transparent);color:var(--blue-950)}.sidebar-icon:not(html.main .sidebar-list a:hover.active){color:var(--blue-600);transform:translate(1px)}html.main .sidebar-list a.active{border-inline-start-color:var(--blue-600);background:linear-gradient(90deg, var(--surface-blue), transparent);color:var(--blue-950);font-weight:700}html.main .sidebar-list a.active .sidebar-icon{color:var(--blue-600)}html.main .sidebar-list a:focus-visible{z-index:1;border-inline-start-color:var(--focus);background:var(--focus-background);color:var(--text);outline:2px solid var(--focus);outline-offset:2px;position:relative}html.main .sidebar-list a:active{color:var(--danger)}html.main .sidebar-icon{block-size:1rem;inline-size:1rem;color:var(--blue-500);stroke-width:1.75px;flex:none;transition:color .14s,transform .14s}html.main .lanyard-content{padding-inline:var(--space-4)}html.main .lanyard-user{align-items:center;gap:var(--space-3);padding-block:var(--space-3);color:var(--text);border-radius:var(--radius-small);text-decoration:none;display:flex}html.main .lanyard-user:hover{color:var(--link-hover);background:linear-gradient(90deg, var(--surface-blue), transparent)}html.main .lanyard-user:focus-visible{z-index:1;outline:2px solid var(--focus);outline-offset:2px;background:var(--focus-background);position:relative}html.main .lanyard-avatar{border:1px solid var(--border);object-fit:cover;border-radius:50%;flex:none;block-size:3rem;inline-size:3rem}html.main .lanyard-user-info{flex-direction:column;gap:.15rem;min-inline-size:0;display:flex}html.main .lanyard-user-info strong{color:inherit;font-size:var(--type-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.35;overflow:hidden}html.main .lanyard-presence{align-items:center;gap:var(--space-2);color:var(--text-faint);font-size:var(--type-xs);line-height:1.35;display:flex}html.main .lanyard-status{border:1px solid var(--surface-raised);background:var(--text-faint);border-radius:50%;flex:none;block-size:.5rem;inline-size:.5rem}html.main .lanyard-status.online{background:var(--success)}html.main .lanyard-status.idle{background:var(--warning)}html.main .lanyard-status.dnd{background:var(--danger)}html.main .lanyard-status.offline{background:var(--text-faint)}html.main .lanyard-spotify{gap:var(--space-3);padding-block:var(--space-3);border-block-start:1px dashed var(--border-soft);grid-template-columns:3rem minmax(0,1fr);display:grid}html.main .lanyard-spotify>img{border:1px solid var(--border-soft);border-radius:var(--radius-small);object-fit:cover;block-size:3rem;inline-size:3rem}html.main .lanyard-spotify-info{flex-direction:column;justify-content:center;gap:.15rem;min-inline-size:0;display:flex}html.main .lanyard-spotify-info>span{color:var(--text-faint);font-size:var(--type-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}html.main .lanyard-spotify-song{color:var(--text);font-size:var(--type-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.35;text-decoration:none;overflow:hidden}html.main .lanyard-spotify-song:hover{color:var(--link-hover);text-decoration:underline}html.main .lanyard-not-listening{padding-block:var(--space-3);border-block-start:1px dashed var(--border-soft);color:var(--text-faint);font-size:var(--type-xs);margin:0}html.main .status{align-items:center;gap:var(--space-2);color:var(--text-soft);font-size:var(--type-sm);margin:0;display:flex}html.main .status:before{content:"";background:var(--success);border-radius:50%;flex:none;block-size:.5rem;inline-size:.5rem;box-shadow:0 0 0 2px #2767491f}html.main .status.down:before{background:var(--danger)}html.main .status.slow:before{background:var(--warning)}html.main .article{gap:var(--space-4);display:grid}html.main .article p{max-inline-size:65ch;color:var(--text);margin:0;font-size:1rem;line-height:1.8}html.main .article strong{color:var(--blue-800);font-weight:700}html.main .article-image{margin-block:var(--space-7)}html.main .article-image img{border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow)}html.main .callout{margin-block:var(--space-6);padding:var(--space-5);border:1px solid var(--border);border-inline-start:4px solid var(--blue-600);border-radius:var(--radius);background:radial-gradient(circle at 100% 0, #5c8eaa14, transparent 16rem), linear-gradient(135deg, var(--surface-blue) 0%, var(--surface-raised) 65%, var(--surface) 100%);position:relative}html.main .callout:before{content:attr(data-label);padding-inline:var(--space-2);background:linear-gradient(135deg, var(--surface-blue), var(--surface-raised));color:var(--blue-700);font-size:var(--type-xs);letter-spacing:.02em;border:1px solid var(--border);border-radius:var(--radius);font-weight:700;line-height:1.4;position:absolute;inset-block-start:0;inset-inline-start:var(--space-4);transform:translateY(-50%)}html.main .callout:after{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 0 55%,#5c8eaa0f 55% 65%,#0000 65%);inline-size:30%;position:absolute;inset-block:0;inset-inline-end:0}html.main .callout>:last-child{margin-block-end:0}html.main details{margin-block:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg, var(--surface-raised), var(--surface-blue))}html.main details>:not(summary){margin-inline:var(--space-4)}html.main details>:last-child{margin-block-end:var(--space-4)}html.main summary{padding:var(--space-4);color:var(--blue-950);font-weight:700}html.main .site-footer{gap:var(--space-3);padding-block:var(--space-6);border-block-start:1px solid var(--border);color:var(--text-faint);font-size:var(--type-xs);margin-block-start:var(--space-8);display:grid}html.main .site-footer p{margin:0}html.main .footer-links{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}html.main .footer-links a{color:var(--text-soft)}html.main .icon{vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;block-size:1.1em;inline-size:1.1em;display:inline-block}html.main #greeting{color:var(--blue-700);font-weight:700;display:inline-block}html.main .button{--button-background:var(--surface-raised);--button-background-hover:var(--surface-blue);--button-border:var(--border-strong);--button-border-hover:var(--blue-700);--button-color:var(--text);--button-color-hover:var(--blue-950);justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--button-border);border-radius:var(--radius);background:linear-gradient(180deg, var(--button-background) 0%, color-mix(in srgb, var(--button-background) 88%, #000) 100%);min-block-size:2.5rem;color:var(--button-color);font:inherit;font-size:var(--type-sm);white-space:nowrap;cursor:pointer;padding-block:.5rem;padding-inline:.875rem;font-weight:700;line-height:1.25;text-decoration:none;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform 80ms;display:inline-flex;box-shadow:0 1px 2px #172a3a0f}html.main .button:hover{border-color:var(--button-border-hover);background:linear-gradient(180deg, var(--button-background-hover) 0%, color-mix(in srgb, var(--button-background-hover) 88%, #000) 100%);color:var(--button-color-hover)}html.main .button:active{box-shadow:none;transform:translateY(1px)}html.main .button:visited{color:var(--button-color)}html.main .button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}html.main .button:disabled,html.main .button[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none;box-shadow:none}html.main .button[aria-busy=true]{cursor:wait}html.main .button[aria-busy=true]:before{content:"";border:2px solid;border-inline-end-color:#0000;border-radius:50%;flex:none;block-size:.9em;inline-size:.9em;animation:.65s linear infinite button-spin}html.main .button.primary{--button-background:var(--blue-800);--button-background-hover:var(--blue-700);--button-border:var(--blue-800);--button-border-hover:var(--blue-700);--button-color:#fff;--button-color-hover:#fff;background:radial-gradient(circle at 85% 0, #ffffff1f, transparent 8rem), linear-gradient(180deg, var(--blue-600) 0%, var(--blue-700) 48%, var(--blue-800) 100%)}html.main .button.primary:hover{background:radial-gradient(circle at 85% 0, #ffffff26, transparent 8rem), linear-gradient(180deg, var(--blue-500) 0%, var(--blue-600) 48%, var(--blue-700) 100%)}html.main .button.primary{box-shadow:0 1px 2px #172a3a1f,inset 0 1px #ffffff1a}html.main .button.secondary{--button-background:var(--surface-raised);--button-background-hover:var(--surface-blue);--button-border:var(--border-strong);--button-border-hover:var(--blue-600);--button-color:var(--text);--button-color-hover:var(--blue-950)}html.main .button.ghost{--button-background:transparent;--button-background-hover:var(--surface-blue);--button-border:transparent;--button-border-hover:var(--border);--button-color:var(--text-soft);--button-color-hover:var(--text);box-shadow:none}html.main .button.danger{--button-background:var(--danger);--button-background-hover:#8f3030;--button-border:var(--danger);--button-border-hover:#8f3030;--button-color:#fff;--button-color-hover:#fff;background:linear-gradient(180deg, color-mix(in srgb, var(--danger) 88%, #fff) 0%, var(--danger) 48%, color-mix(in srgb, var(--danger) 88%, #000) 100%)}html.main .button.danger:hover{background:linear-gradient(180deg, var(--danger) 0%, color-mix(in srgb, var(--danger) 88%, #000) 100%)}html.main .button.warning{--button-background:var(--warning);--button-background-hover:#704900;--button-border:var(--warning);--button-border-hover:#704900;--button-color:#fff;--button-color-hover:#fff}html.main .button.success{--button-background:var(--success);--button-background-hover:#1f593f;--button-border:var(--success);--button-border-hover:#1f593f;--button-color:#fff;--button-color-hover:#fff}html.main .button.info{--button-background:var(--blue-600);--button-background-hover:var(--blue-700);--button-border:var(--blue-600);--button-border-hover:var(--blue-700);--button-color:#fff;--button-color-hover:#fff}html.main .button.outline-primary{--button-background:transparent;--button-background-hover:var(--surface-blue);--button-border:var(--blue-700);--button-border-hover:var(--blue-800);--button-color:var(--blue-800);--button-color-hover:var(--blue-950);box-shadow:none}html.main .button.outline-danger{--button-background:transparent;--button-background-hover:#a33a3a1a;--button-border:var(--danger);--button-border-hover:var(--danger);--button-color:var(--danger);--button-color-hover:var(--danger);box-shadow:none}html.main .button.icon-only{inline-size:2.5rem;padding-inline:0}html.main .button.icon-only.small{inline-size:2rem}html.main .button.icon-only.large{inline-size:3rem}html.main .button .icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;block-size:1.1em;inline-size:1.1em}html.main a.button,html.main a.button:visited{color:var(--button-color)}html.main a.button:hover{color:var(--button-color-hover)}html.main a.button.primary,html.main a.button.danger,html.main a.button.success,html.main a.button.info,html.main a.button.primary:visited,html.main a.button.primary:hover,html.main a.button.danger:visited,html.main a.button.danger:hover,html.main a.button.success:visited,html.main a.button.success:hover,html.main a.button.info:visited,html.main a.button.info:hover{color:#fff}html.main a.button.ghost,html.main a.button.ghost:visited{color:var(--text-soft)}html.main a.button.ghost:hover{color:var(--text)}html.main .button-group{align-items:stretch;display:inline-flex}html.main .button-group>.button{border-radius:0}html.main .button-group>.button:first-child{border-start-start-radius:var(--radius);border-end-start-radius:var(--radius)}html.main .button-group>.button:last-child{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}html.main .button-group>.button+.button{margin-inline-start:-1px}html.main [data-meowquee=viewport]{border:1px solid var(--border);border-bottom-left-radius:var(--radius-default);border-bottom-right-radius:var(--radius-default);background:radial-gradient(circle at 50% 0, #74a3b612, transparent 12rem), linear-gradient(180deg, var(--surface-raised) 0%, var(--surface) 50%, var(--surface-blue) 100%);align-items:center;min-block-size:3rem;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff6}html.main [data-meowquee=viewport]:before,html.main [data-meowquee=viewport]:after{content:"";z-index:2;pointer-events:none;inline-size:3rem;position:absolute;inset-block:0}html.main [data-meowquee=viewport]:before{background:linear-gradient(to right, var(--surface), transparent);inset-inline-start:0}html.main [data-meowquee=viewport]:after{background:linear-gradient(to left, var(--surface), transparent);inset-inline-end:0}html.main [data-meowquee=viewport]>[data-meowquee=track]{z-index:1;flex-wrap:nowrap;align-items:center;min-block-size:2.875rem;inline-size:max-content;display:flex;position:relative}html.main .site-marquee{flex:none;align-items:center;inline-size:max-content;display:flex}html.main .site-marquee a{z-index:1;block-size:31px;inline-size:88px;cursor:pointer;vertical-align:middle;flex:none;margin-inline-start:var(--space-2);line-height:0;display:inline-flex;position:relative}html.main .site-marquee img{object-fit:contain;pointer-events:none;block-size:31px;inline-size:88px;min-inline-size:88px;display:block}html.main .tooltip{isolation:isolate;display:inline-flex;position:relative}html.main .tooltip:before,html.main .tooltip:after{z-index:1000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility .15s;position:absolute}html.main .tooltip:before{content:"";inline-size:var(--space-2);block-size:var(--space-2);border-inline-end:1px solid var(--border-strong);border-block-end:1px solid var(--border-strong);background:var(--surface-raised);transform:translate(-50%, var(--space-2)) rotate(45deg);inset-block-end:calc(100% + var(--space-1));inset-inline-start:50%}html.main .tooltip:after{content:attr(data-tooltip-title) "\a " attr(data-tooltip-description);inline-size:max-content;max-inline-size:min(320px, 100vw - var(--space-6));padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius);background:linear-gradient(135deg, var(--surface-raised), var(--surface-blue));color:var(--text);box-shadow:var(--shadow-large);font-size:var(--type-sm);text-align:start;white-space:pre-line;overflow-wrap:anywhere;transform:translate(-50%, var(--space-2));font-weight:400;line-height:1.45;inset-block-end:calc(100% + var(--space-2));inset-inline-start:50%}html.main .tooltip:is(:hover,:focus-visible):before,html.main .tooltip:is(:hover,:focus-visible):after{opacity:1;visibility:visible}html.main .tooltip:is(:hover,:focus-visible):before{transform:translate(-50%, var(--space-1)) rotate(45deg)}html.main .tooltip:is(:hover,:focus-visible):after{transform:translate(-50%)}html.main .tooltip:active:before,html.main .tooltip:active:after{opacity:0;visibility:hidden}@media (prefers-reduced-motion:reduce){html.main .tooltip:before,html.main .tooltip:after{transition:none}}@media (forced-colors:active){html.main .tooltip:before,html.main .tooltip:after{color:canvastext;box-shadow:none;background:canvas;border-color:canvastext}}html.main .article-layout{gap:var(--space-8);grid-template-columns:190px minmax(0,1fr);align-items:start;display:grid}@media (width<=960px){html.main .article-layout{gap:var(--space-6);grid-template-columns:170px minmax(0,1fr)}}@container content (width<=700px){html.main .article-layout{gap:var(--space-5);grid-template-columns:1fr}}html.main .article-toc{align-self:stretch;min-inline-size:0}html.main .article-toc-inner{max-block-size:calc(100dvh - var(--space-8));border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg, var(--surface-raised), var(--surface-blue));box-shadow:var(--shadow);scrollbar-width:thin;position:sticky;inset-block-start:var(--space-5);overflow-y:auto}@container content (width<=700px){html.main .article-toc-inner{max-block-size:none;position:static}}html.main .article-toc-list{padding:var(--space-2) 0;flex-direction:column;gap:0;margin:0;list-style:none;display:flex}html.main .article-toc-list li{border-block-end:1px dashed var(--border-soft);margin:0}html.main .article-toc-list li:last-child{border-block-end:0}html.main .article-toc-list a{padding:.4375rem var(--space-4);color:var(--text-faint);font-size:var(--type-xs);border-inline-start:3px solid #0000;line-height:1.4;text-decoration:none;transition:color .12s,background-color .12s,border-color .12s;display:block}html.main .article-toc-list a:hover{border-inline-start-color:var(--blue-500);background:linear-gradient(90deg, var(--surface-blue), transparent);color:var(--blue-950)}html.main .article-toc-list a:focus-visible{z-index:1;border-inline-start-color:var(--focus);background:var(--focus-background);color:var(--text);position:relative}html.main .article-toc-list a.active{border-inline-start-color:var(--blue-600);background:linear-gradient(90deg, var(--surface-blue), transparent);color:var(--blue-950);font-weight:700}html.main .article-toc-level-2 a{font-weight:600}html.main .article-toc-level-3 a{font-size:var(--type-xs);padding-inline-start:calc(var(--space-4) + var(--space-3));font-weight:400}html.main .theme-toggle.button-icon-only .button-icon{stroke-width:2px;block-size:1.4rem;inline-size:1.4rem}html.main .update-filters{gap:var(--space-2);border-block-end:1px solid var(--border);flex-wrap:wrap;margin-block-end:var(--space-8);padding-block-end:var(--space-4);display:flex}html.main .update-filters button{align-items:center;gap:var(--space-2);min-block-size:2.375rem;padding-inline:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-small);background:linear-gradient(135deg, var(--surface-raised), var(--surface-blue));color:var(--text);font:inherit;font-size:var(--type-md);cursor:pointer;font-weight:600;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}html.main .update-filters button:hover{border-color:var(--blue-600);background:linear-gradient(135deg, var(--surface-blue), var(--blue-100))}html.main .update-filters button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}html.main .update-filters button.active{border-color:var(--blue-600);background:linear-gradient(180deg, var(--blue-500), var(--blue-700));color:#fff}html.main .update-filters button.active span{color:#fff;background:#fff3}html.main .update-filters button span{background:var(--surface-blue);min-block-size:1.25rem;min-inline-size:1.25rem;color:var(--text-faint);font-size:var(--type-xs);border-radius:999px;place-items:center;padding-inline:.3rem;line-height:1;display:inline-grid}@media (width<=480px){html.main .update-filters button{flex:auto}}@media (width<=400px){html.main .update-filters button{flex:100%;justify-content:space-between}}html.main .update-log{border-inline-start:2px solid var(--border);gap:0;padding-inline-start:var(--space-6);display:grid;position:relative}html.main .update-entry{padding-block:var(--space-6);border-block-end:1px dashed var(--border);position:relative}html.main .update-entry:first-child{padding-block-start:0}html.main .update-entry:first-child .update-marker{inset-block-start:var(--space-1)}html.main .update-entry:last-child{border-block-end:0;padding-block-end:0}html.main .update-entry>p{max-inline-size:70ch;margin-block:0 var(--space-4);color:var(--text-soft);line-height:1.7}html.main .update-marker{border:3px solid var(--surface-raised);background:var(--blue-600);block-size:.6875rem;inline-size:.6875rem;box-shadow:0 0 0 1px var(--blue-600);border-radius:50%;position:absolute;inset-block-start:var(--space-7);inset-inline-start:-1.95rem}html.main .update-header{margin-block-end:var(--space-4)}html.main .update-header h2{color:var(--text);font-size:var(--type-xl);margin:0;line-height:1.3}html.main .update-heading{min-inline-size:0}html.main .update-labels{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-2);display:flex}html.main .update-labels time{color:var(--text-faint);font-size:var(--type-sm)}html.main .update-category{border:1px solid var(--border);background:linear-gradient(135deg, var(--surface-blue), var(--surface-raised));color:var(--link);font-size:var(--type-xs);border-radius:999px;align-items:center;padding-block:.2rem;padding-inline:.55rem;font-weight:700;line-height:1;display:inline-flex}html.main .update-list{gap:var(--space-2);color:var(--text-soft);margin:0;padding-inline-start:1.25rem;display:grid}html.main .update-list li{padding-inline-start:.25rem;line-height:1.6}html.main .update-list li::marker{color:var(--blue-600)}html.main .update-empty{padding-block:var(--space-8);color:var(--text-faint);text-align:center;margin:0}html.main .status-cafe{border-inline-start:3px solid var(--link);padding-inline-start:var(--space-4)}html.main .status-cafe .status-cafe-content{gap:var(--space-2);display:grid}html.main .status-cafe .status-cafe-meta{align-items:center;gap:var(--space-2);color:var(--text-faint);font-size:var(--type-sm);flex-wrap:wrap;margin:0;line-height:1.4;display:flex}html.main .status-cafe .status-cafe-meta a{color:var(--link);font-weight:700;text-decoration:none}html.main .status-cafe .status-cafe-meta a:hover{color:var(--link-hover);text-decoration:underline}html.main .status-cafe .status-cafe-meta span:not([aria-hidden=true]){color:var(--text-faint)}html.main .status-cafe .status-cafe-status{color:var(--text);margin:0;line-height:1.6}html.main .status-cafe .status-cafe-loading,html.main .status-cafe .status-cafe-empty{color:var(--text-faint);font-size:var(--type-sm);margin:0;font-style:italic}html.main .status-cafe .status-cafe-error{color:var(--danger);font-size:var(--type-sm);margin:0}@keyframes button-spin{to{transform:rotate(360deg)}}@keyframes site-marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (pointer:coarse){html.main .backup-site-notice a,html.main .site-nav a,html.main .sidebar-list a,html.main .tag,html.main summary,html.main button,html.main .button,html.main .button-small,html.main .article-toc-list a{min-block-size:44px}html.main .button-icon-only,html.main .button-icon-only.button-small{inline-size:44px}html.main .site-nav a,html.main .sidebar-list a,html.main .article-toc-list a{align-items:center;display:flex}html.main .tag{align-items:center;display:inline-flex}}@media (hover:none){html.main a:hover{color:inherit}html.main .site-nav a:hover{background:inherit}html.main .tag:hover{border-color:var(--border);background:var(--surface-blue)}}@media (prefers-reduced-data:reduce){html.main body{background:var(--page)}html.main .site-header,html.main .content-panel,html.main .sidebar-panel{box-shadow:none}}@media (prefers-contrast:more){html.main{--text:#0a1116;--text-soft:#263d4b;--text-faint:#3d5665;--border:#658596;--border-strong:#355d72;--link:#003f72;--link-visited:#4d2674;--focus:#b64b00}html.main a{text-decoration-thickness:.12em}html.main .site-header,html.main .site-nav,html.main .content-panel,html.main .sidebar-panel{border-width:2px}}@media (forced-colors:active){html.main *,html.main :before,html.main :after{box-shadow:none!important;text-shadow:none!important}html.main,html.main body{color:canvastext;background:canvas}html.main a{color:linktext}html.main .site-header,html.main .site-nav,html.main .content-panel,html.main .sidebar-panel,html.main .callout,html.main details,html.main .tag{color:canvastext;background:canvas;border-color:buttontext}html.main .site-nav{background:canvas}html.main .site-nav a,html.main .site-nav a:visited{color:buttontext}html.main .site-nav a[aria-current=page]{color:highlighttext;background:highlight}html.main .tag{color:buttontext}html.main :where(a,button,input,textarea,select,summary):focus-visible{box-shadow:none;outline:3px solid highlight}html.main .button,html.main .button-primary,html.main .button-danger,html.main .button-warning,html.main .button-success,html.main .button-info{color:buttontext;box-shadow:none;background:buttonface;border-color:buttontext}html.main .button:hover,html.main .button-primary:hover,html.main .button-danger:hover,html.main .button-warning:hover,html.main .button-success:hover,html.main .button-info:hover{color:buttontext;background:buttonface}html.main .button-ghost{border-color:#0000}html.main .button:disabled{opacity:1}html.main .backup-site-notice{border-color:buttontext;color:canvastext;box-shadow:none;background:canvas;border-inline-start-color:buttontext}html.main .backup-site-notice strong,html.main .backup-site-notice span{color:canvastext}html.main .backup-site-notice a,html.main .backup-site-notice a:visited{color:buttontext;background:buttonface;border-color:buttontext}html.main .backup-site-notice a:hover{color:highlighttext;background:highlight}}@media (update:slow){html.main *,html.main :after,html.main :before{transition:none!important;animation:none!important}html.main .site-header,html.main .content-panel,html.main .sidebar-panel{box-shadow:none}}@media print{html.main{margin:1.5cm;color:#000!important;background:#fff!important}html.main body{color:#000!important;background:#fff!important}html.main .site{inline-size:100%;padding:0}html.main .site-header,html.main .site-nav,html.main .page{display:block}html.main .site-nav,html.main .sidebar,html.main .header-meta{display:none}html.main .site-header,html.main .content-panel{box-shadow:none;background:#fff;border:0;padding-inline:0}html.main .article p{max-inline-size:72ch}html.main a,html.main a:visited{color:#000}html.main a[href^=http]:after{content:" (" attr(href) ")";overflow-wrap:anywhere;font-size:.8em}html.main pre{color:#000;white-space:pre-wrap;background:#fff;border:1px solid #000}html.main img,html.main figure,html.main blockquote,html.main pre,html.main table{break-inside:avoid}html.main h1,html.main h2,html.main h3,html.main h4{break-after:avoid}}html.nurba{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--nurba-background:#08090d;--nurba-surface:#0d0f15;--nurba-surface-raised:#12161a;--nurba-surface-hover:#171d1c;--nurba-border:#3d4a45;--nurba-border-strong:#65736c;--nurba-text:#d5d8d5;--nurba-text-muted:#858d88;--nurba-text-dim:#59615d;--nurba-green:#42f57b;--nurba-green-bright:#67ff96;--nurba-green-dark:#1c9d49;--nurba-red:#ff6464;--nurba-header-height:3.25rem;--nurba-statusbar-height:2rem;--nurba-sidebar-width:15rem;--nurba-content-width:62rem;--nurba-radius:0;--nurba-border-width:1px;--nurba-font-mono:"Commit Mono", "Cozette Vector", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--nurba-font-size:.875rem;--nurba-line-height:1.6;--nurba-space-1:.25rem;--nurba-space-2:.5rem;--nurba-space-3:.75rem;--nurba-space-4:1rem;--nurba-space-5:1.5rem;--nurba-space-6:2rem;--nurba-space-8:3rem}html.nurba *,html.nurba :before,html.nurba :after{box-sizing:border-box}html.nurba html{min-height:100%}html.nurba body{margin:0}html.nurba button,html.nurba input,html.nurba textarea,html.nurba select{font:inherit}html.nurba button,html.nurba a{-webkit-tap-highlight-color:transparent}html.nurba img,html.nurba svg{max-width:100%;display:block}html.nurba .nurba-heading{color:var(--nurba-text);letter-spacing:.04em;margin:0;font-size:1.25rem;font-weight:700}html.nurba .nurba-subheading{color:var(--nurba-green);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.875rem;font-weight:700}html.nurba .nurba-label{color:var(--nurba-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}html.nurba .nurba-muted{color:var(--nurba-text-muted)}html.nurba .nurba-prompt{color:var(--nurba-green)}html.nurba .nurba-prompt:before{content:"> "}.nurba-shell{grid-template:"header header" var(--nurba-header-height) "sidebar main" minmax(0, 1fr) "status status" var(--nurba-statusbar-height)/var(--nurba-sidebar-width) minmax(0, 1fr);width:100%;min-height:100vh;display:grid;overflow:hidden}.nurba-main{grid-area:main;min-width:0;min-height:0;overflow:auto}.nurba-main-content{width:min(100%, var(--nurba-content-width));padding:var(--nurba-space-6);margin:0 auto}@media (width<=800px){.nurba-shell{grid-template:"header" var(--nurba-header-height) "main" minmax(0, 1fr) "status" var(--nurba-statusbar-height)/1fr}.nurba-main-content{padding:var(--nurba-space-4)}}.nurba-header{min-width:0;padding-inline:var(--nurba-space-4);border-bottom:var(--nurba-border-width) solid var(--nurba-border);background:#06070a;grid-area:header;align-items:center;font-weight:700;display:flex}.nurba-header-inner{align-items:center;gap:var(--nurba-space-3);width:100%;min-width:0;display:flex}.nurba-brand{align-items:center;gap:var(--nurba-space-2);color:var(--nurba-text);letter-spacing:.08em;font-weight:700;text-decoration:none;display:inline-flex}.nurba-brand:hover{color:var(--nurba-green);text-decoration:none}.nurba-brand-symbol{color:var(--nurba-green)}.nurba-header-path{color:var(--nurba-text-muted);white-space:nowrap}.nurba-header-current{min-width:0;color:var(--nurba-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nurba-header-close{color:var(--nurba-text-muted);margin-inline-start:auto}.nurba-header-close:hover{color:var(--nurba-red)}.nurba-sidebar{background:var(--nurba-surface);border-right:var(--nurba-border-width) solid var(--nurba-border);grid-area:sidebar;min-width:0;min-height:0;overflow:auto}.nurba-sidebar-inner{padding:var(--nurba-space-4)}.nurba-sidebar-title{color:var(--nurba-green);letter-spacing:.08em;text-transform:uppercase;margin-block-end:var(--nurba-space-4);font-weight:700}.nurba-sidebar-title:before{content:"> "}.nurba-sidebar-root{color:var(--nurba-text-muted);margin-block-end:var(--nurba-space-4)}.nurba-sidebar-list{gap:var(--nurba-space-1);margin:0;padding:0;list-style:none;display:grid}.nurba-sidebar-link{align-items:center;gap:var(--nurba-space-2);min-height:2rem;color:var(--nurba-green);padding:.25rem .5rem .25rem 1rem;text-decoration:none;display:flex;position:relative}.nurba-sidebar-link:before{content:"";inset-block:.35rem;background:var(--nurba-border);width:.3rem;position:absolute;left:0}.nurba-sidebar-link:hover,.nurba-sidebar-link[aria-current=page]{background:var(--nurba-surface-hover);text-decoration:none}.nurba-sidebar-link:hover:before,.nurba-sidebar-link[aria-current=page]:before{background:var(--nurba-green)}.nurba-sidebar-link[aria-current=page]{color:var(--nurba-green-bright)}.nurba-sidebar-icon{width:1.25rem;color:var(--nurba-text-muted)}@media (width<=800px){.nurba-sidebar{display:none}}.nurba-statusbar{align-items:center;gap:var(--nurba-space-4);padding-inline:var(--nurba-space-4);border-top:var(--nurba-border-width) solid var(--nurba-border);color:var(--nurba-text-muted);letter-spacing:.06em;text-transform:uppercase;background:#06070a;grid-area:status;font-size:.7rem;display:flex;overflow:hidden}.nurba-statusbar-item{white-space:nowrap}.nurba-statusbar-item:before{content:"|";color:var(--nurba-border-strong);margin-inline-end:var(--nurba-space-4)}.nurba-statusbar-item:first-child:before{content:"";margin:0}.nurba-statusbar-active{color:var(--nurba-green)}@media (width<=500px){.nurba-statusbar{gap:var(--nurba-space-2);padding-inline:var(--nurba-space-2)}.nurba-statusbar-item:nth-child(n+3){display:none}}.nurba-button{background:var(--nurba-surface);border:var(--nurba-border-width) solid var(--nurba-border);min-height:2.25rem;color:var(--nurba-green);cursor:pointer;font:inherit;justify-content:center;align-items:center;padding:.35rem .75rem;text-decoration:none;display:inline-flex}.nurba-button:hover{background:var(--nurba-surface-hover);border-color:var(--nurba-green);color:var(--nurba-green-bright);text-decoration:none}.nurba-button:before{content:"[ "}.nurba-button:after{content:" ]"}.nurba-panel{background:var(--nurba-surface);border:var(--nurba-border-width) solid var(--nurba-border)}.nurba-panel-header{justify-content:space-between;align-items:center;gap:var(--nurba-space-4);min-height:2.75rem;padding:var(--nurba-space-2) var(--nurba-space-4);border-bottom:var(--nurba-border-width) solid var(--nurba-border);color:var(--nurba-text);font-weight:700;display:flex}.nurba-panel-body{padding:var(--nurba-space-5)}.nurba-panel-marker{color:var(--nurba-green)}.nurba-panel-meta{color:var(--nurba-text-muted);font-size:.75rem}.nurba-terminal{border:var(--nurba-border-width) solid var(--nurba-border);background:#07080c}.nurba-terminal-bar{min-height:2.5rem;padding-inline:var(--nurba-space-3);border-bottom:var(--nurba-border-width) solid var(--nurba-border);color:var(--nurba-text-muted);justify-content:space-between;align-items:center;display:flex}.nurba-terminal-title{color:var(--nurba-text)}.nurba-terminal-body{padding:var(--nurba-space-5)}.nurba-terminal-prompt{color:var(--nurba-green);margin-block-end:var(--nurba-space-4)}.nurba-terminal-command{color:var(--nurba-text)}.nurba-terminal-output{color:var(--nurba-text-muted)}.nurba-home{gap:var(--nurba-space-6);display:grid}.nurba-home-intro{gap:var(--nurba-space-3);display:grid}.nurba-home-title{color:var(--nurba-green);letter-spacing:.05em;margin:0;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700}.nurba-home-description{max-width:48rem;color:var(--nurba-text-muted);margin:0}.nurba-home-documents{gap:var(--nurba-space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.nurba-home-document{gap:var(--nurba-space-2);min-height:9rem;padding:var(--nurba-space-4);background:var(--nurba-surface);border:var(--nurba-border-width) solid var(--nurba-border);color:var(--nurba-text);text-decoration:none;display:grid}.nurba-home-document:hover{background:var(--nurba-surface-hover);border-color:var(--nurba-green);text-decoration:none}.nurba-home-document-icon{color:var(--nurba-green);font-size:1.5rem}.nurba-home-document-title{color:var(--nurba-green);font-weight:700}.nurba-home-document-description{color:var(--nurba-text-muted);font-size:.8rem}@media (width<=700px){.nurba-home-documents{grid-template-columns:1fr}}.nurba-legal{gap:var(--nurba-space-5);display:grid}.nurba-legal-header{gap:var(--nurba-space-2);border-bottom:var(--nurba-border-width) solid var(--nurba-border);padding-block-end:var(--nurba-space-4);display:grid}.nurba-legal-title{color:var(--nurba-green);margin:0;font-size:clamp(1.35rem,3vw,2rem);font-weight:700}.nurba-legal-updated{color:var(--nurba-text-muted);font-size:.75rem}.nurba-legal-content{max-width:52rem;color:var(--nurba-text)}.nurba-legal-content h2{margin-block:var(--nurba-space-8) var(--nurba-space-3);color:var(--nurba-green);letter-spacing:.04em;font-size:1rem}.nurba-legal-content h3{margin-block:var(--nurba-space-6) var(--nurba-space-2);color:var(--nurba-text);font-size:.9rem}.nurba-legal-content p{margin-block:0 var(--nurba-space-4)}.nurba-legal-content ul,.nurba-legal-content ol{margin-block:0 var(--nurba-space-4);padding-inline-start:1.5rem}.nurba-legal-content li{margin-block:var(--nurba-space-2)}.nurba-legal-content code{background:var(--nurba-surface-raised);border:1px solid var(--nurba-border);color:var(--nurba-green);padding:.1rem .3rem;font-size:.85em}.nurba-legal-content hr{margin-block:var(--nurba-space-6);border:0;border-top:1px solid var(--nurba-border)}.nurba-legal-content blockquote{margin:var(--nurba-space-5) 0;padding:var(--nurba-space-3) var(--nurba-space-4);background:var(--nurba-surface);border-left:3px solid var(--nurba-green);color:var(--nurba-text-muted)}.nurba-legal-footer{border-top:1px solid var(--nurba-border);color:var(--nurba-text-dim);padding-block-start:var(--nurba-space-5);font-size:.75rem}html.nurba{background:var(--nurba-background)}html.nurba .skip-link{z-index:1000;top:var(--nurba-space-3);left:var(--nurba-space-3);padding:var(--nurba-space-2) var(--nurba-space-3);background:var(--nurba-background);border:1px solid var(--nurba-green);color:var(--nurba-green);position:fixed;transform:translateY(-200%)}html.nurba .skip-link:focus{transform:translateY(0)}html.nurba body{background:linear-gradient(180deg, #42f57b06, transparent 18rem), var(--nurba-background);min-width:320px;min-height:100vh;color:var(--nurba-text);font-family:var(--nurba-font-mono);font-size:var(--nurba-font-size);line-height:var(--nurba-line-height);text-rendering:geometricprecision}html.nurba ::selection{background:var(--nurba-green);color:var(--nurba-background)}html.nurba :focus-visible{outline:1px solid var(--nurba-green);outline-offset:3px}html.nurba a{color:var(--nurba-green);text-decoration:none}html.nurba a:hover{color:var(--nurba-green-bright);text-decoration:underline}html.nurba :before,html.nurba :after{font-family:inherit}@font-face{font-family:Commit Mono;src:url(/fonts/CommitMono-400-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Commit Mono;src:url(/fonts/CommitMono-400-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Commit Mono;src:url(/fonts/CommitMono-700-Regular.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Commit Mono;src:url(/fonts/CommitMono-700-Italic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}*,:before,:after{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
