:root{color-scheme:dark;--bg:#0a0a0a;--fg:#f5f5f5;--muted:#a0a0a0}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.hero,body,html{min-height:100svh}.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:.75rem}.hero h1{margin:0;font-size:clamp(3rem,10vw,6rem);font-weight:800;letter-spacing:-.04em}.hero p{margin:0;color:var(--muted);font-size:1rem;max-width:28rem}.deck-page{min-height:100svh;display:flex;flex-direction:column}.deck-page-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}.deck-page-header .brand{font-weight:700;letter-spacing:-.02em}.deck-page-main{flex:1 1;padding:1rem}.deck-frame,.deck-page-main{display:flex;align-items:center;justify-content:center}.deck-frame{max-width:420px;flex-direction:column}.deck-frame,.deck-stack{position:relative;width:100%}.deck-stack{aspect-ratio:3/4}.deck-slot{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.deck-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:rgba(20,20,20,.95);color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;box-shadow:0 6px 24px rgba(0,0,0,.4);z-index:50;pointer-events:none}.match-overlay-backdrop{position:fixed;inset:0;z-index:60;justify-content:center;padding:1.5rem;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.match-overlay-backdrop,.match-overlay-card{display:flex;align-items:center;cursor:pointer}.match-overlay-card{flex-direction:column;gap:1rem;width:100%;max-width:320px;padding:1.5rem 1.25rem 1.75rem;background:#111;border-radius:20px;border:2px solid transparent;background-image:linear-gradient(#111,#111),linear-gradient(135deg,#ec4899,#f97316);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 24px 60px rgba(236,72,153,.35),0 8px 24px rgba(0,0,0,.5);text-align:center}.match-overlay-cover{position:relative;width:100%;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#1a1a1a}.match-overlay-cover-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.match-overlay-heading{margin:0;font-size:1.75rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;background:linear-gradient(135deg,#ec4899,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}.match-overlay-meta{display:flex;flex-direction:column;gap:.25rem;width:100%}.match-overlay-title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.25;color:var(--fg)}.match-overlay-artist{margin:0;font-size:.9rem;color:var(--muted)}@media (max-width:420px){.match-overlay-card{max-width:280px;padding:1.25rem 1rem 1.5rem}.match-overlay-heading{font-size:1.5rem}}.match-page{min-height:100svh;display:flex;flex-direction:column}.match-page-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.06)}.match-page-header .brand{font-weight:700;letter-spacing:-.02em;color:var(--fg);text-decoration:none}.match-nav{display:flex;gap:1rem;font-size:.95rem}.match-nav a{color:var(--muted);text-decoration:none;padding:.25rem .5rem;border-radius:6px}.match-nav a[aria-current=page]{color:var(--fg);background:rgba(255,255,255,.08)}.match-page-main{flex:1 1;padding:1rem;max-width:960px;width:100%;margin:0 auto}.match-page-title{margin:.5rem 0 1rem;font-size:1.5rem;letter-spacing:-.02em}.match-empty{color:var(--muted);margin:0;padding:2rem 0;text-align:center}.match-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:1rem;gap:1rem}.match-card{display:flex;flex-direction:column;gap:.5rem}.match-cover{position:relative;width:100%;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#1a1a1a}.match-cover-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.match-meta{display:flex;flex-direction:column;gap:2px}.match-title{margin:0;font-size:.95rem;font-weight:600;line-height:1.2}.match-artist{margin:0;font-size:.85rem;color:var(--muted)}.match-when{margin:2px 0 0;font-size:.75rem;color:var(--muted);opacity:.8}.deck-page-nav{display:flex;gap:1rem;font-size:.95rem}.deck-page-nav a{color:var(--muted);text-decoration:none;padding:.25rem .5rem;border-radius:6px}.deck-page-nav a:hover{color:var(--fg)}.nudge-link{position:relative;display:inline-flex;align-items:center;gap:.35rem}.nudge-dot{width:7px;height:7px;border-radius:999px;background:#1ed760;flex:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.connection-list{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.connection-item{display:flex;align-items:baseline;justify-content:space-between;padding:.75rem 1rem;background:rgba(255,255,255,.04);border-radius:8px}.connection-name{font-weight:600}.connection-since{color:var(--muted);font-size:.85rem}.connection-invite-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06)}.connection-section-title{margin:0 0 .75rem;font-size:1.1rem;letter-spacing:-.01em}.invite-generator{display:flex;flex-direction:column;gap:.75rem}.invite-copy-btn,.invite-cta,.invite-generate-btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;border-radius:8px;border:none;background:linear-gradient(135deg,#ec4899,#f97316);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none}.invite-generate-btn:disabled{opacity:.6;cursor:progress}.invite-cta-secondary{background:rgba(255,255,255,.08);color:var(--fg)}.invite-result{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:rgba(255,255,255,.04);border-radius:8px}.invite-result-label{font-size:.85rem;color:var(--muted)}.invite-result-row{display:flex;gap:.5rem}.invite-url-input{flex:1 1;padding:.5rem .75rem;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.3);color:var(--fg);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.invite-copy-btn{padding:.5rem .9rem;font-size:.85rem}.invite-expiry{margin:0;color:var(--muted);font-size:.8rem}.invite-error{margin:0;color:#fca5a5;font-size:.9rem}.invite-landing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;padding:2rem;gap:1rem;text-align:center}.invite-landing-title{margin:0;font-size:2rem;letter-spacing:-.02em}.invite-landing-body{margin:0;color:var(--muted);max-width:32rem}.invite-landing-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.invite-landing-footer{margin-top:1rem;font-size:.9rem}.invite-landing-footer a{color:var(--muted)}.invite-redeem-card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;max-width:32rem;width:100%;text-align:center;background:rgba(255,255,255,.04);border-radius:12px}.invite-redeem-card-success{border:1px solid rgba(236,72,153,.3)}.invite-redeem-card-error{border:1px solid rgba(255,255,255,.08)}.invite-redeem-title{margin:0;font-size:1.5rem;letter-spacing:-.02em}.invite-redeem-body{margin:0;color:var(--muted)}.invite-redeem-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.invite-redeem-footer{margin:0;font-size:.9rem}.invite-redeem-footer a{color:var(--muted)}.landing{display:flex;flex-direction:column;min-height:100svh;width:100%;max-width:64rem;margin:0 auto;padding:0 1.25rem 3rem}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.landing-brand{font-weight:800;letter-spacing:-.03em;font-size:1.25rem}.landing-nav-actions{display:flex;align-items:center;gap:.5rem}.landing-nav-cta{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .9rem;border-radius:8px;background:linear-gradient(135deg,#ec4899,#f97316);color:#fff;font-weight:600;font-size:.9rem;text-decoration:none}.landing-hero{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;padding:3rem 0 2.5rem}.landing-hero-title{margin:0;font-size:clamp(2.25rem,8vw,4rem);line-height:1.05;letter-spacing:-.035em;font-weight:800}.landing-grad{background:linear-gradient(135deg,#ec4899,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero-sub{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.5;max-width:36rem}.landing-hero-cta{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.5rem}.landing-cta-primary{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.4rem;border-radius:10px;background:linear-gradient(135deg,#ec4899,#f97316);color:#fff;font-weight:700;font-size:1rem;text-decoration:none;box-shadow:0 8px 24px rgba(236,72,153,.25)}.landing-hero-meta{color:var(--muted);font-size:.85rem}.landing-section-title{margin:0 0 1.5rem;font-size:clamp(1.5rem,5vw,2rem);letter-spacing:-.025em;font-weight:800}.landing-steps{padding:2.5rem 0;border-top:1px solid rgba(255,255,255,.06)}.landing-step-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1fr}.landing-step{display:flex;flex-direction:column;gap:.4rem;padding:1.25rem;background:rgba(255,255,255,.04);border-radius:12px}.landing-step-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:var(--muted);letter-spacing:.05em}.landing-step-title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.landing-step-body{margin:0;color:var(--muted);line-height:1.5;font-size:.95rem}.landing-features{padding:2.5rem 0;border-top:1px solid rgba(255,255,255,.06)}.landing-feature-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1fr}.landing-feature{padding:1.25rem;background:rgba(255,255,255,.04);border-radius:12px}.landing-feature-title{margin:0 0 .4rem;font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.landing-feature-body{margin:0;color:var(--muted);line-height:1.5;font-size:.95rem}.landing-final{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;padding:3rem 0 2rem;border-top:1px solid rgba(255,255,255,.06)}.landing-final-title{margin:0;font-size:clamp(1.5rem,5vw,2rem);letter-spacing:-.025em;font-weight:800;max-width:32rem}.landing-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06);color:var(--muted);font-size:.85rem}.landing-footer a{color:var(--muted);text-decoration:none}.landing-footer a:hover{color:var(--fg)}@media (min-width:640px){.landing-feature-grid,.landing-step-list{grid-template-columns:repeat(3,1fr)}.landing-hero-cta{flex-direction:row;align-items:center;gap:1rem}}.radio-page{min-height:100svh;display:flex;flex-direction:column}.radio-page-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.06)}.radio-page-header .brand{font-weight:700;letter-spacing:-.02em;color:var(--fg);text-decoration:none}.radio-nav{display:flex;gap:1rem;font-size:.95rem}.radio-nav a{color:var(--muted);text-decoration:none;padding:.25rem .5rem;border-radius:6px}.radio-nav a[aria-current=page]{color:var(--fg);background:rgba(255,255,255,.08)}.radio-page-main{flex:1 1;padding:1rem;max-width:640px;width:100%;margin:0 auto}.radio-page-title{margin:.5rem 0 1rem;font-size:1.5rem;letter-spacing:-.02em}.radio-empty{color:var(--muted);margin:0;padding:2rem 0;text-align:center}.radio-empty-cta{display:inline-block;margin-top:.75rem;color:var(--fg);text-decoration:none;padding:.4rem .9rem;border-radius:8px;background:rgba(255,255,255,.08)}.radio-broadcast{display:flex;flex-direction:column;gap:1rem}.radio-celebration{margin:0;font-size:.95rem;color:var(--fg)}.radio-cover{position:relative;width:100%;max-width:320px;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#1a1a1a}.radio-cover-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.radio-meta{display:flex;flex-direction:column;gap:4px}.radio-album-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.radio-album-artist{margin:0;font-size:.95rem;color:var(--muted)}.radio-verified-badge{align-self:flex-start;margin-top:4px;font-size:.75rem;color:var(--fg);padding:.15rem .5rem;border-radius:999px;background:rgba(30,215,96,.16)}.radio-dj-message{margin:0;font-size:1rem;line-height:1.6;color:var(--fg)}.radio-listen-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.radio-listen-links a{display:inline-block;color:var(--fg);text-decoration:none;font-size:.9rem;padding:.35rem .75rem;border-radius:8px;background:rgba(255,255,255,.08)}.radio-listen-links a:hover{background:rgba(255,255,255,.14)}.radio-back-link{display:inline-block;margin-bottom:1rem;color:var(--muted);text-decoration:none;font-size:.9rem}.radio-back-link:hover{color:var(--fg)}.radio-archive-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.radio-archive-link{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:10px;text-decoration:none;color:inherit}.radio-archive-link:hover{background:rgba(255,255,255,.06)}.radio-archive-cover{position:relative;flex:none;width:64px;height:64px;border-radius:8px;overflow:hidden;background:#1a1a1a}.radio-archive-cover-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.radio-archive-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.radio-archive-week{font-size:.75rem;color:var(--muted)}.radio-archive-title{font-size:.95rem;font-weight:600;line-height:1.2}.radio-archive-artist{font-size:.85rem;color:var(--muted)}.radio-reactions{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.radio-reaction-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.radio-reaction-button{font-size:.9rem;color:var(--fg);padding:.35rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);cursor:pointer}.radio-reaction-button:hover:not(:disabled){background:rgba(255,255,255,.1)}.radio-reaction-button[aria-pressed=true]{background:rgba(30,215,96,.16);border-color:rgba(30,215,96,.4)}.radio-reaction-button:disabled{opacity:.6;cursor:default}.radio-reaction-error{margin:0;font-size:.85rem;color:#ff6b6b}.shelf-page{min-height:100svh;display:flex;flex-direction:column}.shelf-page-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.06)}.shelf-page-header .brand{font-weight:700;letter-spacing:-.02em;color:var(--fg);text-decoration:none}.shelf-tagline{font-size:.85rem;color:var(--muted);font-style:italic}.shelf-page-main{flex:1 1;padding:1.5rem 1rem;max-width:1040px;width:100%;margin:0 auto}.shelf-page-title{margin:.5rem 0 1.5rem;font-size:1.75rem;letter-spacing:-.02em}.shelf-empty{color:var(--muted);margin:0;padding:2rem 0;text-align:center}.shelf-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:1.25rem;gap:1.25rem}.shelf-card{display:flex;flex-direction:column;gap:.5rem}.shelf-cover{position:relative;width:100%;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#1a1a1a}.shelf-cover-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.shelf-meta{display:flex;flex-direction:column;gap:2px}.shelf-title{margin:0;font-size:.95rem;font-weight:600;line-height:1.2}.shelf-artist{margin:0;font-size:.85rem;color:var(--muted)}.shelf-section-title{margin:2.5rem 0 1rem;font-size:1.15rem;letter-spacing:-.01em;color:var(--fg)}.shelf-v3{--green:#1ed760;--left:#74a0d6;--right:#d6a074;--faint:#6a6a6a;--panel:#111114;--panel-2:#17171b;--line:rgba(255,255,255,0.08);--line-2:rgba(255,255,255,0.14);display:grid;grid-template-columns:360px 1fr;grid-gap:2.75rem;gap:2.75rem;align-items:start;margin:0 0 1rem}.shelf-v3-rail{position:-webkit-sticky;position:sticky;top:1.25rem;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),#0d0d10);border-radius:20px;padding:1.85rem 1.6rem}.shelf-v3-kick{margin:0 0 .6rem;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--green)}.shelf-v3-headline{margin:0 0 .4rem;font-size:2rem;font-weight:700;line-height:1.05;letter-spacing:-.02em}.shelf-v3-headline i{color:var(--green);font-style:italic}.shelf-v3-sub{margin:0 0 1.4rem;font-size:.9rem;color:var(--muted);text-wrap:pretty}.shelf-v3-venn{position:relative;width:100%;height:332px;margin:.4rem 0 .5rem}@keyframes shelf-v3-spin{to{transform:rotate(1turn)}}.shelf-v3-rec{position:absolute;cursor:pointer;transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .3s,opacity .3s;will-change:transform}.shelf-v3-rec[data-disabled=true]{cursor:default;opacity:.4}.shelf-v3-vinyl{position:relative;display:block;width:100%;height:100%;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.045) 0 1px,rgba(0,0,0,0) 1px 4px),radial-gradient(circle at 50% 50%,#232327 0 38%,#141417 39% 100%),radial-gradient(circle at 38% 32%,#2c2c31,#0c0c0e 72%);box-shadow:0 26px 48px -18px rgba(0,0,0,.95),inset 0 0 0 1px rgba(255,255,255,.05);outline:2px solid transparent;outline-offset:3px}@media (prefers-reduced-motion:no-preference){.shelf-v3-vinyl{animation:shelf-v3-spin 26s linear infinite}}.shelf-v3-vinyl:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(125deg,rgba(255,255,255,.14),rgba(255,255,255,0) 38% 62%,rgba(255,255,255,.06));mix-blend-mode:screen;pointer-events:none}.shelf-v3-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46%;height:46%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px rgba(0,0,0,.55),inset 0 0 14px rgba(0,0,0,.4)}.shelf-v3-label-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#2a2a2a,#111)}.shelf-v3-hole{position:absolute;left:50%;top:50%;width:7%;height:7%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#000 0 55%,#2a2a2e 100%);box-shadow:0 0 0 2px rgba(0,0,0,.7),inset 0 0 3px rgba(255,255,255,.25);z-index:2}.shelf-v3-meta{position:absolute;left:50%;bottom:-6px;transform:translate(-50%,100%);text-align:center;pointer-events:none;width:max-content}.shelf-v3-num{display:block;line-height:.85;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shelf-v3-ttl{display:block;margin-top:3px;font-size:.625rem;letter-spacing:.12em;text-transform:uppercase}.shelf-v3-rec-left{width:148px;height:148px;left:0;top:64px;z-index:1}.shelf-v3-rec-right{width:140px;height:140px;right:0;top:70px;z-index:1}.shelf-v3-rec-both{width:192px;height:192px;left:50%;top:34px;transform:translateX(-50%);z-index:3}.shelf-v3-rec-both .shelf-v3-meta{bottom:-2px}.shelf-v3-rec-left .shelf-v3-num,.shelf-v3-rec-right .shelf-v3-num{font-size:1.875rem}.shelf-v3-rec-left .shelf-v3-num,.shelf-v3-rec-left .shelf-v3-ttl{color:var(--left)}.shelf-v3-rec-right .shelf-v3-num,.shelf-v3-rec-right .shelf-v3-ttl{color:var(--right)}.shelf-v3-rec-both .shelf-v3-num{font-size:3.25rem}.shelf-v3-rec-both .shelf-v3-num,.shelf-v3-rec-both .shelf-v3-ttl{color:var(--green)}.shelf-v3-rec-left .shelf-v3-vinyl{outline-color:rgba(116,160,214,.4)}.shelf-v3-rec-right .shelf-v3-vinyl{outline-color:rgba(214,160,116,.4)}.shelf-v3-rec-both .shelf-v3-vinyl{outline-color:rgba(30,215,96,.55)}.shelf-v3-rec:not([data-disabled=true]):hover{filter:brightness(1.12)}.shelf-v3-rec-left:not([data-disabled=true]):hover,.shelf-v3-rec-right:not([data-disabled=true]):hover{transform:translateY(-8px) scale(1.03)}.shelf-v3-rec-both:not([data-disabled=true]):hover{transform:translateX(-50%) translateY(-8px) scale(1.03)}.shelf-v3-rec:focus-visible{outline:none}.shelf-v3-rec:focus-visible .shelf-v3-vinyl{outline-color:var(--fg);outline-offset:5px}.shelf-v3-venn[data-focus=both] .shelf-v3-rec:not(.shelf-v3-rec-both),.shelf-v3-venn[data-focus=left] .shelf-v3-rec:not(.shelf-v3-rec-left),.shelf-v3-venn[data-focus=right] .shelf-v3-rec:not(.shelf-v3-rec-right){opacity:.28;filter:saturate(.5)}.shelf-v3-legend{display:flex;flex-direction:column;gap:7px;margin-top:1.85rem}.shelf-v3-lrow{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;cursor:pointer;font-size:.8rem;color:var(--muted);background:transparent;transition:.18s;text-align:left}.shelf-v3-lrow:hover,.shelf-v3-lrow[data-on=true]{border-color:var(--line-2);color:var(--fg)}.shelf-v3-lrow[data-on=true]{background:var(--panel-2)}.shelf-v3-lrow[data-k=both][data-on=true]{border-color:rgba(30,215,96,.5)}.shelf-v3-c{margin-left:auto;color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shelf-v3-lrow[data-on=true] .shelf-v3-c{color:var(--fg)}.shelf-v3-sw{width:11px;height:11px;border-radius:50%;flex:none}.shelf-v3-sw-all{background:var(--fg)}.shelf-v3-sw-both{background:var(--green)}.shelf-v3-sw-left{background:var(--left)}.shelf-v3-sw-right{background:var(--right)}.shelf-v3-htitle{margin:.1rem 0;font-size:1.5rem;letter-spacing:-.02em}.shelf-v3-viewcount{margin:0 0 1.4rem;font-size:.75rem;color:var(--faint)}.shelf-v3-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:1.4rem 1.15rem;gap:1.4rem 1.15rem}@keyframes shelf-v3-slide{0%{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}.shelf-v3-card{display:flex;flex-direction:column;gap:.5rem;animation:shelf-v3-slide .4s both}.shelf-v3-thumb{position:relative;display:block;aspect-ratio:1/1;border-radius:9px;overflow:hidden;background:#1a1a1a;box-shadow:0 14px 26px -15px rgba(0,0,0,.9);outline:1px solid rgba(255,255,255,.07);outline-offset:-1px;transition:transform .28s}.shelf-v3-card:hover .shelf-v3-thumb{transform:translateY(-6px)}.shelf-v3-ring{position:absolute;left:10px;bottom:10px;width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 2px rgba(0,0,0,.6)}.shelf-v3-ring-both{background:var(--green)}.shelf-v3-ring-left{background:var(--left)}.shelf-v3-ring-right{background:var(--right)}.shelf-v3-card-meta{display:flex;flex-direction:column;gap:2px}.shelf-v3-filterbar{display:none}@media (max-width:920px){.shelf-v3{grid-template-columns:1fr;gap:1.75rem}.shelf-v3-rail{position:static}.shelf-v3-legend{display:none}.shelf-v3-filterbar{display:block;position:-webkit-sticky;position:sticky;top:0;z-index:50;margin:0 -1rem .25rem;padding:10px 1rem calc(10px + env(safe-area-inset-bottom, 0));background:rgba(10,10,10,.82);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line);box-shadow:0 10px 24px -18px rgba(0,0,0,.9)}.shelf-v3-segwrap{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.shelf-v3-segwrap::-webkit-scrollbar{display:none}.shelf-v3-seg{flex:1 1;min-height:46px;min-width:max-content;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted);cursor:pointer;font-size:.8rem;white-space:nowrap;transition:background .18s,border-color .18s,color .18s,transform .12s;-webkit-tap-highlight-color:transparent}.shelf-v3-seg:active{transform:scale(.97)}.shelf-v3-seg[data-on=true]{background:var(--panel-2);color:var(--fg);border-color:var(--line-2)}.shelf-v3-seg[data-on=true] .shelf-v3-c{color:var(--fg)}.shelf-v3-seg[data-k=both][data-on=true]{border-color:rgba(30,215,96,.55);box-shadow:inset 0 0 0 1px rgba(30,215,96,.25)}.shelf-v3-seg[data-k=left][data-on=true]{border-color:rgba(116,160,214,.55)}.shelf-v3-seg[data-k=right][data-on=true]{border-color:rgba(214,160,116,.55)}.shelf-v3-venn{height:268px}.shelf-v3-rec-left{width:124px;height:124px;top:56px}.shelf-v3-rec-right{width:118px;height:118px;top:60px}.shelf-v3-rec-both{width:160px;height:160px;top:28px}}@media (max-width:600px){.shelf-v3-venn{display:none}.shelf-v3-rail{border:none;background:none;padding:0;border-radius:0}.shelf-v3-headline{font-size:1.6rem}.shelf-v3-sub{margin-bottom:.25rem}.shelf-v3-htitle{font-size:1.3rem}.shelf-v3-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:1.1rem .9rem}}@media (prefers-reduced-motion:reduce){.shelf-v3-vinyl{animation:none}.shelf-v3-rec,.shelf-v3-seg,.shelf-v3-thumb{transition:none}.shelf-v3-card{animation:none}}.shelf-crate{gap:2.5rem;margin-top:2.5rem}.shelf-crate,.shelf-crate-section{display:flex;flex-direction:column}.shelf-crate-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:1.25rem;gap:1.25rem}.shelf-crate-card{display:flex;flex-direction:column;gap:.5rem}.shelf-crate-badge{position:absolute;left:.5rem;bottom:.5rem;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;background:rgba(0,0,0,.65);color:var(--fg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shelf-crate-badge-shared{background:rgba(30,215,96,.28)}.shelf-crate-badge-rejected{background:rgba(255,107,107,.28)}.shelf-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.shelf-history-item{display:flex;gap:1rem;align-items:flex-start}.shelf-history-cover{position:relative;flex:0 0 72px;width:72px;height:72px;border-radius:8px;overflow:hidden;background:#1a1a1a}.shelf-history-body{display:flex;flex-direction:column;gap:2px;min-width:0}.shelf-history-when{margin:0;font-size:.75rem;color:var(--muted)}.shelf-history-dj{margin:.35rem 0 0;font-size:.9rem;line-height:1.5;color:var(--fg)}.shelf-review-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem}.shelf-review-card{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem;border-radius:10px;background:rgba(255,255,255,.04)}.shelf-review-cover{position:relative;flex:0 0 56px;width:56px;height:56px;border-radius:6px;overflow:hidden;background:#1a1a1a}.shelf-review-body{display:flex;flex-direction:column;gap:2px;min-width:0}.shelf-review-words{margin:.35rem 0 0;font-size:.9rem;line-height:1.5;color:var(--fg)}@media (max-width:640px){.shelf-review-list{grid-template-columns:1fr}}.shelf-cover{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}.shelf-card:hover .shelf-cover,.shelf-crate-card:hover .shelf-cover{transform:translateY(-6px) scale(1.03);box-shadow:0 12px 24px rgba(0,0,0,.5)}@media (prefers-reduced-motion:reduce){.shelf-cover{transition:none}.shelf-card:hover .shelf-cover,.shelf-crate-card:hover .shelf-cover{transform:none;box-shadow:none}}