.pgroup{margin-top:46px}.pg-hd{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.32fr) 1fr;align-items:baseline;gap:6px 28px;padding-bottom:14px;display:grid}.pg-hd h2{font-family:var(--serif);font-weight:500;font-size:var(--fs-card);color:var(--ink);line-height:1.1}.pg-hd p{color:var(--mist-dim);font-size:var(--fs-body-s);max-width:68ch}@media (max-width:640px){.pg-hd{grid-template-columns:1fr}}.plist{margin-top:16px}.plist.grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.plist.grid.g3{grid-template-columns:repeat(3,1fr)}@media (max-width:1000px){.plist.grid.g3{grid-template-columns:1fr 1fr}}@media (max-width:860px){.plist.grid,.plist.grid.g3{grid-template-columns:1fr}}.pc2{border:1px solid var(--line);background:var(--panel);cursor:pointer;box-shadow:var(--cardsh);border-radius:14px;flex-direction:column;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.pc2:hover{border-color:var(--line-strong)}.pc2-bd{flex-direction:column;flex:1;padding:20px 22px;display:flex}.pc2 .top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.pc2 h3{font-family:var(--serif);font-weight:600;font-size:var(--fs-title);color:var(--ink);line-height:1.15}.pc2 .st{font-family:var(--mono);font-size:var(--fs-badge);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--mist-dim);white-space:nowrap;border-radius:5px;padding:2px 6px}.pc2 .st.live{color:var(--up);border-color:color-mix(in srgb,var(--up) 34%,transparent)}.pc2 .st.oss{color:var(--teal);border-color:var(--line-strong)}.pc2 .bl{color:var(--mist);font-size:var(--fs-mono-lg);margin-top:8px}.pc2 .tgs{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:14px;display:flex}.plist.rows{margin-top:0;display:block}.plist.rows .pc2{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;transition:background .2s}.plist.rows .pc2-bd{grid-template-columns:minmax(180px,.32fr) 1fr 210px;align-items:baseline;gap:4px 28px;padding:14px 6px;display:grid}.plist.rows .pc2 .bl{margin-top:0}.plist.rows .pc2 .tgs{justify-content:flex-end;margin-top:0;padding-top:0}.plist.rows .pc2:hover{background:var(--panel)}@media (max-width:760px){.plist.rows .pc2-bd{grid-template-columns:1fr}.plist.rows .pc2 .tgs{justify-content:flex-start;padding-top:6px}}
.ppage{max-width:1180px;margin:0 auto;padding:100px 24px 60px}.ppage .phd{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:6px;display:flex}.ppage h1{font-family:var(--serif);font-weight:500;font-size:var(--fs-display-md);color:var(--ink);line-height:1.1}.ppage .psub{color:var(--mist-dim);margin-top:8px}.ptoolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:26px;padding:14px 0;display:flex}.themebar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.viewtoggle{border:1px solid var(--line-strong);border-radius:999px;display:inline-flex;overflow:hidden}.viewtoggle button{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.05em;color:var(--mist-dim);cursor:pointer;background:0 0;border:0;padding:.5em .95em}.viewtoggle button.on{background:color-mix(in srgb,var(--teal) 14%,transparent);color:var(--teal)}.chip2{appearance:none;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.02em;color:var(--mist);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:.42em .85em;transition:all .18s}.chip2:hover{border-color:var(--line-strong);color:var(--parch)}.chip2.on{background:color-mix(in srgb,var(--teal) 14%,transparent);border-color:var(--teal-deep);color:var(--teal)}.ptoolbar .flab,.techcats .flab{font-family:var(--mono);font-size:var(--fs-badge);letter-spacing:.12em;text-transform:uppercase;color:var(--mist-dim);margin-right:6px}.techfilter{margin-top:16px}.techcats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.techsub{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.techsub:empty{display:none}.chip2.cat.on{background:color-mix(in srgb,var(--teal) 18%,transparent);border-color:var(--teal);color:var(--teal)}.chip2.tech .c{color:var(--mist-dim);margin-left:6px}.clearf{appearance:none;font-family:var(--mono);font-size:var(--fs-meta);color:var(--amber);cursor:pointer;background:0 0;border:0;margin-left:6px;padding:0}.clearf:hover{text-decoration:underline}.pcount{font-family:var(--mono);font-size:var(--fs-mono);color:var(--mist-dim);margin-top:20px}.pfilter-toggle{display:none}@media (max-width:640px){.pfilter-toggle{appearance:none;font-family:var(--mono);font-size:var(--fs-mono);color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;margin-top:22px;padding:.55em 1.1em;display:inline-flex}.pfilters{display:none}.pfilters.open{display:block}}
