:root{--bg:#f6f7f9;--fg:#161b26;--muted:#536071;--line:#dce1e8;--accent:#0b6e4f;--accent-2:#34d399;--term:#0d1321;--term-2:#151d2e;--termfg:#c6d1e0;--card:#fff;
--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:Inter,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16.5px/1.72 var(--sans);overflow-x:hidden}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
a:focus-visible,.btn:focus-visible{outline:3px solid #f59e0b;outline-offset:2px;border-radius:3px}
.in{max-width:1120px;margin:0 auto;padding:0 20px}

/* banner + header */
.banner{background:#080d18;color:#94a3b8;font:500 12px/1.4 var(--mono);border-bottom:1px solid #1e293b}
.banner .in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 18px;padding-top:7px;padding-bottom:7px}
.banner span::before{content:"# ";color:var(--accent-2)}
header.site{background:var(--term);color:var(--termfg);border-bottom:3px solid var(--accent)}
header.site .in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 24px;padding-top:15px;padding-bottom:15px}
.logo{color:#fff;text-decoration:none;font:700 1.3rem/1.2 var(--mono);letter-spacing:-.02em}.logo b{color:var(--accent-2)}
header.site nav{display:flex;flex-wrap:wrap;gap:4px 22px;font:500 .9rem/1.4 var(--mono)}
header.site nav a{color:var(--termfg);text-decoration:none;padding:2px 0;border-bottom:2px solid transparent}
header.site nav a:hover{color:#fff;border-bottom-color:var(--accent-2)}

/* reading column */
main.in{padding-top:44px;padding-bottom:64px}
main.in>*{max-width:44rem;margin-left:auto;margin-right:auto}
main.in>.wide,main.in>.readnext{max-width:none}
main.in>figure.lead{max-width:50rem}
h1,h2,h3{font-family:var(--sans);letter-spacing:-.015em;line-height:1.25}
h1{font-size:2.45rem;font-weight:700;margin:.1em auto .35em;letter-spacing:-.025em;line-height:1.12}
h2{margin-top:2em;margin-bottom:.55em;font-size:1.45rem;font-weight:700}
h3{font-size:1.12rem;font-weight:600}
.lede{font-size:1.16rem;line-height:1.65;color:#2a3343}
.meta{color:var(--muted);font:500 .8rem/1.5 var(--mono);margin-top:0;padding-bottom:4px}
.meta a{color:var(--accent)}
pre{background:var(--term);color:#e2e8f0;padding:16px 18px;border-radius:8px;overflow-x:auto;font:13.5px/1.6 var(--mono);border:1px solid #1e293b}
pre.output{background:#eef1f5;color:#1d2330;border:1px solid var(--line);border-left:3px solid var(--accent)}
code{font-family:var(--mono);font-size:.88em}:not(pre)>code{background:#e7ebf1;padding:.12em .38em;border-radius:4px;color:#1b2433}
table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:.94rem}th,td{border:1px solid var(--line);padding:7px 11px;text-align:left;vertical-align:top}th{background:#eef1f5}
.sources li{margin:.45em 0}.note{background:#eef1f5;border-left:3px solid var(--accent);padding:12px 16px;border-radius:4px}

/* kicker + lead figure */
.kicker{margin:0 auto 10px;font:700 .78rem/1.2 var(--mono);letter-spacing:.03em;text-transform:lowercase}
.kicker a{color:var(--accent);text-decoration:none}.kicker a::before{content:"~/";color:var(--muted)}
figure.lead{margin:26px auto 34px}
figure.lead img,.card.has-img .ph img,.list li.has-img img,.lb-hero-shot img,.lb-feature-img img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--line)}
figure.lead img{border-radius:10px;border:1px solid var(--line)}
figure.lead figcaption{margin:9px 0 0;color:var(--muted);font-size:.85rem;line-height:1.45;padding-left:10px;border-left:3px solid var(--accent)}

/* home: hero */
.lb-hero{display:grid;gap:36px;align-items:center;margin-bottom:56px}
.lb-prompt{margin:0 0 14px;font:700 .82rem/1.3 var(--mono);color:var(--accent);letter-spacing:.02em}
.lb-prompt::after{content:"_";animation:lb-blink 1.1s steps(1) infinite;margin-left:2px}
@keyframes lb-blink{50%{opacity:0}}
.lb-hero h1{font:700 clamp(2.1rem,4.6vw,3.5rem)/1.06 var(--mono);letter-spacing:-.045em;margin:0 0 20px}
.lb-hero h1 span{color:var(--accent);background:linear-gradient(transparent 68%,#c9f3e2 68%)}
.lb-dek{font-size:1.14rem;line-height:1.65;color:#2a3343;margin:0 0 12px}
.lb-dek2{color:var(--muted);margin:0 0 26px}
.lb-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.btn{display:inline-block;padding:11px 18px;border-radius:7px;font:700 .9rem/1.2 var(--mono);text-decoration:none;transition:background .15s ease,color .15s ease}
.btn-solid{background:var(--accent);color:#fff;border:2px solid var(--accent)}.btn-solid:hover{background:#095c42}
.btn-line{color:var(--fg);border:2px solid var(--fg)}.btn-line:hover{background:var(--fg);color:#fff}
.lb-hero-shot{margin:0;background:var(--term);border-radius:12px;overflow:hidden;box-shadow:0 18px 40px -18px rgba(13,19,33,.55);border:1px solid #1e293b}
.lb-chrome{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--term-2)}
.lb-chrome i{width:11px;height:11px;border-radius:50%;background:#ef6b5b}.lb-chrome i+i{background:#f2c14e}.lb-chrome i+i+i{background:#3fc87a}
.lb-chrome b{margin-left:10px;font:500 .74rem/1 var(--mono);color:#8b9bb1}

/* home: featured */
.lb-feature{margin:0 0 64px}
.lb-feature a{display:grid;background:var(--term);color:var(--termfg);border-radius:14px;overflow:hidden;text-decoration:none;border:1px solid #1e293b}
.lb-feature-body{display:block;padding:30px 28px 32px;background-image:radial-gradient(rgba(52,211,153,.10) 1px,transparent 1px);background-size:18px 18px}
.lb-feature-cmd{display:block;font:500 .78rem/1.4 var(--mono);color:var(--accent-2);margin-bottom:22px}
.lb-feature-tag{display:inline-block;font:700 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--term);background:var(--accent-2);padding:5px 8px;border-radius:4px}
.lb-feature h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2.05rem);margin:16px 0 12px;line-height:1.18}
.lb-feature p{margin:0 0 22px;color:#b9c5d6}
.lb-more{font:700 .88rem/1 var(--mono);color:#fff;border-bottom:2px solid var(--accent-2);padding-bottom:4px}
.lb-more::after{content:" \2192"}
.lb-feature a:hover .lb-more{color:var(--accent-2)}
.lb-feature-img{display:block;order:-1}.lb-feature-img img{height:100%}

/* home: blocks, cards, section index */
.lb-block{margin:0 0 64px}
.lb-block-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 20px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.lb-block-head h2{margin:0;font-size:1.6rem}
.lb-block-head h2::before{content:"## ";font-family:var(--mono);color:var(--accent);font-size:.85em}
.lb-block-head p{margin:0;color:var(--muted);font-size:.95rem}
.cards{display:grid;grid-template-columns:1fr;gap:20px;margin:14px 0}
.card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--fg);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.card:hover{border-color:var(--accent);box-shadow:0 10px 24px -14px rgba(13,19,33,.4);transform:translateY(-2px)}
.card.has-img{padding:0 0 18px}.card .ph{display:block;margin-bottom:14px;border-bottom:1px solid var(--line)}
.card .label,.card h3,.card p{margin-left:18px;margin-right:18px}
.card .label{display:inline-block;font:700 .74rem/1 var(--mono);color:var(--accent);text-transform:lowercase}
.card .label::before{content:"~/";color:var(--muted)}
.card h3{font-size:1.1rem;line-height:1.3;margin-top:8px;margin-bottom:6px}
.card p{margin-top:0;margin-bottom:0;color:var(--muted);font-size:.92rem;line-height:1.55}
.lb-index{display:grid;gap:36px 48px}
.lb-dir h3{margin:0 0 4px;font:700 1.15rem/1.3 var(--mono)}
.lb-dir h3 a{color:var(--fg);text-decoration:none}.lb-dir h3 a:hover{color:var(--accent)}
.lb-dir h3 small{font:500 .74rem/1 var(--mono);color:var(--muted);margin-left:6px}
.lb-dir>p{margin:0 0 10px;color:var(--muted);font-size:.92rem}
.lb-dir ul{list-style:none;margin:0;padding:0;border-top:2px solid var(--fg)}
.lb-dir li{border-bottom:1px dashed #c9d0da}
.lb-dir li a{display:block;padding:9px 0 9px 22px;color:var(--fg);text-decoration:none;font-weight:600;font-size:.96rem;line-height:1.4;position:relative}
.lb-dir li a::before{content:"\203A";position:absolute;left:4px;top:8px;color:var(--accent);font-family:var(--mono)}
.lb-dir li a:hover{color:var(--accent);background:#eaf5f0}
.lb-note{background:#e9f4ef;border:1px solid #bfe0d1;border-radius:10px;padding:18px 22px}
.lb-note p{margin:0}.lb-note strong{font-family:var(--mono);color:var(--accent);margin-right:6px}

/* section pages + grid (404) */
.list{list-style:none;padding:0}.list li{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:12px 0}
.list a{font-weight:600;text-decoration:none}.list p{margin:.2em 0 0;color:var(--muted);font-size:.93rem}
.list li.has-img{display:grid;gap:10px;padding:10px}.list li.has-img img{border-radius:5px}.list li.has-img>div{padding:0 4px 4px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:0;list-style:none}
.grid a{display:block;height:100%;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 14px;text-decoration:none;color:var(--fg)}
.grid span{display:block;color:var(--muted);font-size:.9rem}

/* read next */
.readnext{margin:4em 0 0;padding-top:18px;border-top:2px solid var(--term)}
.readnext-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}
.readnext-head h2{margin:0;font:700 1.2rem/1.3 var(--mono)}
.readnext-head h2::before{content:"> ";color:var(--accent)}
.readnext-head a{font:500 .88rem/1.3 var(--mono)}

/* footer */
footer.site{background:var(--term);color:#9fb0c5;padding:26px 0 34px;font-size:.88rem;margin-top:0}
footer.site a{color:#dbe4ef}.fnote{margin:.6em 0 0;font-size:.8rem;color:#8a9bb2}

@media(min-width:560px){.cards{grid-template-columns:repeat(2,1fr)}.list li.has-img{grid-template-columns:180px minmax(0,1fr);align-items:center}}
@media(min-width:760px){.lb-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:880px){.cards.three,.readnext .cards{grid-template-columns:repeat(3,1fr)}
.lb-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px}
.lb-feature a{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lb-feature-body{padding:44px 44px 46px;align-self:center}.lb-feature-img{order:0}}
@media(max-width:600px){h1{font-size:1.85rem}body{font-size:16px}main.in{padding-top:30px}.lb-block-head h2{font-size:1.35rem}.btn{flex:1 1 auto;text-align:center}}
@media(prefers-reduced-motion:reduce){.card,.btn{transition:none}.card:hover{transform:none}.lb-prompt::after{animation:none}}
