:root{--mist:#e4eaec;--mist-deep:#cfd9dd;--ink:#18233a;--ink-soft:#55627a;--pine:#2e6b58;--lamp:#e2b23c;--surface:#f4f7f7;--hill-front:#18233a;--font-display:"Familjen Grotesk", system-ui, sans-serif;--font-body:"Source Serif 4", Georgia, serif;--step--1:.85rem;--step-0:1.0625rem;--step-1:1.33rem;--step-2:1.66rem;--step-3:2.07rem;--step-4:clamp(2.2rem, 5vw, 3.6rem);--step-5:clamp(2.8rem, 8vw, 5.6rem);--gutter:clamp(1rem, 4vw, 3rem);--measure:66ch;color-scheme:light}@media (prefers-color-scheme:dark){:root{--mist:#121a2b;--mist-deep:#1b2740;--ink:#e6ecef;--ink-soft:#9aa7bb;--pine:#7cc2a8;--lamp:#f0c75a;--surface:#18223a;--hill-front:#0b1120;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--mist);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);margin:0;line-height:1.6}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 .5em;font-weight:600;line-height:1.1}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--pine)}:focus-visible{outline:3px solid var(--pine);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto;display:block}.wrap{width:100%;max-width:72rem;padding-inline:var(--gutter);margin-inline:auto}.prose{max-width:var(--measure)}.prose h2{font-size:var(--step-2);margin-top:2.2em}.prose h3{font-size:var(--step-1);margin-top:1.8em}.prose p,.prose ul,.prose ol{margin:0 0 1.1em}.skip-link{left:var(--gutter);background:var(--ink);color:var(--mist);z-index:100;font-family:var(--font-display);padding:.6rem 1rem;position:absolute;top:-4rem}.skip-link:focus{top:.75rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.nav[data-astro-cid-wpvy4v7s]{z-index:50;opacity:.7;transition:opacity .2s,background-color .2s;position:sticky;top:0}.nav[data-astro-cid-wpvy4v7s]:hover,.nav[data-astro-cid-wpvy4v7s]:focus-within,.nav[data-astro-cid-wpvy4v7s].is-solid{opacity:1;background:color-mix(in srgb, var(--mist) 80%, transparent);-webkit-backdrop-filter:blur(10px)}.nav-inner[data-astro-cid-wpvy4v7s]{grid-template-columns:auto 1fr auto;grid-template-areas:"name links tools";align-items:center;column-gap:clamp(.9rem,3vw,2rem);padding-block:1rem;display:grid}.name[data-astro-cid-wpvy4v7s]{font-family:var(--font-display);font-weight:700;font-size:var(--step-1);white-space:nowrap;grid-area:name;text-decoration:none}ul[data-astro-cid-wpvy4v7s]{align-items:center;gap:clamp(.9rem,3vw,2rem);margin:0;padding:0;list-style:none;display:flex}.links[data-astro-cid-wpvy4v7s]{grid-area:links;justify-content:flex-end}.tools[data-astro-cid-wpvy4v7s]{grid-area:tools;gap:.5rem}.tools[data-astro-cid-wpvy4v7s] li[data-astro-cid-wpvy4v7s]{display:flex}ul[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{font-family:var(--font-display);padding:.5rem 0;font-weight:500;text-decoration:none}ul[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover,ul[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s][aria-current=page]{text-decoration:underline}.term-btn[data-astro-cid-wpvy4v7s],.view-btn[data-astro-cid-wpvy4v7s]{box-sizing:border-box;border:1px solid var(--ink);cursor:pointer;border-radius:8px;place-items:center;width:44px;height:36px;padding:0;text-decoration:none;display:inline-grid}.term-btn[data-astro-cid-wpvy4v7s]{background:var(--ink);color:var(--mist);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85rem;font-weight:700;line-height:1}.term-btn[data-astro-cid-wpvy4v7s]:hover{background:var(--pine);border-color:var(--pine)}.view-btn[data-astro-cid-wpvy4v7s]{color:var(--ink);background:0 0}.view-btn[data-astro-cid-wpvy4v7s] svg[data-astro-cid-wpvy4v7s]{fill:currentColor;width:22px;height:22px}.view-btn[data-astro-cid-wpvy4v7s]:hover{color:var(--pine);border-color:var(--pine)}.view-btn[data-astro-cid-wpvy4v7s][aria-current=page]{background:var(--ink);color:var(--mist);border-color:var(--ink)}@media (width<=34rem){.nav-inner[data-astro-cid-wpvy4v7s]{grid-template-columns:1fr auto;grid-template-areas:"name tools""links links";row-gap:.15rem;padding-block:.6rem .3rem}.links[data-astro-cid-wpvy4v7s]{justify-content:space-between}.name[data-astro-cid-wpvy4v7s]{font-size:var(--step-0)}}.contact-panel[data-astro-cid-o4wndmyl]{border:0;border-left:1px solid var(--mist-deep);background:var(--mist);width:min(26rem,100vw);height:100dvh;max-height:none;color:var(--ink);transition:transform .25s ease, overlay .25s allow-discrete, display .25s allow-discrete;margin:0 0 0 auto;padding:0;transform:translate(100%)}.contact-panel[data-astro-cid-o4wndmyl][open]{transform:translate(0)}@starting-style{.contact-panel[data-astro-cid-o4wndmyl][open]{transform:translate(100%)}}.contact-panel[data-astro-cid-o4wndmyl]::backdrop{background:#0a0f1973}.panel-inner[data-astro-cid-o4wndmyl]{padding:1.5rem clamp(1.25rem,4vw,2rem)}.panel-head[data-astro-cid-o4wndmyl]{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.panel-head[data-astro-cid-o4wndmyl] h2[data-astro-cid-o4wndmyl]{font-size:var(--step-2);margin:0}.close[data-astro-cid-o4wndmyl]{font:inherit;cursor:pointer;border:1px solid var(--mist-deep);width:44px;height:44px;color:var(--ink);background:0 0;border-radius:50%;font-size:1.6rem;line-height:1}.close[data-astro-cid-o4wndmyl]:hover{border-color:var(--ink)}.lede[data-astro-cid-o4wndmyl]{color:var(--ink-soft);margin:0 0 1.5rem}ul[data-astro-cid-o4wndmyl]{border-top:1px solid var(--mist-deep);margin:0;padding:0;list-style:none}li[data-astro-cid-o4wndmyl]{border-bottom:1px solid var(--mist-deep)}li[data-astro-cid-o4wndmyl] a[data-astro-cid-o4wndmyl]{min-height:44px;font-family:var(--font-display);font-weight:600;font-size:var(--step-1);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem .25rem;text-decoration:none;display:flex}li[data-astro-cid-o4wndmyl] a[data-astro-cid-o4wndmyl]:hover{color:var(--pine)}.term{--t-bg:#0c1018;--t-fg:#d7dde6;--t-dim:#7d8899;--t-hi:#f0c75a;--t-cmd:#7cc2a8;--t-path:#8fb3ff;--t-tech:#6fd3e8;--t-num:#f29bd0;background:var(--t-bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--t-fg);border:0;margin:0;padding:0;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;line-height:1.55}.term[open]{flex-direction:column;animation:.22s ease-out term-in;display:flex}@keyframes term-in{0%{opacity:0;transform:scale(.985)}}.term::backdrop{background:var(--t-bg,#0c1018)}.term-bar{color:var(--t-dim);background:#111724;border-bottom:1px solid #1c2433;align-items:center;gap:.75rem;padding:.55rem 1rem;font-size:13px;display:flex}.term-dots{gap:6px;display:flex}.term-dots i{background:#3a4456;border-radius:50%;width:11px;height:11px}.term-dots i:first-child{background:#e0605a}.term-dots i:nth-child(2){background:#e2b23c}.term-dots i:nth-child(3){background:#4fae7e}.term-title{text-align:center;flex:1}.term-close{font:inherit;color:var(--t-fg);cursor:pointer;background:0 0;border:1px solid #2c3648;border-radius:6px;min-height:36px;padding:.35rem .7rem;font-size:12px}.term-close:hover{border-color:var(--t-cmd);color:var(--t-cmd)}.term-body{cursor:text;flex:1;padding:1rem clamp(1rem,4vw,2rem) 2rem;overflow-y:auto}.term-out{max-width:90ch}.term-row{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.55em}.term-dim{color:var(--t-dim)}.term-hi{color:var(--t-hi);font-weight:600}.term-cmd,.term-user{color:var(--t-cmd)}.term-co{color:var(--t-hi)}.term-tech{color:var(--t-tech)}.term-num{color:var(--t-num);font-weight:600}.term a{color:var(--t-path);text-underline-offset:.2em;text-decoration:underline}.term a:hover{color:var(--t-hi)}.term-line{gap:.6ch;max-width:90ch;display:flex}.term-prompt{white-space:nowrap;color:var(--t-cmd)}.term-input{min-width:0;font:inherit;color:var(--t-fg);caret-color:var(--t-hi);background:0 0;border:0;outline:none;flex:1;padding:0}.term :focus-visible{outline:2px solid var(--t-cmd);outline-offset:2px}.term .term-input:focus-visible{outline:none}@media (width<=40rem){.term{font-size:13px}}.site-footer[data-astro-cid-hkbrpulz]{margin-top:6rem;padding-block:5rem 3rem;position:relative}.site-footer[data-astro-cid-hkbrpulz]:before{content:"";top:0;left:var(--gutter);right:var(--gutter);border-top:1px solid var(--mist-deep);position:absolute}.site-footer[data-astro-cid-hkbrpulz] h2[data-astro-cid-hkbrpulz]{font-size:var(--step-2)}
