@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-tight-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-tight-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#050506;--bg-2:#0b0b0d;--bg-warm:#0d0b08;--ink:#f3f1ec;--ink-dim:#d9d7d2;--ink-mid:#a8a6a0;--ink-low:#6b6965;--accent:#2e6bff;--accent-deep:#1f4fd6;--accent-warm:#e8b557;--accent-warm-deep:#c08a2b;--signal-warn:#e8a23c;--signal-ok:#22c55e;--signal-error:#d8483b;--hairline:#f3f1ec14;--hairline-strong:#f3f1ec29;--font-display:"Inter Tight Variable", "Inter Tight", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease-out-expo:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--max-content:1440px;--gutter:40px}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit}img,video{max-width:100%;display:block}::selection{background:var(--accent);color:var(--ink)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#f3f1ec1f}::-webkit-scrollbar-thumb:hover{background:#f3f1ec3d}:focus{outline:none}:focus-visible{outline:2px solid var(--accent,#2e6bff);outline-offset:3px;border-radius:2px;transition:outline-offset .15s}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:4px}.skip-link{z-index:10000;background:var(--ink,#f3f1ec);color:var(--bg,#050506);font-family:var(--font-mono,"JetBrains Mono", monospace);letter-spacing:.2em;text-transform:uppercase;border-radius:4px;padding:12px 18px;font-size:11px;transition:transform .2s;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus,.skip-link:focus-visible{outline:2px solid var(--accent,#2e6bff);outline-offset:2px;transform:translateY(0)}.mask-link{color:inherit;isolation:isolate;line-height:1.1;display:inline-block;position:relative;overflow:hidden}.mask-link__t{transition:transform .55s var(--ease-out-expo);will-change:transform;display:inline-block}.mask-link:before{content:attr(data-link-text);color:var(--ink,#f3f1ec);transition:transform .55s var(--ease-out-expo);pointer-events:none;will-change:transform;display:inline-block;position:absolute;top:0;left:0;transform:translateY(110%)}.mask-link:hover .mask-link__t,.mask-link:focus-visible .mask-link__t{transform:translateY(-110%)}.mask-link:hover:before,.mask-link:focus-visible:before{transform:translateY(0)}.mask-link.is-current .mask-link__t{color:var(--ink,#f3f1ec)}.mask-link.is-current:before{display:none}@media (prefers-reduced-motion:reduce){.mask-link__t,.mask-link:before{transition:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}::view-transition-old(root),::view-transition-new(root){animation-duration:.52s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}::view-transition-old(root){animation-name:rt-out}::view-transition-new(root){animation-name:rt-in}@keyframes rt-out{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(6px);transform:translateY(-2vh)scale(.985)}}@keyframes rt-in{0%{opacity:0;filter:blur(6px);transform:translateY(2vh)scale(.99)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}::view-transition-group(*){animation-duration:.46s;animation-timing-function:cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation-name:none;animation-duration:1ms}}#grain{z-index:1000;pointer-events:none;opacity:.038;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;width:200%;height:200%;animation:.5s step-end infinite grain-shift;position:fixed;inset:-50%}@keyframes grain-shift{0%{transform:translate(0)}10%{transform:translate(-3%,-5%)}20%{transform:translate(5%,-2%)}30%{transform:translate(-4%,4%)}40%{transform:translate(3%,6%)}50%{transform:translate(-6%,-3%)}60%{transform:translate(4%,2%)}70%{transform:translate(-2%,-6%)}80%{transform:translate(5%,3%)}90%{transform:translate(-3%,5%)}to{transform:translate(2%,-4%)}}#vignette{z-index:999;pointer-events:none;background:radial-gradient(at 50% 40%,#0000 40%,#0000008c 100%);position:fixed;inset:0}#cursor-dot,#cursor-ring{pointer-events:none;z-index:9999;will-change:transform;border-radius:50%;transition:opacity .3s;position:fixed;top:0;left:0}#cursor-dot{mix-blend-mode:difference;background:#fff;width:6px;height:6px;margin:-3px 0 0 -3px}#cursor-ring{mix-blend-mode:difference;border:1px solid #ffffff80;width:36px;height:36px;margin:-18px 0 0 -18px;transition:width .25s cubic-bezier(.25,.46,.45,.94),height .25s cubic-bezier(.25,.46,.45,.94),margin .25s cubic-bezier(.25,.46,.45,.94),opacity .3s,background .2s}#cursor-ring.is-hovering{background:#ffffff0f;border-color:#ffffffe6;width:64px;height:64px;margin:-32px 0 0 -32px}#cursor-ring.is-text{background:#ffffff26;border-color:#fffc;border-radius:2px;width:3px;height:28px;margin:-14px 0 0 -1.5px}body.is-reading #cursor-dot{opacity:0}body.is-reading #cursor-ring{mix-blend-mode:difference;background:#ffffffd9;border:none;border-radius:1px;width:2px;height:22px;margin:-11px 0 0 -1px}body.is-reading #cursor-ring.is-text{background:#fffffff2;width:2px;height:24px;margin:-12px 0 0 -1px;box-shadow:-3px -11px 0 -1px #fffffff2,3px -11px 0 -1px #fffffff2,-3px 11px 0 -1px #fffffff2,3px 11px 0 -1px #fffffff2}body.is-reading #cursor-ring.is-hovering{width:32px;height:32px;box-shadow:none;background:#ffffff0f;border:1px solid #ffffffd9;border-radius:50%;margin:-16px 0 0 -16px}html.cursor-custom{cursor:none}@media (hover:none),(pointer:coarse){html,html.cursor-custom{cursor:auto}#cursor-dot,#cursor-ring{display:none}#grain{animation:none}}@media (prefers-reduced-motion:reduce){#grain{animation:none}html,html.cursor-custom{cursor:auto}#cursor-dot,#cursor-ring{display:none}}html.is-hidden #grain{animation-play-state:paused}
