:root{--paper:#fbfaf7;--ink:#121212;--muted:#5f5f5f;--rule:#d8d6d0;--soft:#f2f0ea;--green:#15803d;--neon:#4ade80;--rgb2:74,222,128;--cyan:#4ade80;--violet:#4ade80;--serif-head:"Fraunces",Georgia,"Times New Roman",serif;--serif:"Source Serif 4",Georgia,serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--max:1160px}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font:18px/1.6 var(--serif);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}h1,h2,h3{font-family:var(--serif-head);letter-spacing:-.02em;font-weight:700;line-height:1.08}.kicker{font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green)}.meta{font:500 .8rem var(--sans);color:var(--muted)}.hl{background:linear-gradient(transparent 62%,var(--neon) 62%,var(--neon) 92%,transparent 92%)}.topbar{font:500 .78rem var(--sans);color:var(--muted);justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px;display:flex}.topbar a:hover{color:var(--ink);text-decoration:underline}.brandrow{text-align:center;padding-top:14px;padding-bottom:18px}.brand{font:800 clamp(2.2rem,7vw,4.4rem)/1 var(--serif-head);letter-spacing:-.035em;display:inline-block}.brand em{color:var(--green);font-style:normal}.brandrow .tag{font:italic 400 1.05rem var(--serif);color:var(--muted);margin-top:8px}.sections{border-top:3px double var(--ink);border-bottom:1px solid var(--ink);max-width:calc(var(--max) - 40px);font:600 .82rem var(--sans);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;justify-content:center;gap:4px 26px;padding-top:11px;padding-bottom:11px;display:flex}.sections a{border-bottom:2px solid #0000;padding:3px 0}.sections a:hover,.sections a.on{border-color:var(--neon)}@media (width<=700px){.sections{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:20px;margin:0 20px;padding-left:0;padding-right:0;overflow-x:auto}.sections a{white-space:nowrap}.topbar span:nth-child(2){display:none}}.btn{border:1px solid var(--ink);color:var(--ink);font:600 .9rem var(--sans);cursor:pointer;background:0 0;border-radius:2px;padding:12px 22px;transition:all .18s;display:inline-block}.btn:hover{background:var(--soft)}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{background:var(--green);border-color:var(--green)}.front{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:0;padding-top:34px;padding-bottom:40px;display:grid}.lead{border-right:1px solid var(--rule);padding-right:36px}.lead h1{margin:12px 0 16px;font-size:clamp(2.1rem,5vw,3.7rem);font-weight:800}.lead h1 a:hover{text-underline-offset:5px;text-decoration:underline 2px}.deck{color:#333;max-width:46ch;font-size:1.28rem;line-height:1.5}.byline{margin-top:16px}.figure{border-top:1px solid var(--ink);margin-top:32px;padding-top:14px}.figure figcaption{font:500 .78rem var(--sans);color:var(--muted);margin-top:10px}.figure figcaption b{color:var(--ink)}.side{flex-direction:column;padding-left:36px;display:flex}.side .label,.label{font:700 .78rem var(--sans);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--ink);margin-bottom:16px;padding-bottom:8px}.story{border-bottom:1px solid var(--rule);padding:16px 0}.story:last-of-type{border-bottom:0}.story h3{margin:6px 0 8px;font-size:1.35rem}.story:hover h3{text-underline-offset:4px;text-decoration:underline}.story p{color:#444;font-size:.98rem;line-height:1.5}.about{background:var(--soft);border-top:3px solid var(--ink);margin-top:auto;padding:18px}.about h3{margin-bottom:6px;font-size:1.2rem}.about p{color:#444;margin-bottom:14px;font-size:.95rem}@media (width<=900px){.front{grid-template-columns:1fr}.lead{border-right:0;border-bottom:1px solid var(--rule);padding-bottom:28px;padding-right:0}.side{padding-top:24px;padding-left:0}}.band{border-top:3px double var(--ink);padding:36px 0 10px}.cols{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.cols>*{border-left:1px solid var(--rule);padding:0 26px}.cols>:first-child{border-left:0;padding-left:0}.cols>:last-child{padding-right:0}@media (width<=800px){.cols{grid-template-columns:1fr}.cols>*{border-left:0;border-top:1px solid var(--rule);padding:20px 0}.cols>:first-child{border-top:0}}.step .n{font:800 2.6rem/1 var(--serif-head);color:var(--neon);-webkit-text-stroke:1px var(--ink)}.step h3{margin:10px 0 6px;font-size:1.25rem}.step p{color:#444;font-size:.98rem}.duo{grid-template-columns:1fr 1fr;gap:0;padding:28px 0 60px;display:grid}.duo>div{padding:0 36px}.duo>div:first-child{border-right:1px solid var(--rule);padding-left:0}.duo>div:last-child{padding-right:0}@media (width<=800px){.duo{grid-template-columns:1fr}.duo>div{border:0!important;padding:20px 0!important}}.duo h2{margin:6px 0 10px;font-size:clamp(1.6rem,3vw,2.2rem)}.duo .sub{color:#444;margin-bottom:18px;font-size:1rem}form{gap:12px;display:grid}input,textarea,select{width:100%;color:var(--ink);font:400 1rem var(--sans);background:#fff;border:1px solid #bdbab2;border-radius:2px;padding:12px 14px}input:focus,textarea:focus,select:focus{outline:2px solid var(--neon);border-color:var(--ink)}.news{flex-wrap:wrap;gap:10px;display:flex}.news input{flex:1;min-width:200px}.msg{font:500 .88rem var(--sans);color:var(--green);min-height:1.2em}.pagehead{padding:36px 0 20px}.pagehead h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800}.pagehead p{color:var(--muted);margin-top:8px}.list{padding-bottom:70px}.row{border-top:1px solid var(--rule);grid-template-columns:130px 1fr;gap:24px;padding:24px 0;display:grid}.row:hover h2{text-underline-offset:5px;text-decoration:underline}.row h2{margin:6px 0 8px;font-size:1.7rem}.row p{color:#444}.row .when{font:500 .8rem var(--sans);color:var(--muted)}@media (width<=700px){.row{grid-template-columns:1fr;gap:6px}}.post{max-width:700px;margin:0 auto;padding:44px 20px 70px}.post .kicker a:hover{text-decoration:underline}.post h1{margin:12px 0 14px;font-size:clamp(2.1rem,5.5vw,3.3rem);font-weight:800}.post .deck{color:#333;font-size:1.3rem}.post .byline{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:6px 14px;margin:24px 0 8px;padding:12px 0;display:flex}.post .byline b{color:var(--ink)}.saved{background:var(--neon);color:#052e13;font:700 .78rem var(--sans);margin-top:14px;padding:4px 10px;display:inline-block}.prose{margin-top:28px;font-size:1.2rem;line-height:1.75}.prose>p:first-of-type:first-letter{float:left;font:800 4.4rem/.82 var(--serif-head);color:var(--green);padding:6px 10px 0 0}.prose h2{margin:44px 0 12px;font-size:1.9rem}.prose h3{margin:30px 0 10px;font-size:1.4rem}.prose p,.prose ul,.prose ol{margin-bottom:22px}.prose li{margin-bottom:6px;margin-left:26px}.prose a{color:var(--green);text-underline-offset:3px;text-decoration:underline}.prose blockquote{border-left:4px solid var(--neon);color:#444;margin:0 0 22px;padding:4px 0 4px 20px;font-style:italic}.prose code{background:var(--soft);border-radius:3px;padding:2px 6px;font-size:.88em}.prose pre{color:#e8e8e8;background:#121212;border-radius:3px;margin-bottom:22px;padding:16px;font-size:.9rem;overflow:auto}.prose pre code{background:0 0;padding:0}.cta{border-top:3px solid var(--ink);background:var(--soft);margin-top:50px;padding:26px}.cta h3{margin-bottom:6px;font-size:1.5rem}.cta p{color:#444;margin-bottom:16px}.more{margin-top:44px}.more .story{padding:14px 0}footer{border-top:3px double var(--ink);font:400 .88rem var(--sans);color:var(--muted);padding:34px 0 40px}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}footer .fb{font:800 1.5rem var(--serif-head);color:var(--ink);letter-spacing:-.03em}footer .fb em{color:var(--green);font-style:normal}footer nav{gap:18px;display:flex}footer a:hover{color:var(--ink);text-decoration:underline}.wa{z-index:20;background:#25d366;border-radius:50%;place-items:center;width:52px;height:52px;font-size:24px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 4px 18px #0003}.hf{gap:14px;display:grid}.hf-row{grid-template-columns:repeat(4,1fr);align-items:stretch;gap:0;display:grid}.hf-item{align-items:center;min-width:0;display:flex}.hf-node{background:#fff;border:1px solid #bdbab2;border-radius:3px;flex:1;min-width:0;padding:12px;font:500 .82rem/1.3 ui-monospace,monospace;position:relative}.hf-node b{color:var(--green);letter-spacing:.12em;margin-bottom:3px;font-size:.64rem;display:block}.hf-node .ok{color:var(--green);font-size:.8rem;position:absolute;top:6px;right:8px}.hf-edge{background:#d8d6d0;flex-shrink:0;width:22px;height:2px;overflow:hidden}.hf-edge span{background:var(--neon);transform-origin:0;width:100%;height:100%;display:block}@media (width<=700px){.hf-row{grid-template-columns:1fr}.hf-item{flex-direction:column;align-items:stretch}.hf-edge{width:2px;height:16px;margin-left:24px}.hf-edge span{transform-origin:top}}.hf-term{color:#e5e5e5;background:#121212;border:1px solid #000;border-radius:3px;font:.78rem/1.7 ui-monospace,monospace;overflow:hidden}.hf-bar{color:#8a8a8a;border-bottom:1px solid #2a2a2a;align-items:center;gap:6px;padding:8px 12px;font-size:.7rem;display:flex}.hf-bar i{background:#3a3a3a;border-radius:50%;width:8px;height:8px}.hf-bar span{margin-left:8px}.hf-lines{min-height:118px;padding:10px 14px}.cursor{background:var(--neon);vertical-align:middle;width:8px;height:14px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(16px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.cursor{animation:none}}:root{--paper:#07090c;--ink:#eef2f0;--muted:#8b949e;--rule:#1d242b;--soft:#0e1317;--green:#4ade80;--neon:#4ade80;--line2:#2a323b;--body2:#b6bec6;--mono:ui-monospace,"JetBrains Mono","SF Mono",Menlo,Consolas,monospace}body{background:var(--paper)}body:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(900px 420px at 50% -8%,#4ade8021,#0000),linear-gradient(#ffffff07 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#ffffff07 1px,#0000 1px) 0 0/44px 44px;position:fixed;inset:0;mask-image:linear-gradient(#000 35%,#0000 92%)}#fx{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.ticker{border-bottom:1px solid var(--rule);white-space:nowrap;font:500 .72rem var(--mono);color:var(--muted);background:#05070a;align-items:center;height:30px;display:flex;overflow:hidden}.ticker .track{gap:44px;padding-left:44px;animation:38s linear infinite tick;display:inline-flex}.ticker b{color:var(--neon);font-weight:500}.ticker i{color:var(--neon);font-style:normal;animation:1.6s ease-in-out infinite pulse}@keyframes tick{to{transform:translate(-50%)}}@keyframes pulse{50%{opacity:.25}}.topbar{font-family:var(--mono);font-size:.72rem}.brandrow .tag:before{content:"> ";color:var(--neon)}.kicker:before{content:"// ";opacity:.6}.meta{font-family:var(--mono);font-size:.74rem}.label:before{content:"■ ";color:var(--neon);vertical-align:middle;font-size:.6rem}.deck,.post .deck,.story p,.row p,.step p,.about p,.duo .sub,.cta p{color:var(--body2)}.lead{border-color:var(--rule)}.btn{border-color:var(--line2);color:var(--ink)}.btn.primary:hover{color:#04130a;background:#fff;border-color:#fff;box-shadow:0 0 32px #ffffff40}.story:hover h3,.row:hover h2{color:var(--neon);text-decoration:none}input,textarea,select{border-color:var(--line2);color:var(--ink);background:#0b1015}input:focus,textarea:focus,select:focus{outline:1px solid var(--neon);border-color:var(--neon);box-shadow:0 0 0 3px #4ade8026}.saved{color:var(--neon);font-family:var(--mono);background:#4ade801f;border:1px solid #4ade8066}.prose pre{border:1px solid var(--line2);background:#03060a}.row{border-color:var(--rule)}.hf-node{border-color:var(--line2);color:var(--ink);background:#0b1015}.hf-node b,.hf-node .ok{color:var(--neon)}.hf-term{border-color:var(--line2);background:#03060a}@media (prefers-reduced-motion:reduce){.ticker .track,.ticker i{animation:none}}:root{--paper:#e8e7e2;--ink:#111;--muted:#5b5b57;--rule:#c4c2bb;--soft:#dddcd6;--green:#0f7a38;--neon:#4ade80;--line2:#111;--body2:#2d2d2b}body{background:var(--paper);color:var(--ink)}body:before{z-index:-1;background:radial-gradient(#0000000a 1px,#0000 1.2px) 0 0/5px 5px;-webkit-mask-image:none;mask-image:none}#fx{display:none}.masthead{background:0 0}.ticker{color:#b9bdb9;background:#111;border-bottom:0}.ticker b,.ticker i{color:var(--neon)}.topbar{font-family:var(--sans);color:var(--muted);font-size:.76rem}.brand{text-shadow:none}.brand em{color:var(--green);text-shadow:none}.brandrow .tag{font-family:var(--serif);color:var(--muted);font-size:1.05rem;font-style:italic}.brandrow .tag:before{content:""}.sections{border-top:3px double var(--ink);border-bottom:1px solid var(--ink);font-family:var(--sans);font-size:.8rem}.sections a:hover,.sections a.on{color:var(--ink);border-color:var(--neon)}.kicker{font-family:var(--mono);color:var(--green);letter-spacing:.1em}.kicker:before{content:""}.meta{font-family:var(--sans);color:var(--muted);font-size:.78rem}.label{font-family:var(--sans);border-bottom:1px solid var(--ink)}.label:before{content:""}.lead h1,.post h1,.pagehead h1{text-shadow:none}.deck,.post .deck{color:#333}.story p,.row p,.step p,.about p,.duo .sub,.cta p{color:#3c3c39}.lead,.side{border-color:var(--rule)}.figure{border-top:1px solid var(--ink)}.btn{border-color:var(--ink);color:var(--ink);background:0 0}.btn:hover{background:var(--soft);border-color:var(--ink)}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:none}.btn.primary:hover{background:var(--green);border-color:var(--green);color:#fff;box-shadow:none}.about,.cta{background:var(--soft);border:0;border-top:3px solid var(--ink)}.band{border-top:3px double var(--ink)}.step .n{color:var(--neon);-webkit-text-stroke:1px var(--ink);font-family:var(--serif-head)}.story:hover h3,.row:hover h2{color:inherit;text-underline-offset:4px;text-decoration:underline}input,textarea,select{color:var(--ink);background:#f4f3ef;border:1px solid #8a8780}input::placeholder,textarea::placeholder{color:#82807a}input:focus,textarea:focus,select:focus{outline:2px solid var(--neon);box-shadow:none;border-color:var(--ink)}.saved{background:var(--neon);color:#052e13;font-family:var(--mono);border:0}.post .byline{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}.prose>p:first-of-type:first-letter{color:var(--green);text-shadow:none}.prose a{color:var(--green)}.prose blockquote{border-left-color:var(--neon);color:#3c3c39}.prose code{color:#111;font-family:var(--mono);background:#d6d5cf}.prose pre{color:#e8e8e8;background:#111;border:0}.prose pre code{color:inherit;background:0 0}footer{border-top:3px double var(--ink);font-family:var(--sans);font-size:.88rem}footer .fb em{color:var(--green)}.hf-node{color:var(--ink);background:#f4f3ef;border-color:#8a8780}.hf-node b,.hf-node .ok{color:var(--green)}.hf-edge{background:#b8b6ae}.hf-term{color:#e6e6e6;background:#111;border-color:#111}.hf-bar{border-color:#2a2a2a}.hf-lines .p{color:var(--neon)}
