.dj-bio-offline-bar{position:fixed;top:0;left:0;right:0;z-index:9999;height:40px;display:flex;align-items:center;justify-content:center;gap:8px;background:#0f172a9e;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:600;color:#ffffffe0;letter-spacing:.01em;animation:dj-bio-bar-in .35s cubic-bezier(.22,1,.36,1)}.dj-bio-offline-bar--online{color:#4ade80;animation:dj-bio-bar-in .35s cubic-bezier(.22,1,.36,1),dj-bio-bar-out 2s ease-in .3s forwards}.dj-bio-offline-bar-icon{width:14px;height:14px;flex-shrink:0}@keyframes dj-bio-bar-in{0%{transform:translateY(-40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes dj-bio-bar-out{0%{opacity:1;transform:translateY(0)}80%{opacity:.7}to{opacity:0;transform:translateY(-40px)}}.app-shell:has(.dj-bio-skeleton){max-width:none;padding:0}.app-shell:has(.dj-bio-skeleton)>.app-main{max-width:none;margin:0;padding:0}.page.dashboard-music-bio-page:has(>.dj-bio-skeleton){max-width:none;margin:0;padding:0}.dj-bio-skeleton{--dj-skel-fill: rgba(255, 255, 255, .07);--dj-skel-sheen: rgba(255, 255, 255, .13);--dj-skel-gutter: 14px;--dj-skel-card-w: 215px;--dj-skel-card-h: 254px;position:relative;box-sizing:border-box;width:100%;max-width:1240px;min-height:100vh;margin:0 auto;padding-bottom:48px;overflow:hidden;animation:dj-bio-skeleton-appear .25s ease-out both}.dj-bio-skeleton:before{content:"";position:absolute;top:-12%;left:50%;width:min(760px,140%);aspect-ratio:1;margin-left:calc(min(760px,140%)/-2);border-radius:50%;background:radial-gradient(closest-side,rgba(129,140,248,.2),rgba(52,211,153,.08) 55%,transparent);pointer-events:none;animation:dj-bio-skel-aura 5s ease-in-out infinite alternate}@keyframes dj-bio-skeleton-appear{0%{opacity:0}to{opacity:1}}@keyframes dj-bio-skel-aura{0%{transform:translate3d(-6%,0,0) scale(.94);opacity:.7}to{transform:translate3d(6%,4%,0) scale(1.06);opacity:1}}.dj-bio-skel-b{position:relative;overflow:hidden;background:var(--dj-skel-fill)}.dj-bio-skel-b:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,var(--dj-skel-sheen) 50%,transparent 80%);transform:translate3d(-100%,0,0);animation:dj-bio-skel-sweep 2s ease-in-out infinite;animation-delay:calc(var(--dj-skel-i, 0) * 55ms)}@keyframes dj-bio-skel-sweep{0%{transform:translate3d(-100%,0,0)}70%,to{transform:translate3d(100%,0,0)}}.dj-bio-skel-artist{position:relative;display:grid;grid-template-columns:minmax(0,1fr)}.dj-bio-skel-photo{aspect-ratio:393 / 420;border-radius:0 0 32px 32px}.dj-bio-skel-eq{position:absolute;top:42%;left:50%;display:flex;align-items:flex-end;gap:5px;height:46px;transform:translate(-50%,-50%)}.dj-bio-skel-eq span{width:6px;height:100%;border-radius:3px;background:#ffffff57;transform-origin:bottom;animation:dj-bio-skel-eq .9s ease-in-out infinite alternate}.dj-bio-skel-eq span:nth-child(2){animation-duration:.62s;animation-delay:-.2s}.dj-bio-skel-eq span:nth-child(3){animation-duration:1.08s;animation-delay:-.5s}.dj-bio-skel-eq span:nth-child(4){animation-duration:.74s;animation-delay:-.1s}.dj-bio-skel-eq span:nth-child(5){animation-duration:.96s;animation-delay:-.35s}@keyframes dj-bio-skel-eq{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}.dj-bio-skel-info{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px 16px 0}.dj-bio-skel-line{height:14px;border-radius:7px}.dj-bio-skel-title{position:absolute;bottom:calc(100% + 18px);left:16px;width:58%;height:32px;border-radius:10px}.dj-bio-skel-socials{display:flex;gap:10px;margin-top:8px}.dj-bio-skel-dot{flex:none;width:36px;height:36px;border-radius:50%}.dj-bio-skel-chips,.dj-bio-skel-row{display:flex;gap:8px;padding-inline:var(--dj-skel-gutter);overflow:hidden}.dj-bio-skel-chips{margin-top:26px}.dj-bio-skel-chip{flex:none;height:36px;border-radius:18px}.dj-bio-skel-section{width:92px;margin:28px var(--dj-skel-gutter) 18px}.dj-bio-skel-row{gap:12px}.dj-bio-skel-card{flex:none;display:flex;flex-direction:column;box-sizing:border-box;width:var(--dj-skel-card-w);height:var(--dj-skel-card-h);border-radius:14px;border:1px solid rgba(255,255,255,.06)}.dj-bio-skel-media{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.dj-bio-skel-media:before{content:"";width:56%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16) 0 11%,transparent 12%),repeating-radial-gradient(circle,rgba(255,255,255,.06) 0 1px,transparent 1px 5px)}.dj-bio-skel-card-body{display:flex;flex-direction:column;justify-content:center;gap:8px;height:64px;padding:0 12px}.dj-bio-skel-card-body .dj-bio-skel-line{height:11px;background:var(--dj-skel-sheen)}@media(min-width:760px){.dj-bio-skeleton{--dj-skel-gutter: 28px;--dj-skel-card-w: 240px;--dj-skel-card-h: 310px;padding-top:28px}.dj-bio-skel-artist{grid-template-columns:200px minmax(0,1fr);align-items:center;gap:28px;margin-inline:var(--dj-skel-gutter);padding:24px;border-radius:32px;border:1px solid rgba(255,255,255,.07);background:#ffffff08}.dj-bio-skel-photo{aspect-ratio:1;border-radius:36px}.dj-bio-skel-eq{top:50%}.dj-bio-skel-info{padding:0}.dj-bio-skel-title{position:relative;bottom:auto;left:auto;width:42%;height:38px;margin-bottom:8px}}@media(min-width:1080px){.dj-bio-skeleton{--dj-skel-gutter: 40px;--dj-skel-card-w: 280px;--dj-skel-card-h: 360px;padding-top:58px}.dj-bio-skel-artist{grid-template-columns:260px minmax(0,1fr);gap:36px;padding:29px}.dj-bio-skel-photo{border-radius:44px}}@media(prefers-reduced-motion:reduce){.dj-bio-skeleton,.dj-bio-skeleton:before,.dj-bio-skel-b:after,.dj-bio-skel-eq span{animation:none}.dj-bio-skel-eq span{transform:scaleY(.5)}}.dj-bio-offline-click-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:9998;display:flex;align-items:center;gap:6px;padding:8px 18px;border-radius:20px;background:#ef4444e0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:13px;font-weight:600;white-space:nowrap;pointer-events:none;animation:dj-bio-bar-in .25s ease-out}@keyframes dj-bio-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}}.dj-bio-link-shake{animation:dj-bio-shake .5s ease-in-out}@keyframes dj-bio-retry-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
