@font-face{font-family:Newsreader;src:url(/assets/newsreader-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;src:url(/assets/ibm-plex-mono-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f3efe4;--ink:#161613;--soft:#555149;--rule:#817a6f;--reverse:#faf7ef;--signal:#a52d24;--success:#275c43;--danger:#8c2722;--serif:Newsreader,Georgia,serif;--mono:"IBM Plex Mono","Courier New",monospace;font-family:var(--mono);color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.55}[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--signal)}a:hover{text-decoration-thickness:3px}button,input,textarea{font:inherit}button,a{touch-action:manipulation}.shell{width:min(100% - 48px,1280px);margin-inline:auto}.skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:12px 16px;background:var(--ink);color:var(--reverse);transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--signal);outline-offset:3px}.masthead{height:72px;display:grid;grid-template-columns:1.1fr 1fr .8fr auto;gap:24px;align-items:center;border-bottom:4px solid var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.wordmark{font-size:19px;font-weight:600;text-decoration:none}.wordmark span{color:var(--signal)}.masthead p{margin:0}.issue{text-align:center}.masthead nav,.footer nav{display:flex;gap:24px}.masthead nav a{display:inline-flex;min-height:44px;align-items:center}.hero{padding:48px 0 72px}.kicker{display:flex;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.hero h1,.legal h1{max-width:1100px;margin:28px 0 40px;font:600 clamp(3.5rem,8.6vw,7.7rem)/.84 var(--serif);letter-spacing:-.055em}.hero h1 em{color:var(--signal);font-style:normal}.hero-grid{display:grid;grid-template-columns:minmax(280px,.72fr) 1.5fr;gap:48px;align-items:end}.hero-copy{padding-bottom:8px}.dek{font:600 clamp(1.35rem,2.1vw,2rem)/1.25 var(--serif);letter-spacing:-.015em;max-width:38ch}.actions{display:flex;flex-wrap:wrap;gap:16px;margin:32px 0 20px}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:11px 18px;border:2px solid var(--ink);background:transparent;color:var(--ink);font-weight:600;text-decoration:none;cursor:pointer;box-shadow:4px 4px 0 var(--ink);transition:transform .12s,box-shadow .12s}.button:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--ink);text-decoration:none}.button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.button.primary{background:var(--signal);border-color:var(--signal);color:var(--reverse);box-shadow:4px 4px 0 var(--ink)}.fineprint,.merchant{font-size:12px;color:var(--soft)}figure{margin:0}figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--ink);filter:contrast(1.03)}figcaption{padding-top:8px;font-size:12px;text-transform:uppercase}.section-number{margin:0;font-size:12px;color:var(--signal);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.manifesto{display:grid;grid-template-columns:.45fr 1.15fr .8fr;gap:48px;padding:72px 0;border-top:1px solid var(--ink)}h2{margin:8px 0 24px;font:600 clamp(2.4rem,5vw,4.8rem)/.95 var(--serif);letter-spacing:-.035em}h3{font-size:16px}.manifesto>div>p,.install-copy>p,.license>div>p{max-width:58ch}.proof-list{margin:0;padding:0;list-style:none;border-top:4px solid var(--ink)}.proof-list li{padding:16px 0;border-bottom:1px solid var(--rule)}.proof-list b,.proof-list span{display:block}.proof-list span{font-size:14px;color:var(--soft)}.demo{padding:72px 0;border-top:4px solid var(--ink)}.section-heading{display:grid;grid-template-columns:.45fr 1.15fr .8fr;gap:48px;align-items:start}.section-heading p{max-width:58ch}.network{font-size:12px;text-align:right}.network.online{color:var(--success)}.network.offline{color:var(--danger)}.desk{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;border:2px solid var(--ink);background:#e9e4d8}.editor-pane,.result-pane{min-width:0;padding:24px}.editor-pane{border-right:2px solid var(--ink)}label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;text-transform:uppercase}textarea,input{width:100%;border:1px solid var(--ink);border-radius:0;background:var(--reverse);color:var(--ink)}textarea{min-height:270px;padding:16px;resize:vertical;font-size:13px;line-height:1.65}input{height:48px;padding:0 12px}.editor-actions{display:flex;gap:20px;align-items:center;margin-top:16px}.text-button,.copy-button{min-height:44px;border:0;background:transparent;color:var(--ink);text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:4px;cursor:pointer}.privacy-note{font-size:12px;color:var(--soft)}.result-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink)}.result-header h3{margin:0 0 12px}.badge{padding:3px 8px;background:var(--ink);color:var(--reverse);font-size:11px;text-transform:uppercase}.badge.safe{background:var(--success)}.badge.error{background:var(--danger)}.empty-state{display:grid;place-items:center;min-height:270px;text-align:center;color:var(--soft)}.empty-state span{font:600 4rem var(--serif)}.empty-state p{max-width:35ch}.error-state{margin-top:24px;padding:16px;border:2px solid var(--danger);color:var(--danger)}pre{max-width:100%;overflow:auto;margin:20px 0;background:var(--ink);color:var(--reverse);padding:20px;font-size:13px;line-height:1.7}#demo-result{animation:proof-in .22s ease-out}.metrics{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.metrics div{padding:12px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.metrics dt{font-size:11px;color:var(--soft);text-transform:uppercase}.metrics dd{margin:3px 0 0;font-weight:600;font-variant-numeric:tabular-nums}.install{display:grid;grid-template-columns:.35fr .7fr 1.15fr;gap:48px;padding:96px 0}.terminal{align-self:center;background:var(--ink);color:var(--reverse);box-shadow:12px 12px 0 var(--signal)}.terminal pre{margin:0;padding:24px;white-space:pre-wrap}.terminal-top{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid var(--rule);font-size:11px}.terminal .copy-button{color:var(--reverse)}.terminal .dim{color:#aaa59b}.terminal .success{color:#b7ddbf}.story-link{display:inline-block;margin-top:20px;font-weight:600}.spec{padding:72px 0;border-block:1px solid var(--ink)}.spec>h2{max-width:720px}.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border-top:4px solid var(--ink)}.spec article{padding:20px;border-right:1px solid var(--rule)}.spec article:last-child{border:0}.spec article>span{color:var(--signal);font-size:12px}.spec article p{font-size:14px;color:var(--soft)}.license{display:grid;grid-template-columns:1.15fr .85fr;gap:96px;padding:96px 0}.price strong{font:600 4rem var(--serif)}.restore{padding:32px;border:2px solid var(--ink);align-self:center}.restore h3{font:600 2rem var(--serif);margin-top:0}.restore form{display:grid;gap:12px}.restore #license-message{font-size:13px;min-height:2.5em}.footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:32px 0;border-top:4px solid var(--ink);font-size:12px}.footer>p:last-child{text-align:right}.legal{padding:80px 0 120px}.legal h1{font-size:clamp(3.5rem,8vw,7rem);margin-bottom:48px}.legal>.dek{max-width:48ch;padding-bottom:40px;border-bottom:4px solid var(--ink)}.legal h2{max-width:760px;margin-top:64px;font-size:clamp(2rem,4vw,3.5rem)}.legal>p:not(.section-number){max-width:72ch}.legal code{background:#ddd6c7;padding:2px 4px}.footer nav a{display:inline-flex;min-height:44px;align-items:center}@keyframes proof-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:850px){.shell{width:min(100% - 32px,1280px)}.masthead{grid-template-columns:1fr auto;height:auto;min-height:72px}.masthead>p{display:none}.masthead nav{gap:12px}.hero{padding-top:32px}.hero-grid,.manifesto,.section-heading,.install,.license{grid-template-columns:1fr}.hero-grid{gap:32px}.hero-copy{order:2}.manifesto,.install,.license{gap:24px}.section-heading{gap:8px}.network{text-align:left}.desk{grid-template-columns:1fr}.editor-pane{border-right:0;border-bottom:2px solid var(--ink)}.spec-grid{grid-template-columns:1fr 1fr}.spec article:nth-child(2){border-right:0}.footer{grid-template-columns:1fr auto}.footer>p:last-child{display:none}}@media(max-width:520px){body{font-size:16px}.shell{width:min(100% - 24px,1280px)}.masthead nav a:nth-child(2),.masthead nav a:nth-child(3){display:none}.hero h1{font-size:3.65rem}.kicker span:last-child{display:none}.hero{padding-bottom:56px}.actions{display:grid}.button{width:100%}.manifesto,.demo,.spec{padding:56px 0}.desk{margin-inline:-12px}.editor-pane,.result-pane{padding:16px}.editor-actions{align-items:stretch;flex-direction:column;gap:8px}.metrics,.spec-grid{grid-template-columns:1fr}.spec article{border-right:0;border-bottom:1px solid var(--rule)}.install,.license{padding:64px 0}.terminal{box-shadow:6px 6px 0 var(--signal)}.restore{padding:20px}.footer{grid-template-columns:1fr}.footer nav{justify-content:space-between}.legal{padding-top:56px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.button:hover,.button:active{transform:none}}
