@font-face{font-family:Taz Read;src:url(/_astro/taz-read-400.D48a2RkS.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Taz Read;src:url(/_astro/taz-read-600.C_065pKw.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Taz Read;src:url(/_astro/taz-read-400-italic.C8Vw35MG.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Taz Display;src:url(/_astro/taz-display-400.D1khKPXR.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Taz Mono;src:url(/_astro/taz-mono-400.DQFuaHyy.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Taz Read Fallback;src:local(Georgia);font-weight:400;font-style:normal;size-adjust:104.12%;ascent-override:70.59%;descent-override:25.45%;line-gap-override:0.0%}@font-face{font-family:Taz Read Fallback;src:local(Georgia Bold),local(Georgia-Bold);font-weight:600;font-style:normal;size-adjust:104.12%;ascent-override:70.59%;descent-override:25.45%;line-gap-override:0.0%}@font-face{font-family:Taz Read Fallback;src:local(Georgia Italic),local(Georgia-Italic);font-weight:400;font-style:italic;size-adjust:104.12%;ascent-override:70.59%;descent-override:25.45%;line-gap-override:0.0%}@font-face{font-family:Taz Display Fallback;src:local(Georgia);font-weight:400;font-style:normal;size-adjust:109.91%;ascent-override:88.63%;descent-override:25.46%;line-gap-override:0.0%}@font-face{font-family:Taz Mono Fallback;src:local(Courier New),local(CourierNewPSMT);font-weight:400;font-style:normal;size-adjust:99.98%;ascent-override:102.52%;descent-override:27.5%;line-gap-override:0.0%}:root{color-scheme:dark;--void:#07070a;--raised:#101116;--line:#23252d;--line-2:#33363f;--soul:#e6ebf1;--ash:#9aa3ae;--dust:#7a828f;--cloak-deep:#8a5a2b;--cloak:#c68e58;--panel:#0b0c11;--edge:#2b2d40;--edge-lit:#4a4d6e;--glow:#c9d3e6;--code-text:#d2d8e0;--code-strong:#f4f6f9;--code-literal:#d8c6a0;--code-comment:#9aa3ae;--code-punct:#8a929e;--font-read:"Taz Read", "Taz Read Fallback", Georgia, "Times New Roman", serif;--font-display:"Taz Display", "Taz Display Fallback", Georgia, serif;--font-mono:"Taz Mono", "Taz Mono Fallback", ui-monospace, Menlo, Consolas, monospace;--step--2:.75rem;--step--1:.8125rem;--step-0:1.125rem;--step-1:1.3125rem;--step-2:clamp(1.375rem, 1.15rem + 1vw, 1.75rem);--step-3:clamp(1.75rem, 1.35rem + 1.8vw, 2.5rem);--tracking-caps:.34em;--frame:80rem;--measure:38rem;--gutter:clamp(1.25rem, 4vw, 3rem);--radius:3px;--spring:linear(0, .0229, .079, .1536, .2366, .3215, .4038, .481, .5518, .6155, .672, .7215, .7646, .8017, .8336, .8607, .8838, .9032, .9196, .9333, .9448, .9544, .9624, .969, .9745, .9791, .9828, .9859, .9885, .9906, .9923, .9937, .9949, .9958, .9966, .9972, .9977, .9982, .9985, .9988, 1);--spring-soft:linear(0, .0303, .1064, .2095, .3253, .4431, .5556, .6581, .7478, .8236, .8857, .9347, .972, .9992, 1.0179, 1.0296, 1.036, 1.0383, 1.0377, 1.0352, 1.0314, 1.027, 1.0225, 1.0181, 1.0141, 1.0105, 1.0074, 1.0049, 1.0029, 1.0014, 1.0003, .9995, .999, .9987, .9985, .9985, .9986, .9988, .9989, .9991, 1);--decel:cubic-bezier(.05, .7, .1, 1);--accel:cubic-bezier(.3, 0, .8, .15);--standard:cubic-bezier(.2, 0, 0, 1);--sweep:cubic-bezier(.65, 0, .35, 1);--t-effect:.15s;--t-micro:.21s;--t-exit:.12s;--t-back:.14s;--t-bloom:.2s;--t-layer:.3s;--t-spatial:.327s;--t-trail:.49s;--t-page:.54s;--t-breathe:5.3s;--t-mote:14s;--t-drift:19s;--t-light:26s}@media (prefers-reduced-motion:reduce){:root{--t-effect:0s;--t-micro:0s;--t-exit:0s;--t-back:0s;--t-bloom:0s;--t-layer:0s;--t-spatial:0s;--t-trail:0s;--t-page:0s}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--line-2) var(--void)}body{background:var(--void);min-height:100dvh;color:var(--soul);font:400 var(--step-0) / 1.6 var(--font-read);font-kerning:normal;margin:0}h1,h2,h3{text-wrap:balance;margin:0;font-weight:400}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0}img,svg{max-width:100%;height:auto}a{color:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:var(--line-2);text-underline-offset:.22em;transition:color var(--t-effect) var(--standard), text-decoration-color var(--t-effect) var(--standard)}a:hover{color:var(--cloak);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--cloak);outline-offset:3px;border-radius:2px}::selection{background:var(--cloak-deep);color:var(--soul)}.visually-hidden,.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--gutter);z-index:10;background:var(--soul);color:var(--void);font:500 var(--step--1) / 1.2 var(--font-mono);padding:.5rem .75rem;text-decoration:none;position:absolute;top:0;transform:translateY(-120%)}.skip-link:focus{transform:none}.area-rule{font:400 var(--step--1) / 1.2 var(--font-display);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--dust);align-items:center;gap:.875rem;display:flex}.area-rule:after{content:"";background:var(--line);flex:1;height:1px}.meta{font:400 var(--step--1) / 1.4 var(--font-mono);color:var(--dust)}.page-title{font-size:var(--step-3);line-height:1.15}.prose{max-width:var(--measure);grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.status{max-width:var(--measure);color:var(--ash)}.rows{border-top:1px solid var(--line);list-style:none;display:grid}.rows>li{isolation:isolate;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.5rem 1.5rem;padding-block:.7rem;display:grid;position:relative}.rows .row-title{transition:color var(--t-effect) var(--standard);justify-self:start;font-size:1.125rem;line-height:1.35;display:inline-block}.rows>li:before{content:"";z-index:-1;border-left:2px solid var(--cloak);background:var(--raised);opacity:0;transition:opacity var(--t-effect) var(--standard);position:absolute;inset:0 -.75rem}.rows>li:has(.row-title:focus-visible):before{opacity:1}.rows .row-title:focus-visible{outline:none}.rows:has(.row-title:focus-visible)>li:not(:has(.row-title:focus-visible)) .row-title{color:var(--ash)}.section{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}.section-title{font-size:var(--step-1);line-height:1.3}.badge{border:1px solid var(--line-2);border-radius:var(--radius);font:400 var(--step--2) / 1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ash);padding:.12rem .4rem;display:inline-block}.badge-draft{border-style:dashed}kbd{border:1px solid var(--line-2);border-radius:var(--radius);min-width:1.6em;font:400 .8125rem / 1.5 var(--font-mono);color:var(--soul);text-align:center;border-bottom-width:2px;padding:0 .35em;display:inline-block}:root:not([data-js]) .needs-js{visibility:hidden}:root{--a-rise:none;--a-settle:none;--a-lift:none;--a-fade:none;--a-draw:none;--a-grow-x:none;--a-grow-y:none;--a-veil-l:none;--a-veil-r:none;--a-lit:none;--a-hop:none;--a-bar:none;--a-breathe:none;--a-drift:none;--a-mote:none;--a-float:none;--a-light:none;--a-depth:none;--a-quiet:none}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}:root[data-ready]:not([data-motion=off]){--a-rise:rise;--a-settle:settle;--a-lift:lift;--a-fade:fade;--a-draw:draw;--a-grow-x:grow-x;--a-grow-y:grow-y;--a-veil-l:veil-l;--a-veil-r:veil-r;--a-lit:lit;--a-hop:hop;--a-bar:bar;--a-breathe:breathe;--a-drift:drift;--a-mote:mote;--a-float:float;--a-light:light;--a-depth:depth;--a-quiet:quiet}}:root[data-motion=off]{--t-effect:0s;--t-micro:0s;--t-exit:0s;--t-back:0s;--t-bloom:0s;--t-layer:0s;--t-spatial:0s;--t-trail:0s;--t-page:0s}:root{--base:0s;--step:55ms}:root[data-first]{--base:.26s;--step:.12s}.i1{--i:1}.i2{--i:2}.i3{--i:3}.i4{--i:4}.i5{--i:5}.i6{--i:6}.i7{--i:7}.i8{--i:8}.i9{--i:9}@keyframes rise{0%{opacity:0;translate:0 var(--rise,12px)}}@keyframes settle{0%{opacity:0;translate:0 8px}}@keyframes lift{0%{translate:0 var(--rise,10px)}}@keyframes fade{0%{opacity:0}}@keyframes draw{0%{stroke-dashoffset:1px}}@keyframes grow-x{0%{scale:0 1}}@keyframes grow-y{0%{scale:1 0}}@keyframes bar{0%{scale:0 1}}@keyframes lit{35%{background-color:var(--edge);border-color:var(--glow);color:var(--soul)}}@keyframes hop{50%{translate:0 -3px}}@keyframes breathe{0%,to{opacity:1}34%{opacity:.3}41%{opacity:.85}63%{opacity:.2}77%{opacity:.9}}@keyframes drift{0%{transform:translate(-7px)scale(1.03)}to{transform:translate(7px,-4px)scale(1.03)}}@keyframes mote{0%{opacity:0;transform:translate(0,0)}18%,70%{opacity:var(--o,.5)}to{opacity:0;transform:translate3d(var(--dx,14px), -70px, 0)}}@keyframes float{0%,to{opacity:.3;translate:0}50%{translate:var(--fx,8px) -16px;opacity:.85}}@keyframes light{0%,55%{opacity:0;translate:-40%}70%{opacity:1}to{opacity:0;translate:40%}}@keyframes depth{to{transform:translate3d(0, var(--dy,24px), 0)}}@keyframes quiet{to{opacity:0}}@keyframes veil-l{to{translate:-100%}}@keyframes veil-r{to{translate:100%}}.veil{display:none}:root[data-nav=next] .veil,:root[data-nav=prev] .veil{z-index:40;pointer-events:none;width:160vw;animation-duration:var(--t-page);animation-timing-function:var(--sweep);animation-fill-mode:both;display:block;position:fixed;inset-block:0}:root[data-nav=next] .veil{background:linear-gradient(90deg, var(--void) 0 60%, var(--panel) 62.5%, #07070a00);animation-name:var(--a-veil-l);left:0}:root[data-nav=prev] .veil{background:linear-gradient(270deg, var(--void) 0 60%, var(--panel) 62.5%, #07070a00);animation-name:var(--a-veil-r);right:0}.masthead{view-transition-name:masthead}main{view-transition-name:main}.footer{view-transition-name:footer}::view-transition-group(*){animation-duration:var(--t-spatial);animation-timing-function:var(--spring)}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--t-effect)}::view-transition-old(main){animation:vt-fade-out var(--t-effect) var(--standard) both}::view-transition-new(main){animation:vt-fade-in var(--t-effect) var(--standard) both}html:active-view-transition-type(open)::view-transition-new(main){animation:vt-fade-in var(--t-effect) var(--standard) both, vt-rise var(--t-spatial) var(--spring) both}html:active-view-transition-type(open)::view-transition-group(*.card){animation-duration:var(--t-page)}::view-transition-old(*.entry-title){animation:vt-fade-out var(--t-effect) var(--standard) both}::view-transition-new(*.entry-title){animation:vt-fade-in var(--t-effect) var(--standard) both}::view-transition-old(*.card){animation:vt-fade-out var(--t-micro) var(--standard) both}::view-transition-new(*.card){animation:vt-fade-in var(--t-micro) var(--standard) both}html:active-view-transition-type(close)::view-transition-group(*){animation-duration:var(--t-back);animation-timing-function:var(--accel)}html:active-view-transition-type(close)::view-transition-old(main){animation:vt-fade-out var(--t-back) var(--accel) both}html:active-view-transition-type(close)::view-transition-new(main){animation:vt-fade-in var(--t-back) var(--standard) both}html:active-view-transition-type(next)::view-transition-old(main){animation:vt-fade-out var(--t-effect) var(--standard) both, vt-to-left var(--t-spatial) var(--spring) both}html:active-view-transition-type(next)::view-transition-new(main){animation:vt-fade-in var(--t-effect) var(--standard) both, vt-from-right var(--t-spatial) var(--spring) both}html:active-view-transition-type(prev)::view-transition-old(main){animation:vt-fade-out var(--t-effect) var(--standard) both, vt-to-right var(--t-spatial) var(--spring) both}html:active-view-transition-type(prev)::view-transition-new(main){animation:vt-fade-in var(--t-effect) var(--standard) both, vt-from-left var(--t-spatial) var(--spring) both}::view-transition-group(nav-indicator),::view-transition-group(nav-gem){animation-duration:var(--t-page);animation-timing-function:var(--spring-soft)}::view-transition-group(nav-trail){animation-duration:calc(var(--t-page) * 1.5)}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-rise{0%{translate:0 8px}}@keyframes vt-from-right{0%{translate:24px}}@keyframes vt-from-left{0%{translate:-24px}}@keyframes vt-to-left{to{translate:-24px}}@keyframes vt-to-right{to{translate:24px}}.enter{animation:var(--a-rise) var(--t-page) var(--decel) calc(var(--base) + var(--i,0) * var(--step)) both}:root{--inset:clamp(6px, .9vw, 12px);--k:clamp(2.75rem, 6vw, 4.5rem)}.page{z-index:1;min-height:100dvh;max-width:calc(var(--frame) + 2 * var(--gutter));padding-inline:var(--gutter);flex-direction:column;margin-inline:auto;padding-block-start:var(--inset);display:flex;position:relative}.page>main{flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:clamp(2.5rem,6vw,4rem);padding-block:clamp(1.5rem,4vw,2.5rem) clamp(3rem,8vw,5rem);display:grid}.page>main:focus{outline:none}.world{inset:var(--inset);z-index:30;pointer-events:none;position:fixed}.world:before,.world:after{content:"";height:1.5rem;position:absolute;inset-inline:0}.world:before{background:linear-gradient(var(--void), #07070a00);top:0}.world:after{background:linear-gradient(0deg, var(--void), #07070a00);bottom:0}.side{z-index:1;position:absolute}.side.t,.side.b{height:1px;inset-inline:0}.side.t{top:0}.side.b{bottom:0}.side.l,.side.r{width:1px;inset-block:0}.side.l{left:0}.side.r{right:0}.side:before,.side:after{content:"";background:var(--edge);position:absolute}.side.t:before,.side.b:before{transform-origin:0;inset:0 50% 0 0}.side.t:after,.side.b:after{transform-origin:100%;inset:0 0 0 50%}.side.l:before,.side.r:before{transform-origin:top;inset:0 0 50%}.side.l:after,.side.r:after{transform-origin:bottom;inset:50% 0 0}.world .corner{z-index:2;width:var(--k);height:var(--k);position:absolute}.world .tl{top:0;left:0}.world .tr{top:0;right:0;scale:-1 1}.world .bl{bottom:0;left:0;scale:1 -1}.world .br{bottom:0;right:0;scale:-1}.world>.pendant{z-index:2;top:calc(var(--k) + .75rem);position:absolute;right:1.25rem}@media (width<=75rem){.world>.pendant{display:none}}:root[data-first] .side.t:before,:root[data-first] .side.t:after,:root[data-first] .side.b:before,:root[data-first] .side.b:after{animation:var(--a-grow-x) .62s var(--sweep) both}:root[data-first] .side.l:before,:root[data-first] .side.l:after,:root[data-first] .side.r:before,:root[data-first] .side.r:after{animation:var(--a-grow-y) .62s var(--sweep) both}:root[data-first] .world .corner :is(.c-main,.c-echo,.c-vine,.c-thorn){animation:var(--a-draw) .7s var(--sweep) .18s both}:root[data-first] .world .corner .c-bead{animation:var(--a-fade) .5s var(--standard) .65s both}.motes>i{left:var(--l);top:var(--tp);background:radial-gradient(circle, var(--glow), #c9d3e600 70%);opacity:0;width:3px;height:3px;animation:var(--a-mote) calc(var(--t-mote) * var(--f)) linear calc(var(--n) * -2.7s) infinite;border-radius:50%;position:absolute}.motes>i:first-child{--l:7%;--tp:62%;--dx:16px;--o:.5;--f:1;--n:1}.motes>i:nth-child(2){--l:19%;--tp:30%;--dx:-10px;--o:.35;--f:1.3;--n:2}.motes>i:nth-child(3){--l:31%;--tp:80%;--dx:22px;--o:.55;--f:.9;--n:3}.motes>i:nth-child(4){--l:44%;--tp:44%;--dx:-18px;--o:.3;--f:1.5;--n:4}.motes>i:nth-child(5){--l:58%;--tp:70%;--dx:12px;--o:.45;--f:1.1;--n:5}.motes>i:nth-child(6){--l:66%;--tp:22%;--dx:-14px;--o:.4;--f:1.4;--n:6}.motes>i:nth-child(7){--l:78%;--tp:56%;--dx:20px;--o:.5;--f:.8;--n:7}.motes>i:nth-child(8){--l:88%;--tp:86%;--dx:-12px;--o:.35;--f:1.2;--n:8}.motes>i:nth-child(9){--l:94%;--tp:38%;--dx:10px;--o:.45;--f:1;--n:9}.motes>i:nth-child(10){--l:25%;--tp:58%;--dx:-20px;--o:.4;--f:1.6;--n:10}.motes>i:nth-child(11){--l:52%;--tp:90%;--dx:14px;--o:.5;--f:.85;--n:11}.motes>i:nth-child(12){--l:72%;--tp:34%;--dx:-8px;--o:.3;--f:1.25;--n:12}.dust{z-index:0;pointer-events:none;position:fixed;inset:0}.dust>i:nth-child(n+10){display:none}@supports (animation-timeline:scroll()){.dust{animation:var(--a-quiet) linear both}div.dust{animation-timeline:scroll(root);animation-range:60% 100%}}.cursor{display:none}:root[data-cursor] .cursor{z-index:60;pointer-events:none;display:block;position:fixed;top:0;left:0}:root[data-cursor]:not(:has(dialog[open])) *{cursor:none!important}:root[data-cursor]:has(dialog[open]) .cursor{display:none}.cursor .dot{background:var(--soul);width:6px;height:6px;transition:scale var(--t-micro) var(--spring-soft);border-radius:50%;position:absolute;top:-3px;left:-3px}.cursor .follow{position:absolute;top:0;left:0}.cursor .ring{border:1px solid var(--soul);opacity:0;width:34px;height:34px;transition:opacity var(--t-micro) var(--standard), scale var(--t-micro) var(--spring-soft);border-radius:50%;position:absolute;top:-17px;left:-17px;scale:.35}.cursor .tag{border:1px solid var(--edge-lit);border-radius:var(--radius);color:var(--soul);font:400 .6875rem / 1.4 var(--font-mono);letter-spacing:.16em;white-space:nowrap;opacity:0;transition:opacity var(--t-micro) var(--standard), translate var(--t-micro) var(--decel);background:#07070ad1;padding:.12rem .45rem;position:absolute;top:-11px;left:26px;translate:-6px}.cursor[data-mode=link] .ring,.cursor[data-mode=button] .ring{opacity:.5;scale:1}.cursor:is([data-mode=view],[data-mode=read],[data-mode=out],[data-mode=explore]) .ring{opacity:.75;scale:1.15}.cursor:is([data-mode=view],[data-mode=read],[data-mode=out],[data-mode=explore]) .tag{opacity:1;translate:0}.cursor[data-mode=text] .dot{scale:.4 4}.cursor[data-down] .ring{scale:.8}.chip{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);font:400 var(--step--1) / 1.5 var(--font-mono);color:var(--ash);transition:color var(--t-micro) var(--standard), border-color var(--t-micro) var(--standard);padding:.12rem .55rem;text-decoration:none;display:inline-block}.panel{border:1px solid var(--edge);background:linear-gradient(180deg, #14162099, var(--panel));border-radius:4px;position:relative}.panel>svg.pc{opacity:.75;pointer-events:none;width:1.9rem;height:1.9rem;position:absolute}.panel>svg.pc.tl{top:-1px;left:-1px}.panel>svg.pc.tr{top:-1px;right:-1px;scale:-1 1}.panel>svg.pc.bl{bottom:-1px;left:-1px;scale:1 -1}.panel>svg.pc.br{bottom:-1px;right:-1px;scale:-1}.panel .pc :is(.c-main,.c-echo,.c-vine,.c-thorn){stroke-width:3px}.panel-title{font:400 var(--step--1) / 1.4 var(--font-mono);letter-spacing:.04em;color:var(--dust)}.hex{width:2.6rem;height:2.6rem;color:var(--ash);transition:color var(--t-micro) var(--standard), rotate var(--t-micro) var(--spring-soft);place-items:center;display:inline-grid;position:relative}.hex .hex-shape{width:100%;height:100%;fill:var(--panel);stroke:var(--edge-lit);stroke-width:1.2px;stroke-linejoin:round;transition:stroke var(--t-micro) var(--standard);position:absolute;inset:0}.hex .glyph{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:55%;height:55%;position:relative}@media (prefers-reduced-motion:reduce){.motes{display:none}}:root[data-motion=off] .motes{display:none}@media (hover:none),(pointer:coarse){.cursor{display:none!important}}.layer{border:1px solid var(--edge-lit);background:linear-gradient(180deg, #1416208c, var(--panel) 40%), var(--void);max-height:min(80vh,40rem);color:var(--soul);opacity:1;transition-property:opacity,scale,translate,overlay,display;transition-duration:var(--t-exit);transition-timing-function:var(--accel);transition-behavior:allow-discrete;border-radius:4px;padding:0;position:fixed;overflow:hidden;translate:0;scale:1;box-shadow:0 1.5rem 3rem #0000008c}.layer[open]{transition-duration:var(--t-layer);transition-timing-function:var(--decel)}.layer:not([open]){opacity:0;translate:0 12px;scale:.98}@starting-style{.layer[open]{opacity:0;translate:0 12px;scale:.98}}.layer::backdrop{opacity:0;transition-property:opacity,overlay,display;transition-duration:var(--t-exit);transition-behavior:allow-discrete;background:radial-gradient(at 50% 32%,#07070a80,#07070ae6)}.layer[open]::backdrop{opacity:1;transition-duration:var(--t-layer)}@starting-style{.layer[open]::backdrop{opacity:0}}.layer .panel{max-height:inherit;gap:1rem;padding:1.5rem 1.5rem 1.25rem;display:grid;overflow:auto}.layer .k{z-index:1;pointer-events:none;width:2.75rem;height:2.75rem;position:absolute}.layer .k.tl{top:0;left:0}.layer .k.br{bottom:0;right:0;scale:-1}.layer[open] .k :is(.c-main,.c-echo,.c-vine,.c-thorn){animation:var(--a-draw) .6s var(--sweep) .1s both}.layer[open] .k .c-bead{animation:var(--a-fade) .4s var(--standard) .5s both}.layer .hint{color:var(--dust)}.vt-bit-flips--flip-flip-flip{view-transition-name:e-bit-flips--flip-flip-flip;view-transition-class:entry-title}.vt-format-strings--full-clip{view-transition-name:e-format-strings--full-clip;view-transition-class:entry-title}.vt-format-strings--print-xxx{view-transition-name:e-format-strings--print-xxx;view-transition-class:entry-title}.vt-format-strings--radio-los-santos{view-transition-name:e-format-strings--radio-los-santos;view-transition-class:entry-title}.vt-format-strings--radio-vice-city{view-transition-name:e-format-strings--radio-vice-city;view-transition-class:entry-title}.vt-format-strings--rocketman{view-transition-name:e-format-strings--rocketman;view-transition-class:entry-title}.vt-format-strings--rootstar-games{view-transition-name:e-format-strings--rootstar-games;view-transition-class:entry-title}.vt-format-strings--same-same-but-different{view-transition-name:e-format-strings--same-same-but-different;view-transition-class:entry-title}.vt-format-strings--short-fuse{view-transition-name:e-format-strings--short-fuse;view-transition-class:entry-title}.vt-shellcode--the-safehouse{view-transition-name:e-shellcode--the-safehouse;view-transition-class:entry-title}.vt-shellcode--who-likes-assembly-anw{view-transition-name:e-shellcode--who-likes-assembly-anw;view-transition-class:entry-title}.vt-signals-syscalls--5959595959{view-transition-name:e-signals-syscalls--5959595959;view-transition-class:entry-title}.vt-signals-syscalls--speed-dial{view-transition-name:e-signals-syscalls--speed-dial;view-transition-class:entry-title}.vt-signals-syscalls--wrong-number{view-transition-name:e-signals-syscalls--wrong-number;view-transition-class:entry-title}.vt-the-heap--hope-exploitation{view-transition-name:e-the-heap--hope-exploitation;view-transition-class:entry-title}.vt-the-stack--armblusblus{view-transition-name:e-the-stack--armblusblus;view-transition-class:entry-title}.vt-the-stack--au-revoir{view-transition-name:e-the-stack--au-revoir;view-transition-class:entry-title}.vt-the-stack--fill-me{view-transition-name:e-the-stack--fill-me;view-transition-class:entry-title}.vt-the-stack--wrong-turn{view-transition-name:e-the-stack--wrong-turn;view-transition-class:entry-title}.vp-ardoise{view-transition-name:p-ardoise;view-transition-class:card}.vpt-ardoise{view-transition-name:pt-ardoise;view-transition-class:entry-title}.vp-fastapi-inventory{view-transition-name:p-fastapi-inventory;view-transition-class:card}.vpt-fastapi-inventory{view-transition-name:pt-fastapi-inventory;view-transition-class:entry-title}.vp-insat-pulse{view-transition-name:p-insat-pulse;view-transition-class:card}.vpt-insat-pulse{view-transition-name:pt-insat-pulse;view-transition-class:entry-title}.vp-mypharma{view-transition-name:p-mypharma;view-transition-class:card}.vpt-mypharma{view-transition-name:pt-mypharma;view-transition-class:entry-title}.vp-resumehub{view-transition-name:p-resumehub;view-transition-class:card}.vpt-resumehub{view-transition-name:pt-resumehub;view-transition-class:entry-title}.vp-talifouni-plus{view-transition-name:p-talifouni-plus;view-transition-class:card}.vpt-talifouni-plus{view-transition-name:pt-talifouni-plus;view-transition-class:entry-title}.mask[data-astro-cid-quzh3jkv]{fill:currentColor;width:auto;height:1.9rem;display:block;overflow:visible}.masthead[data-astro-cid-mxoknxab]{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem 1.5rem;padding-block:.75rem .25rem;display:grid}.brand[data-astro-cid-mxoknxab]{color:var(--soul);justify-self:start;align-items:center;gap:.85rem;text-decoration:none;display:flex}.brand[data-astro-cid-mxoknxab] .mask{color:var(--soul)}.brand[data-astro-cid-mxoknxab] .mask-horns,.brand[data-astro-cid-mxoknxab] .mask-face{transition:translate var(--t-micro) var(--spring-soft), opacity var(--t-micro) var(--standard)}.brand[data-astro-cid-mxoknxab]:hover .mask-horns{translate:0 -1.5px}.brand-mark[data-astro-cid-mxoknxab]{font:400 1.05rem / 1 var(--font-display);letter-spacing:var(--tracking-caps);text-transform:uppercase}ul[data-astro-cid-mxoknxab]{gap:clamp(1.1rem,3vw,2.25rem);list-style:none;display:flex}nav[data-astro-cid-mxoknxab] a[data-astro-cid-mxoknxab]{color:var(--ash);transition:color var(--t-micro) var(--standard);padding-block:.4rem .7rem;font-size:1.0625rem;text-decoration:none;display:inline-block;position:relative}nav[data-astro-cid-mxoknxab] a[data-astro-cid-mxoknxab]:hover,nav[data-astro-cid-mxoknxab] a[data-astro-cid-mxoknxab][aria-current=page]{color:var(--soul)}nav[data-astro-cid-mxoknxab] a[data-astro-cid-mxoknxab]:not([aria-current]):after{content:"";inset-inline:0;background:var(--dust);height:1px;transition:scale var(--t-micro) var(--decel);position:absolute;bottom:.3rem;scale:0 1}nav[data-astro-cid-mxoknxab] a[data-astro-cid-mxoknxab]:not([aria-current]):hover:after{scale:1}.indicator[data-astro-cid-mxoknxab],.trail[data-astro-cid-mxoknxab]{inset-inline:0;background:var(--cloak);height:2px;position:absolute;bottom:.3rem}.indicator[data-astro-cid-mxoknxab]{view-transition-name:nav-indicator}.trail[data-astro-cid-mxoknxab]{opacity:.4;view-transition-name:nav-trail}.gem[data-astro-cid-mxoknxab]{border:1px solid var(--cloak);background:var(--void);view-transition-name:nav-gem;width:7px;height:7px;position:absolute;bottom:calc(.3rem - 3px);left:50%;transform:translate(-50%)rotate(45deg)}.tools[data-astro-cid-mxoknxab]{justify-self:end;align-items:center;gap:1rem;display:flex}.search[data-astro-cid-mxoknxab]{color:var(--ash);align-items:center;gap:.6rem;text-decoration:none;display:flex}.search[data-astro-cid-mxoknxab] svg[data-astro-cid-mxoknxab]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:1.2rem;height:1.2rem;transition:color var(--t-micro) var(--standard), scale var(--t-micro) var(--spring-soft)}.search[data-astro-cid-mxoknxab]:hover{color:var(--soul)}.search[data-astro-cid-mxoknxab]:hover svg[data-astro-cid-mxoknxab]{scale:1.12}.chord[data-astro-cid-mxoknxab]{border-color:var(--edge-lit);background:var(--panel);color:var(--ash);white-space:nowrap;transition:color var(--t-micro) var(--standard), border-color var(--t-micro) var(--standard);border-bottom-width:1px;border-radius:4px;padding:.05em .5em;font-size:.75rem}.search[data-astro-cid-mxoknxab]:hover .chord[data-astro-cid-mxoknxab]{color:var(--soul);border-color:var(--dust)}.mac[data-astro-cid-mxoknxab],:root[data-mac] .pc[data-astro-cid-mxoknxab]{display:none}:root[data-mac] .mac[data-astro-cid-mxoknxab]{display:inline}.motion-toggle[data-astro-cid-mxoknxab]{font:inherit;color:var(--ash);cursor:pointer;transition:color var(--t-micro) var(--standard);background:0 0;border:0;align-items:center;gap:.6rem;padding:.2rem 0;font-size:.9375rem;display:flex}.motion-toggle[data-astro-cid-mxoknxab]:hover{color:var(--soul)}.state[data-astro-cid-mxoknxab]{font-size:0}.off[data-astro-cid-mxoknxab],:root[data-motion=off] .on[data-astro-cid-mxoknxab]{display:none}:root[data-motion=off] .off[data-astro-cid-mxoknxab]{display:inline}.track[data-astro-cid-mxoknxab]{border:1px solid var(--edge-lit);background:var(--panel);width:2.1rem;height:1.15rem;transition:border-color var(--t-micro) var(--standard);border-radius:999px;position:relative}.knob[data-astro-cid-mxoknxab]{background:var(--soul);width:calc(1.15rem - 6px);height:calc(1.15rem - 6px);transition:translate var(--t-spatial) var(--spring-soft), background-color var(--t-micro) var(--standard);border-radius:50%;position:absolute;top:2px;left:2px;translate:.95rem}:root[data-motion=off] .knob[data-astro-cid-mxoknxab]{background:var(--dust);translate:0}:root[data-motion=off] .track[data-astro-cid-mxoknxab]{border-color:var(--line-2)}@media (prefers-reduced-motion:reduce){.motion[data-astro-cid-mxoknxab]{display:none}}@media (hover:none) and (pointer:coarse){.chord[data-astro-cid-mxoknxab]{display:none}}@media (width<=52rem){.masthead[data-astro-cid-mxoknxab]{grid-template-columns:minmax(0,1fr) auto}nav[data-astro-cid-mxoknxab]{grid-area:2/1/auto/-1;justify-self:center}}@media (width<=30rem){.brand-mark[data-astro-cid-mxoknxab]{letter-spacing:.22em}.tools[data-astro-cid-mxoknxab]{gap:.75rem}}.footer[data-astro-cid-hlzmzfsb]{gap:1rem;padding-block:0 1.75rem;display:grid}.rule[data-astro-cid-hlzmzfsb]{background:linear-gradient(90deg, var(--edge), var(--line) 50%, var(--edge));height:1px;margin-inline:3px;position:relative}.rule[data-astro-cid-hlzmzfsb] i[data-astro-cid-hlzmzfsb]{border:1px solid var(--edge-lit);background:var(--void);width:6px;height:6px;position:absolute;top:-3px;transform:rotate(45deg)}.rule[data-astro-cid-hlzmzfsb] i[data-astro-cid-hlzmzfsb]:first-child{left:-3px}.rule[data-astro-cid-hlzmzfsb] i[data-astro-cid-hlzmzfsb]:last-child{right:-3px}.row[data-astro-cid-hlzmzfsb]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 2rem;display:flex}.who[data-astro-cid-hlzmzfsb]{color:var(--ash);align-items:center;gap:.9rem;display:flex}.who[data-astro-cid-hlzmzfsb] .hex{width:2.1rem;height:2.1rem}ul[data-astro-cid-hlzmzfsb]{flex-wrap:wrap;gap:.5rem 1.4rem;list-style:none;display:flex}.links[data-astro-cid-hlzmzfsb] a[data-astro-cid-hlzmzfsb]{color:var(--ash);text-underline-offset:.3em;text-decoration-color:var(--dust)}.links[data-astro-cid-hlzmzfsb] a[data-astro-cid-hlzmzfsb]:hover{color:var(--cloak)}.keys[data-astro-cid-hlzmzfsb] a[data-astro-cid-hlzmzfsb]{color:var(--dust);text-decoration:none}.keys[data-astro-cid-hlzmzfsb] a[data-astro-cid-hlzmzfsb]:hover{color:var(--soul)}kbd[data-astro-cid-hlzmzfsb]{color:var(--ash);margin-left:.2em}.map-mark[data-astro-cid-hlzmzfsb]{padding:.35rem;display:inline-block}.map-mark[data-astro-cid-hlzmzfsb] svg[data-astro-cid-hlzmzfsb]{fill:none;width:.7rem;height:.7rem;stroke:var(--dust);stroke-width:1.2px;transition:stroke var(--t-micro) var(--standard);display:block}.map-mark[data-astro-cid-hlzmzfsb]:hover svg[data-astro-cid-hlzmzfsb]{stroke:var(--cloak)}@supports (animation-timeline:view()){.settle[data-astro-cid-hlzmzfsb]{animation:var(--a-lift) linear both;--rise:10px}.footer[data-astro-cid-hlzmzfsb] .settle[data-astro-cid-hlzmzfsb]{animation-timeline:view();animation-range:entry}}@media (hover:none) and (pointer:coarse){.keys-hint[data-astro-cid-hlzmzfsb]{display:none}}.corner[data-astro-cid-bv34c6vy]{fill:none;stroke-linecap:round;stroke-linejoin:round;width:5.375rem;height:5.375rem;display:block;overflow:visible}.c-main[data-astro-cid-bv34c6vy],.c-echo[data-astro-cid-bv34c6vy],.c-vine[data-astro-cid-bv34c6vy],.c-thorn[data-astro-cid-bv34c6vy]{stroke-dasharray:1}.c-main[data-astro-cid-bv34c6vy]{stroke:var(--edge-lit);stroke-width:1.1px}.c-echo[data-astro-cid-bv34c6vy],.c-thorn[data-astro-cid-bv34c6vy]{stroke:var(--edge);stroke-width:1px}.c-vine[data-astro-cid-bv34c6vy]{stroke:var(--line-2);stroke-width:.9px}.c-bead[data-astro-cid-bv34c6vy]{fill:var(--edge-lit);stroke:none}.pendant[data-astro-cid-h7wevvol]{fill:none;stroke-linecap:round;stroke-linejoin:round;width:1.5rem;height:6rem;display:block;overflow:visible}.p-chain[data-astro-cid-h7wevvol]{stroke:var(--edge-lit);stroke-width:1px;stroke-dasharray:2 3}.p-leaf[data-astro-cid-h7wevvol]{stroke:var(--edge-lit);stroke-width:1.2px;fill:#c9d3e614}.p-vein[data-astro-cid-h7wevvol]{stroke:var(--edge);stroke-width:1px}.p-bead[data-astro-cid-h7wevvol]{fill:var(--edge-lit);stroke:none}.layer-search[data-astro-cid-ckvlau44]{width:min(38rem,100% - 2rem);margin-block-start:12vh}.field[data-astro-cid-ckvlau44]{border-bottom:1px solid var(--edge);transition:border-color var(--t-micro) var(--standard);align-items:center;gap:.75rem;padding:.15rem .25rem .75rem;display:flex}.field[data-astro-cid-ckvlau44]:focus-within{border-color:var(--cloak-deep)}.prompt[data-astro-cid-ckvlau44]{font:400 1.25rem / 1 var(--font-mono);color:var(--cloak)}input[data-astro-cid-ckvlau44]{min-width:0;color:var(--soul);font:400 var(--step-1) / 1.3 var(--font-read);background:0 0;border:0;flex:1;padding:.3rem 0}input[data-astro-cid-ckvlau44]::placeholder{color:var(--dust);opacity:1}input[data-astro-cid-ckvlau44]:focus-visible{outline:none}.quick[data-astro-cid-ckvlau44]{flex-wrap:wrap;gap:.5rem;display:flex}.quick[data-astro-cid-ckvlau44] .chip[data-astro-cid-ckvlau44]{cursor:pointer}.quick[data-astro-cid-ckvlau44] .chip[data-astro-cid-ckvlau44]:hover{color:var(--soul);border-color:var(--edge-lit)}.results[data-astro-cid-ckvlau44]{list-style:none;display:grid}.results[data-astro-cid-ckvlau44] a{border-radius:var(--radius);transition:background-color var(--t-micro) var(--standard), border-color var(--t-micro) var(--standard), padding-left var(--t-micro) var(--decel);border-left:2px solid #0000;gap:.15rem;padding:.55rem .75rem;text-decoration:none;display:grid}.results[data-astro-cid-ckvlau44] a:hover,.results[data-astro-cid-ckvlau44] a:focus-visible{border-left-color:var(--cloak);background:var(--raised);outline-offset:-2px;padding-left:1rem}.results[data-astro-cid-ckvlau44] .meta{color:var(--dust)}.keymap[data-astro-cid-ygn4nhow]{border-top:1px solid var(--line);gap:0;margin:0;display:grid}.keymap[data-astro-cid-ygn4nhow]>div[data-astro-cid-ygn4nhow]{border-bottom:1px solid var(--line);grid-template-columns:7.5rem minmax(0,1fr);align-items:baseline;gap:1rem;padding-block:.55rem;display:grid}dt[data-astro-cid-ygn4nhow]{gap:.3rem;display:flex}dd[data-astro-cid-ygn4nhow]{color:var(--ash);margin:0}.layer-keys[data-astro-cid-jd4shiox]{border-bottom:0;border-radius:4px 4px 0 0;width:min(34rem,100%);margin-block:auto 0}.layer-keys[data-astro-cid-jd4shiox]:not([open]){translate:0 100%}@starting-style{.layer-keys[data-astro-cid-jd4shiox][open]{translate:0 100%}}.close[data-astro-cid-jd4shiox]{border:1px solid var(--edge-lit);border-radius:var(--radius);color:var(--ash);cursor:pointer;transition:color var(--t-micro) var(--standard), border-color var(--t-micro) var(--standard);background:0 0;justify-self:end;padding:.35rem .6rem}.close[data-astro-cid-jd4shiox]:hover{color:var(--soul);border-color:var(--dust)}.progress[data-astro-cid-hkbrpulz]{display:none}@supports (animation-timeline:scroll()){.progress[data-astro-cid-hkbrpulz]{top:var(--inset);left:var(--inset);right:var(--inset);z-index:35;background:var(--cloak-deep);transform-origin:0;pointer-events:none;height:2px;animation:linear both read;display:block;position:fixed}span[data-astro-cid-hkbrpulz].progress{animation-timeline:scroll(root)}}@keyframes read{0%{transform:scaleX(0)}}
