.blog-narrow{max-width:760px}.blog-hero{padding:96px 0 72px}.blog-list-wrap{padding:64px 0 84px}.post-list{gap:22px;list-style:none;display:grid}.post-card{color:var(--ink);background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s;display:block;overflow:hidden}.post-card:hover{border-color:var(--wisteria);transform:translateY(-3px);box-shadow:0 14px 34px #0636401f}.post-card-cover{aspect-ratio:16/7;object-fit:cover;width:100%;display:block}.post-card-body{padding:24px 26px 22px}.post-card h2{color:var(--midnight);margin:6px 0 10px;font-size:clamp(1.25rem,2.6vw,1.55rem);font-weight:600}.post-card-desc{color:var(--ink-soft);font-size:.98rem}.post-card-more{font-family:var(--font-mono);color:var(--wisteria-dark);margin-top:14px;font-size:.85rem;display:inline-block}.post-meta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--air-blue-dark);font-size:.78rem}.post-meta span[aria-hidden]{opacity:.6;margin:0 4px}.post-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.post-tags span{font-family:var(--font-mono);letter-spacing:.06em;color:var(--wisteria-dark);background:#b8a4d633;border-radius:999px;padding:3px 10px;font-size:.72rem}.blog-empty{text-align:center;padding:40px 0}.blog-rss{text-align:center;font-family:var(--font-mono);margin-top:40px;font-size:.85rem}.blog-rss a{color:var(--wisteria-dark);text-decoration:none}.post-hero{text-align:left;padding:84px 0 56px}.post-hero .container{z-index:1;position:relative}.post-hero h1{color:var(--isabelline);margin:4px 0 16px;font-size:clamp(1.9rem,5vw,2.9rem);font-weight:700}.post-lead{color:#f2ede9d9;margin-bottom:18px;font-size:1.12rem}.post-hero .post-meta{color:var(--air-blue)}.post-hero .post-tags span{color:var(--wisteria);background:#b8a4d629}.post-body{padding:56px 0 84px}.post-cover{border-radius:14px;width:100%;margin-bottom:36px;display:block}.prose{font-size:1.06rem;line-height:1.8}.prose>*+*{margin-top:1.1em}.prose h2{color:var(--fern);margin-top:2em;font-size:clamp(1.4rem,3vw,1.8rem);font-weight:600}.prose h3{color:var(--midnight);margin-top:1.6em;font-size:1.25rem;font-weight:600}.prose a{color:var(--air-blue-dark);text-underline-offset:3px}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose strong{color:var(--dark-green)}.prose img{border-radius:10px;margin:1.6em auto;display:block}.prose blockquote{border-left:3px solid var(--wisteria);color:var(--ink-soft);padding:6px 0 6px 20px;font-style:italic}.prose hr{background:var(--card-border);border:0;height:1px;margin:2.4em 0}.prose :not(pre)>code{font-family:var(--font-mono);color:var(--midnight);background:#06364014;border-radius:5px;padding:2px 6px;font-size:.88em}.prose pre{font-family:var(--font-mono);border:1px solid #b8a4d640;border-radius:12px;padding:18px 20px;font-size:.86rem;line-height:1.6;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--card-border);padding:10px 12px}.prose th{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--wisteria-dark);font-size:.8rem}.post-original{color:var(--ink-soft);margin-top:44px;font-size:.92rem;font-style:italic}.post-footer{border-top:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:44px;padding-top:28px;display:flex}@media (width<=640px){.post-hero{padding:64px 0 44px}.post-card-body{padding:20px}.post-footer{justify-content:center}}.avatar{object-fit:cover;border:2px solid #b8a4d68c;border-radius:50%;flex-shrink:0;width:44px;height:44px}.avatar--sm{border-width:1.5px;width:26px;height:26px}.avatar--lg{width:64px;height:64px}.byline{align-items:center;gap:12px;margin-top:6px;display:flex}.byline-name{font-family:var(--font-sub);color:var(--isabelline);font-size:.98rem;font-weight:500;line-height:1.3}.post-card-author{font-family:var(--font-sub);color:var(--ink);align-items:center;gap:8px;margin-bottom:6px;font-size:.88rem;display:flex}.author-box{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;align-items:flex-start;gap:18px;margin-top:48px;padding:24px;display:flex}.author-box-label{font-family:var(--font-mono);letter-spacing:.12em;color:var(--wisteria-dark);font-size:.75rem}.author-box-name{font-family:var(--font-title);color:var(--midnight);margin-top:2px;font-size:1.15rem;font-weight:600}.author-box-role{color:var(--ink-soft);margin-top:2px;font-size:.92rem;line-height:1.5}.author-box-link{font-family:var(--font-mono);color:var(--air-blue-dark);margin-top:8px;font-size:.82rem;text-decoration:none;display:inline-block}.lab-posts{padding:72px 0 84px}.lab-posts .section-head{margin-bottom:28px}.post-card h3{color:var(--midnight);margin:6px 0 10px;font-size:clamp(1.2rem,2.6vw,1.5rem);font-weight:600}.lab-search{margin-bottom:28px}.lab-search-label{font-family:var(--font-mono);letter-spacing:.12em;color:var(--wisteria-dark);margin-bottom:10px;font-size:.75rem;display:block}.lab-search-box{border:2px solid var(--midnight);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 20px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 10px 28px #0636401f}.lab-search-box:hover{box-shadow:0 12px 32px #0636402e}.lab-search-box:focus-within{border-color:var(--wisteria-dark);box-shadow:0 0 0 5px #b8a4d659,0 12px 32px #06364029}.lab-search-icon{width:22px;height:22px;color:var(--midnight);flex-shrink:0}.lab-search-box input{min-width:0;font-family:var(--font-body);color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:12px 2px;font-size:1.05rem}.lab-search-box input::placeholder{color:#26311e80}.lab-search-box input::-webkit-search-cancel-button{display:none}.lab-search-clear{color:var(--midnight);cursor:pointer;background:#06364014;border:0;border-radius:50%;flex-shrink:0;width:30px;height:30px;font-size:1.2rem;line-height:1}.lab-search-clear:hover{background:#06364029}.lab-search-btn{cursor:pointer;background:var(--midnight);color:var(--isabelline);font-family:var(--font-mono);letter-spacing:.04em;border:0;border-radius:999px;flex-shrink:0;padding:12px 22px;font-size:.9rem;transition:background .2s}.lab-search-btn:hover{background:#0a4a57}.lab-authors{border:0;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.lab-authors legend{font-family:var(--font-mono);letter-spacing:.12em;color:var(--wisteria-dark);float:left;width:100%;margin-bottom:10px;font-size:.75rem}.author-check{cursor:pointer;border:1px solid var(--card-border);background:var(--card-bg);font-family:var(--font-sub);color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 6px;font-size:.88rem;transition:border-color .2s,background .2s;display:inline-flex;position:relative}.author-check input{opacity:0;pointer-events:none;position:absolute}.author-check:hover{border-color:var(--wisteria)}.author-check:has(input:checked){border-color:var(--wisteria-dark);background:#b8a4d647}.author-check:has(input:focus-visible){outline:2px solid var(--wisteria-dark);outline-offset:2px}.author-check:has(input:checked):after{content:"✓";font-family:var(--font-mono);color:var(--wisteria-dark);font-size:.8rem}.author-count{font-family:var(--font-mono);color:var(--ink-soft);font-size:.72rem}.lab-results{min-height:1.2em;font-family:var(--font-mono);color:var(--air-blue-dark);margin-top:14px;font-size:.8rem}.post-list li[hidden]{display:none}#lab-none{margin-top:8px}#lab-none .btn{color:var(--wisteria);border-color:var(--wisteria);margin-top:6px}@media (width<=640px){.lab-search-box{padding-left:14px}.lab-search-box input{font-size:1rem}.lab-search-btn{padding:11px 14px}}.lab-posts .blog-empty{background:var(--midnight);border-color:#b8a4d659}.lab-posts .blog-empty .terminal-line{color:var(--air-blue)}#lab-none .btn{cursor:pointer;background:0 0}
