:root{--bg: #F7F9FB;--surface: #FFFFFF;--ink: #14232E;--ink-soft: #4E6270;--line: #E2E9EE;--accent: #0C7C8A;--accent-soft: #E4F2F4;--accent-bright: #23B5C8;--grey: #8FA6B2;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--wrap: 68rem}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}h1,h2,h3{letter-spacing:-.02em;font-weight:600;line-height:1.15}.chip{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .6rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.chip--muted{background:var(--bg);color:var(--ink-soft);border:1px solid var(--line)}.label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2rem;border-bottom:1px solid var(--line);background:var(--surface);position:relative;z-index:5}.topbar .left,.topbar .right{display:flex;align-items:center;gap:.8rem;min-width:0}.wordmark{font-weight:600;letter-spacing:-.01em;white-space:nowrap}.topbar .id,.topbar .back{color:var(--ink-soft);font-size:.85rem;white-space:nowrap}.topbar .back:hover{color:var(--accent)}@media(max-width:900px){.topbar .chip--muted{display:none}}@media(max-width:640px){.topbar{padding:.85rem 1.1rem;gap:.6rem}.topbar .left,.topbar .right{gap:.5rem}.topbar .id{display:none}}@media(max-width:480px){.topbar .chip--muted{display:none}.wordmark{flex-shrink:0}.topbar .right .chip:first-child{display:none}}.stage{position:relative;width:100%;height:min(88vh,900px);overflow:hidden;background:linear-gradient(180deg,var(--surface),var(--bg))}.stage canvas{display:block;width:100%;height:100%}.stage svg{display:block}main{display:block}.band{max-width:var(--wrap);margin:0 auto;padding:3.5rem 1.5rem 4.5rem}.band-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.band h1{font-size:clamp(1.8rem,4vw,2.6rem)}.band .style-line{color:var(--ink-soft);max-width:46rem;margin-top:.9rem;font-size:1.05rem}.band .use{margin-top:1.5rem;color:var(--ink)}.band .use .label{margin-right:.5rem}.band .tech{margin-top:1.25rem;color:var(--ink-soft);font-size:.9rem;max-width:46rem;padding-top:1.25rem;border-top:1px solid var(--line)}footer{border-top:1px solid var(--line);padding:1.25rem 2rem;color:var(--ink-soft);font-size:.85rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.home{max-width:78rem;margin:0 auto;padding:4rem 1.5rem 5rem}.intro h1{font-size:clamp(2rem,5vw,3rem)}.intro p{color:var(--ink-soft);max-width:46rem;margin-top:1rem;font-size:1.08rem}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}.filters button{font:inherit;font-size:.85rem;cursor:pointer;padding:.4rem .9rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);transition:color .2s,border-color .2s,background .2s}.filters button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.filters button:disabled{opacity:.5;cursor:default}.cat{margin-top:3.5rem}.cat-head{display:flex;align-items:baseline;gap:.85rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.cat-head h2{font-size:1.4rem}.cat-head .count{color:var(--ink-soft);font-size:.8rem}.cat-head .blurb{color:var(--ink-soft);font-size:.85rem;margin-left:auto}.cat[hidden]{display:none}.cat-empty{color:var(--ink-soft);font-size:.9rem;padding:1.5rem 0;font-style:italic}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1.5rem;margin-top:1.75rem}.card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;color:inherit;transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #14232e14}.card figure{aspect-ratio:16 / 10;background:var(--bg);border-bottom:1px solid var(--line)}.card figure svg{width:100%;height:100%}.card figure img{width:100%;height:100%;object-fit:cover}.card-body{padding:1.1rem 1.25rem 1.35rem}.card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.card h3{font-size:1.15rem}.card .style-line{color:var(--ink-soft);font-size:.92rem;margin-top:.35rem}.card .use-line{color:var(--ink-soft);font-size:.8rem;margin-top:.65rem;font-style:italic}@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}.filters button{transition:none}}
