.library-grid.svelte-z9uxkb{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,350px));gap:32px;justify-content:center}.set-card.svelte-z9uxkb{background:#fff;border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:var(--color-text);border:1px solid var(--glass-border);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;height:100%}.set-card.svelte-z9uxkb:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0f172a1a;border-color:var(--color-accent)}.set-preview.svelte-z9uxkb{width:100%;aspect-ratio:4 / 3;background:var(--pastel-blue);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.set-thumbnail.svelte-z9uxkb{width:100%;height:100%;object-fit:cover;transition:transform .5s}.set-card.svelte-z9uxkb:hover .set-thumbnail:where(.svelte-z9uxkb){transform:scale(1.05)}.placeholder-art.svelte-z9uxkb{font-size:4rem}.card-badges.svelte-z9uxkb{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.badge.svelte-z9uxkb{padding:4px 10px;border-radius:6px;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #0000001a}.badge.official.svelte-z9uxkb{background:#e0f2fe;color:#0369a1}.badge.community.svelte-z9uxkb{background:#ecfdf5;color:#047857}.badge.personal.svelte-z9uxkb{background:#fdf2f8;color:#9d174d}.set-info.svelte-z9uxkb{padding:24px;display:flex;flex-direction:column;flex-grow:1;text-align:center}.set-info.svelte-z9uxkb h3:where(.svelte-z9uxkb){font-size:1.25rem;margin-bottom:12px;font-weight:850;display:flex;justify-content:center;align-items:center;gap:12px}.title-link.svelte-z9uxkb{color:inherit;text-decoration:none}.title-link.svelte-z9uxkb:hover{color:var(--color-accent)}.set-preview-link.svelte-z9uxkb{display:block;width:100%;text-decoration:none}.btn-quick-edit.svelte-z9uxkb{font-size:.75rem;padding:6px 12px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:8px;text-decoration:none;font-weight:700;transition:all .2s}.btn-quick-edit.svelte-z9uxkb:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:translateY(-2px)}.set-meta.svelte-z9uxkb{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap;justify-content:center}.meta-tag.svelte-z9uxkb{font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.5px;color:var(--color-accent);background:var(--pastel-blue);padding:4px 10px;border-radius:999px;white-space:nowrap}.meta-tag.age.svelte-z9uxkb{background:#f1f5f9;color:#475569}.meta-tag.school-year.svelte-z9uxkb{background:#f0fdf4;color:#15803d}.meta-tag.count.svelte-z9uxkb{background:#fdf2f8;color:#9d174d}.set-info.svelte-z9uxkb p:where(.svelte-z9uxkb){font-size:.9rem;color:var(--color-text-muted);line-height:1.5;margin-top:auto}.set-actions.svelte-z9uxkb{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.btn-download.svelte-z9uxkb,.btn-order.svelte-z9uxkb{display:flex;align-items:center;justify-content:center;padding:8px 4px;border-radius:10px;font-size:.65rem;font-weight:900;text-decoration:none;transition:all .2s;cursor:pointer;text-transform:uppercase;letter-spacing:.5px}.btn-download.svelte-z9uxkb{background:transparent;color:#64748b;border:1.5px solid #e2e8f0}.btn-download.svelte-z9uxkb:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.btn-order.svelte-z9uxkb{background:var(--color-accent);color:#fff;border:1.5px solid var(--color-accent)}.btn-order.svelte-z9uxkb:hover{background:var(--color-accent-2);border-color:var(--color-accent-2);transform:translateY(-2px);box-shadow:0 4px 12px #0ea5e933}.sets-page.svelte-1t3vfb6{padding:48px 0 80px}.page-header.svelte-1t3vfb6{text-align:center;margin-bottom:40px}.page-title.svelte-1t3vfb6{font-size:clamp(32px,5vw,48px);color:var(--color-text);margin-bottom:16px}.page-subtitle.svelte-1t3vfb6{font-size:1.1rem;color:var(--color-text-muted);max-width:600px;margin:0 auto;line-height:1.6;font-weight:600}.stage-filters.svelte-1t3vfb6{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}.stage-tab.svelte-1t3vfb6{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;padding:12px 24px;border-radius:20px;border:1.5px solid var(--glass-border, rgba(15, 23, 42, .08));background:#0f172a0a;cursor:pointer;min-width:140px;transition:all .2s;color:#475569;font-family:var(--font-body)}.stage-tab.svelte-1t3vfb6:hover:not(.active){background:#0f172a14;color:var(--color-text);transform:translateY(-2px)}.stage-tab.active.svelte-1t3vfb6{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 8px 24px #0ea5e94d;transform:translateY(-3px)}.tab-label.svelte-1t3vfb6{font-weight:900;font-size:15px;display:block}.tab-age.svelte-1t3vfb6{font-size:11px;font-weight:700;opacity:.8;display:block;line-height:1.2}.tab-count.svelte-1t3vfb6{font-size:10px;font-weight:900;background:#00000014;padding:2px 8px;border-radius:999px;margin-top:4px}.stage-tab.active.svelte-1t3vfb6 .tab-count:where(.svelte-1t3vfb6){background:#ffffff40}.request-cta-block.svelte-1t3vfb6{margin-top:80px;background:#f0f9ff;border:1.5px solid #0ea5e9;border-radius:32px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:32px}.request-cta-content.svelte-1t3vfb6 h3:where(.svelte-1t3vfb6){font-size:1.5rem;color:var(--color-text);margin-bottom:8px}.request-cta-content.svelte-1t3vfb6 p:where(.svelte-1t3vfb6){color:var(--color-text-muted);font-size:1.1rem;font-weight:500}.btn-request.svelte-1t3vfb6{background:var(--color-accent);color:#fff;padding:16px 32px;border-radius:999px;text-decoration:none;font-weight:800;font-size:1.1rem;transition:all .2s;white-space:nowrap;box-shadow:0 10px 20px #0ea5e933}.btn-request.svelte-1t3vfb6:hover{transform:translateY(-3px);box-shadow:0 15px 30px #0ea5e94d;background:var(--color-accent-2)}.empty-state.svelte-1t3vfb6{text-align:center;padding:80px 0;color:var(--color-text-muted);font-size:1.1rem;font-weight:600}@media(max-width:768px){.request-cta-block.svelte-1t3vfb6{flex-direction:column;text-align:center;padding:32px 24px}}
