@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2)format("woff2")}:root{--ink:#0f172a;--body:#475569;--mute:#64748b;--line:#e2e8f0;--soft:#f8fafc;--blue:#2563eb;--blue-s:#eff6ff;--blue-l:#bfdbfe;--orange:#ff5c1f;--dark:#0d0d0f;--dark-line:#26262b;--green:#16a34a;--mono:"JetBrains Mono",monospace;--sans:"Inter",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{color:var(--body);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#fff;font-size:16px;line-height:1.65;overflow-x:clip}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}.wrap{max-width:1080px;margin:0 auto;padding:0 32px}header.site{z-index:20;background:var(--dark);border-bottom:1px solid #1b1b20;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.logo{font-family:var(--mono);color:#f4f4f6;font-size:17px;font-weight:500}.logo .sl{color:var(--orange)}.logo .cur{background:var(--orange);vertical-align:-2px;width:8px;height:16px;margin-left:5px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.nav-links{font-family:var(--mono);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.nav-links a{color:#e4e4ea;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;transition:color .15s,background .15s;display:flex}.nav-links a:before{content:"./";color:#9a9aa6;transition:color .15s}.nav-links a:hover{color:#fff;background:#1b1b20}.nav-links a:hover:before{color:var(--orange)}.nav-links a.on{color:#fff;background:#26262d}.nav-links a.on:before{color:var(--orange)}.nav-links .badge{font-family:var(--sans);background:var(--orange);color:var(--dark);border-radius:99px;padding:0 7px;font-size:10px;font-weight:600;line-height:1.5}.nav-links a.cta{background:var(--orange);color:var(--dark);margin-left:10px;padding:8px 14px;transition:background .15s,box-shadow .15s}.nav-links a.cta:before{content:">";color:var(--dark)}.nav-links a.cta:after{content:"_";color:var(--dark);animation:1.1s step-end infinite blink}.nav-links a.cta:hover{color:var(--dark);background:#ff7a45;box-shadow:0 0 20px #ff5c1f66}.nav-links a.cta:hover:before{color:var(--dark)}.menu-btn{font-family:var(--mono);color:#b0b0b8;cursor:pointer;background:0 0;border:1px solid #3a3a41;border-radius:6px;padding:8px 14px;font-size:13px;display:none}.menu-btn:hover{color:#fff;border-color:#7e7e88}.menu-btn .p{color:var(--orange)}@media (width<=980px){.menu-btn{display:block}.nav-links{background:var(--dark);border-bottom:1px solid var(--dark-line);flex-direction:column;align-items:stretch;gap:0;padding:8px 0;display:none;position:absolute;top:64px;left:0;right:0}.nav-links.open{display:flex}.nav-links a{border-top:1px solid var(--dark-line);border-radius:0;padding:14px 32px;font-size:14px}.nav-links a.cta{border-top:0;border-radius:6px;justify-content:center;margin:10px 32px 6px}}.eyebrow{font-family:var(--mono);color:var(--blue);font-size:12px;font-weight:500}.eyebrow:before{content:"// ";color:#94a3b8}.eyebrow .no{color:var(--orange);margin-right:4px}h1,h2,h3{color:var(--ink)}h2{letter-spacing:-.028em;margin-top:10px;font-size:36px;font-weight:600;line-height:1.15}.lead{max-width:620px;margin-top:12px;font-size:17px}.btn{font-family:var(--sans);border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:12px 20px;font-size:15px;font-weight:600;transition:transform .12s,border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 6px 16px -8px #0f172a55}.btn.p{background:var(--orange);border-color:var(--orange);color:#160a04}.btn.p:hover{background:#ff7a45;border-color:#ff7a45;box-shadow:0 8px 24px -8px #ff5c1f99}.btn kbd{font-family:var(--mono);background:var(--soft);border:1px solid var(--line);color:var(--mute);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:500}.btn.p kbd{color:#160a04;background:#00000024;border-color:#0000}.btn.ghost{color:#f4f4f6;background:0 0;border-color:#3a3a41}.btn.ghost:hover{box-shadow:none;border-color:#8a8a94}.btn.ghost kbd{color:#9a9aa6;background:#1b1b20;border-color:#2e2e36}.dot{background:#cbd5e1;border-radius:50%;width:9px;height:9px;display:block}.hero{background:radial-gradient(900px 520px at 88% 8%,#ff5c1f33,transparent 62%),radial-gradient(700px 480px at 62% 108%,#2563eb33,transparent 60%),var(--dark);position:relative;overflow:hidden}.hero:before{content:"";opacity:.55;background-image:radial-gradient(#2a2a31 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0;mask-image:linear-gradient(#000,#0000 85%)}.hero .wrap{padding-top:56px;padding-bottom:80px;position:relative}.hero-grid{grid-template-columns:.9fr 1.25fr;align-items:center;gap:36px;display:grid}.hero .eyebrow{color:var(--orange)}.hero .eyebrow:before{color:#5b5b66}.heat{background:linear-gradient(90deg,#3a3a41 0%,#3a3a41 35%,var(--orange) 75%,#ffd23f 100%);border-radius:2px;width:120px;height:4px;margin:18px 0 22px}.hero h1{color:#fff;letter-spacing:-.03em;font-size:46px;font-weight:600;line-height:1.06}.hero h1 em{color:var(--orange);font-style:normal}.hero .sub{color:#b8b8c2;max-width:520px;margin-top:20px;font-size:16.5px}.cta-row{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.trust{color:#a3a3ad;flex-wrap:wrap;gap:8px 20px;margin-top:26px;font-size:13px;display:flex}.trust span:before{content:"✓ ";color:#4ade80}.acard{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px -24px #0f172a44}.acard .h{border-bottom:1px solid var(--line);background:var(--soft);font-family:var(--mono);color:var(--mute);align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:500;display:flex}.acard .h b{font-family:var(--sans);color:#1d4ed8;white-space:nowrap;background:#dbeafe;border-radius:99px;margin-left:auto;padding:2px 9px;font-size:10px;font-weight:600}.kp{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.kp div{border-right:1px solid var(--line);padding:14px 16px}.kp div:last-child{border:0}.kp strong{color:var(--ink);letter-spacing:-.02em;font-size:24px;font-weight:600;line-height:1.1;display:block}.kp strong.g{color:#059669}.kp small{color:var(--mute);margin-top:2px;font-size:11.5px;line-height:1.3;display:block}.ar{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:flex}.ar:last-child{border:0}.ar .tag{font-family:var(--mono);border:1px solid var(--line);color:var(--mute);text-align:center;white-space:nowrap;border-radius:4px;min-width:78px;padding:2px 7px;font-size:10.5px;font-weight:500}.ar .t{color:var(--ink);flex:1;font-size:13.5px;font-weight:500;line-height:1.35}.ar .t small{color:var(--mute);font-size:12px;font-weight:400;display:block}.ar .v{color:var(--ink);text-align:right;white-space:nowrap;min-width:62px;font-size:13px;font-weight:500}.b2{font-family:var(--sans);border:1px solid var(--line);color:var(--ink);white-space:nowrap;border-radius:6px;padding:6px 11px;font-size:12px;font-weight:600}.b2.p{background:var(--blue);color:#fff;border-color:var(--blue)}@media (width<=560px){.ar .tag,.ar .v,.ar .b2:not(.p){display:none}.kp strong{font-size:19px}}.acard .ptabs{gap:4px;margin-left:6px;display:flex}.acard .ptabs span{color:var(--mute);border-radius:4px;padding:2px 8px;font-size:11px}.acard .ptabs span.on{background:var(--blue-s);color:var(--blue)}.acard .ptabs em,.lbl em{font-style:normal;font-family:var(--sans);background:var(--blue);color:#fff;border-radius:99px;margin-left:3px;padding:0 6px;font-size:10px;font-weight:600}.kp4{grid-template-columns:repeat(4,1fr)}.kp4 strong{font-size:21px}.pbar{background:var(--line);border-radius:2px;height:4px;margin-top:8px;display:block;overflow:hidden}.pbar u{background:var(--blue);border-radius:2px;height:100%;text-decoration:none;display:block}.ai{background:var(--blue-s);border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.ai p{color:var(--ink);font-size:13px;line-height:1.4}.ai p small{font-family:var(--mono);color:var(--mute);margin-top:2px;font-size:10.5px;display:block}.pill{font-family:var(--sans);white-space:nowrap;border-radius:99px;height:fit-content;padding:2px 9px;font-size:11px;font-weight:600}.pill.r{color:#b91c1c;background:#fee2e2}.lbl{font-family:var(--mono);color:var(--mute);background:var(--soft);border-bottom:1px solid var(--line);padding:9px 16px;font-size:11px;font-weight:500}.askrow{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.askrow .q{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:99px;padding:5px 12px;font-size:12px}.askrow i{color:#fff;background:var(--blue);border-radius:6px;margin-left:auto;padding:6px 14px;font-size:12px;font-style:normal;font-weight:600}@media (width<=560px){.kp4{grid-template-columns:1fr 1fr}.kp4 div:nth-child(2){border-right:0}.kp4 div:nth-child(-n+2){border-bottom:1px solid var(--line)}.acard .ptabs{display:none}}.collage{aspect-ratio:1/.9;transform-origin:0;margin-right:-48px;position:relative;transform:perspective(1800px)rotateY(-8deg)rotateX(2deg)}.cs{background:#fff;border:1px solid #2e2e36;border-radius:10px;margin:0;position:absolute;overflow:hidden;box-shadow:0 30px 60px -20px #000c,0 0 0 1px #ffffff0a}.cs .bar{border-bottom:1px solid var(--line);height:22px;font-family:var(--mono);color:var(--mute);white-space:nowrap;background:#f1f5f9;align-items:center;gap:5px;padding:0 9px;font-size:9px;font-weight:500;display:flex;overflow:hidden}.cs .bar .dot{width:7px;height:7px}.cs .bar .u{margin-left:5px}.cs img{width:100%;height:auto;display:block}.c1{width:86%;top:0;left:0}.c2{z-index:2;width:80%;top:31%;right:0}.c3{z-index:3;width:54%;bottom:0;left:3%}@media (width<=900px){.hero-grid{grid-template-columns:1fr;gap:44px}.collage{margin-right:0;transform:none}.hero h1{font-size:40px}.hero .wrap{padding-bottom:64px}}@media (width<=640px){.collage{aspect-ratio:auto}.c2,.c3{display:none}.c1{width:100%;position:relative}}@media (width<=560px){.hero .wrap{padding-top:44px}.hero h1{font-size:34px}}section.s{padding:84px 0 0}.s.band{margin-top:84px;padding:84px 0;position:relative}.s.band:before{content:"";z-index:-1;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.s.band.soft:before{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(#eef2f7,#f8fafc)}.s.band.dark:before{background:radial-gradient(800px 360px at 88% 0,#ff5c1f29,transparent 60%),var(--dark)}.band.dark h2{color:#fff}.band.dark .eyebrow{color:#8ab4ff}.band.dark .eyebrow:before{color:#5b5b66}.band.dark .prose-lite{color:#b8b8c2}.band.soft .note{margin-top:20px}.flow{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(4,1fr);margin-top:36px;display:grid;overflow:hidden}.fs{border-right:1px solid var(--line);background:#fff;padding:22px;position:relative}.fs:last-child{background:var(--blue-s);border:0}.fs .ico{background:var(--blue-s);border-radius:10px;place-items:center;width:40px;height:40px;margin-bottom:14px;display:grid}.fs .ico svg{fill:none;width:20px;height:20px;stroke:var(--blue);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.fs:last-child .ico{background:var(--blue)}.fs:last-child .ico svg{stroke:#fff}.fs h3{margin:0 0 4px;font-size:17px;font-weight:600}.fs p{font-size:14px}.fs:not(:last-child):after{content:"→";color:#94a3b8;font-family:var(--mono);font-size:13px;font-weight:500;position:absolute;top:20px;right:14px}@media (width<=860px){.flow{grid-template-columns:1fr 1fr}.fs:nth-child(2){border-right:0}.fs:nth-child(-n+2){border-bottom:1px solid var(--line)}.fs:nth-child(2):after{display:none}}@media (width<=480px){.flow{grid-template-columns:1fr}.fs{border-right:0;border-bottom:1px solid var(--line)}.fs:last-child{border-bottom:0}.fs:after{display:none}}.feat{grid-template-columns:.8fr 1.2fr;align-items:center;gap:48px;margin-top:36px;display:grid}.feat.rev{grid-template-columns:1.2fr .8fr}.feat .lead{margin-top:0}.feat ul{gap:12px;margin-top:18px;list-style:none;display:grid}.feat li{gap:10px;font-size:15px;display:flex}.feat li:before{content:"→";font-family:var(--mono);color:var(--blue);margin-top:3px;font-size:13px;font-weight:500}.feat li b{color:var(--ink);font-weight:600}.stack{grid-template-columns:1fr 1fr;align-items:start;gap:48px;margin-top:20px;display:grid}.stack .lead{margin-top:0}.stack ul{gap:12px;list-style:none;display:grid}.stack li{gap:10px;font-size:15px;display:flex}.stack li:before{content:"→";font-family:var(--mono);color:var(--blue);margin-top:3px;font-size:13px;font-weight:500}.stack li b{color:var(--ink);font-weight:600}.shot.big{margin-top:40px;box-shadow:0 40px 80px -34px #0f172a77}@media (width<=860px){.stack{grid-template-columns:1fr;gap:20px}}.shot{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px -24px #0f172a44}.shot .bar{background:var(--soft);border-bottom:1px solid var(--line);height:30px;font-family:var(--mono);color:var(--mute);white-space:nowrap;align-items:center;gap:6px;padding:0 12px;font-size:10.5px;display:flex;overflow:hidden}.shot .bar span.u{margin-left:6px}.shot img{width:100%;height:auto;display:block}.shot a{display:block}.note{font-family:var(--mono);color:var(--mute);background:var(--soft);border:1px solid var(--line);border-radius:6px;margin-top:16px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-block}.textlink{color:var(--blue);margin-top:14px;font-size:14px;font-weight:600;display:inline-block}.textlink:hover{text-decoration:underline}@media (width<=860px){.feat,.feat.rev{grid-template-columns:1fr;gap:28px}.feat.rev .shot{order:2}}.chips{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px;display:grid}.chip{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px 18px;transition:border-color .15s,box-shadow .15s,transform .15s}.chip:hover{border-color:var(--blue-l);transform:translateY(-2px);box-shadow:0 8px 20px -12px #2563eb55}.chip .m{font-family:var(--mono);color:var(--blue);font-size:11px;font-weight:500}.chip h3{margin-top:4px;font-size:16px;font-weight:600}.chip p{color:var(--mute);margin-top:2px;font-size:13px;line-height:1.45}.chip.hl{background:var(--blue-s);border-color:var(--blue-l)}@media (width<=900px){.chips{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.chips{grid-template-columns:1fr}}.custom{color:#cbd5e1;background:#14141a;border:1px solid #2a2a31;border-radius:12px;justify-content:space-between;align-items:center;gap:32px;margin-top:44px;padding:28px 32px;display:flex}.custom h3{color:#fff;font-size:20px;font-weight:600}.custom p{max-width:620px;margin-top:6px;font-size:15px}.custom code{font-family:var(--mono);color:var(--orange);margin-bottom:8px;font-size:12px;font-weight:500;display:block}@media (width<=760px){.custom{flex-direction:column;align-items:flex-start;padding:24px}}.contact{border:1px solid var(--line);background:linear-gradient(135deg,var(--soft),#fff);border-radius:14px;justify-content:space-between;align-items:center;gap:32px;margin-top:84px;padding:40px;display:flex}.contact h2{margin:0;font-size:28px}.contact p{max-width:520px;margin-top:8px}.contact .mail{font-family:var(--mono);color:var(--ink);margin-top:14px;font-size:14px;font-weight:500;display:inline-block}.contact .mail:before{content:"$ mail ";color:var(--orange)}.contact .mail:hover{color:var(--blue)}@media (width<=760px){.contact{flex-direction:column;align-items:flex-start;padding:28px}}footer.site{background:var(--dark);color:#7e7e88;font-family:var(--mono);margin-top:80px;font-size:12px}.foot{flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:24px;padding-bottom:24px;display:flex}.foot .ok{color:var(--green)}.prose-lite{max-width:660px;margin:12px 0 32px;font-size:17px}.prose-lite p+p{margin-top:14px}.mcomp{margin:0}.mcomp img{width:100%;height:auto;display:block}.feat.mods{gap:24px;margin-top:12px}.feat.mods .prose-lite{margin:0}.chatcard{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px -24px #0f172a44}.chatcard .h{border-bottom:1px solid var(--line);background:var(--soft);font-family:var(--mono);color:var(--mute);align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:500;display:flex}.chatcard .h b{font-family:var(--sans);color:#1d4ed8;white-space:nowrap;background:#dbeafe;border-radius:99px;margin-left:auto;padding:2px 9px;font-size:10px;font-weight:600}.cb{background:var(--soft);gap:12px;padding:18px;display:grid}.msg{border:1px solid var(--line);max-width:88%;color:var(--ink);background:#fff;border-radius:12px;padding:11px 14px;font-size:14px;line-height:1.55}.msg b{font-weight:600}.msg.me{background:var(--blue);border-color:var(--blue);color:#fff;border-bottom-right-radius:4px;justify-self:end}.msg.bot{border-bottom-left-radius:4px}.chips2{flex-wrap:wrap;gap:8px;display:flex}.chips2 span{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:99px;padding:5px 12px;font-size:12.5px}.inp{align-items:center;gap:10px;margin-top:4px;display:flex}.inp span{color:var(--mute);border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;padding:10px 14px;font-size:13px}.inp i{color:#fff;background:var(--blue);border-radius:8px;padding:10px 16px;font-size:13px;font-style:normal;font-weight:600}.bloghead{padding:72px 0 0}.bloghead h1{letter-spacing:-.025em;margin-top:10px;font-size:38px;font-weight:600;line-height:1.15}.bloghead .lead{margin-bottom:44px}.postlist{border-top:1px solid var(--line)}.postrow{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr auto;align-items:baseline;gap:6px 26px;padding:26px 12px;transition:background .15s;display:grid}.postrow:hover{background:var(--soft)}.postrow .date{font-family:var(--mono);color:var(--mute);font-size:12.5px}.postrow .title{color:var(--ink);font-size:18px;font-weight:600;line-height:1.4}.postrow .title .fn{font-family:var(--mono);color:var(--blue);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.postrow .desc{color:var(--body);grid-column:2;font-size:15px}.postrow .arrow{font-family:var(--mono);color:#94a3b8;transition:color .15s,transform .15s}.postrow:hover .arrow{color:var(--blue);transform:translate(4px)}@media (width<=640px){.postrow{grid-template-columns:1fr;gap:6px;padding:22px 0}.postrow .desc{grid-column:1}.postrow .arrow{display:none}}.post{padding:64px 0 90px}.post .backlink{font-family:var(--mono);color:var(--mute);margin-bottom:32px;font-size:13px;font-weight:500;transition:color .15s;display:inline-block}.post .backlink:hover{color:var(--blue)}.post h1{letter-spacing:-.025em;margin:12px 0 16px;font-size:clamp(28px,5vw,40px);font-weight:600;line-height:1.2}.post .meta{font-family:var(--mono);color:var(--mute);margin-bottom:48px;font-size:13px}.post .meta .ok{color:var(--green)}.prose{color:var(--body);font-size:17px;line-height:1.85}.prose h2{color:var(--ink);margin:52px 0 16px;font-size:24px}.prose h3{color:var(--ink);margin:40px 0 12px;font-size:18px;font-weight:600}.prose p{margin-bottom:22px}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--blue);border-bottom:1px solid var(--blue-l)}.prose a:hover{border-color:var(--blue)}.prose ul,.prose ol{margin:0 0 22px 24px}.prose li{margin-bottom:8px}.prose blockquote{border-left:3px solid var(--blue);color:var(--ink);margin:30px 0;padding:4px 0 4px 22px;font-size:18px}.prose code{font-family:var(--mono);background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:5px;padding:2px 7px;font-size:.88em}.prose pre{background:var(--ink);border-radius:10px;margin:0 0 26px;padding:20px 22px;overflow-x:auto}.prose pre code{color:#e2e8f0;background:0 0;border:none;padding:0;font-size:13.5px;line-height:1.8}.prose hr{background:var(--line);border:none;height:1px;margin:44px 0}.post .outro{border-top:1px solid var(--line);font-family:var(--mono);color:var(--mute);margin-top:56px;padding-top:28px;font-size:13.5px}.post .outro .p{color:var(--orange)}.post .outro a{color:var(--ink);border-bottom:1px solid #94a3b8}.post .outro a:hover{color:var(--blue);border-color:var(--blue)}@media (prefers-reduced-motion:reduce){.logo .cur,.nav-links a.cta:after{animation:none}.btn:hover,.chip:hover{transform:none}html{scroll-behavior:auto}}
