/* VIRAZO: light, tactile surfaces with a floating glass playback dock. */
:root{--bg:#f5f5f7;--surface:#fff;--ink:#202126;--muted:#656872;--border:#e5e5eb;--accent:#0068db;--accent-ink:#005bc0;--accent-soft:#eaf2ff;--music:#6549b9;--music-soft:#f1edfb;--hover:#ededf2;--glass:rgba(255,255,255,.87);--glass-border:rgba(255,255,255,.95);--glass-shadow:0 12px 40px #1d23431a,0 2px 8px #1d234309}
:root[data-theme=dark]{--bg:#141419;--surface:#202127;--ink:#f5f5f8;--muted:#acafbb;--border:#383942;--accent:#78b7ff;--accent-ink:#9acaff;--accent-soft:#253449;--music:#c5b4ff;--music-soft:#322b47;--hover:#2b2c34;--glass:rgba(35,36,45,.89);--glass-border:rgba(255,255,255,.15);--glass-shadow:0 14px 42px #0005,0 2px 10px #0002}
/* Hide the visual bar only: native scrolling, keyboard scrolling and zoom remain available. */
*,*::before,*::after{scrollbar-width:none}*::-webkit-scrollbar{display:none;width:0;height:0}
.site-header{background:var(--glass);border-color:var(--border);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%)}.header-actions>.theme-switch{width:62px;min-width:62px;height:38px;padding:3px;border:1px solid var(--border);border-radius:24px;background:var(--hover);position:relative;display:flex;justify-content:space-between;align-items:center;isolation:isolate}.theme-switch::before{content:'';position:absolute;left:3px;top:3px;width:30px;height:30px;border-radius:50%;background:var(--surface);box-shadow:0 2px 6px #20203020;z-index:-1;transition:transform 260ms var(--ease)}.theme-switch>svg{width:19px;height:19px;margin:0 3px;color:var(--muted)}.theme-switch>svg:first-child{color:#986010}.theme-switch>svg:last-child{color:#666ab3}:root[data-theme=dark] .theme-switch::before{transform:translateX(24px)}.theme-switch{direction:ltr}.theme-switch:active svg{transform:none}.theme-switch:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.search-box{border-radius:19px;background:var(--surface)}.content-card,.article-panel{border-color:color-mix(in srgb,var(--border) 75%,transparent)}.topics{scroll-snap-type:x proximity;scroll-padding-inline:16px}.topics a{scroll-snap-align:start;border-radius:22px}.topic-wrap{position:relative}.topic-wrap::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg),transparent 18px,transparent calc(100% - 18px),var(--bg))}.mobile-nav{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));height:58px;border:1px solid var(--glass-border);border-radius:25px;background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);padding:3px 8px}.mobile-nav a{min-height:48px;min-width:0;flex:1;border-radius:19px}.mobile-nav a.active::before{display:none}.mobile-nav a.active{background:var(--accent-soft);color:var(--accent-ink)}.mobile-nav a svg{width:21px;height:21px}.mobile-nav a span{font-size:10px}.public-body{padding-bottom:calc(95px + env(safe-area-inset-bottom))}
/* Keep blur on a backdrop layer. The queue itself must remain positioned against the viewport. */
.glass-player{isolation:isolate;position:fixed;bottom:calc(77px + env(safe-area-inset-bottom));left:10px;right:10px;max-width:1040px;margin-inline:auto;border:1px solid var(--glass-border);border-radius:26px;padding:10px 12px 7px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--glass-shadow);animation:glass-appear 220ms var(--ease);overflow:visible}
.glass-player::after{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);pointer-events:none;box-shadow:inset 0 1px 0 #ffffff70}
.glass-player::before{display:none}.glass-player .player-inner{display:grid;grid-template-columns:44px minmax(0,1fr) auto 44px;gap:3px 8px;align-items:center;max-width:none}.glass-player .player-cover{grid-column:1;grid-row:1;width:44px;height:44px;border-radius:13px;object-fit:cover;outline:none;box-shadow:0 3px 9px #2020301a}.glass-player .player-track{grid-column:2;grid-row:1;min-width:0;width:auto;overflow:hidden}.glass-player .player-track strong{font-size:12px;line-height:1.8}.glass-player .player-track>span{font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.glass-player .player-track .equalizer{display:none!important}.glass-player .player-controls{grid-column:3;grid-row:1;gap:2px}.glass-player .player-controls>.icon-button,.glass-player .play-main{width:44px;min-width:44px;height:44px;min-height:44px;border-radius:50%}.glass-player .player-controls .previous{display:none}.glass-player .play-main{color:var(--ink);background:var(--hover);box-shadow:none;position:relative}.glass-player .play-main:hover{background:var(--music-soft)}.glass-player .play-main:active{transform:scale(.94)}.glass-player.is-playing .play-main{color:var(--music);background:var(--music-soft)}.glass-player .player-controls svg{width:20px;height:20px}.glass-player .queue{grid-column:4;grid-row:1;display:block;position:static}.glass-player .queue>summary{width:44px;min-width:44px;height:44px;border-radius:50%;list-style:none;background:transparent}.glass-player .queue>summary::-webkit-details-marker{display:none}.glass-player .queue[open]>summary{color:var(--accent-ink);background:var(--accent-soft)}.glass-player .player-timeline{grid-column:1/-1;grid-row:2;gap:8px;font-size:10px;line-height:1.2;color:var(--muted);padding-inline:3px;min-width:0;min-height:26px}.glass-player .player-timeline span{min-width:28px;text-align:center}.glass-player #player-seek{appearance:none;-webkit-appearance:none;height:26px;min-height:26px;margin:0;background:transparent;cursor:pointer;--track-progress:calc(var(--progress,0)*100%)}.glass-player #player-seek::-webkit-slider-runnable-track{height:4px;border-radius:10px;background:linear-gradient(to right,var(--music) var(--track-progress),color-mix(in srgb,var(--ink) 12%,transparent) var(--track-progress))}.glass-player #player-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;background:var(--music);box-shadow:0 1px 4px #20203020}.glass-player #player-seek::-moz-range-track{height:4px;border-radius:10px;background:color-mix(in srgb,var(--ink) 12%,transparent)}.glass-player #player-seek::-moz-range-progress{height:4px;background:var(--music);border-radius:10px}.glass-player #player-seek::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--music)}.glass-player .player-volume{display:none}
.glass-player .queue-panel{position:fixed;bottom:calc(185px + env(safe-area-inset-bottom));left:10px;right:10px;max-width:520px;width:auto;margin-inline:auto;max-height:min(50vh,420px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--glass-border);border-radius:26px;background:var(--glass);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);padding:14px 16px;box-shadow:var(--glass-shadow);animation:glass-appear 180ms var(--ease);color:var(--ink)}.queue-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:14px}.queue-heading .icon-button{width:44px;height:44px;min-width:44px;background:var(--hover);border-radius:50%}.glass-player .queue-options{gap:5px}.glass-player .queue-options .icon-button{width:44px;min-width:44px;height:44px;border-radius:14px}.glass-player .queue-options select{background:var(--surface);border:1px solid var(--border);border-radius:12px;height:44px;font-size:12px;max-width:180px}.glass-player #player-queue{max-height:240px;overflow:auto;overscroll-behavior:contain}.glass-player #player-queue button{display:block;width:100%;text-align:right;min-height:48px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);font-size:12px;line-height:1.8;padding:10px;border-radius:12px;overflow-wrap:anywhere}.glass-player #player-queue button.active{background:var(--music-soft);color:var(--music)}.glass-player #player-close{width:100%;margin-top:12px;min-height:44px;border-radius:15px}.glass-player.is-buffering .play-main::after{content:'';position:absolute;inset:3px;border:2px solid transparent;border-top-color:var(--music);border-radius:50%;animation:buffer-turn 800ms linear infinite;pointer-events:none}.glass-player.is-buffering .equalizer i{animation-play-state:paused}.has-player.public-body{padding-bottom:calc(205px + env(safe-area-inset-bottom))}.has-player .toast{bottom:calc(190px + env(safe-area-inset-bottom))}
@media(min-width:560px){.glass-player .player-controls .previous{display:inline-flex}.glass-player .player-track strong{font-size:13px}}
@media(min-width:900px){.public-body{padding-bottom:20px}.has-player.public-body{padding-bottom:130px}.glass-player{left:24px;right:24px;bottom:18px;padding:12px 18px;border-radius:27px}.glass-player .player-inner{grid-template-columns:50px minmax(120px,180px) auto minmax(140px,1fr) 95px 44px;gap:12px}.glass-player .player-cover{width:50px;height:50px}.glass-player .player-timeline{grid-column:4;grid-row:1;padding:0}.glass-player .player-volume{display:flex;grid-column:5;grid-row:1;gap:4px;max-width:95px}.glass-player .player-volume input{width:65px}.glass-player .queue{grid-column:6}.glass-player .queue-panel{bottom:112px;left:auto;right:max(24px,calc((100vw - 1040px)/2));width:400px;max-height:65vh}.glass-player .queue-previous{display:none}.has-player .toast{bottom:120px}}
@media(max-width:359px){.glass-player{left:7px;right:7px;padding-inline:9px}.glass-player .player-inner{grid-template-columns:38px minmax(0,1fr) auto 44px;gap:3px 4px}.glass-player .player-cover{width:38px;height:38px}.glass-player .player-track strong{font-size:11px}.glass-player .player-controls{gap:0}.header-inner{gap:6px}.header-actions{gap:3px}.header-actions>.theme-switch{width:62px;min-width:62px}.brand small{font-size:8px}.glass-player .queue-panel{padding:12px}.glass-player .queue-options{gap:2px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-player::after,.glass-player .queue-panel,.mobile-nav,.site-header{background:var(--surface)}}
@media(prefers-reduced-transparency:reduce){.glass-player::after,.glass-player .queue-panel,.mobile-nav,.site-header{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
@keyframes glass-appear{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes buffer-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.glass-player,.glass-player .queue-panel,.theme-switch::before,.glass-player .play-main,.glass-player.is-buffering .play-main::after{animation:none;transition:none;transform:none}}
.music-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 28px;padding:5px;background:var(--hover);border-radius:18px;max-width:480px}.music-tabs a{white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:7px;flex:1;padding:10px 12px;font-size:12px;border-radius:14px;min-height:44px}.music-tabs a.active{background:var(--surface);box-shadow:0 2px 6px #2020300a;color:var(--accent-ink)}.artists-section{margin-block:22px 28px}.artist-rail{display:flex;gap:18px;overflow-x:auto;padding:8px 2px 15px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}.artist-chip{display:flex;align-items:center;flex-direction:column;text-align:center;min-width:100px;max-width:100px;gap:7px;scroll-snap-align:start}.artist-avatar{width:76px;height:76px;border-radius:50%;background:var(--music-soft);color:var(--music);display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--music) 12%,transparent);box-shadow:inset 0 1px 0 #ffffff70;flex-shrink:0}.artist-chip strong{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist-chip small{font-size:10px;color:var(--muted)}.artist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.artist-tile{background:var(--surface);border:1px solid var(--border);padding:22px 12px;text-align:center;border-radius:24px}.artist-tile .artist-avatar{margin:auto}.artist-tile h2{font-size:15px;line-height:1.9;margin:14px 0 4px;overflow-wrap:anywhere}.artist-tile p{font-size:12px;color:var(--muted)}.artist-tile .button{font-size:11px;min-height:44px}.artist-hero{display:flex;align-items:center;gap:24px;background:var(--surface);border:1px solid var(--border);padding:30px;border-radius:27px;margin-bottom:30px}.artist-hero>.artist-avatar{width:110px;height:110px}.artist-hero h1{font-size:28px;margin:7px 0}.artist-hero p{font-size:13px;color:var(--muted);margin-top:0}.artist-hero small{display:block;font-size:11px;color:var(--muted);margin-top:15px}.follow-button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.follow-button[aria-pressed=true]>svg{display:none}.music-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:23px;margin-bottom:28px;align-items:end}.music-filters>div:first-child{grid-column:1/-1}.music-filters label{display:block;font-size:12px;margin-bottom:7px;color:var(--muted)}.music-filters input,.music-filters select{width:100%;min-width:0;min-height:46px;border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:13px;padding:8px 10px;font-size:16px}.music-filters>.button{min-height:46px;grid-column:1/-1}.taste-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;align-items:center;border-top:1px solid var(--border);padding-top:15px}.taste-actions .button,.taste-actions>a{font-size:11px;min-height:44px}.taste-actions small{font-size:10px;color:var(--muted);width:100%}.song-facts{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;margin-top:16px}.song-facts a,.song-facts>span{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:6px 12px}.genre-options{border:1px solid var(--border);border-radius:14px;margin-block:20px;padding:12px;display:flex;flex-wrap:wrap;gap:10px}.genre-options legend{font-size:12px;color:var(--muted)}.genre-options .check-label{font-size:12px;margin:0;min-height:36px}.app-links{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center}.app-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:12px}.notification-panel{padding:25px;background:var(--surface);border:1px solid var(--border);border-radius:24px;max-width:700px}.notification-panel p{font-size:14px;color:var(--muted);line-height:2}.notification-panel .check-label{display:flex;align-items:center;gap:10px;font-size:14px;min-height:44px}.notification-panel input[type=radio]{width:20px;height:20px;accent-color:var(--accent)}.notification-panel .actions{flex-wrap:wrap;margin-top:20px}.notification-panel small{display:block;color:var(--muted);font-size:12px;line-height:2;margin-top:16px}.install-help{padding:18px;background:var(--bg);border-radius:17px;margin-top:20px}.install-help h2{font-size:16px}.install-help ol{font-size:13px;line-height:2.3;padding-inline-start:20px}.push-status{padding:12px 15px;background:var(--accent-soft);color:var(--accent-ink);border-radius:13px;font-size:13px;margin-top:18px}.notification-panel [hidden]{display:none!important}
@media(min-width:640px){.artist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.music-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.music-filters>div:first-child{grid-column:span 2}.music-filters>.button{grid-column:auto}}
@media(min-width:1000px){.artist-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.music-filters{grid-template-columns:2fr 1fr 1.5fr 1fr 1fr auto}.music-filters>div:first-child{grid-column:auto}}
@media(max-width:559px){.artist-hero{padding:23px 20px;flex-direction:column;text-align:center;gap:16px}.artist-hero h1{font-size:25px}.artist-hero .actions{justify-content:center;flex-wrap:wrap}.artist-hero>.artist-avatar{width:95px;height:95px}.artist-rail{gap:9px}.artist-chip{min-width:88px;max-width:88px}.artist-avatar{width:68px;height:68px}.music-tabs a{font-size:11px;padding-inline:8px}.artist-tile h2{font-size:13px}.notification-panel{padding:20px}}

.song-name{font-size:23px!important;font-weight:700;color:var(--ink)!important;line-height:1.8!important;margin-block:8px!important}
/* One scroll surface in the queue; the close control stays visible. */
.glass-player .queue[open] .queue-panel{display:flex;flex-direction:column;overflow:hidden;max-height:min(60dvh,480px,calc(100dvh - 205px))}.glass-player .queue-heading,.glass-player .queue-options,.glass-player #player-close{flex-shrink:0}.glass-player #player-queue{flex:1;min-height:0;max-height:none;overflow-y:auto}.glass-player #player-close{margin-top:10px}
@media(max-height:500px) and (max-width:899px){.glass-player .queue[open] .queue-panel{top:10px;bottom:calc(77px + env(safe-area-inset-bottom));max-height:calc(100dvh - 95px)}.glass-player .queue-heading{margin-bottom:3px}.glass-player .queue-options{padding-bottom:5px;margin-bottom:5px}}
