.auth-modal{width:min(400px,94vw);padding:0}.auth-modal-inner{padding:1.5rem 1.75rem 1.75rem;display:flex;flex-direction:column;gap:.85rem}.auth-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.1rem}.auth-modal-title{font-size:1.35rem;font-weight:700;margin:0;color:var(--cream);line-height:1.25}.auth-modal-close{position:relative;background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.1rem;line-height:1;padding:.15rem .3rem;border-radius:6px;margin:-.05rem -.2rem 0 0;transition:color .15s ease,background .15s ease;flex-shrink:0}.auth-modal-close:before{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.auth-modal-close:hover{color:var(--cream);background:#ffffff12}.auth-modal-sub{margin:-.35rem 0 .25rem;color:var(--muted);font-size:.875rem;line-height:1.5}.auth-modal .auth-google{width:100%;height:46px;justify-content:center;gap:.55rem;font-size:.95rem;font-weight:600;background:var(--cream);color:var(--ink);border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 4px #0003,inset 0 1px #ffffff8c}.auth-modal .auth-google:hover{filter:none;background:#f8f1e3}.auth-modal .auth-apple{width:100%;height:46px;justify-content:center;gap:.5rem;font-size:.95rem;font-weight:600;background:#000;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 1px 4px #0000004d}.auth-modal .auth-apple:hover{filter:none;background:#161616}.auth-modal .auth-apple svg{margin-top:-2px}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;margin:-.1rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-modal .auth-email-btn{width:100%;height:46px;justify-content:center;font-size:.95rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.11);color:var(--cream)}.auth-modal .auth-email-btn:hover{filter:none;background:#ffffff1a;border-color:#ffffff2e}.auth-modal .text-input{width:100%;box-sizing:border-box;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--cream);font:inherit;font-size:.975rem;padding:.75rem 1rem;transition:border-color .15s ease,box-shadow .15s ease}.auth-modal .text-input::placeholder{color:#9c8d778c}.auth-modal .text-input:focus{outline:none;border-color:#ffffff52;box-shadow:0 0 0 3px #ffffff0d}.auth-fields{display:flex;flex-direction:column;gap:.6rem}.auth-field{position:relative}.auth-field-hint{margin:.3rem 0 0;font-size:.78rem;line-height:1.4;color:var(--muted)}.auth-field-error{margin:.3rem 0 0;font-size:.78rem;line-height:1.4;font-weight:600;color:#ff8a6a}.auth-modal .text-input[aria-invalid=true]{border-color:#ff8a6a99}.auth-modal .text-input[aria-invalid=true]:focus{border-color:#ff8a6acc;box-shadow:0 0 0 3px #ff8a6a1f}.auth-password-field .text-input{padding-right:2.75rem}.auth-pw-toggle{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;border-radius:8px;color:var(--muted);cursor:pointer;transition:color .15s ease,background .15s ease}.auth-pw-toggle:hover{color:var(--cream);background:#ffffff12}.auth-pw-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff1f}.auth-modal .btn.primary{width:100%;height:46px;border-radius:10px;font-size:.95rem;justify-content:center}.auth-error{margin:-.25rem 0 0;font-size:.85rem;color:#ff8a6a;line-height:1.4}.btn-link{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:.875rem;color:var(--muted);text-decoration:none;transition:color .15s ease}.btn-link:hover{color:var(--cream)}.btn-link:disabled{opacity:.35;cursor:not-allowed}.auth-link-create{color:var(--kraft)}.auth-link-create:hover{color:var(--cream)}.auth-links{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.auth-back{align-self:flex-start;color:var(--muted);margin-top:-.1rem}.auth-reset-sent{text-align:center;padding:.5rem 0}.auth-reset-icon{font-size:2.25rem;line-height:1;margin-bottom:.6rem;display:block}.auth-modal-done{width:100%;height:46px;border-radius:10px;font-size:.95rem;justify-content:center}@media (max-width: 640px){.auth-modal .text-input{font-size:16px}}.feedback-fab{position:fixed;right:1rem;bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);z-index:80;display:inline-flex;align-items:center;gap:.45rem;padding:.6rem .9rem;border:1px solid color-mix(in srgb,var(--accent-2) 40%,transparent);border-radius:999px;background:linear-gradient(180deg,var(--wood-light),var(--wood));color:var(--cream);font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}.feedback-fab:hover{transform:translateY(-1px);box-shadow:0 12px 28px #00000080}.feedback-fab:active{transform:translateY(0)}.feedback-fab-label{white-space:nowrap}@media (max-width: 640px){.feedback-fab{bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + .75rem);right:.85rem;padding:.55rem .6rem}.feedback-fab-label{display:none}}@media (prefers-reduced-motion: reduce){.feedback-fab{transition:none}}.driveas-banner{position:fixed;left:50%;bottom:14px;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:.6rem;max-width:min(94vw,640px);padding:.55rem 1rem;background:linear-gradient(180deg,#452e0ef7,#30200af7);border:1px solid var(--accent-2);border-radius:999px;box-shadow:0 6px 24px #00000073}.driveas-eye{font-size:1rem}.driveas-text{color:var(--cream);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driveas-text strong{color:var(--accent-2)}.driveas-exit{flex:none;padding:.25rem .8rem;background:var(--accent-2);color:#2a1c08;border:none;border-radius:999px;font-weight:800;font-size:.85rem;cursor:pointer}.driveas-exit:disabled{opacity:.6;cursor:default}.appcta{--appcta-accent: var(--accent, #e8542a);--appcta-gold: var(--accent-2, #f2b134)}.appcta--header{display:inline-flex;align-items:center;gap:.34rem;padding:.32rem .62rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--appcta-accent) 55%,transparent);background:color-mix(in srgb,var(--appcta-accent) 13%,transparent);color:var(--cream, #efe6d4);font-size:.8rem;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .1s ease}.appcta--header:hover{background:color-mix(in srgb,var(--appcta-accent) 22%,transparent);border-color:var(--appcta-accent)}.appcta--header:active{transform:scale(.96)}.appcta--header .appcta-apple,.appcta--header .appcta-play{width:12px;height:12px;flex:0 0 auto;fill:currentColor}.appcta--header .appcta-play{width:13px;height:13px}.appcta--home{position:fixed;left:0;right:0;bottom:env(safe-area-inset-bottom,0);z-index:39;display:flex;align-items:center;gap:.75rem;padding:.6rem .95rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom,0));background:linear-gradient(180deg,#281406f0,#180a02fa);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid color-mix(in srgb,var(--appcta-gold) 40%,var(--line));box-shadow:0 -8px 24px #0006}@media (max-width: 640px){.appcta--home{bottom:calc(var(--bottom-nav-h, 56px) + env(safe-area-inset-bottom,0));padding-bottom:.6rem}html.hero-mode .appcta--home{bottom:0;padding-bottom:calc(.6rem + env(safe-area-inset-bottom,0))}}.appcta-home-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.appcta-home-text b{font-family:var(--display, inherit);text-transform:uppercase;letter-spacing:.02em;font-size:.95rem;color:var(--cream, #efe6d4)}.appcta-home-text span{font-size:.78rem;color:var(--muted, #9c8d77);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appcta-home-go{flex:0 0 auto;padding:.5rem .9rem;border-radius:999px;background:var(--cream, #efe6d4);color:#1a1109;font-weight:800;font-size:.82rem;text-decoration:none;white-space:nowrap;transition:transform .1s ease,filter .15s ease}.appcta-home-go:hover{filter:brightness(1.06)}.appcta-home-go:active{transform:scale(.96)}.appcta-home-x{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--muted, #9c8d77);cursor:pointer;transition:color .15s ease,background .15s ease}.appcta-home-x:hover{color:var(--cream, #efe6d4);background:#ffffff14}.appcta-home-x svg{width:15px;height:15px}.appcta--share{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.9rem}.appcta-badge{display:inline-flex;border-radius:10px;transition:transform .1s ease,filter .15s ease}.appcta-badge:hover{filter:brightness(1.05)}.appcta-badge:active{transform:scale(.97)}.appcta-badge-img{display:block;height:46px;width:auto}.appcta-share-sub{margin:0;font-size:.82rem;color:var(--muted, #9c8d77);text-align:center}.appcta--header:focus-visible,.appcta-home-go:focus-visible,.appcta-home-x:focus-visible,.appcta-badge:focus-visible{outline:2px solid var(--appcta-gold);outline-offset:2px}.listen-link{-webkit-tap-highlight-color:transparent;text-decoration:none}.listen-link-unset{opacity:.85}.listen-link-unset:hover,.listen-link-unset:focus-visible{opacity:1}.listen-link-text{white-space:nowrap}.listen-link-icon{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted);padding:.3rem .45rem;border-radius:8px;cursor:pointer;transition:color .15s ease,background .15s ease}.listen-link-icon:hover,.listen-link-icon:focus-visible{color:var(--cream);background:#ffffff12}@media (max-width: 640px){.listen-link-icon{min-width:44px;min-height:44px}}.listen-link-pill{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;padding:.32rem .75rem;font-size:.8rem;font-weight:600;color:var(--muted);background:transparent;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.listen-link-pill:hover,.listen-link-pill:focus-visible{color:var(--cream);border-color:#ffffff38;background:#ffffff0d}.listen-link-primary svg{flex:none}.listen-chooser-modal{max-width:380px}.listen-chooser-title{margin:0 0 .4rem;font-family:var(--display);font-size:1.3rem;letter-spacing:.5px;color:var(--cream)}.listen-chooser-sub{margin:0 0 1.1rem;color:var(--muted);font-size:.88rem;line-height:1.45}.listen-chooser-options{display:grid;gap:.6rem}.listen-chooser-option{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--line);background:#ffffff08;color:var(--cream);font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:transform .15s var(--ease-out),border-color .15s ease,background .15s ease}.listen-chooser-option:hover,.listen-chooser-option:focus-visible{transform:translateY(-1px);border-color:#fff3}.listen-chooser-spotify{color:var(--spotify-hi)}.listen-chooser-spotify:hover,.listen-chooser-spotify:focus-visible{border-color:#1db95480;background:#1db95414}.listen-chooser-apple{color:#fa586a}.listen-chooser-apple:hover,.listen-chooser-apple:focus-visible{border-color:#fa586a73;background:#fa586a14}.listen-chooser-none{color:var(--muted);justify-content:center}.listen-chooser-none:hover,.listen-chooser-none:focus-visible{color:var(--cream);border-color:#fff3}.listen-chooser-footer{margin:.9rem 0 0;font-size:.8rem;text-align:center}@media (prefers-reduced-motion: reduce){.listen-link-icon,.listen-link-pill,.listen-chooser-option{transition:none}.listen-chooser-option:hover,.listen-chooser-option:focus-visible{transform:none}}.radar-rail{display:flex;flex-direction:column;gap:.45rem}.radar-row{display:flex;align-items:center;gap:.35rem;background:linear-gradient(180deg,#2c2018,#241a13);border:1px solid var(--line);border-radius:12px;padding:.45rem .55rem;box-shadow:0 3px 10px #0000004d}.radar-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:.65rem;color:var(--cream);text-decoration:none;border-radius:8px;padding:.15rem .2rem}.radar-row-main:hover{text-decoration:none}.radar-row-main:hover .radar-name{color:var(--accent-2)}.radar-row-main:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.radar-avatar{flex:none;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--wood-light, #5a3f29),var(--wood, #3b2a1c));border:1px solid rgba(255,255,255,.14);position:relative}.radar-avatar:after{content:"";position:absolute;top:31%;right:31%;bottom:31%;left:31%;border-radius:50%;background:var(--crate-bg);border:2px solid rgba(242,177,52,.5)}.radar-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.radar-name{font-weight:700;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radar-why{color:var(--muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radar-go{flex:none;color:var(--muted);font-size:1.05rem;line-height:1}.radar-remove{flex:none;background:transparent;border:0;color:var(--muted);font-size:1.15rem;line-height:1;padding:.35rem .5rem;border-radius:8px;cursor:pointer;min-width:34px;min-height:34px}.radar-remove:hover{color:var(--cream);background:#ffffff12}.radar-remove:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.radar-more{align-self:flex-start;background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:600 .8rem var(--body);padding:.35rem .9rem;cursor:pointer}.radar-more:hover{color:var(--cream);border-color:#f2b13473}.radar-rail--compact .radar-row{padding:.35rem .45rem}.radar-rail--compact .radar-avatar{width:30px;height:30px}.radar-toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--bottom-nav-h, 0px) + env(safe-area-inset-bottom,0px) + 14px);z-index:1200;display:flex;align-items:center;gap:.6rem;max-width:min(92vw,26rem);background:linear-gradient(180deg,#2c2018,#241a13);border:1px solid rgba(242,177,52,.4);border-radius:12px;padding:.6rem .85rem;box-shadow:0 10px 24px #00000080;font-size:.85rem;color:var(--cream);animation:radar-toast-rise .22s var(--ease-out, ease-out)}.radar-toast-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radar-toast-undo{flex:none;background:transparent;border:0;color:var(--accent-2);font:700 .85rem var(--body);cursor:pointer;padding:.25rem .4rem;border-radius:8px}.radar-toast-undo:hover{background:#f2b1341f}.radar-toast-undo:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}@keyframes radar-toast-rise{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (prefers-reduced-motion: reduce){.radar-toast{animation:none}}.ap-radar-btn.is-on{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 18%,transparent);color:var(--cream)}.home{display:flex;flex-direction:column;gap:0}.hero{text-align:center;padding:2.5rem 1rem 2rem;position:relative}.hero h1{font-family:var(--display);font-size:clamp(3rem,10vw,5.5rem);line-height:.92;letter-spacing:2px;text-transform:uppercase;margin:0 0 .75rem;background:linear-gradient(135deg,var(--accent-2) 0%,var(--accent) 60%,#c23a18 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:hero-text-rise .6s cubic-bezier(.22,1,.36,1) .25s both}.hero .tagline{max-width:30rem;margin:0 auto 2rem;color:var(--kraft);font-size:1.05rem;line-height:1.65;animation:hero-text-rise .6s cubic-bezier(.22,1,.36,1) .4s both}.hero:after{content:"";display:block;width:48px;height:3px;background:linear-gradient(90deg,var(--accent-2),var(--accent));margin:1.5rem auto 0;border-radius:999px;opacity:.7}.count-pill{background:var(--accent);color:#fff;border-radius:999px;padding:.1rem .6rem;font-weight:700;font-size:.82rem;letter-spacing:.5px}.row-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.88rem}.row-artist{color:var(--kraft);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-signin-nudge{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.1rem;background:#f2b13412;border:1px solid rgba(242,177,52,.18);border-radius:var(--radius);flex-wrap:wrap;animation:card-rise .65s cubic-bezier(.22,1,.36,1) .65s both}.home-signin-nudge span{flex:1;min-width:200px;font-size:.9rem;color:var(--kraft)}.home-signin-actions{display:flex;gap:.5rem;flex-wrap:wrap}@keyframes hero-text-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes card-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.hero{padding:2rem 1rem 1.5rem}}@media (prefers-reduced-motion: reduce){.hero h1,.hero .tagline,.home-signin-nudge{animation:none;opacity:1;transform:none}}.home-farewell{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.75rem 0 0;padding:.7rem .9rem;border-radius:12px;border:1px solid rgba(242,177,52,.3);background:#f2b13414;color:var(--cream);font-size:.9rem;line-height:1.4;animation:card-rise .5s cubic-bezier(.22,1,.36,1) both}.home-farewell-dismiss{flex:none;border:none;background:none;color:var(--muted);font-size:.95rem;cursor:pointer;padding:.2rem .3rem;line-height:1;transition:color .15s ease}.home-farewell-dismiss:hover{color:var(--cream)}.home-pulse{display:flex;flex-direction:column;gap:.9rem;max-width:var(--wc-stage, 480px);margin:0 auto;width:100%;padding-top:.4rem}.hp-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.hp-day{font-size:.82rem;color:var(--muted)}.hp-crate-chip{font-size:.8rem;font-weight:600;color:var(--accent-2);border:1px solid rgba(242,177,52,.3);border-radius:999px;padding:.18rem .65rem;text-decoration:none;white-space:nowrap;transition:border-color .15s ease,transform .15s var(--ease-out)}.hp-crate-chip:hover{text-decoration:none;border-color:#f2b1348c;transform:translateY(-1px)}.hp-section{display:flex;flex-direction:column;gap:.5rem}.hp-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.hp-section-title{font-family:var(--display);text-transform:uppercase;letter-spacing:2px;font-size:.78rem;color:var(--muted);font-weight:400;margin:0}.hp-see-all{font-size:.78rem;font-weight:600;white-space:nowrap}.hp-mq{position:relative;overflow:hidden;border-radius:16px;border:1px solid rgba(232,84,42,.35);background:linear-gradient(160deg,#3d1c0c,#24140c 45%,#1a0f0a);box-shadow:0 10px 30px #00000080,inset 0 1px #ffffff14}.hp-mq:before{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;border:26px solid rgba(232,84,42,.14);box-shadow:inset 0 0 0 14px #00000040;pointer-events:none}.hp-mq:after{content:"";position:absolute;right:6px;top:6px;width:88px;height:88px;border-radius:50%;border:14px solid rgba(242,177,52,.1);pointer-events:none}.hp-mq-art{position:absolute;top:0;right:0;width:172px;height:172px;z-index:0;pointer-events:none;-webkit-mask-image:radial-gradient(130% 130% at 88% 12%,#000 34%,rgba(0,0,0,.55) 55%,transparent 74%);mask-image:radial-gradient(130% 130% at 88% 12%,#000 34%,rgba(0,0,0,.55) 55%,transparent 74%)}.hp-mq-art img{width:100%;height:100%;object-fit:cover;border-radius:50%;opacity:.82;filter:saturate(1.05) contrast(1.02) brightness(.94);animation:hp-mq-art-in .4s var(--ease-out) both}.hp-mq-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:linear-gradient(215deg,transparent 26%,rgba(26,15,10,.72) 72%)}@keyframes hp-mq-art-in{0%{opacity:0}to{opacity:.82}}@media (prefers-reduced-motion: reduce){.hp-mq-art img{animation:none}}.hp-mq-tonight{border-color:#e8542a99}.hp-mq-inner{position:relative;z-index:1;padding:1rem .95rem .75rem;display:flex;flex-direction:column;gap:.28rem}.hp-mq-head{display:flex;flex-direction:column;gap:.28rem;color:var(--cream);text-decoration:none;transition:transform .15s var(--ease-out)}.hp-mq-has-art .hp-mq-head{padding-right:92px}.hp-mq-head:hover{text-decoration:none;transform:translate(1px)}.hp-mq-date{display:inline-flex;align-self:flex-start;align-items:center;gap:.4rem;background:#c0371a;color:#fff;font-family:var(--body);font-weight:800;font-size:.68rem;letter-spacing:1.5px;border-radius:999px;padding:.2rem .62rem;box-shadow:0 2px 8px var(--accent-glow);font-variant-numeric:tabular-nums}.hp-mq-artist{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.9rem,8.5vw,2.6rem);line-height:.92;letter-spacing:.5px;text-wrap:balance;text-shadow:0 4px 18px rgba(0,0,0,.5);margin:.1rem 0 0}.hp-mq-venue{font-size:.82rem;color:var(--muted);font-weight:500}.hp-mq-venue b{color:var(--cream);font-weight:700}.hp-mq-perf{position:relative;z-index:1;border-top:2px dashed rgba(239,230,212,.22);margin-top:.55rem;padding:.6rem .95rem .85rem;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.hp-rsvp{display:inline-flex;align-items:center;gap:.28rem;font-family:var(--body);font-size:.76rem;font-weight:700;border-radius:999px;padding:.32rem .72rem;border:1.5px solid rgba(239,230,212,.38);color:var(--cream);background:transparent;cursor:pointer;transition:transform .12s var(--ease-out),border-color .12s ease,background .12s ease;min-height:34px}.hp-rsvp:hover{border-color:#f2b13499;transform:translateY(-1px)}.hp-rsvp.on{background:var(--accent-grad);border-color:transparent;color:#fff;box-shadow:inset 0 1px #ffffff47,0 2px 8px var(--accent-glow)}.hp-rsvp.on.hp-rsvp-gold{background:linear-gradient(180deg,var(--accent-2),#e0a020);color:var(--ink);box-shadow:0 2px 8px #f2b13459}.hp-savevenue{display:inline-flex;align-items:center;gap:.28rem;font-family:var(--body);font-size:.74rem;font-weight:700;color:var(--accent-2);background:transparent;border:1.5px dashed rgba(242,177,52,.5);border-radius:999px;padding:.3rem .68rem;cursor:pointer;transition:background .12s ease,border-color .12s ease;min-height:34px}.hp-savevenue:hover{background:#f2b1341a}.hp-savevenue.on{background:#f2b13429;border-style:solid}.hp-mq-free{font-family:var(--body);font-size:.72rem;font-weight:800;color:var(--accent-2);letter-spacing:1px}.hp-friends{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;font-size:.74rem;color:var(--muted);font-weight:600}.hp-friends-avs{display:inline-flex}.hp-friend-av{width:22px;height:22px;border-radius:50%;border:2px solid #24140c;object-fit:cover;display:grid;place-items:center;font-size:.62rem;font-weight:800;color:#fff;background:var(--wood-light)}.hp-friend-av+.hp-friend-av{margin-left:-8px}.hp-mq-skeleton .hp-mq-inner{gap:.5rem}.hp-sk{border-radius:8px;background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:200% 100%;animation:hp-sk-shimmer 1.4s ease-in-out infinite}.hp-sk-date{width:120px;height:20px;border-radius:999px}.hp-sk-title{width:78%;height:40px}.hp-sk-line{width:55%;height:14px}@keyframes hp-sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hp-jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.hp-job{position:relative;display:flex;flex-direction:column;gap:.1rem;align-items:flex-start;text-align:left;padding:.7rem .7rem .65rem;min-height:78px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff09,#00000038);color:var(--cream);text-decoration:none;cursor:pointer;font-family:var(--body);transition:transform .15s var(--ease-out),border-color .15s ease,box-shadow .15s ease}.hp-job:hover{transform:translateY(-3px);border-color:#f2b13473;box-shadow:0 6px 16px #00000059;text-decoration:none}.hp-job-add{border-color:#e8542a80;background:linear-gradient(180deg,#e8542a24,#00000040)}.hp-job-add:hover{border-color:#e8542ab3}.hp-job-ico{font-size:1.1rem;line-height:1}.hp-job-title{font-family:var(--display);text-transform:uppercase;letter-spacing:1.2px;font-size:.82rem}.hp-job-sub{font-size:.66rem;color:var(--muted);line-height:1.25}.hp-job-badge{position:absolute;top:.5rem;right:.55rem;min-width:1.1rem;text-align:center;background:var(--accent);color:#fff;font-size:.62rem;font-weight:800;border-radius:999px;padding:.08rem .42rem;box-shadow:0 0 8px var(--accent-glow);font-variant-numeric:tabular-nums}.hp-job-badge-gold{background:var(--accent-2);color:var(--ink);box-shadow:none}.hp-finish{display:flex;align-items:center;gap:.85rem;padding:.7rem .9rem;border-radius:14px;border:1px solid rgba(242,177,52,.45);background:linear-gradient(180deg,#f2b1341a,#00000040);box-shadow:0 3px 10px #0000004d,inset 0 1px #ffffff0d;color:var(--cream);text-decoration:none;transition:transform .15s var(--ease-out),border-color .15s ease,box-shadow .15s ease}.hp-finish:hover{transform:translateY(-2px);border-color:#f2b134bf;box-shadow:0 6px 16px #00000059;text-decoration:none}.hp-finish-pct{display:flex;flex-direction:column;align-items:center;gap:.05rem;flex-shrink:0;min-width:3rem}.hp-finish-num{font-family:var(--display);font-size:1.55rem;line-height:1;color:var(--accent-2);font-variant-numeric:tabular-nums}.hp-finish-pctsign{font-family:var(--body);font-size:.72em;font-weight:800}.hp-finish-lbl{font-size:.62rem;color:var(--muted);letter-spacing:.6px;text-transform:uppercase}.hp-finish-text{flex:1;display:flex;flex-direction:column;gap:.12rem;min-width:0}.hp-finish-title{font-family:var(--display);text-transform:uppercase;letter-spacing:1.2px;font-size:.92rem;color:var(--cream)}.hp-finish-sub{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-finish-bar{margin-top:.3rem;height:5px;border-radius:999px;background:#ffffff14;overflow:hidden}.hp-finish-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .3s var(--ease-out)}.hp-finish-arrow{flex-shrink:0;font-size:1.1rem;font-weight:800;color:var(--accent-2)}.hp-orbit{display:flex;flex-direction:column;gap:.5rem}.hp-orbit-row{display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem;border-radius:12px;border:1px solid var(--line);background:linear-gradient(180deg,#2c2018,#241a13);box-shadow:0 3px 10px #0000004d,inset 0 1px #ffffff0d}.hp-orbit-ico{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-size:.9rem;background:#ffffff0d}.hp-orbit-ico-req{background:#e8542a29}.hp-orbit-ico-go{background:#64b46426}.hp-orbit-ico-drop{background:#7a3f9e40}.hp-orbit-art{width:34px;height:34px;flex-shrink:0;border-radius:7px;object-fit:cover;box-shadow:0 3px 8px #00000080}.hp-orbit-text{flex:1;display:flex;flex-direction:column;gap:.05rem;min-width:0}.hp-orbit-title{font-size:.82rem;font-weight:600;color:var(--cream);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-orbit-title b{font-weight:800}.hp-orbit-sub{font-size:.7rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-orbit-actions{display:flex;gap:.3rem;flex-shrink:0}.hp-mini-btn{font-family:var(--body);font-size:.72rem;font-weight:700;border-radius:999px;padding:.3rem .62rem;border:1px solid var(--line);color:var(--cream);background:#ffffff0d;cursor:pointer;white-space:nowrap;transition:background .12s ease,transform .12s var(--ease-out)}.hp-mini-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.hp-mini-btn-go{background:var(--accent-grad);border-color:transparent;color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.hp-orbit-actions .listen-link-pill{border:none;padding:.3rem .62rem;font-size:.72rem;font-weight:700;background:var(--accent-grad);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.hp-orbit-actions .listen-link-pill:hover,.hp-orbit-actions .listen-link-pill:focus-visible{color:#fff;border-color:transparent;background:var(--accent-grad)}.hp-identity{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding:.8rem .95rem;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,#241a13,#1f1610);box-shadow:inset 0 1px #ffffff0d}.hp-id-stat{display:flex;flex-direction:column;gap:.05rem}.hp-id-num{font-family:var(--display);font-size:1.2rem;line-height:1;color:var(--accent-2);font-variant-numeric:tabular-nums}.hp-id-pct{font-family:var(--body);font-size:.95em;font-weight:800}.hp-id-num-word{font-size:.9rem;padding-top:.28rem}.hp-id-lbl{font-size:.62rem;color:var(--muted);letter-spacing:.6px;text-transform:uppercase}.hp-id-open{flex:1 1 100%;text-align:center;margin-top:.15rem;font-family:var(--body);font-size:.8rem;font-weight:700;color:var(--accent-2);border:1px solid rgba(242,177,52,.35);border-radius:999px;padding:.5rem .85rem;text-decoration:none;white-space:nowrap;transition:border-color .15s ease,transform .15s var(--ease-out)}.hp-id-open:hover{border-color:#f2b13499;transform:translateY(-1px);text-decoration:none}@media (min-width: 861px){.hp-id-open{flex:0 0 auto;margin-left:auto;margin-top:0;text-align:left;font-size:.78rem;padding:.4rem .85rem}}@media (min-width: 861px){.home-pulse{max-width:620px}.hp-mq-inner{padding:1.5rem 1.4rem 1rem}.hp-mq-artist{font-size:3.1rem}.hp-mq-perf{padding:.75rem 1.4rem 1rem}.hp-mq:before{width:300px;height:300px;right:-80px;top:-90px}}@media (prefers-reduced-motion: reduce){.hp-crate-chip,.hp-mq-head,.hp-rsvp,.hp-savevenue,.hp-job,.hp-mini-btn,.hp-finish,.hp-finish-fill,.hp-id-open{transition:none}.hp-sk{animation:none}}@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/anton-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/anton-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--crate-bg: #1a0900;--crate-bg-2: #200e00;--wood: #3b2a1c;--wood-light: #5a3f29;--kraft: #d9c4a3;--paper: #f4ead6;--ink: #2a2017;--accent: #e8542a;--accent-2: #f2b134;--cream: #efe6d4;--muted: #9c8d77;--muted-on-paper: #6f6250;--amber-on-paper: #7a4f00;--accent-on-paper: #b5421f;--line-on-paper: rgba(42, 32, 23, .12);--line: rgba(255, 255, 255, .08);--shadow: 0 8px 24px rgba(0, 0, 0, .45);--radius: 12px;--bottom-nav-h: 56px;--accent-grad: linear-gradient(135deg, #f2682e 0%, #e8542a 52%, #d23f1f 100%);--accent-glow: rgba(232, 84, 42, .42);--ease-out: cubic-bezier(.22, 1, .36, 1);--display: "Anton", system-ui, sans-serif;--body: "Inter", system-ui, sans-serif;--festival: #9b59d0;--festival-text: #c9a6e8;--spotify-hi: #1ed760}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;font-family:var(--body);color:var(--cream);background-color:var(--crate-bg);background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.25) 0px,rgba(0,0,0,.25) 2px,transparent 2px,transparent 64px),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0px,rgba(255,255,255,.02) 1px,transparent 1px,transparent 6px),radial-gradient(circle at 30% 0%,#2a0e00,#1a0900 70%);background-attachment:fixed;-webkit-font-smoothing:antialiased}:root{scrollbar-width:thin;scrollbar-color:rgba(217,196,163,.4) transparent}*::-webkit-scrollbar{width:10px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#d9c4a359;border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--accent-2);background-clip:padding-box}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}.display{font-family:var(--display);letter-spacing:.5px;font-weight:400;text-transform:uppercase}.display.xl{font-size:clamp(2.6rem,8vw,5rem);line-height:.95}.muted{color:var(--muted)}.center{text-align:center}.pad{padding:.75rem 1rem}.error{color:#ff8a6a}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.route-error-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.25rem;gap:1rem}.route-error-screen .display{font-size:2.5rem;margin:0}.route-error-screen p{max-width:480px;margin:0}.route-error-screen .route-error-detail{font-size:.8rem;opacity:.6}.route-error-screen .route-error-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.5rem;background:linear-gradient(180deg,#1c1410f5,#1c1410d1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand{font-family:var(--display);font-size:1.5rem;text-transform:uppercase;color:var(--cream);text-decoration:none;display:flex;align-items:center;gap:.5rem;white-space:nowrap;flex-shrink:0}.brand-vinyl{display:inline-block;width:19px;height:19px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--accent) 0 27%,#120c08 28% 100%);box-shadow:0 0 0 1.5px #3a2c1e,inset 0 1px 1px #ffffff24;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.route-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;min-height:50vh}.route-fallback-disc-in{display:block;flex:none;animation:route-disc-in .2s var(--ease-out) both}.route-fallback-disc{position:relative;display:block;width:52px;height:52px;border-radius:50%;background:repeating-radial-gradient(circle at center,rgba(255,255,255,.06) 0px,rgba(255,255,255,.06) 1px,transparent 1px,transparent 4px),radial-gradient(circle at 35% 30%,#17110c,#0d0a08 70%);box-shadow:0 3px 10px #00000073,inset 0 0 0 1px #ffffff0d;animation:spin 1s linear infinite}.route-fallback-disc-sheen{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 200deg,rgba(255,255,255,.1),transparent 35%,transparent 65%,rgba(255,255,255,.06));opacity:.5}.route-fallback-disc-label{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:38%;height:38%;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px #00000059}.route-fallback-disc-label:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:22%;height:22%;border-radius:50%;background:var(--crate-bg)}@keyframes route-disc-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.route-fallback-caption{color:var(--muted);font-size:.8rem}@media (prefers-reduced-motion: reduce){.route-fallback-disc{animation-duration:2.4s}}.topbar-right{display:flex;align-items:center;gap:.85rem;min-width:0}.nav{display:flex;gap:.4rem;overflow:hidden}.google-btn,.signin-btn{display:inline-flex;align-items:center;gap:.45rem;background:var(--cream);color:var(--ink);white-space:nowrap}.google-btn:hover,.signin-btn:hover{filter:brightness(1.04)}.account{position:relative;flex-shrink:0}.account-trigger{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;line-height:0}.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--accent-2);display:flex;align-items:center;justify-content:center}.avatar-fallback{background:var(--accent);color:#fff;font-weight:700;font-size:.95rem}.account-menu{position:absolute;right:0;top:calc(100% + .5rem);min-width:220px;background:linear-gradient(180deg,#2b1f16,#211811);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:var(--shadow);padding:.85rem;display:flex;flex-direction:column;gap:.6rem;z-index:30}.account-id{display:flex;flex-direction:column;gap:.1rem;overflow:hidden}.account-id span{font-size:.82rem;overflow:hidden;text-overflow:ellipsis}.account-sync{font-size:.8rem;border-top:1px solid var(--line);padding-top:.5rem}.account-legal{display:flex;justify-content:center;gap:.35rem;border-top:1px solid var(--line);padding-top:.5rem;font-size:.75rem;color:var(--muted)}.account-legal a{color:var(--muted);text-decoration:none}.account-legal a:hover{color:var(--cream);text-decoration:underline}.block-menu{position:relative;flex:none}.block-menu-trigger{font-size:1.2rem;line-height:1}.block-menu-panel{position:absolute;right:0;top:calc(100% + .4rem);min-width:170px;background:linear-gradient(180deg,#2b1f16,#211811);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:var(--shadow);padding:.5rem;display:flex;flex-direction:column;z-index:30}.block-menu-panel .btn{width:100%;justify-content:center}.block-menu-error{position:absolute;right:0;top:calc(100% + .4rem);width:max-content;max-width:220px;font-size:.78rem}.nav-link{color:var(--muted);text-decoration:none;padding:.4rem .85rem;border-radius:999px;font-weight:600;font-size:.95rem;white-space:nowrap;flex-shrink:0}.nav-link:hover{color:var(--cream)}.nav-link.active{color:var(--ink);background:var(--accent-2)}.content{max-width:880px;width:100%;margin:0 auto;padding:1.75rem 1.25rem 1rem;flex:1 0 auto}@keyframes route-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.route-view{animation:route-enter .35s var(--ease-out) both}.hero{text-align:center;padding:2rem 0 1.5rem}.hero .tagline{max-width:32rem;margin:.75rem auto 0;color:var(--kraft);font-size:1.05rem}.preview-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .5rem 1.35rem;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:0}.preview-head h2{margin:0;font-size:1.2rem;letter-spacing:1px}.count-pill{background:var(--accent);color:#fff;border-radius:999px;padding:.1rem .6rem;font-weight:700;font-size:.85rem}.preview-text{display:flex;flex-direction:column;overflow:hidden;flex:1;min-width:0}.btn{font-family:var(--body);font-weight:600;font-size:.95rem;letter-spacing:.2px;border:1px solid transparent;border-radius:999px;padding:.6rem 1.2rem;cursor:pointer;color:var(--cream);background:#ffffff14;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),background .18s var(--ease-out),filter .18s var(--ease-out)}.btn:hover{filter:brightness(1.08)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:none}.btn.primary{background:var(--accent-grad);color:#fff;border-color:#ffffff24;box-shadow:inset 0 1px #ffffff47,0 4px 14px var(--accent-glow)}.btn.primary:hover{filter:none;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff52,0 8px 22px var(--accent-glow)}.btn.primary:active{transform:translateY(0) scale(.98);box-shadow:inset 0 1px 2px #0000002e,0 3px 10px var(--accent-glow)}.btn.primary:disabled{box-shadow:none}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.ghost.on-paper{color:var(--muted-on-paper);border-color:#2a201740}.btn.ghost.on-paper:hover{color:var(--ink)}.btn.small{padding:.4rem .85rem;font-size:.85rem}.btn.danger{background:#ff8a6a1a;border-color:#ff8a6a8c;color:#ff8a6a}.btn.danger:hover{filter:none;background:#c0392b;border-color:#c0392b;color:#fff}.btn.danger:active{transform:scale(.98)}.btn.danger:disabled{background:#ff8a6a14;border-color:#ff8a6a40;color:#ff8a6a80}.btn.spotify:focus-visible{outline-color:var(--spotify-hi)}.spotify-glyph,.btn.spotify .spotify-glyph{width:1.15em;height:1.15em;flex:none}.icon-btn{background:transparent;border:none;color:var(--muted);font-size:1rem;cursor:pointer;padding:.3rem .45rem;border-radius:8px}.icon-btn:hover{color:var(--cream);background:#ffffff12}.icon-btn.danger:hover{color:#ff8a6a}.text-input{width:100%;background:#00000040;border:1px solid var(--line);border-radius:8px;color:var(--cream);font:inherit;padding:.6rem .75rem}.text-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #e8542a40}@media (max-width: 768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=button]):not([type=submit]),textarea,select,[contenteditable=true],[contenteditable=""]{font-size:16px!important}}.notif{position:relative;flex-shrink:0}.notif-trigger{position:relative;color:var(--accent-2);line-height:0}.notif-trigger:hover{color:var(--accent-2)}.notif-ping{position:absolute;top:1px;right:1px;width:9px;height:9px;border-radius:50%;background:var(--accent);border:1.5px solid var(--crate-bg);box-shadow:0 0 8px var(--accent-glow)}.topbar-streak{background:#f2b13429;color:var(--accent-2);border-radius:999px;padding:.16rem .6rem;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.topbar-add{width:28px;height:28px;flex-shrink:0;border:none;border-radius:50%;background:var(--accent-grad);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 1px #ffffff47,0 2px 8px var(--accent-glow);transition:transform .12s var(--ease-out)}.topbar-add:hover{transform:translateY(-1px) scale(1.06)}.topbar-add:active{transform:scale(.95)}.topbar-share{width:28px;height:28px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:#00000040;color:var(--accent-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s var(--ease-out),border-color .12s ease}.topbar-share:hover{transform:translateY(-1px) scale(1.06);border-color:#f2b13473}.topbar-share:active{transform:scale(.95)}@media (max-width: 360px){.topbar-streak{display:none}}.notif-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 3px;box-sizing:border-box;background:var(--accent);color:#fff;font-size:.62rem;font-weight:700;line-height:1;border-radius:999px;border:1.5px solid var(--crate-bg);display:flex;align-items:center;justify-content:center}.notif-menu{position:absolute;right:0;top:calc(100% + .5rem);width:360px;max-width:calc(100vw - 1.5rem);max-height:min(70vh,540px);background:linear-gradient(180deg,#2b1f16,#211811);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:var(--shadow);z-index:30;display:flex;flex-direction:column;overflow:hidden}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:.75rem .9rem;border-bottom:1px solid var(--line)}.notif-head strong{font-family:var(--display);font-weight:400;letter-spacing:.5px;text-transform:uppercase;font-size:1rem;color:var(--cream)}.notif-list{list-style:none;margin:0;padding:.35rem;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.notif-item{position:relative;display:flex;gap:.6rem;padding:.6rem .6rem .6rem .85rem;border-radius:12px}.notif-item.unread{background:#f2b1340f}.notif-dot{position:absolute;left:.32rem;top:1.1rem;width:7px;height:7px;border-radius:50%;background:var(--accent)}.notif-avatar-btn{background:none;border:none;padding:0;cursor:pointer;flex:none;line-height:0}.notif-avatar{width:38px;height:38px}.notif-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.notif-text{background:none;border:none;padding:0;margin:0;text-align:left;cursor:pointer;font:inherit}.notif-summary{font-size:.86rem;line-height:1.35;color:var(--cream)}.notif-summary b{font-weight:700}.notif-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem;font-size:.72rem;color:var(--muted)}.notif-handle{color:var(--kraft)}.notif-handle+.notif-time:before{content:"· ";color:var(--muted)}.notif-actions{display:flex;gap:.4rem;margin-top:.4rem}.notif-resolved{margin-top:.35rem;font-size:.78rem;color:var(--accent-2);font-weight:600}.notif-failed{margin:.35rem 0 0;font-size:.78rem;color:#ff8a6a;font-weight:600}.notif-empty{padding:1.8rem 1.2rem;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.45rem}.notif-empty p{margin:0;color:var(--cream);font-weight:600}.notif-empty span{font-size:.8rem}@media (max-width: 640px){.notif{position:static}.topbar-right{position:relative}.notif-menu{right:0;left:auto;top:calc(100% + .4rem);width:min(360px,calc(100vw - 1.5rem))}}.notif-page{max-width:640px;margin:0 auto;padding:.25rem 0}.notif-page-title{font-family:var(--display);font-weight:400;font-size:1.6rem;letter-spacing:.5px;text-transform:uppercase;color:var(--cream);margin:0 0 1rem}.notif-page--empty,.notif-page-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;color:var(--muted);text-align:center}.notif-page--empty p,.notif-page-empty p{margin:0;color:var(--cream);font-size:1rem}.notif-page-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.notif-page-item{position:relative;display:flex;gap:.75rem;padding:.75rem .5rem .75rem .9rem;border-radius:12px;border-bottom:1px solid var(--line)}.notif-page-item:last-child{border-bottom:none}.notif-page-item.unread{background:#f2b1340f}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.segmented .seg{background:transparent;border:none;color:var(--muted);font-size:.8rem;font-weight:600;padding:.35rem .8rem;cursor:pointer;white-space:nowrap}.segmented .seg:hover{color:var(--cream)}.segmented .seg.active{background:#f2b1342e;color:var(--accent-2)}.list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.list-head h1{margin:0;font-size:clamp(1.8rem,5vw,2.8rem)}.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.row{display:flex;align-items:center;gap:.65rem;background:linear-gradient(180deg,#2c2018,#241a13);border:1px solid var(--line);border-radius:var(--radius);padding:.4rem .7rem;box-shadow:0 3px 10px #0000004d}.row.dragging{box-shadow:var(--shadow)}.grip{background:transparent;border:none;color:var(--muted);cursor:grab;font-size:1.1rem;padding:.25rem;touch-action:none}.grip:active{cursor:grabbing}.rank-tag{font-family:var(--display);font-size:1.3rem;color:var(--ink);background:var(--kraft);min-width:2.1rem;text-align:center;border-radius:6px;padding:.05rem .3rem;transform:rotate(-3deg);box-shadow:0 2px 4px #0000004d}.rank-tag.small{font-size:.95rem;min-width:1.5rem}.cover{width:48px;height:48px;flex:none;border-radius:6px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0006}.cover img{width:100%;height:100%;object-fit:cover}.cover.small{width:40px;height:40px}.cover.large{width:150px;height:150px}.cover-fallback{font-size:1.4rem;color:var(--muted)}.artist-img{flex:none;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0006}.artist-img img{width:100%;height:100%;object-fit:cover;animation:crateArtFadeIn .35s ease}@keyframes crateArtFadeIn{0%{opacity:0}to{opacity:1}}.artist-img.placeholder{position:relative}.artist-img-monogram{font-weight:700;letter-spacing:.02em;color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.35);-webkit-user-select:none;user-select:none}.cover.song{border-radius:50%;position:relative}.cover.song:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:14%;height:14%;border-radius:50%;background:#0a0806;box-shadow:0 0 0 2px #ffffff12,0 0 0 4px #0000008c}.cover.song.large:after{width:11%;height:11%}.row-main{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:.1rem}.row-title-line{display:flex;align-items:baseline;gap:.5rem}.row-title{flex:0 1 auto;min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-title-genre{flex:0 1 auto;min-width:0;color:var(--kraft);opacity:.7;font-size:.82rem;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-title-genre:before{content:"·";margin-right:.4rem;opacity:.6}.row-year{color:var(--muted);font-size:.8rem;flex:none}.row-artist{color:var(--kraft);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-top:0}.row-note{margin:.1rem 0 0;font-size:.85rem;color:var(--cream);opacity:.85;font-style:italic;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.row-actions{display:flex;flex-direction:row;align-items:center;gap:.1rem;flex:none}.row-add-note{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .5rem;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:.72rem;font-family:inherit;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.row-add-note:hover,.row-add-note:focus-visible{color:var(--accent-2);border-color:var(--accent-2);background:#f2b13414}.chip{display:inline-flex;align-items:center;gap:.25rem;background:#f2b13429;color:var(--accent-2);border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:600}.chip.small{font-size:.72rem;padding:.05rem .45rem}.chip button{background:none;border:none;color:inherit;cursor:pointer;font-size:.9rem;line-height:1;padding:0}.stars{display:inline-flex;gap:1px}.star{background:none;border:none;color:#ffffff38;cursor:pointer;padding:0;line-height:1}.star.filled{color:var(--accent-2)}.star:disabled{cursor:default}.empty{text-align:center;padding:3rem 1rem;border:1px dashed var(--line);border-radius:var(--radius)}.empty-art{font-size:3rem}.empty h3{margin:.5rem 0 .25rem}.empty .muted{margin-bottom:1rem}.empty-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.app-error{margin:2rem auto;max-width:480px}.app-error-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.app-error-details{margin-top:1.5rem;text-align:left;font-size:.8rem;color:var(--muted, #888)}.app-error-details pre{overflow-x:auto;white-space:pre-wrap;word-break:break-all;background:#0000004d;padding:.5rem;border-radius:var(--radius, 6px);font-size:.75rem}.chunk-toast{position:fixed;left:50%;bottom:calc(1.25rem + env(safe-area-inset-bottom));transform:translate(-50%);z-index:85;display:flex;align-items:center;gap:.6rem;max-width:calc(100vw - 2rem);background:#2a2017;color:var(--cream);border:1px solid var(--line);border-radius:12px;padding:.7rem .6rem .7rem 1rem;box-shadow:var(--shadow);font-size:.92rem;animation:chunk-toast-rise .2s ease}@keyframes chunk-toast-rise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.chunk-toast-dismiss{flex:none;width:1.6rem;height:1.6rem;display:grid;place-items:center;background:transparent;border:none;color:var(--muted, #888);font-size:1.2rem;line-height:1;cursor:pointer;border-radius:50%}.chunk-toast-dismiss:hover{color:var(--cream);background:#ffffff14}.chunk-toast-dismiss:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}@media (max-width: 640px){.chunk-toast{bottom:calc(4.75rem + env(safe-area-inset-bottom))}body.now-spinning-active .chunk-toast{bottom:calc(8.25rem + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: reduce){.chunk-toast{animation:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:4dvh 1rem;padding-bottom:calc(4dvh + env(safe-area-inset-bottom));z-index:50}.modal{width:100%;max-width:520px;background:linear-gradient(180deg,#2b1f16,#211811);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:var(--shadow);padding:1.25rem;max-height:92vh;max-height:92dvh;overflow:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.modal-head h2{margin:0;font-size:1.25rem}.modal.confirm-sheet{max-width:400px}.confirm-sheet-title{margin:0 0 .5rem;font-size:1.2rem}.confirm-sheet-body{margin:0 0 1.1rem;line-height:1.4}.confirm-sheet-actions{display:flex;justify-content:flex-end;gap:.5rem}.search-tabs{display:flex;gap:.25rem;background:#0000004d;border:1px solid var(--line);border-radius:10px;padding:.25rem;margin-bottom:.75rem}.search-tab{flex:1;padding:.5rem .75rem;border:none;border-radius:8px;background:none;color:var(--cream);font-size:.9rem;cursor:pointer;opacity:.65}.search-tab:hover{opacity:1}.search-tab.active{background:var(--accent);color:#1a1a1a;opacity:1}.quick-add-kinds{display:flex;gap:.3rem;margin:.75rem 0 .25rem}.quick-add-kind{flex:1;padding:.55rem .5rem;border:1px solid var(--line);border-radius:10px;background:#00000040;color:var(--cream);font-size:.92rem;font-weight:600;cursor:pointer;opacity:.7;transition:opacity .12s ease,background .12s ease,border-color .12s ease}.quick-add-kind:hover{opacity:1}.quick-add-kind.active{background:var(--accent);border-color:var(--accent);color:#1a1a1a;opacity:1}.artist-pick{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;background:none;border:none;color:var(--cream);text-align:left;cursor:pointer;padding:.2rem 0}.artist-catalog-head{display:flex;align-items:center;gap:.6rem;margin:.6rem 0 .2rem}.artist-catalog-head strong{font-size:1.05rem}.link-btn{background:none;border:none;color:var(--accent);font-size:.9rem;cursor:pointer;padding:.25rem 0}.link-btn:hover{text-decoration:underline}.search-field{width:100%;padding:.7rem .9rem;border-radius:10px;border:1px solid var(--line);background:#0000004d;color:var(--cream);font-size:1rem}.search-field:focus{outline:2px solid var(--accent)}.search-results{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.search-result{display:flex;align-items:center;gap:.6rem;padding:.45rem;border-radius:10px}.search-result:hover{background:#ffffff0d}.search-result.kbd-active{background:#e8542a29;box-shadow:inset 0 0 0 1px #e8542a66}.search-result.is-added{opacity:.6}.search-result.is-added .btn.primary{background:transparent;color:var(--accent-2);border:1px solid rgba(242,177,52,.5)}.add-flash{margin:.6rem 0 0;padding:.4rem .7rem;border-radius:8px;font-size:.88rem;animation:fade-in .15s ease}.add-flash.added{background:#f2b13424;color:var(--accent-2)}.add-flash.dupe{background:#e8542a24;color:#ff8a6a}.add-flash strong{font-weight:600}.add-flash-disc{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.3em;height:1.3em;margin-right:.15em;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a2a2a,#0c0c0c 70%);box-shadow:0 0 0 1px #0006,inset 0 0 0 1px #ffffff0f;flex:none;vertical-align:middle;transform-origin:50% 50%;animation:add-flash-disc-drop .25s var(--ease-out) both,add-flash-disc-spin 1.1s linear .25s 2}.add-flash-disc:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:.4em;height:.4em;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px #00000080}@keyframes add-flash-disc-drop{0%{opacity:0;transform:scale(.3) translateY(-.5em)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes add-flash-disc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.add-flash-tonearm{position:absolute;top:-.15em;right:-.1em;width:.75em;height:2px;border-radius:1px;background:var(--muted);transform-origin:100% 50%;animation:add-flash-tonearm-swing .3s var(--ease-out) .2s both}@keyframes add-flash-tonearm-swing{0%{transform:rotate(-20deg);opacity:0}to{transform:rotate(0);opacity:1}}.kbd-hint{margin:.5rem 0 0;font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:.28rem;flex-wrap:wrap}.kbd-hint kbd{font-family:var(--body);font-size:.72rem;line-height:1;padding:.16rem .34rem;border-radius:5px;background:#ffffff12;border:1px solid var(--line);border-bottom-width:2px;color:var(--cream)}@media (hover: none){.kbd-hint{display:none}}.search-result-main{flex:1;min-width:0;display:flex;flex-direction:column}.search-result-actions{display:flex;gap:.35rem;flex:none}.modal-related{margin-top:.95rem}.modal-related-heading{margin:0 0 .5rem;font-size:.92rem;font-weight:600;color:var(--cream)}.modal-related-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.modal-related-item{display:flex;align-items:center;gap:.6rem;padding:.4rem .45rem;border-radius:10px;transition:background .12s ease}.modal-related-item:hover{background:#ffffff0d}.modal-related-item .artist-img{flex-shrink:0;border-radius:50%;overflow:hidden}.modal-related-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.modal-related-name{font-size:.9rem;font-weight:600;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-related-reason{font-size:.74rem;color:var(--muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-related-item .btn.small{flex:none}.round-add-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:50%;border:1px solid rgba(232,84,42,.5);background:#e8542a2e;color:var(--accent, #e8542a);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s var(--ease-out),background .15s ease,border-color .15s ease,box-shadow .15s ease;animation:wc-add-pulse 2.8s ease-in-out infinite}.round-add-btn svg{width:16px;height:16px}.round-add-btn:hover{background:#e8542a52;border-color:#e8542abf;transform:translateY(-1px) scale(1.06);box-shadow:0 4px 14px #e8542a61;animation:none}.round-add-btn:active{transform:translateY(0) scale(.94);animation:none}.round-add-btn:focus-visible{outline:2px solid var(--accent, #e8542a);outline-offset:2px;animation:none}.round-add-btn:disabled,.round-add-btn.is-added{animation:none;background:#ffffff0f;border-color:var(--line);color:var(--muted);cursor:default;box-shadow:none;transform:none}@keyframes wc-add-pulse{0%,to{box-shadow:0 0 #e8542a00}50%{box-shadow:0 0 0 5px #e8542a38}}@keyframes modal-related-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.modal-related-skeleton{height:52px;box-sizing:border-box;padding:.4rem .45rem;border-radius:10px;border:1px solid var(--line);display:flex;align-items:center;gap:.6rem}.modal-related-skeleton-avatar,.modal-related-skeleton-line,.modal-related-skeleton-btn{display:block;background:linear-gradient(90deg,#ffffff0a,#ffffff17,#ffffff0a 80%);background-size:800px 100%;animation:modal-related-shimmer 1.4s linear infinite}.modal-related-skeleton-avatar{flex:none;width:36px;height:36px;border-radius:50%}.modal-related-skeleton-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.modal-related-skeleton-line{height:.5rem;width:60%;border-radius:4px}.modal-related-skeleton-line.short{height:.42rem;width:38%}.modal-related-skeleton-btn{flex:none;width:2.4rem;height:1.5rem;border-radius:999px}@media (prefers-reduced-motion: reduce){.modal-related-skeleton-avatar,.modal-related-skeleton-line,.modal-related-skeleton-btn{animation:none;background:#ffffff0d}}.modal-related-sentinel{list-style:none;flex:none;height:36px;display:flex;align-items:center;justify-content:center}.modal-related-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--muted);animation:modal-related-spin .7s linear infinite}@keyframes modal-related-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.modal-related-spinner{animation-duration:1.6s}}.manual-add-toggle{margin-top:.75rem;background:none;border:none;color:var(--accent);font-size:.9rem;cursor:pointer;padding:.25rem 0;text-align:left}.manual-add-toggle:hover{text-decoration:underline}.manual-add{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.manual-add .search-result-actions{justify-content:flex-end;margin-top:.25rem}.edit-head{display:flex;gap:.75rem;align-items:center}.edit-head h2{margin:0;font-size:1.15rem}.edit-art{width:54px;height:54px;border-radius:8px;object-fit:cover}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field>span{font-weight:600;font-size:.9rem;color:var(--kraft)}.field>span.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.field-count{font-weight:600;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.field-count.near{color:var(--accent)}.field-help{margin:0;font-size:.8rem;line-height:1.4;color:var(--muted)}.note-prompts{display:flex;flex-wrap:wrap;gap:.4rem}.note-prompt{background:#f2b1341a;border:1px solid rgba(242,177,52,.25);color:var(--accent-2);border-radius:999px;padding:.25rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .12s}.note-prompt:hover{background:#f2b13433}.field textarea{resize:vertical;border-radius:10px;border:1px solid var(--line);background:#0000004d;color:var(--cream);padding:.6rem .7rem;font-family:inherit;font-size:.95rem}.field textarea:focus{outline:2px solid var(--accent)}.tag-input{display:flex;flex-direction:column;gap:.4rem}.tag-chips{display:flex;flex-wrap:wrap;gap:.35rem}.tag-input input{border-radius:8px;border:1px solid var(--line);background:#0000004d;color:var(--cream);padding:.45rem .6rem;font-size:.9rem}.tag-input input:focus{outline:2px solid var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.badge-new{position:absolute;top:-8px;left:-8px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.1rem .5rem;border-radius:999px}.site-footer{border-top:1px solid var(--border, rgba(128, 128, 128, .2));margin-top:.5rem;padding:1rem 1.25rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem;font-size:.82rem;opacity:.75;text-align:center}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer .footer-sep{opacity:.4}@media (max-width: 640px){.site-footer{display:none}}.bottom-nav{display:none}@media (max-width: 640px){.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(180deg,#200e00eb,#140600fa);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -6px 20px #00000059}.bottom-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.5rem .25rem;min-height:56px;text-decoration:none;color:var(--muted);font-size:.7rem;font-weight:600;-webkit-tap-highlight-color:transparent;transition:color .15s ease,transform .1s ease}.bottom-nav-link:active{transform:scale(.92)}.bottom-nav-icon{font-size:1.4rem;line-height:1;transition:transform .15s ease}.bottom-nav-link.active{color:var(--accent-2)}.bottom-nav-link.active .bottom-nav-icon{transform:translateY(-2px) scale(1.12)}}@media (max-width: 860px) and (min-width: 641px){.topbar{padding:.7rem 1rem}.nav{gap:.15rem}.nav-link{padding:.35rem .55rem;font-size:.87rem}.topbar-right{gap:.55rem}}@media (max-width: 640px){.topbar{padding:.7rem 1rem}.brand{font-size:1.25rem;white-space:nowrap}.nav{display:none}.content{padding:1.25rem .9rem 0;overflow-x:hidden}.list-head{flex-direction:column;align-items:stretch;gap:.4rem}.list-head h1{font-size:1.3rem}.list-sub{font-size:.8rem;margin:.1rem 0 .15rem}.list-head-actions{margin-top:.2rem}.row{display:grid;grid-template-columns:auto auto 1fr auto;grid-template-areas:"grip cover main actions" "grip cover main tier";align-items:center;column-gap:.55rem;row-gap:.15rem;padding:.4rem .55rem}.row .grip{grid-area:grip;font-size:1.4rem;padding:.4rem .15rem;align-self:stretch;display:flex;align-items:center}.row .rank-tag{grid-area:cover;align-self:start;justify-self:start;z-index:1;margin:-.35rem 0 0 -.35rem;font-size:1rem;min-width:1.5rem}.row .cover{grid-area:cover;width:48px;height:48px}.row-main{grid-area:main;align-self:center}.row-tier{grid-area:tier;flex-direction:row;min-width:0;justify-self:end}.row-actions{grid-area:actions;flex-direction:row;justify-self:end}.row .seen-live-toggle .seen-live-label{display:none}.row .seen-live-toggle{padding:.3rem;min-width:30px;justify-content:center}.row-title-genre{display:none}.row .artist-img{grid-area:cover;align-self:center}.icon-btn{padding:.5rem;font-size:1.1rem}.btn{padding:.6rem 1.1rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.btn{transition:none}.btn:active{transform:none}}.btn-badge{display:inline-block;margin-left:.35rem;font-size:.72rem;background:#00000047;color:inherit;border-radius:999px;padding:.02rem .4rem;min-width:1.1rem;text-align:center}.pm-switch{display:flex;border:1px solid var(--line);border-radius:999px;padding:.2rem;margin:0 0 1.1rem;gap:.2rem}.pm-switch-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;font-family:var(--body);font-weight:600;font-size:.88rem;letter-spacing:.02em;border:none;border-radius:999px;padding:.5rem 1rem;cursor:pointer;color:var(--muted);background:transparent;-webkit-tap-highlight-color:transparent;transition:color .16s ease,background .16s ease}.pm-switch-btn:hover{color:var(--cream)}.pm-switch-btn.active{color:#fff;background:var(--accent-grad);box-shadow:inset 0 1px #fff3,0 3px 10px var(--accent-glow)}.pm-switch-btn .btn-badge{background:#00000052}@media (min-width: 641px){.pm-switch{display:none}}.search-wrap{position:relative}.search-wrap>input{padding-right:1.75rem!important;box-sizing:border-box;width:100%}.search-clear-btn{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:.15rem .25rem;border-radius:4px;opacity:.55;transition:opacity .12s,color .12s}.search-clear-btn:before{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.search-clear-btn:hover{opacity:1;color:var(--cream)}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.game-intro{text-align:center;padding-top:2.5rem;max-width:30rem;margin:0 auto}.game-intro-badge{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border-radius:50%;background:#ffffff0f;font-size:1.6rem;margin-bottom:.5rem}.game-intro-lead{color:var(--cream);font-size:1.1rem;margin:.2rem 0 1.4rem}.game-intro-steps{list-style:none;counter-reset:game-step;padding:0;margin:0 auto;max-width:22rem;display:flex;flex-direction:column;gap:.6rem;text-align:left}.game-intro-steps li{counter-increment:game-step;position:relative;padding:.6rem .8rem .6rem 2.6rem;background:#ffffff0a;border-radius:8px;color:var(--muted)}.game-intro-steps li:before{content:counter(game-step);position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:1.4rem;height:1.4rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#fff;font-size:.8rem;font-weight:700}.game-intro-steps strong{color:var(--cream)}.now-spinning{position:fixed;z-index:70;left:1rem;bottom:1rem;width:min(360px,calc(100vw - 2rem));overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#2a1f16,#1c140e);border:1px solid var(--line);box-shadow:0 12px 34px #00000080;animation:ns-rise .26s cubic-bezier(.2,1,.3,1) both}@keyframes ns-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.now-spinning .ns-progress{position:absolute;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 8px #f2b13499;transition:width .25s linear;border-top-left-radius:14px}.now-spinning .ns-bar-inner{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem}.now-spinning .ns-thumb{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#120c08;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 0 4px #0000008c,0 1px 4px #0006}.now-spinning .ns-thumb :where(img){width:100%;height:100%;object-fit:cover}.now-spinning .ns-thumb .cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--muted)}.now-spinning .ns-thumb.spinning{animation:ns-spin 3.2s linear infinite}@keyframes ns-spin{to{transform:rotate(360deg)}}.now-spinning .ns-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.2}.now-spinning .ns-eyebrow{font-family:var(--display, inherit);text-transform:uppercase;letter-spacing:1.2px;font-size:.58rem;color:var(--accent-2);margin-bottom:.08rem}.now-spinning .ns-now-title{font-weight:700;font-size:.88rem;color:var(--cream, #f3e9da);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-spinning .ns-now-artist{font-size:.74rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-spinning .ns-clock{flex:none;font-variant-numeric:tabular-nums;font-size:.7rem;color:var(--muted);opacity:.85}.now-spinning .ns-controls{flex:none;display:flex;align-items:center;gap:.3rem}.now-spinning .ns-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#0000004d;color:var(--cream, #f3e9da);cursor:pointer;font-size:.82rem;-webkit-tap-highlight-color:transparent;transition:background .15s ease,transform .1s ease,color .15s ease}.now-spinning .ns-btn:hover{background:#ffffff14}.now-spinning .ns-btn:active{transform:scale(.92)}.now-spinning .ns-btn:disabled{opacity:.6;cursor:default}.now-spinning .ns-play{background:linear-gradient(180deg,var(--accent-2),#e0a020);color:var(--ink, #1c140e);border-color:transparent;font-size:.74rem}.now-spinning .ns-play:hover{filter:brightness(1.06);background:linear-gradient(180deg,var(--accent-2),#e0a020)}.now-spinning .ns-close:hover{color:#ff6b5e}.now-spinning .ns-step{font-size:.7rem}.now-spinning .ns-step:hover:not(:disabled){color:var(--accent-2, #f0b429)}.now-spinning.is-session .ns-eyebrow{color:var(--accent-2, #f0b429)}.now-spinning .ns-spin-dot{width:14px;height:14px;border-radius:50%;border:2px solid rgba(0,0,0,.35);border-top-color:#000000d9;animation:ns-spin .7s linear infinite}@media (max-width: 640px){.now-spinning{left:0;right:0;width:100%;border-radius:14px 14px 0 0;border-left:none;border-right:none;bottom:calc(env(safe-area-inset-bottom,0px) + 56px)}.now-spinning .ns-progress{border-top-left-radius:14px}.now-spinning .ns-btn{position:relative}.now-spinning .ns-btn:before{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.now-spinning .ns-controls{gap:.45rem}}body.now-spinning-active .feedback-fab{bottom:calc(env(safe-area-inset-bottom,0px) + 5rem)}@media (max-width: 640px){body.now-spinning-active .feedback-fab{bottom:calc(env(safe-area-inset-bottom,0px) + 7.5rem)}}@media (prefers-reduced-motion: reduce){.now-spinning,.now-spinning .ns-thumb.spinning,.now-spinning .ns-spin-dot{animation:none}.now-spinning .ns-progress{transition:none}}.is-native html,.is-native body{overscroll-behavior:none;overflow-x:hidden}@media (max-width: 640px){html,body{overscroll-behavior:none;overflow-x:hidden}}@media (max-width: 640px){.topbar{padding-top:max(.7rem,env(safe-area-inset-top));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}.is-native .topbar{padding-top:max(.7rem,env(safe-area-inset-top));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}@media (max-width: 640px){.content{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + 1.5rem);padding-left:max(.9rem,env(safe-area-inset-left));padding-right:max(.9rem,env(safe-area-inset-right));overscroll-behavior-y:contain}}@media (max-width: 640px){.dig-empty,.people-hub,.profile-page.profile-gate,.notif-page.notif-page--empty,.gauntlet.empty-state,.gutcheck.empty-state{min-height:calc(100svh - var(--bottom-nav-h) - env(safe-area-inset-bottom,0px) - 6rem);justify-content:safe center;padding-top:0}.route-view:has(>.pm-switch) .people-hub{min-height:0;justify-content:flex-start}}@media (max-width: 640px){.content .route-view>*:not(.messages-page){padding-bottom:1rem}}@media (max-width: 640px){.topbar{background:linear-gradient(180deg,#1a0900db,#1a0900a8);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:.5px solid var(--line)}.topbar .brand{font-size:1.3rem}}@media (max-width: 640px){.bottom-nav{background:linear-gradient(180deg,#200e00b8,#140600eb);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-top:.5px solid var(--line);box-shadow:0 -8px 24px #0006}.bottom-nav-link{position:relative;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;letter-spacing:.01em}.bottom-nav-link,.bottom-nav-link:hover,.bottom-nav-link:focus,.bottom-nav-link.active{text-decoration:none}.bottom-nav-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.85rem;height:1.85rem;z-index:1;transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.bottom-nav-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:color-mix(in srgb,var(--accent-2) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-2) 32%,transparent);opacity:0;transform:scale(.6);z-index:-1;transition:opacity .24s ease,transform .34s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.bottom-nav-link.active .bottom-nav-pill{opacity:1;transform:scale(1)}.bottom-nav-link.active{color:var(--accent-2)}.bottom-nav-link.active .bottom-nav-icon{transform:translateY(-2px) scale(1.06)}.bottom-nav-link:active .bottom-nav-icon{transform:scale(.9)}.bottom-nav .tab-icon{position:relative;z-index:1;display:block;width:25px;height:25px}}@media (max-width: 640px){.content>*{animation:mn-page-in .22s cubic-bezier(.22,.61,.36,1) both}}@keyframes mn-page-in{0%{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:translateZ(0)}}@media (hover: none){.row:active,.icon-btn:active,.nav-link:active{transform:scale(.97);transition:transform .08s ease}.topbar,.bottom-nav,.nav-link,.btn,.icon-btn,.bottom-nav-link{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.topbar,.bottom-nav,.nav-link,.bottom-nav-link,.btn,.icon-btn{user-select:none;-webkit-user-select:none}.content,.row-title,.row-artist,.row-note,.message-bubble,.hero .tagline{user-select:text;-webkit-user-select:text}}@media (max-width: 640px){.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-width:100%;border-radius:22px 22px 0 0;border-bottom:none;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));max-height:92dvh;animation:mn-sheet-up .3s cubic-bezier(.22,.61,.36,1) both}.modal:before{content:"";display:block;width:36px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--cream) 28%,transparent);margin:-.4rem auto .85rem}}@keyframes mn-sheet-up{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}@media (prefers-reduced-motion: reduce){.content>*{animation:none}.modal{animation:none}.bottom-nav-icon,.bottom-nav-pill,.bottom-nav-link.active .bottom-nav-icon,.bottom-nav-link:active .bottom-nav-icon{transition:none;transform:none}.bottom-nav-link.active .bottom-nav-pill{opacity:1;transform:none}.row:active,.icon-btn:active,.nav-link:active{transform:none}}
