@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/Home-Security/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2)format("woff2"),url(/Home-Security/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/Home-Security/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2"),url(/Home-Security/assets/instrument-serif-latin-400-normal-BVbkICAY.woff)format("woff");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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/Home-Security/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2)format("woff2"),url(/Home-Security/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/Home-Security/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(/Home-Security/assets/instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff");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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-latin-wght-normal-BgDaEnEv.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/Home-Security/assets/geist-mono-latin-wght-normal-XN7g48iV.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0b0a09;--bg-lift:#100e0c;--hair:#211e1a;--hair-soft:#191713;--ink:#f4f1ec;--ink-2:#b8b1a6;--ink-3:#8a8377;--ink-4:#7a7364;--accent:#e8833a;--accent-dim:#8a5228;--serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--sans:"Geist Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--shell:1100px;--pad:clamp(1.25rem, 5vw, 3rem);--gutter:max(var(--pad), calc(50vw - var(--shell) / 2))}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);letter-spacing:-.003em;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;font-weight:350;line-height:1.6;overflow-x:hidden}h1,h2,h3{margin:0;font-weight:400}p{margin:0}.t-display{font-family:var(--serif);letter-spacing:-.024em;font-size:clamp(3rem,9.5vw,8rem);font-weight:400;line-height:.94}.t-statement{font-family:var(--serif);letter-spacing:-.018em;font-size:clamp(2.1rem,5.2vw,3.9rem);font-weight:400;line-height:1.02}.t-heading{font-family:var(--serif);letter-spacing:-.014em;font-size:clamp(1.6rem,3vw,2.35rem);font-weight:400;line-height:1.08}.t-sub{font-family:var(--sans);letter-spacing:-.011em;font-size:1.02rem;font-weight:600;line-height:1.35}.t-body{color:var(--ink-2);font-size:1.02rem;font-weight:350}.t-body--lead{color:var(--ink-2);font-size:clamp(1.08rem,1.9vw,1.3rem);font-weight:300;line-height:1.55}.t-label{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4);font-size:.7rem;font-weight:500}.t-mono{font-family:var(--mono);letter-spacing:.01em;color:var(--ink-3);font-size:.78rem;font-weight:400}em{font-family:var(--serif);color:var(--ink);font-size:1.06em;font-style:italic}strong{color:var(--ink);font-weight:600}code{font-family:var(--mono);color:var(--ink);letter-spacing:0;font-size:.86em;font-weight:400}a{color:inherit}img{max-width:100%;display:block}.shell{width:100%;max-width:var(--shell);padding-inline:var(--pad);margin-inline-start:auto;margin-inline-end:auto}.skip{position:absolute;left:-9999px}.skip:focus{z-index:100;background:var(--bg-lift);padding:.75rem 1rem;top:1rem;left:1rem}:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.rail{z-index:50;background:var(--hair-soft);height:1px;position:fixed;top:0;bottom:auto;left:0;right:0}.rail__fill{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.link{border-bottom:1px solid var(--hair);padding-block-start:.15rem;padding-block-end:.15rem;font-size:.98rem;font-weight:450;text-decoration:none;transition:border-color .25s,color .25s;display:inline-block}.link:hover{border-color:var(--accent);color:var(--accent)}.link--lead{font-family:var(--mono);letter-spacing:.01em;border-bottom-color:var(--ink-4);font-size:.82rem;font-weight:450}.link-row{flex-wrap:wrap;justify-content:center;gap:1.75rem;margin-top:2.75rem;display:flex}.hero{text-align:center;align-content:center;min-height:100svh;padding-block-start:6rem;padding-block-end:4rem;display:grid;position:relative}.hero .shell{justify-items:center;display:grid}.hero__eyebrow{align-items:center;gap:.7rem;margin-bottom:2.25rem;display:flex}.pulse{background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px}.hero__lede{text-wrap:balance;max-width:36rem;margin-top:1.8rem}.hero__figures{flex-wrap:wrap;justify-content:center;gap:clamp(2rem,5vw,4rem);margin-top:3.75rem;display:flex}.figure{text-align:center}@media (max-width:640px){.hero__figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem;width:100%;max-width:22rem;display:grid}}.figure__value{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:2.4rem;line-height:1}.figure__label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin-top:.5rem;font-size:.68rem}.hero__hint{margin-top:4rem;animation:3s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.3}50%{opacity:.85}}.story{position:relative}.story__stage{z-index:0;pointer-events:none;place-items:center;height:100svh;display:grid;position:sticky;top:0}.story__stage canvas{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.story__stage--static{height:auto;padding-block-start:2rem;padding-block-end:2rem;position:relative}.story__fallback{text-align:center;padding-inline:var(--pad)}.story__track{z-index:1;margin-top:-100svh;position:relative}.chapter{min-height:100svh;padding:6rem var(--gutter);will-change:opacity, transform;display:grid}.chapter__inner{max-width:27rem}.chapter[data-pos=center]{text-align:center;place-content:center;justify-items:center}.chapter[data-pos=center] .chapter__inner,.chapter[data-pos=t] .chapter__inner,.chapter[data-pos=b] .chapter__inner{max-width:33rem}.chapter[data-pos=tl]{place-content:start}.chapter[data-pos=tr]{text-align:right;place-content:start end}.chapter[data-pos=bl]{place-content:end start}.chapter[data-pos=br]{text-align:right;place-content:end}.chapter[data-pos=l]{place-content:center start}.chapter[data-pos=r]{text-align:right;place-content:center end}.chapter[data-pos=t]{text-align:center;place-content:start center;justify-items:center}.chapter[data-pos=b]{text-align:center;place-content:end center;justify-items:center}@media (max-width:780px){.chapter,.chapter[data-pos]{text-align:center;padding:3.5rem var(--pad) 3rem;place-content:end center;justify-items:center}.chapter .chapter__inner{max-width:32rem}}@media (max-height:620px) and (max-width:900px){.chapter,.chapter[data-pos]{padding-block-start:2rem;padding-block-end:1.75rem}.chapter__title{margin-bottom:.6rem;font-size:clamp(1.5rem,4.6vw,2rem)}.chapter__index{margin-bottom:.6rem}.chapter__body{font-size:.92rem}}.chapter__index{color:var(--ink-4);margin-bottom:1.1rem;display:block}.chapter__title{text-wrap:balance;text-shadow:0 0 28px var(--bg), 0 0 60px var(--bg);margin-bottom:1.1rem}.chapter__body{text-shadow:0 0 24px var(--bg), 0 0 48px var(--bg)}.section{z-index:2;background:var(--bg);border-top:1px solid var(--hair-soft);padding-block-start:clamp(5rem,11vw,9rem);padding-block-end:clamp(5rem,11vw,9rem);position:relative}.section__head{max-width:42rem;margin-bottom:clamp(3rem,6vw,4.5rem)}.section__label{margin-bottom:1.2rem;display:block}.section__lede{margin-top:1.4rem}.status{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;flex:none;align-items:baseline;gap:.5rem;font-size:.66rem;font-weight:500;display:inline-flex}.status:before{content:"";border-radius:50%;flex:none;width:5px;height:5px;transform:translateY(-1px)}.status--shipped{color:var(--accent)}.status--shipped:before{background:var(--accent)}.status--partial{color:var(--ink-3)}.status--partial:before{background:linear-gradient(90deg, var(--ink-3) 50%, transparent 50%);box-shadow:inset 0 0 0 1px var(--ink-4)}.status--designed{color:var(--ink-4)}.status--designed:before{box-shadow:inset 0 0 0 1px var(--ink-4)}.legend{border-top:1px solid var(--hair-soft);flex-wrap:wrap;gap:1.5rem;margin-top:2rem;padding-top:1.5rem;display:flex}.legend>span{align-items:baseline;gap:.45rem;display:flex}.legend .t-mono{font-size:.72rem}.pillars{border-top:1px solid var(--hair);margin:0;padding:0;list-style:none}.pillar{border-bottom:1px solid var(--hair);gap:.5rem 3rem;padding-block-start:2.25rem;padding-block-end:2.25rem;transition:background .3s;display:grid}@media (min-width:62rem){.pillar{grid-template-columns:1.5rem 1fr 1.15fr auto;align-items:start}}.pillar__num{font-family:var(--mono);color:var(--ink-4);padding-top:.4rem;font-size:.7rem}.pillar__title{padding-top:.15rem}.pillar__body>p+p{margin-top:.85rem}.pillar__status{padding-top:.5rem}.pillar__notes{gap:.35rem;margin-top:1.1rem;display:grid}.note{font-family:var(--mono);color:var(--ink-3);align-items:baseline;gap:.6rem;font-size:.74rem;display:flex}.note:before{content:"+";color:var(--ink-4);flex:none}.note--gap:before{content:"–"}.pillar--feature .pillar__title{font-size:clamp(1.8rem,3.4vw,2.6rem)}.pillar--feature{padding-block-start:3.25rem;padding-block-end:3.25rem}.phases{gap:0;margin:0;padding:0;list-style:none;display:grid}.phase{border-top:1px solid var(--hair);gap:1.25rem 3rem;padding-block-start:3rem;padding-block-end:3rem;display:grid}.phase:last-child{border-bottom:1px solid var(--hair)}@media (min-width:62rem){.phase{grid-template-columns:10rem 1fr}}.phase__aside{align-content:start;gap:.75rem;display:grid}.phase__num{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4);font-size:.7rem}.phase__title{margin-bottom:1.2rem}.phase__body>p+p{margin-top:.9rem}.stack{font-family:var(--mono);color:var(--ink-3);flex-wrap:wrap;margin:1.75rem 0 0;padding:0;font-size:.75rem;list-style:none;display:flex}.stack li:after{content:"·";color:var(--ink-4);margin-inline-start:.6rem;margin-inline-end:.6rem}.stack li:last-child:after{content:""}.stack .retired{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:1px}.hacked{gap:clamp(2.5rem,5vw,4.5rem);display:grid}@media (min-width:62rem){.hacked{grid-template-columns:1fr 1fr;align-items:center}}.pull{font-family:var(--serif);letter-spacing:-.014em;color:var(--accent);margin-block-start:1.75rem;margin-block-end:2.25rem;font-size:clamp(1.5rem,3.2vw,2.2rem);line-height:1.15}.quote{border-left:1px solid var(--hair);margin:0;padding-left:clamp(1.5rem,3vw,2.5rem)}.quote p{font-family:var(--serif);letter-spacing:-.012em;font-size:clamp(1.35rem,2.8vw,1.9rem);line-height:1.24}.quote footer{font-family:var(--mono);color:var(--ink-4);margin-top:1.5rem;font-size:.72rem}.people{border-top:1px solid var(--hair);margin:0;padding:0;list-style:none}.person{border-bottom:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding-block-start:1.5rem;padding-block-end:1.5rem;display:flex}.person__name{min-width:8rem}.person img{filter:grayscale()contrast(1.05);opacity:.85;border-radius:50%;flex:none;width:40px;height:40px;transition:filter .3s,opacity .3s}.person:hover img{filter:none;opacity:1}.person__name{flex:auto}.person__commits{font-family:var(--mono);color:var(--ink-4);font-variant-numeric:tabular-nums;font-size:.75rem}.person__handle{font-family:var(--mono);color:var(--ink-3);border-bottom:1px solid #0000;font-size:.78rem;text-decoration:none;transition:color .25s,border-color .25s}.person:hover .person__handle{color:var(--accent);border-bottom-color:var(--accent)}.closing{text-align:center}.closing .section__head{margin-inline-start:auto;margin-inline-end:auto;margin-bottom:2.5rem}.closing .link-row{justify-content:center}.footer{border-top:1px solid var(--hair-soft);padding-block-start:3rem;padding-block-end:3rem}.footer .shell{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1.5rem;display:flex}.footer__links{gap:1.5rem;display:flex}.footer__links a{border-bottom:1px solid #0000;text-decoration:none}.footer__links a:hover{border-bottom-color:var(--accent);color:var(--accent)}@media (prefers-reduced-motion:reduce){.hero__hint{animation:none}.chapter{min-height:auto;padding-block-start:3rem;padding-block-end:3rem;opacity:1!important;filter:none!important;transform:none!important}.story__track{margin-top:0}}
/*$vite$:1*/