.lab .catrow{flex-wrap:wrap;gap:8px;margin-bottom:34px;display:flex}.lab .catchip{color:var(--ink2);border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 15px;font-size:13px;font-weight:600;transition:transform .14s}.lab .catchip:hover{color:var(--ink);transform:translateY(-1px)}.lab .catchip.on{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 2px #14141b40}.lab .postmeta{align-items:center;gap:10px;margin-bottom:12px;display:flex}.lab .pcat{letter-spacing:.12em;text-transform:uppercase;color:#06675d;background:var(--teal-soft);border-radius:999px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:600}.lab .pread{color:var(--ink3);font-size:11.5px;font-weight:600}.lab .postby{color:var(--ink3);align-items:center;gap:8px;margin-top:auto;padding-top:12px;font-size:12.5px;display:flex}.lab .postby b{color:var(--ink2);font-weight:700}.lab .postby.big{padding:18px 0 0;font-size:14px}.lab .pav{background:var(--teal);color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:grid}.lab .postby.big .pav{width:32px;height:32px;font-size:13px}.lab .pdate{margin-left:auto}.lab .postfeat{border:1.5px solid var(--ink);background:#fff;border-radius:22px;grid-template-columns:1.05fr 1fr;gap:0;margin-bottom:22px;transition:transform .16s,box-shadow .16s;display:grid;overflow:hidden;box-shadow:0 3px #14141b24}.lab .postfeat:hover{transform:translateY(-3px);box-shadow:0 7px #14141b1f}.lab .postfeat>img{object-fit:cover;width:100%;height:100%;min-height:280px;display:block}.lab .postfeat .postbody{flex-direction:column;padding:30px 32px;display:flex}.lab .postfeat h2{margin-bottom:12px;font-size:clamp(21px,2.3vw,28px)}.lab .postgrid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.lab .postgrid>*{min-width:0}.lab .postcard{border:1.5px solid var(--ink);background:#fff;border-radius:18px;flex-direction:column;transition:transform .16s,box-shadow .16s;display:flex;overflow:hidden;box-shadow:0 3px #14141b24}.lab .postcard:hover{transform:translateY(-3px);box-shadow:0 7px #14141b1f}.lab .postcard>img{object-fit:cover;border-bottom:1.5px solid var(--ink);width:100%;height:160px;display:block}.lab .postcard .postbody{flex-direction:column;flex:1;padding:18px 20px;display:flex}.lab .postcard h3{margin-bottom:8px;font-size:16px;line-height:1.3}.lab .postcard .body{font-size:13.5px;line-height:1.55}.lab .emptystate{text-align:center;border:1.5px dashed var(--line);border-radius:22px;padding:70px 20px}.lab .emptystate span{margin-bottom:12px;font-size:34px;display:block}.lab .emptystate b{margin-bottom:8px;font-size:18px;font-weight:800;display:block}.lab .emptystate .body{max-width:440px;margin:0 auto}.lab .emptystate a{color:var(--teal);font-weight:700}.lab .postwrap{max-width:720px}.lab .postwrap h1{margin-bottom:16px;font-size:clamp(28px,3.6vw,44px)}.lab .postcover{border:1.5px solid var(--ink);border-radius:20px;margin:28px 0 34px;overflow:hidden;box-shadow:0 3px #14141b24}.lab .postcover img{object-fit:cover;width:100%;max-height:420px;display:block}.lab .prose{color:var(--ink2);font-size:17px;line-height:1.78}.lab .prose p{margin-bottom:20px}.lab .prose h2{color:var(--ink);letter-spacing:-.02em;margin:38px 0 14px;font-size:clamp(21px,2.3vw,27px)}.lab .prose h3{color:var(--ink);margin:28px 0 10px;font-size:19px}.lab .prose strong{color:var(--ink);font-weight:700}.lab .prose li{margin:0 0 9px 22px;list-style:outside}.lab .prose a{color:var(--ink);border-bottom:1.5px solid var(--teal)}.lab .prose a:hover{color:var(--teal)}.lab .prose code{background:var(--paper2);border:1px solid var(--line);border-radius:5px;padding:.12em .38em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}.lab .prose blockquote{background:var(--teal-soft);border-left:3px solid var(--teal);color:#06675d;border-radius:0 12px 12px 0;margin:26px 0;padding:16px 22px;font-weight:600}.lab .posttags{border-top:1px dashed var(--line);flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:26px;display:flex}.lab .posttags span{color:var(--ink2);border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600}@media (max-width:1040px){.lab .postgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.lab .postfeat{grid-template-columns:1fr}.lab .postfeat>img{border-bottom:1.5px solid var(--ink);height:210px;min-height:0}.lab .postfeat .postbody{padding:22px}.lab .postgrid{grid-template-columns:1fr}.lab .prose{font-size:16px}}