:root{color-scheme:dark;--bg: #0a0a0f;--bg-elev: #12121a;--bg-raise: #1a1a24;--line: #232330;--text: #f2f0eb;--text-dim: #98959e;--accent: #ffb000;--accent-dim: #c98a00;--glow: rgba(255, 176, 0, .35);--glow-soft: rgba(255, 176, 0, .08);--led-ok: #38d97b;--font-display: "Clash Display", "Space Grotesk", system-ui, sans-serif;--font-body: "Inter Variable", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--fs-hero: clamp(3.25rem, 11vw, 9rem);--fs-h2: clamp(2.25rem, 5.5vw, 4rem);--fs-h3: clamp(1.375rem, 2.5vw, 1.875rem);--fs-lead: clamp(1.125rem, 1.6vw, 1.375rem);--fs-body: 1.0625rem;--fs-small: .9375rem;--fs-label: .75rem;--s1: .25rem;--s2: .5rem;--s3: 1rem;--s4: 1.5rem;--s5: 2rem;--s6: 3rem;--s7: 4.5rem;--s8: 6rem;--s9: 9rem;--s10: 12rem;--col-read: clamp(44rem, 24rem + 31vw, 74rem);--fs-read: clamp(1.0625rem, .5rem + .86vw, 1.625rem);--maxw: 74rem;--gutter: clamp(1.25rem, 4vw, 3rem);--radius: 4px;--z-nav: 100;--z-grain: 90;--z-cursor: 998;--z-skip: 1000;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .18s;--dur-med: .32s}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Semibold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter Variable;src:url(/fonts/InterVariable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}[hidden]{display:none!important}img,svg,video{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.02;letter-spacing:-.015em;text-wrap:balance}p{max-width:62ch}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.wrap{width:min(var(--maxw),100% - 2 * var(--gutter));margin-inline:auto}.section{padding-block:clamp(var(--s7),12vh,var(--s9))}.mono-label{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);text-wrap:nowrap}.zone-head{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s6)}.zone-head:after{content:"";flex:1;height:1px;background:var(--line)}.zone-head .mono-label{display:inline-flex;align-items:center;gap:var(--s2)}.led{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--glow);flex:none}.led--ok{background:var(--led-ok);box-shadow:0 0 8px #38d97b66}@keyframes led-pulse{0%,to{opacity:1;box-shadow:0 0 8px var(--glow)}50%{opacity:.6;box-shadow:0 0 14px var(--glow)}}.zone-head .led{animation:led-pulse 2.6s ease-in-out infinite}.btn{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:.7rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,176,0,.16) 50%,transparent 60%);transform:translate(-101%);transition:transform .55s var(--ease-out);pointer-events:none}.btn:hover:after{transform:translate(101%)}.btn--solid:after{background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%)}.btn--solid{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:400}.btn--solid:hover{background:var(--accent-dim);border-color:var(--accent-dim);color:var(--bg)}.skip-link{position:fixed;top:var(--s2);left:var(--s2);z-index:var(--z-skip);padding:.6rem 1rem;background:var(--accent);color:var(--bg);font-family:var(--font-mono);font-size:var(--fs-label);border-radius:var(--radius);transform:translateY(-300%)}.skip-link:focus-visible{transform:none}.grain{position:fixed;inset:0;z-index:var(--z-grain);pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}html.has-cursor,html.has-cursor *{cursor:none!important}html.has-cursor :is(input,textarea,[contenteditable],.selectable),html.has-cursor :is(input,textarea,[contenteditable],.selectable) *{cursor:text!important}.cursor-dot{position:fixed;top:-4px;left:-4px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--glow);pointer-events:none;z-index:var(--z-cursor)}.cursor-reticle{position:fixed;top:0;left:0;pointer-events:none;z-index:var(--z-cursor);filter:drop-shadow(0 0 6px var(--glow));opacity:0}.cursor-reticle i{position:absolute;width:9px;height:9px;border:0 solid var(--accent)}.cursor-reticle i:nth-child(1){top:0;left:0;border-top-width:1.5px;border-left-width:1.5px}.cursor-reticle i:nth-child(2){top:0;right:0;border-top-width:1.5px;border-right-width:1.5px}.cursor-reticle i:nth-child(3){bottom:0;left:0;border-bottom-width:1.5px;border-left-width:1.5px}.cursor-reticle i:nth-child(4){bottom:0;right:0;border-bottom-width:1.5px;border-right-width:1.5px}@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out .2s var(--ease-out) both}::view-transition-new(root){animation:vt-in .36s var(--ease-out) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(12px)}}.fig{margin-block:var(--s6)}.fig--wide{width:100%}.prose>.fig--inline,.prose>.fig--wide,.prose>.fig-strip{width:100%;margin-inline:0}.fig-bar{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;background:var(--bg-raise);padding:var(--s2) var(--s3)}.fig-bar .mono-label{color:var(--text-dim);letter-spacing:.08em;min-width:0;overflow:hidden;text-overflow:ellipsis}.fig-frame{border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);overflow:hidden;background:var(--bg-elev);transition:border-color var(--dur-med) var(--ease-out),box-shadow var(--dur-med) var(--ease-out)}.fig:hover .fig-frame,.fig:hover .fig-bar{border-color:var(--accent-dim)}.fig:hover .fig-frame{box-shadow:0 18px 50px -24px var(--glow)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.nav[data-astro-cid-dmqpwcec]{position:fixed;inset:0 0 auto;z-index:var(--z-nav);view-transition-name:site-nav;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.nav-inner[data-astro-cid-dmqpwcec]{display:flex;align-items:center;justify-content:space-between;min-height:64px}.mark[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);transition:color var(--dur-fast) var(--ease-out)}.mark[data-astro-cid-dmqpwcec]:hover{color:color-mix(in srgb,var(--accent) 74%,#fff)}ul[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:clamp(var(--s3),3vw,var(--s5));list-style:none;padding:0}nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:not(.btn){position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:24px;padding-inline:4px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);transition:color var(--dur-fast) var(--ease-out)}nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:not(.btn):after{content:"";position:absolute;left:4px;bottom:9px;width:calc(100% - 8px);height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-med) var(--ease-out)}nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:not(.btn):hover{color:var(--accent)}nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:not(.btn):hover:after{transform:scaleX(1)}.resume-btn[data-astro-cid-dmqpwcec]{padding-block:.45rem}@media(max-width:640px){ul[data-astro-cid-dmqpwcec]{gap:var(--s3)}}@media(max-width:420px){ul[data-astro-cid-dmqpwcec]{gap:var(--s2)}nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:not(.btn){letter-spacing:.06em}}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--line);padding-block:var(--s6);margin-top:var(--s8)}.row[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3)}.row[data-astro-cid-sz7xmlte]+.row[data-astro-cid-sz7xmlte]{margin-top:var(--s4)}.mono-label[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:var(--s2)}.links[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:var(--s4);list-style:none;padding:0}.links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);transition:color var(--dur-fast) var(--ease-out)}.links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}.small[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{font-size:var(--fs-small);color:var(--text-dim)}
