/* Visual discovery shares the existing search and playback controls. */
/* One knob for how wide a playable sound row gets; the card grids still use the full page. */
body.tabletop { --bg:#0c1512; --surface:#14211b; --line:#273a30; --accent:#64d4aa; --sound-row-max:2200px; }
.sound-results,.package-sound-groups,[data-playlist-list] { max-width:var(--sound-row-max); }
.library-sidebar { display:flex; flex-direction:column; position:fixed; inset:0 auto 0 0; z-index:55; width:232px; padding:26px 18px; background:#0b1411; border-right:1px solid var(--line); overflow-y:auto; scrollbar-width:thin; }
.library-sidebar> :not(.my-library) { flex-shrink:0; }
.sidebar-brand-row { display:flex; align-items:center; justify-content:space-between; margin:0 8px 32px; }
.library-sidebar .library-brand { font-size:23px; gap:8px; }
.library-sidebar .library-brand>svg { width:30px; height:30px; }
.library-sidebar .brand-secondary { color:var(--accent); font-weight:650; }
.browse-menu { display:flex; flex-direction:column; gap:5px; }
.browse-menu a { display:flex; align-items:center; gap:13px; padding:11px 13px; border-radius:8px; color:#a5b8ad; font-size:13px; font-weight:500; }
.browse-menu a svg { width:19px; height:19px; }
.browse-menu a:hover { background:#182920; color:#edf5ed; }
.browse-menu a.is-current { background:#15372b; color:#82e5be; }
.sidebar-divider { margin:20px 10px; border:0; border-top:1px solid var(--line); }
.library-sidebar .my-library { display:flex; flex-direction:column; flex:1; min-height:140px; border:0; padding:0 5px; }
.library-sidebar .my-library-heading { flex-shrink:0; margin-bottom:14px; }
.library-sidebar .my-package-list { flex:1; min-height:0; max-height:none; scrollbar-width:thin; }
.library-sidebar .my-package-link { flex-shrink:0; }
.library-sidebar .package-create-popover { position:fixed; left:242px; top:50%; transform:translateY(-50%); width:330px; max-height:90vh; overflow:auto; }
.library-sidebar .my-library-empty { font-size:12px; }
.library-header { position:fixed; left:232px; right:0; top:0; z-index:35; background:#0c1512ee; backdrop-filter:blur(16px); }
.header-inner { max-width:none; min-height:82px; padding:12px 36px; gap:20px; }
.header-inner .library-search { width:min(760px,100%); border:1px solid #31433a; border-radius:28px; background:#1a2821; padding:4px 5px 4px 17px; box-shadow:none; }
.header-inner .library-search button { border-radius:22px; background:#2b4d3d; color:#ccf5df; padding:10px 15px; font-size:12px; gap:10px; }
.header-inner .library-search button:hover { background:#356049; }
.header-inner .admin-entry { margin-left:auto; flex-shrink:0; }
.tabletop .library-shell { margin:0 0 0 232px; width:calc(100% - 232px); max-width:none; padding:114px calc(var(--mix-tab-width,38px) + 14px) 55px 36px; min-height:calc(100vh - 74px); }
.library-footer { margin-left:232px; }
.footer-inner { max-width:none; padding:24px 36px; }
.library-hero { padding:0 0 20px; }
.library-hero .library-classifications { margin-top:0; }
.library-workspace { display:block; padding-top:0; scroll-margin-top:106px; }
.package-workspace { display:block; scroll-margin-top:106px; }
.category-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:9px; color:#82998b; font-size:12px; margin:5px 0 20px; }
.category-breadcrumbs a:hover { color:var(--accent); }
.category-breadcrumbs [aria-current] { color:#dce9df; }
.results-heading h1,.discovery-heading h1,.collection-title { font:700 clamp(26px,3vw,38px)/1.2 system-ui,sans-serif; color:#eff4ee; letter-spacing:-1px; margin:0; }
.category-card-grid,.package-row,.discovery-package-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(164px,1fr)); gap:26px 20px; max-width:1200px; max-height:none; overflow:visible; }
.results-heading { scroll-margin-top:106px; }
.browse-category-card { display:block; min-width:0; padding:0; border-radius:12px; }
.browse-category-art { position:relative; aspect-ratio:1; overflow:hidden; border-radius:12px; border:1px solid #345344; background:#19372b; }
.browse-category-art>img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .2s; }
.browse-category-card:nth-child(4n+2) .default-category-art { filter:hue-rotate(32deg); }
.browse-category-card:nth-child(4n+3) .default-category-art { filter:hue-rotate(-28deg); }
.browse-category-card:nth-child(4n+4) .default-category-art { filter:hue-rotate(65deg); }
.browse-category-card:hover .browse-category-art>img { transform:scale(1.04); }
.browse-category-card h2 { font:650 16px/1.4 system-ui,sans-serif; color:#e7f1e8; margin:12px 0 3px; overflow-wrap:anywhere; }
.browse-category-card p { margin:0; color:#8fa697; font-size:12px; }
.browse-category-arrow { position:absolute; right:12px; bottom:12px; width:33px; height:33px; display:grid; place-items:center; background:#76dfb9; color:#16392b; border-radius:50%; opacity:0; transform:translateY(5px); transition:opacity .2s,transform .2s; }
.browse-category-arrow svg { width:17px; height:17px; }
.browse-category-card:hover .browse-category-arrow,.browse-category-card:focus-visible .browse-category-arrow { opacity:1; transform:none; }
.browse-sounds { margin-top:24px; }
.discovery-heading { margin:0 0 28px; }
.discovery-eyebrow { display:block; color:#73c5a2; font-size:11px; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:9px; }
.discovery-types { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:42px; }
.discovery-types>a { display:flex; align-items:center; gap:15px; padding:12px; border:1px solid #2c4135; border-radius:12px; background:#17271e; min-width:0; }
.discovery-types>a:hover { background:#203b2b; border-color:#4b8f69; }
.discovery-types img { width:76px; height:76px; border-radius:8px; object-fit:cover; flex-shrink:0; }
.discovery-types span { min-width:0; }
.discovery-types strong { display:block; font-size:16px; }
.discovery-types small { display:block; color:#8fa797; font-size:11px; margin-top:5px; }
.discovery-types svg { width:18px; height:18px; margin-left:auto; color:#71cda5; }
.discovery-section { margin-top:34px; }
.discovery-home>.discovery-section:first-of-type { margin-top:0; }
.discovery-section-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:21px; }
.discovery-section-heading h2 { font:650 22px/1.3 system-ui,sans-serif; margin:0; color:#e3eee5; }
.discovery-section-heading>a { color:#88b09a; font-size:12px; }
.discovery-package-grid,.discovery-package-types { list-style:none; padding:0; margin:0; }
.discovery-package-types { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:20px; }
.discovery-package-types>a { display:block; min-width:0; }
.discovery-package-types img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:12px; }
.discovery-package-types strong { display:block; font-size:14px; margin-top:12px; }
.discovery-package-grid .package-card { padding:0; }
.discovery-package-grid .package-cover { width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:12px; }
.collection-title { margin-bottom:24px; }
.browse-navigation-toggle,.sidebar-close,.browse-backdrop { display:none; }
@media(max-width:1150px) { .discovery-types { grid-template-columns:1fr; gap:10px; } .discovery-types img { width:54px; height:54px; } .discovery-types small { margin-top:2px; } }
@media(max-width:760px) {
  .navigation-open { overflow:hidden; }
  .library-sidebar { transform:translateX(-100%); transition:transform .18s; width:270px; padding:24px 18px; }
  .navigation-open .library-sidebar { transform:none; }
  .browse-navigation-toggle { display:grid; place-items:center; border:0; padding:6px; color:#a2d8bb; background:transparent; }
  .sidebar-close { display:block; border:0; background:transparent; color:#b9cec0; font-size:28px; padding:0 6px; }
  .navigation-open .browse-backdrop { display:block; position:fixed; inset:0; z-index:50; background:#0009; border:0; padding:0; }
  .library-header { left:0; }
  .header-inner { min-height:76px; padding:12px 15px; gap:10px; }
  .header-inner .library-search { min-width:0; flex:1; gap:7px; padding-left:12px; }
  .header-inner .library-search>svg { display:none; }
  .header-inner .library-search button { padding:8px; font-size:0; gap:0; }
  .header-inner .library-search button svg { display:block; width:19px; height:19px; }
  .tabletop #sound-search { font-size:12px; }
  .header-inner .admin-entry { font-size:12px; }
  .header-inner .account-name { max-width:70px; }
  .tabletop .library-shell { margin-left:0; width:100%; padding:100px calc(var(--mix-tab-width,38px) + 8px) 40px 20px; }
  .library-footer { margin-left:0; }
  .footer-inner { padding:20px; }
  .category-card-grid,.package-row,.discovery-package-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }
  .browse-category-card h2 { font-size:14px; }
  .browse-category-arrow { display:none; }
  .discovery-package-types { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; }
  .library-sidebar .package-create-popover { left:16px; right:16px; width:auto; max-width:330px; top:50%; z-index:65; }
  .results-heading { align-items:flex-start; }
  .library-sort label { display:none; }
  .library-sort select { max-width:120px; }
  .library-workspace,.package-workspace { scroll-margin-top:100px; }
}
@media(prefers-reduced-motion:reduce) { .browse-category-art>img,.browse-category-arrow,.library-sidebar { transition:none; } }
/* Favorites sit with the user's library rather than the public collections. */
.favorites-navigation { margin-bottom: 18px; }
.favorites-star { width: 22px; text-align: center; font-size: 20px; }
