/* WILT Community: pins / Scene pulse, listening parties, badges. Everything else comes from wilt-ui.css. */
.wf-pf-place{max-width:1100px;margin:0 auto;padding:0 16px}
.wf-pf-pulse,.wf-pf-strip{margin:0 0 28px}
.wf-pf-pulse-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 12px}
.wf-pf-pulse-head h2{margin:0}
.wf-pf-pulse-list{list-style:none;margin:0;padding:4px 0 8px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.wf-pf-pulse-list--mine{flex-wrap:wrap;overflow:visible}
.wf-pf-pulse-item{position:relative;flex:0 0 150px;scroll-snap-align:start;background:linear-gradient(180deg,var(--wf-panel-2),var(--wf-panel));border:1px solid var(--wf-line);border-radius:var(--wf-radius);padding:10px;min-width:0}
.wf-pf-pulse-item>a{display:block;color:inherit;text-decoration:none;min-width:0}
.wf-pf-pulse-item img,.wf-pf-noart{display:block;width:100%;aspect-ratio:1;height:auto;object-fit:cover;border-radius:10px;background:#120d1a;margin-bottom:8px}
.wf-pf-pulse-t{display:block;font-family:var(--wf-display);font-weight:600;font-size:14px;line-height:1.25;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wf-pf-pulse-a{display:block;font-size:12px;color:var(--wf-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;padding-right:48px}
.wf-pf-pulse-item .wf-pf-pin--sm{position:absolute;right:8px;bottom:8px}
/* Pin button */
.wf-pf-pin{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px;padding:8px 14px;border-radius:999px;border:1px solid var(--wf-line);background:rgba(255,255,255,.03);color:var(--wf-text);font:inherit;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.wf-pf-pin:hover{border-color:var(--wf-accent-2)}
.wf-pf-pin:focus-visible{outline:2px solid var(--wf-accent-2);outline-offset:2px}
.wf-pf-pin-ic{font-size:17px;line-height:1;color:var(--wf-muted);transition:color .15s,transform .2s}
.wf-pf-pin[aria-pressed=true]{border-color:var(--wf-line-2);background:rgba(131,63,221,.18)}
.wf-pf-pin[aria-pressed=true] .wf-pf-pin-ic{color:var(--wf-accent-2);transform:scale(1.15)}
.wf-pf-pin-n{font-family:var(--wf-mono);font-size:12px;color:var(--wf-muted)}
.wf-pf-pin-n:empty{display:none}
.wf-pf-pin--sm{min-height:36px;min-width:36px;padding:4px 10px}
.wf-pf-pin--sm .wf-pf-pin-t:empty{display:none}
.wf-pf-pin.is-busy{opacity:.6}
.wf-pf-pin.is-pop .wf-pf-pin-ic{animation:wf-pf-pop .35s ease}
@keyframes wf-pf-pop{0%{transform:scale(1)}40%{transform:scale(1.5)}100%{transform:scale(1.15)}}
.wf-pf-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 22px;padding:12px 14px;border:1px solid var(--wf-line);border-radius:var(--wf-radius);background:rgba(255,255,255,.02)}
.wf-pf-row-help{flex:1 1 200px;margin:0}
.wf-pf-row--event{margin-top:18px}
.wf-rel-row .wf-pf-pin--sm{margin-left:8px}
.wf-rel-row .wf-pf-pin--sm .wf-pf-pin-n{display:none}
/* Listening party card */
.wf-pf-party{margin:0 0 22px}
.wf-pf-kicker{margin:0 0 6px}
.wf-pf-party-title{margin:0 0 6px}
.wf-pf-note{color:var(--wf-text);margin:0 0 10px}
.wf-pf-when{font-family:var(--wf-mono);font-size:13px;letter-spacing:.04em;color:var(--wf-muted);margin:0 0 8px}
.wf-pf-count{font-family:var(--wf-mono);font-size:clamp(20px,5vw,30px);color:#fff;line-height:1.1;margin:0 0 10px;min-height:1.2em}
.wf-pf-count small{font-size:12px;color:var(--wf-muted);letter-spacing:.08em;text-transform:uppercase;margin-right:10px}
.wf-pf-here{display:inline-flex;align-items:center;gap:8px;font-family:var(--wf-mono);font-size:13px;color:var(--wf-good);margin:0 0 12px}
.wf-pf-dot{width:8px;height:8px;border-radius:50%;background:var(--wf-good);box-shadow:0 0 10px var(--wf-good);animation:wf-pf-blink 2s infinite}
@keyframes wf-pf-blink{50%{opacity:.35}}
.wf-pf-actions{margin:0 0 12px}
.wf-pf-rsvp{border-top:1px solid var(--wf-line);padding-top:12px}
.wf-pf-rsvp-form{margin-top:12px;max-width:420px}
.wf-pf-rsvp-form .wf-field{margin-bottom:8px}
.wf-pf-rsvp-msg{margin:8px 0 0;font-size:14px;color:var(--wf-accent-2);min-height:1em}
.wf-pf-rsvp-msg:empty{display:none}
.wf-pf-rsvp.is-done [data-wf-rsvp-in],.wf-pf-rsvp.is-done [data-wf-rsvp-mail-toggle],.wf-pf-rsvp.is-done [data-wf-rsvp-form]{display:none}
.wf-pf-party.is-done .wf-pf-count,.wf-pf-party.is-done .wf-pf-here{display:none}
/* Parties strip */
.wf-pf-strip-item{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;padding:12px 14px;min-width:0}
.wf-pf-strip-item img{width:56px;height:56px;border-radius:8px;object-fit:cover;flex:0 0 56px}
.wf-pf-strip-body{min-width:0;display:flex;flex-direction:column;gap:3px}
.wf-pf-strip-t{font-family:var(--wf-display);font-weight:600;color:#fff;line-height:1.25}
.wf-pf-strip-w{font-family:var(--wf-mono);font-size:12px;color:var(--wf-muted)}
/* Badges */
.wf-pf-badges{margin:0 0 26px}
.wf-pf-badge-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.wf-pf-badge{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 12px;border:1px dashed var(--wf-line);border-radius:12px;color:var(--wf-muted)}
.wf-pf-badge.is-on{border-style:solid;border-color:var(--wf-line-2);background:rgba(131,63,221,.10);color:var(--wf-text);box-shadow:0 0 18px rgba(131,63,221,.12)}
.wf-pf-badge-ic{grid-row:1/3;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--wf-mono);font-size:16px;border:1px solid var(--wf-line);color:var(--wf-muted)}
.wf-pf-badge.is-on .wf-pf-badge-ic{border-color:var(--wf-accent-2);color:var(--wf-accent-2)}
.wf-pf-badge-t{font-family:var(--wf-display);font-weight:600;font-size:14px;color:inherit}
.wf-pf-badge.is-on .wf-pf-badge-t{color:#fff}
.wf-pf-badge-d{font-size:12px}
.wf-pf-shelf{margin:8px auto 28px}
.wf-pf-h3{margin-top:22px}
.wf-pf-toplist{list-style:none;margin:0;padding:0}
.wf-pf-toplist li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--wf-line)}
.wf-pf-account h2{margin-top:0}
.wf-pf-mine{margin-top:6px}
@media (prefers-reduced-motion:reduce){.wf-pf-dot,.wf-pf-pin.is-pop .wf-pf-pin-ic{animation:none}}
.wf-pf-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.wf-pf-here[hidden],.wf-pf-rsvp-form[hidden]{display:none}
