*,:before,:after{box-sizing:border-box}html,body{background:var(--bg-0);color:var(--fg-1);margin:0}.app{max-width:1280px;padding:0 var(--space-8) var(--space-11);margin:0 auto}.site-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-5) 0;margin-bottom:var(--space-8);background:color-mix(in srgb, var(--bg-0) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline);display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-4);display:flex}.brand .wordmark{height:18px;display:block}.brand .eyebrow{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--fg-3);padding-left:var(--space-4);border-left:1px solid var(--hairline-strong)}.group-nav{gap:var(--space-5);flex-wrap:wrap;display:flex}.group-nav a{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-3);transition:color var(--dur-2) var(--ease-out);text-decoration:none}.group-nav a:hover{color:var(--fg-1)}.hero{padding:var(--space-9) 0 var(--space-10);border-bottom:1px solid var(--hairline);margin-bottom:var(--space-9)}.hero-line{font-family:var(--font-display);font-weight:300;font-size:var(--text-display);letter-spacing:var(--track-display);color:var(--fg-1);margin:0;line-height:1.05}.hero-sub{margin:var(--space-6) 0 0;max-width:56ch;font-family:var(--font-body);font-size:var(--text-body);color:var(--fg-2);line-height:1.6}.hero-meta{margin:var(--space-6) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-3)}.group{margin-bottom:var(--space-10);scroll-margin-top:96px}.group-head{align-items:baseline;gap:var(--space-4);padding-bottom:var(--space-5);margin-bottom:var(--space-6);border-bottom:1px solid var(--hairline-soft);display:flex}.group-eyebrow{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--amber)}.group-title{font-family:var(--font-display);font-weight:400;font-size:var(--text-h3);letter-spacing:var(--track-h);color:var(--fg-1);margin:0}.group-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-4)}.cards{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(540px,1fr));display:grid}.group--kit .cards{grid-template-columns:1fr}.card{background:var(--bg-2);border:1px solid var(--hairline);border-radius:var(--radius-2);transition:border-color var(--dur-2) var(--ease-out);margin:0;overflow:hidden}.card:hover{border-color:var(--hairline-strong)}.frame{background:var(--bg-1);border-bottom:1px solid var(--hairline);width:100%;position:relative;overflow:hidden}.frame iframe{background:var(--bg-1);border:0;display:block}.caption{align-items:baseline;gap:var(--space-4);padding:var(--space-4) var(--space-5);display:flex}.card-name{font-family:var(--font-body);font-weight:500;font-size:var(--text-sm);color:var(--fg-1)}.card-sub{min-width:0;font-family:var(--font-body);font-size:var(--text-xs);color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.card-open{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-3);white-space:nowrap;transition:color var(--dur-2) var(--ease-out);text-decoration:none}.card-open:hover{color:var(--amber)}.empty{padding:var(--space-10) 0;font-family:var(--font-body);font-size:var(--text-body);color:var(--fg-3)}.empty code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-1);background:var(--bg-3);border:1px solid var(--hairline);border-radius:var(--radius-1);padding:1px 6px}.site-footer{gap:var(--space-3);padding-top:var(--space-7);margin-top:var(--space-9);border-top:1px solid var(--hairline);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-label);color:var(--fg-4);flex-wrap:wrap;display:flex}.site-footer .dot{color:var(--fg-4)}@media (max-width:720px){.app{padding:0 var(--space-5) var(--space-10)}.site-header{align-items:flex-start;gap:var(--space-4);flex-direction:column}.cards{grid-template-columns:1fr}}
