.hub-app{--hub-bg:#09090d;--hub-surface:#ffffff0a;--hub-surface2:#ffffff12;--hub-border:#ffffff12;--hub-border2:#ffffff1f;--hub-text:#f0f0f5;--hub-sub:#f0f0f580;--hub-sub2:#f0f0f547;--hub-red:#d71920;--hub-gold:#e2c97e;--hub-sidebar-w:240px;--hub-banner-h:156px;--hub-accent:#a78bfa;--hub-accent-2:#ff8a5b;--hub-art:none;--hub-bass:0;--hub-mid:0;--hub-treble:0;--hub-energy:0;--hub-pulse:0}.hub-app *,.hub-app :before,.hub-app :after{box-sizing:border-box}.hub-app{min-height:calc(100dvh - var(--nav-h,62px));grid-template-columns:var(--hub-sidebar-w)1fr;background:var(--hub-bg);color:var(--hub-text);font-family:var(--font-body,"Barlow Condensed","Arial Narrow",sans-serif);isolation:isolate;grid-template-rows:1fr;grid-template-areas:"sidebar main";display:grid;position:relative;overflow:hidden}.hub-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.hub-bg-art{background-image:var(--hub-art);filter:blur(calc(78px + (var(--hub-bass)*26px)))saturate(calc(1.15 + (var(--hub-energy)*.45)));opacity:calc(.08 + (var(--hub-energy)*.18));transform:scale(calc(1.02 + (var(--hub-pulse)*.08)));will-change:opacity,transform,filter;background-position:50%;background-size:cover;transition:background-image 1.6s,opacity .16s ease-out,transform .14s ease-out,filter .16s ease-out;animation:9s ease-in-out infinite alternate hubBgBreath;position:absolute;inset:-60px}.hub-bg:before{content:"";background:radial-gradient(circle at 52% 52%,var(--hub-accent)0%,transparent 56%),radial-gradient(circle at 46% 48%,var(--hub-accent-2)0%,transparent 62%);opacity:calc(.02 + (var(--hub-bass)*.12));filter:blur(calc(108px + (var(--hub-bass)*44px)));transform:scale(calc(.88 + (var(--hub-pulse)*.2)));transition:opacity .12s ease-out,transform .12s ease-out,filter .16s ease-out,background .6s;position:absolute;inset:-12%}.hub-bg-glow-a{background:radial-gradient(circle,var(--hub-accent)0%,transparent 70%);width:800px;height:800px;opacity:calc(.05 + (var(--hub-energy)*.14));filter:blur(calc(62px + (var(--hub-treble)*18px)));transform:scale(calc(.94 + (var(--hub-pulse)*.18)));border-radius:50%;transition:background .6s,opacity .14s ease-out,transform .14s ease-out,filter .14s ease-out;animation:13s ease-in-out infinite alternate hubGlowDrift;position:absolute;top:-220px;left:28%}.hub-bg-glow-b{background:radial-gradient(circle,var(--hub-accent-2)0%,transparent 70%);width:560px;height:560px;opacity:calc(.04 + (var(--hub-bass)*.2));filter:blur(calc(48px + (var(--hub-bass)*28px)));transform:scale(calc(.92 + (var(--hub-bass)*.26)));border-radius:50%;transition:background .6s,opacity .14s ease-out,transform .14s ease-out,filter .14s ease-out;animation:10s ease-in-out infinite alternate-reverse hubGlowDrift;position:absolute;bottom:-160px;right:8%}.hub-bg-noise{opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");position:absolute;inset:0}.hub-bg:after{content:"";background:linear-gradient(#09090d99 0%,#09090d61 40%,#09090dc7 100%);position:absolute;inset:0}.hub-sidebar{top:var(--nav-h,62px);height:calc(100dvh - var(--nav-h,62px));z-index:20;border-right:1px solid var(--hub-border);-webkit-backdrop-filter:blur(28px)saturate(170%);background:#09090dbf;flex-direction:column;grid-area:sidebar;align-self:start;display:flex;position:sticky;overflow:hidden}.hub-brand{border-bottom:1px solid var(--hub-border);flex-shrink:0;align-items:center;gap:11px;padding:20px 18px 15px;display:flex}.hub-brand-mark{background:linear-gradient(135deg,var(--hub-red)0%,var(--hub-gold)100%);width:36px;height:36px;font-family:var(--font-heading,"Montserrat",sans-serif);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;font-weight:900;display:flex;box-shadow:0 4px 18px #d7192061}.hub-brand-text{flex-direction:column;line-height:1;display:flex}.hub-brand-name{font-family:var(--font-heading,"Montserrat",sans-serif);letter-spacing:.09em;color:var(--hub-text);font-size:14px;font-weight:800}.hub-brand-sub{letter-spacing:.07em;text-transform:uppercase;color:var(--hub-sub2);margin-top:3px;font-size:10px;font-weight:500}.hub-nav{flex-direction:column;flex-shrink:0;gap:2px;padding:10px 8px;display:flex}.hub-nav-item{color:var(--hub-sub);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px;transition:background .18s,color .18s;display:flex;position:relative}.hub-nav-item:hover{background:var(--hub-surface2);color:var(--hub-text)}.hub-nav-item--on{color:var(--hub-text);background:#ffffff14}.hub-nav-icon{text-align:center;flex-shrink:0;width:24px;font-size:18px;line-height:1}.hub-nav-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hub-nav-label{font-family:var(--font-heading,"Montserrat",sans-serif);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1;overflow:hidden}.hub-nav-desc{color:var(--hub-sub2);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1;transition:color .18s;overflow:hidden}.hub-nav-item--on .hub-nav-desc{color:var(--hub-sub)}.hub-nav-pip{background:var(--hub-accent);width:3px;height:22px;box-shadow:0 0 12px var(--hub-accent);border-radius:3px 0 0 3px;transition:background .5s,box-shadow .5s;position:absolute;top:50%;right:0;transform:translateY(-50%)}.hub-sidebar-stats{border-top:1px solid var(--hub-border);border-bottom:1px solid var(--hub-border);flex-shrink:0;display:flex}.hub-sstat{border-right:1px solid var(--hub-border);flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 4px;display:flex}.hub-sstat:last-child{border-right:none}.hub-sstat strong{font-family:var(--font-heading,"Montserrat",sans-serif);color:var(--hub-text);font-size:14px;font-weight:800;line-height:1}.hub-sstat span{text-transform:uppercase;letter-spacing:.09em;color:var(--hub-sub2);font-size:9px;line-height:1}.hub-sstat--live strong{color:var(--hub-red);text-shadow:0 0 14px #d71920a6;animation:2s ease-in-out infinite hubLivePulse}.hub-scene{flex-shrink:0;padding:12px 14px 8px}.hub-scene-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.hub-scene-label{letter-spacing:.1em;text-transform:uppercase;color:var(--hub-sub);font-size:10px;font-weight:700}.hub-scene-all{color:var(--hub-accent);font-size:12px;text-decoration:none;transition:opacity .15s}.hub-scene-all:hover{opacity:.7}.hub-scene-avatars{flex-wrap:wrap;gap:6px;display:flex}.hub-artist{flex-shrink:0;text-decoration:none;display:block;position:relative}.hub-artist-av{width:34px;height:34px;font-size:11px;font-weight:800;font-family:var(--font-heading,"Montserrat",sans-serif);color:#ffffffe6;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.hub-artist:hover .hub-artist-av{border-color:var(--hub-accent);transform:scale(1.12)}.hub-artist-av img{object-fit:cover;width:100%;height:100%}.hub-artist--live .hub-artist-av{border-color:var(--hub-red);box-shadow:0 0 0 1px var(--hub-red),0 0 12px #d7192080}.hub-artist-livepip{background:var(--hub-red);border:1.5px solid var(--hub-bg);border-radius:50%;width:9px;height:9px;animation:2s ease-in-out infinite hubLivePulse;position:absolute;bottom:0;right:0}.hub-sidebar-np{border-top:1px solid var(--hub-border);flex-shrink:0;margin-top:auto;padding:10px 12px}.hub-np{background:var(--hub-surface2);border:1px solid var(--hub-border);border-radius:10px;align-items:center;gap:10px;min-height:52px;padding:8px 10px;display:flex}.hub-np--idle{opacity:.5;justify-content:center;gap:7px}.hub-np-cover{color:#ffffffe6;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:flex;overflow:hidden}.hub-np-cover img{object-fit:cover;width:100%;height:100%}.hub-np-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hub-np-eq{align-items:flex-end;gap:2px;height:14px;margin-bottom:2px;display:flex}.hub-np-eq-bar{background:var(--hub-accent);transform-origin:bottom;width:3px;min-height:4px;animation:hubEqBar calc(.48s + calc(var(--ei,0)*.14s))ease-in-out infinite alternate;border-radius:2px;display:block}.hub-np-eq-bar:first-child{height:8px}.hub-np-eq-bar:nth-child(2){height:14px}.hub-np-eq-bar:nth-child(3){height:10px}.hub-np-eq-bar:nth-child(4){height:6px}.hub-np-title{white-space:nowrap;text-overflow:ellipsis;color:var(--hub-text);font-size:12px;font-weight:700;line-height:1.25;overflow:hidden}.hub-np-artist{color:var(--hub-sub);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.hub-np-idle-dot{background:var(--hub-sub2);border-radius:50%;flex-shrink:0;width:7px;height:7px}.hub-np-idle-text{color:var(--hub-sub2);font-size:11px}.hub-main{z-index:1;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#ffffff1c transparent;grid-area:main;position:relative;overflow:hidden auto}.hub-main::-webkit-scrollbar{width:5px}.hub-main::-webkit-scrollbar-track{background:0 0}.hub-main::-webkit-scrollbar-thumb{background:#ffffff1c;border-radius:4px}.hub-main::-webkit-scrollbar-thumb:hover{background:#ffffff38}.hub-banner{min-height:var(--hub-banner-h);border-bottom:1px solid var(--hub-border);align-items:stretch;display:flex;position:relative;overflow:hidden}.hub-banner:before{content:"";pointer-events:none;height:2px;position:absolute;bottom:0;left:0;right:0}.hub-banner--heat:before{background:linear-gradient(90deg,var(--hub-red),var(--hub-gold)60%,transparent)}.hub-banner--charts:before{background:linear-gradient(90deg,var(--hub-gold),var(--hub-accent)60%,transparent)}.hub-banner--catalog:before{background:linear-gradient(90deg,var(--hub-accent),#ffffff40 60%,transparent)}.hub-banner-glow{background:radial-gradient(ellipse 80% 120% at 15% 60%,var(--hub-accent)0%,transparent 65%),radial-gradient(ellipse 58% 100% at 86% 40%,var(--hub-accent-2)0%,transparent 72%);opacity:calc(.05 + (var(--hub-energy)*.12));filter:saturate(calc(1 + (var(--hub-mid)*.6)));pointer-events:none;transition:background .45s,opacity .12s ease-out,filter .12s ease-out;position:absolute;inset:0}.hub-banner-inner{z-index:1;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:22px 28px;display:flex;position:relative}.hub-banner-left{flex-direction:column;gap:6px;display:flex}.hub-banner-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.hub-banner-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--hub-sub);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.hub-banner-title{font-family:var(--font-heading,"Montserrat",sans-serif);letter-spacing:-.02em;color:var(--hub-text);margin:0;font-size:clamp(22px,3.5vw,40px);font-weight:900;line-height:1.05}.hub-banner-chips{color:var(--hub-sub);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.hub-banner-waves{align-items:flex-end;gap:3px;height:64px;padding:0 2px;display:flex}.hub-wave-bar{background:#ffffff24;border-radius:3px;flex-shrink:0;width:3px;height:12px;transition:background .4s;display:block}.hub-wave-bar--on{background:linear-gradient(180deg,var(--hub-accent-2),var(--hub-accent));animation:hubWaveBar calc(.44s + calc(var(--bi,0)*25ms))ease-in-out infinite alternate;box-shadow:0 0 10px #ffffff14}.hub-wave-bar--sync{height:var(--wave-h,20px);opacity:var(--wave-o,.82);transition:height .11s ease-out,opacity .11s ease-out,background .25s,box-shadow .25s;animation:none}.hub-board-tabs,.hub-period-tabs{border:1px solid var(--hub-border);background:#ffffff0a;border-radius:10px;gap:3px;padding:3px;display:flex}.hub-board-tab,.hub-period-tab{color:var(--hub-sub);letter-spacing:.04em;cursor:pointer;font-size:12px;font-weight:700;font-family:var(--font-heading,"Montserrat",sans-serif);white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:6px 13px;transition:background .18s,color .18s}.hub-board-tab:hover,.hub-period-tab:hover{color:var(--hub-text)}.hub-board-tab--on,.hub-period-tab--on{color:var(--hub-text);background:#ffffff1a;box-shadow:inset 0 1px #ffffff0f}.hub-search-box{border:1px solid var(--hub-border2);background:#ffffff12;border-radius:10px;align-items:center;gap:8px;min-width:220px;padding:8px 14px;transition:border-color .2s,background .2s;display:flex}.hub-search-box:focus-within{border-color:var(--hub-accent);background:#ffffff17}.hub-search-box svg{color:var(--hub-sub);flex-shrink:0;transition:color .2s}.hub-search-box:focus-within svg{color:var(--hub-accent)}.hub-search-input{color:var(--hub-text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:13px}.hub-search-input::placeholder{color:var(--hub-sub2)}.hub-loading{color:var(--hub-sub);justify-content:center;align-items:center;gap:6px;padding:64px 28px;font-size:13px;display:flex}.hub-loading-bar{background:var(--hub-accent);transform-origin:bottom;width:4px;min-height:6px;animation:hubEqBar calc(.48s + calc(var(--ei,0)*.14s))ease-in-out infinite alternate;border-radius:3px;display:block}.hub-loading-bar:first-child{height:14px}.hub-loading-bar:nth-child(2){height:24px}.hub-loading-bar:nth-child(3){height:18px}.hub-loading-bar:nth-child(4){height:10px}.hub-content{flex-direction:column;gap:20px;padding:20px 24px 48px;display:flex}.hub-filter-rail{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hub-chip{border:1px solid var(--hub-border2);background:var(--hub-surface);color:var(--hub-sub);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:600;font-family:var(--font-heading,"Montserrat",sans-serif);letter-spacing:.04em;border-radius:20px;padding:5px 14px;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}.hub-chip:hover{background:var(--hub-surface2);color:var(--hub-text);border-color:#fff3}.hub-chip--on{background:var(--cc,var(--hub-accent));color:#fff;box-shadow:0 0 14px color-mix(in srgb,var(--cc,var(--hub-accent))45%,transparent);border-color:#0000}.hub-live-dot{background:var(--hub-red);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s ease-in-out infinite hubLivePulse;display:inline-block}.hub-live-pill{color:#ff7070;letter-spacing:.06em;background:#d7192024;border:1px solid #d7192047;border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.hub-live-strip{background:#d719200d;border:1px solid #d7192021;border-radius:14px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.hub-live-strip-label{letter-spacing:.08em;text-transform:uppercase;color:#ff7070;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.hub-live-strip-scroll{scrollbar-width:none;gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.hub-live-strip-scroll::-webkit-scrollbar{display:none}.hub-live-node{background:#ffffff08;border:1px solid #d7192029;border-radius:10px;flex-shrink:0;align-items:center;gap:9px;padding:8px 12px;text-decoration:none;transition:background .18s,border-color .18s,transform .2s;display:flex}.hub-live-node:hover{background:#d7192017;border-color:#d7192057;transform:translateY(-1px)}.hub-live-node-av{color:#ff7070;width:32px;height:32px;font-size:11px;font-weight:800;font-family:var(--font-heading,"Montserrat",sans-serif);background:#d719202e;border:2px solid #d7192073;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hub-live-node-body{flex-direction:column;gap:2px;display:flex}.hub-live-node-name{color:var(--hub-text);white-space:nowrap;font-size:12px;font-weight:700}.hub-live-node-meta{color:var(--hub-sub);white-space:nowrap;font-size:10px}.hub-live-badge{background:var(--hub-red);color:#fff;letter-spacing:.1em;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 7px;font-size:9px;font-weight:800;display:inline-flex;box-shadow:0 2px 10px #d7192066}.hub-heat-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.hub-panel{border:1px solid var(--hub-border);-webkit-backdrop-filter:blur(12px);background:#ffffff07;border-radius:16px;overflow:hidden}.hub-panel--stretch{flex:1}.hub-panel-head{border-bottom:1px solid var(--hub-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.hub-panel-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--hub-sub);font-size:10px;font-weight:700;line-height:1}.hub-panel-title{font-family:var(--font-heading,"Montserrat",sans-serif);color:var(--hub-text);margin-top:3px;font-size:15px;font-weight:800;line-height:1.2}.hub-panel-count{color:var(--hub-sub);font-size:12px;font-weight:600}.hub-empty{text-align:center;color:var(--hub-sub2);padding:30px 20px;font-size:13px}.hub-track-list{flex-direction:column;display:flex}.hub-track{border-bottom:1px solid var(--hub-border);align-items:center;gap:10px;padding:8px 14px;transition:background .14s;display:flex;position:relative}.hub-track:last-child{border-bottom:none}.hub-track:before{content:"";background:var(--tc,transparent);opacity:0;border-radius:0 3px 3px 0;width:3px;transition:opacity .2s;position:absolute;top:8px;bottom:8px;left:0}.hub-track:hover:before{opacity:.65}.hub-track:hover{background:#ffffff08}.hub-track--exp{background:#ffffff0d!important}.hub-track-num{width:28px;color:var(--hub-sub2);text-align:center;font-size:12px;font-weight:700;font-family:var(--font-heading,"Montserrat",sans-serif);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.hub-track-art{color:#ffffffd9;width:38px;height:38px;font-size:12px;font-weight:800;font-family:var(--font-heading,"Montserrat",sans-serif);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:flex;overflow:hidden}.hub-track:hover .hub-track-art{transform:scale(1.07)}.hub-track-art img{object-fit:cover;width:100%;height:100%}.hub-track-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.hub-track-title{color:var(--hub-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1.25;overflow:hidden}.hub-track-sub{color:var(--hub-sub);flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;line-height:1.2;display:flex}.hub-track-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.hub-dot{color:var(--hub-sub2);-webkit-user-select:none;user-select:none}.hub-score{font-family:var(--font-heading,"Montserrat",sans-serif);color:var(--hub-sub);white-space:nowrap;text-align:right;min-width:36px;font-size:13px;font-weight:800}.hub-delta{color:var(--hub-sub2);letter-spacing:.02em;font-size:9px;font-weight:700;line-height:1}.hub-delta--up{color:#4ade80}.hub-delta--dn{color:#f87171}.hub-delta--new{color:var(--hub-gold);letter-spacing:.07em;font-size:8px}.hub-scorebar{background:#ffffff12;border-radius:3px;height:3px;margin-top:4px;overflow:hidden}.hub-scorebar-fill{background:var(--sc,var(--hub-accent));height:100%;box-shadow:0 0 8px color-mix(in srgb,var(--sc,var(--hub-accent))55%,transparent);border-radius:3px;transition:width .7s cubic-bezier(.4,0,.2,1)}.hub-preview{border-radius:8px;margin-top:8px;overflow:hidden}.hub-badge{color:var(--hub-sub);letter-spacing:.04em;white-space:nowrap;background:#ffffff12;border:1px solid #ffffff1a;border-radius:5px;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.hub-badge--red{color:#ff7070;background:#d7192029;border-color:#d7192047}.hub-badge--gold{color:var(--hub-gold);background:#e2c97e21;border-color:#e2c97e47}.hub-play{border:1px solid var(--hub-border2);width:28px;height:28px;color:var(--hub-sub);cursor:pointer;background:#ffffff12;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:flex}.hub-play:hover{color:var(--hub-text);background:#ffffff21;transform:scale(1.1)}.hub-play--on{background:var(--hub-accent);color:#fff;box-shadow:0 0 14px color-mix(in srgb,var(--hub-accent)50%,transparent);border-color:#0000}.hub-play--on:hover{background:var(--hub-accent);filter:brightness(1.14)}.hub-primary-btn{background:var(--hub-accent);color:#fff;font-size:13px;font-weight:700;font-family:var(--font-heading,"Montserrat",sans-serif);letter-spacing:.04em;cursor:pointer;box-shadow:0 4px 16px color-mix(in srgb,var(--hub-accent)35%,transparent);white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 18px;transition:filter .18s,transform .18s,box-shadow .18s;display:inline-flex}.hub-primary-btn:hover{filter:brightness(1.12);box-shadow:0 6px 22px color-mix(in srgb,var(--hub-accent)45%,transparent);transform:translateY(-1px)}.hub-primary-btn:active{transform:scale(.97)}.hub-ghost-btn{border:1px solid var(--hub-border2);color:var(--hub-sub);font-size:12px;font-weight:700;font-family:var(--font-heading,"Montserrat",sans-serif);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:#ffffff0d;border-radius:8px;align-items:center;gap:6px;padding:7px 15px;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.hub-ghost-btn:hover{color:var(--hub-text);background:#ffffff1a;border-color:#fff3}.hub-btn-xs{border:1px solid var(--hub-border);color:var(--hub-sub);font-size:10px;font-weight:700;font-family:var(--font-heading,"Montserrat",sans-serif);letter-spacing:.05em;cursor:pointer;white-space:nowrap;background:#ffffff0a;border-radius:6px;align-items:center;padding:4px 10px;transition:background .15s,color .15s;display:inline-flex}.hub-btn-xs:hover{color:var(--hub-text);background:#ffffff17}.hub-podium{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.hub-podium-card{border:1px solid var(--hub-border);background:#ffffff08;border-radius:18px;flex-direction:column;gap:10px;padding:18px;transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.hub-podium-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.hub-podium-card:hover{transform:translateY(-3px);box-shadow:0 10px 36px #00000073}.hub-podium-card--1{background:linear-gradient(155deg,#e2c97e17 0%,#ffffff05 100%);border-color:#e2c97e4d}.hub-podium-card--1:before{background:linear-gradient(90deg,var(--hub-gold),#e2c97e40)}.hub-podium-card--2{background:linear-gradient(155deg,#c0c0d20f 0%,#ffffff05 100%);border-color:#c0c0d238}.hub-podium-card--2:before{background:linear-gradient(90deg,#c0c0d2,#c0c0d240)}.hub-podium-card--3{background:linear-gradient(155deg,#cd7f320f 0%,#ffffff05 100%);border-color:#cd7f3238}.hub-podium-card--3:before{background:linear-gradient(90deg,#cd7f32,#cd7f3240)}.hub-podium-medal{font-size:26px;line-height:1}.hub-podium-art{color:#ffffffe6;width:68px;height:68px;font-size:20px;font-weight:900;font-family:var(--font-heading,"Montserrat",sans-serif);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.hub-podium-art img{object-fit:cover;width:100%;height:100%}.hub-podium-info{flex:1;min-width:0}.hub-podium-title{font-family:var(--font-heading,"Montserrat",sans-serif);color:var(--hub-text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:15px;font-weight:800;line-height:1.2;overflow:hidden}.hub-podium-artist{color:var(--hub-sub);white-space:nowrap;text-overflow:ellipsis;margin-bottom:7px;font-size:12px;overflow:hidden}.hub-podium-tags{flex-wrap:wrap;gap:5px;display:flex}.hub-podium-scores{border-top:1px solid var(--hub-border);border-bottom:1px solid var(--hub-border);gap:10px;padding:9px 0;display:flex}.hub-pscore{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.hub-pscore strong{font-family:var(--font-heading,"Montserrat",sans-serif);color:var(--hub-text);font-size:15px;font-weight:800;line-height:1}.hub-pscore span{text-transform:uppercase;letter-spacing:.09em;color:var(--hub-sub2);font-size:9px}.hub-podium-actions{flex-wrap:wrap;gap:7px;display:flex}.hub-charts-layout{grid-template-columns:1fr 275px;align-items:start;gap:16px;display:grid}.hub-charts-aside{flex-direction:column;gap:14px;display:flex;position:sticky;top:16px}.hub-leader-list{flex-direction:column;display:flex}.hub-leader{border-bottom:1px solid var(--hub-border);align-items:center;gap:10px;padding:9px 16px;transition:background .14s;display:flex}.hub-leader:last-child{border-bottom:none}.hub-leader:hover{background:#ffffff08}.hub-leader--lg{padding:11px 18px}.hub-leader-rank{width:22px;font-family:var(--font-heading,"Montserrat",sans-serif);color:var(--hub-sub2);text-align:center;flex-shrink:0;font-size:13px;font-weight:800}.hub-leader-av{background:var(--hub-surface2);border:1px solid var(--hub-border);width:32px;height:32px;color:var(--hub-sub);font-size:11px;font-weight:800;font-family:var(--font-heading,"Montserrat",sans-serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hub-leader-av--lg{width:40px;height:40px;font-size:13px}.hub-leader-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hub-leader-title-row{align-items:center;gap:7px;display:flex}.hub-leader-name{color:var(--hub-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.hub-leader-meta{color:var(--hub-sub);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.hub-scout-me{background:#e2c97e12;border-bottom:1px solid #e2c97e24;flex-direction:column;gap:3px;padding:10px 16px;display:flex}.hub-scout-me strong{font-family:var(--font-heading,"Montserrat",sans-serif);color:var(--hub-gold);font-size:15px;font-weight:800}.hub-scout-me span{color:var(--hub-sub);font-size:11px}.hub-catalog-toolbar{flex-wrap:wrap;gap:8px;display:flex}.hub-spotlight{border:1px solid var(--hub-border2);background:linear-gradient(135deg,#ffffff0a 0%,#ffffff04 100%);border-radius:18px;align-items:flex-start;gap:22px;padding:20px;display:flex;position:relative;overflow:hidden}.hub-spotlight-art{color:#ffffffe6;width:124px;height:124px;font-size:30px;font-weight:900;font-family:var(--font-heading,"Montserrat",sans-serif);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hub-spotlight-art img{object-fit:cover;width:100%;height:100%}.hub-spotlight-glow{background:radial-gradient(circle at 50% 120%,var(--hub-accent)0%,transparent 70%);opacity:.28;mix-blend-mode:screen;position:absolute;inset:0}.hub-spotlight-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.hub-spotlight-title{font-family:var(--font-heading,"Montserrat",sans-serif);color:var(--hub-text);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(18px,2.8vw,28px);font-weight:900;line-height:1.1;overflow:hidden}.hub-spotlight-artist{color:var(--hub-sub);font-size:14px}.hub-spotlight-tags{flex-wrap:wrap;gap:6px;display:flex}.hub-spotlight-stats{border-top:1px solid var(--hub-border);border-bottom:1px solid var(--hub-border);flex-wrap:wrap;gap:20px;padding:10px 0;display:flex}.hub-spotlight-actions{flex-wrap:wrap;gap:8px;display:flex}.hub-catalog-list{flex-direction:column;display:flex}.hub-catalog-row{border-bottom:1px solid var(--hub-border);align-items:center;gap:11px;padding:9px 16px;transition:background .14s;display:flex;position:relative}.hub-catalog-row:before{content:"";background:var(--tc,transparent);opacity:0;border-radius:0 3px 3px 0;width:3px;transition:opacity .2s;position:absolute;top:8px;bottom:8px;left:0}.hub-catalog-row:hover:before{opacity:.65}.hub-catalog-row:last-child{border-bottom:none}.hub-catalog-row:hover{background:#ffffff08}.hub-catalog-row--exp{background:#ffffff0d!important}.hub-catalog-art{color:#ffffffd9;width:40px;height:40px;font-size:12px;font-weight:800;font-family:var(--font-heading,"Montserrat",sans-serif);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.hub-catalog-art img{object-fit:cover;width:100%;height:100%}.hub-catalog-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.hub-toast{z-index:9000;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);color:var(--hub-text);white-space:nowrap;pointer-events:none;background:#14141ef5;border:1px solid #ffffff24;border-radius:30px;align-items:center;gap:9px;padding:11px 22px;font-size:13px;font-weight:600;animation:.32s cubic-bezier(.34,1.56,.64,1) forwards hubToastIn;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #000000a6}.hub-toast-check{background:var(--hub-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:flex}.hub-mobile-nav{display:none}@keyframes hubWaveBar{0%{opacity:.55;height:4px}35%{opacity:1;height:30px}65%{opacity:.8;height:16px}to{opacity:1;height:44px}}@keyframes hubEqBar{0%{transform:scaleY(.38)}to{transform:scaleY(1.18)}}@keyframes hubLivePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@keyframes hubBgBreath{0%{opacity:.09;transform:scale(1)}to{opacity:.15;transform:scale(1.06)}}@keyframes hubGlowDrift{0%{transform:translate(0)scale(1)}to{transform:translate(48px,36px)scale(1.14)}}@keyframes hubToastIn{0%{opacity:0;transform:translate(-50%,18px)scale(.94)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (max-width:1200px){.hub-app{--hub-sidebar-w:200px}.hub-charts-layout{grid-template-columns:1fr 240px}}@media (max-width:900px){.hub-app{--hub-sidebar-w:60px}.hub-brand-text,.hub-nav-text,.hub-nav-pip,.hub-sidebar-stats,.hub-scene,.hub-np-body,.hub-brand-sub{display:none}.hub-brand{justify-content:center;padding:16px 0}.hub-nav-item{justify-content:center;padding:12px 0}.hub-nav-icon{width:auto;font-size:20px}.hub-np{justify-content:center}.hub-np-cover{width:30px;height:30px}.hub-heat-cols,.hub-podium,.hub-charts-layout{grid-template-columns:1fr}.hub-charts-aside{position:static}}@media (max-width:640px){.hub-app{--hub-sidebar-w:0px;grid-template:"main"1fr/1fr;padding-bottom:60px}.hub-sidebar{display:none}.hub-mobile-nav{z-index:100;-webkit-backdrop-filter:blur(22px)saturate(160%);border-top:1px solid var(--hub-border);padding-bottom:env(safe-area-inset-bottom,0);background:#0a0a0ef0;align-items:stretch;height:60px;display:flex;position:fixed;bottom:0;left:0;right:0}.hub-mobile-tab{color:var(--hub-sub2);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 4px;transition:color .18s;display:flex}.hub-mobile-tab--on{color:var(--hub-accent)}.hub-mobile-tab-icon{font-size:20px;line-height:1}.hub-mobile-tab-label{letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700;line-height:1;font-family:var(--font-heading,"Montserrat",sans-serif)}.hub-banner-inner{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.hub-banner-title{font-size:26px}.hub-banner-right{flex-wrap:wrap;width:100%}.hub-banner-waves{height:44px}.hub-content{padding:14px 14px 32px}.hub-heat-cols,.hub-podium,.hub-charts-layout{grid-template-columns:1fr}.hub-charts-aside{position:static}.hub-spotlight{flex-direction:column}.hub-spotlight-art{width:100%;height:160px}.hub-search-box{flex:1;min-width:0}.hub-toast{white-space:normal;text-align:center;justify-content:center;max-width:calc(100vw - 32px);bottom:70px}}@media (prefers-reduced-motion:reduce){.hub-wave-bar--on,.hub-np-eq-bar,.hub-loading-bar,.hub-live-dot,.hub-artist-livepip,.hub-sstat--live strong,.hub-bg-art,.hub-bg-glow-a,.hub-bg-glow-b{transition:none!important;animation:none!important}.hub-wave-bar--on{opacity:.8;height:20px}.hub-np-eq-bar{transform:scaleY(1)}}
