@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--cream:#fff7eb;--muted:#ccb8a4;--gold:#f9c36d;--saffron:#ff8c33;--stroke:rgba(255,201,124,.19);--panel:rgba(31,17,12,.93);--base:#1b100b;--player-h:108px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--base);font-family:'DM Sans',system-ui,sans-serif;color:var(--cream);min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #ffbd66;outline-offset:3px}a{color:inherit;text-decoration:none}button{transition:background .18s,transform .18s,border-color .18s}button:hover{transform:translateY(-1px)}.page-background,.background-dim{position:fixed;inset:0;pointer-events:none}.page-background{z-index:-3;background-image:url('assets/hanuman.webp');background-size:cover;background-position:center 34%;filter:blur(2px) saturate(.92);transform:scale(1.04);transition:background-image .2s}.background-dim{z-index:-2;background:linear-gradient(180deg,rgba(13,7,6,.78),rgba(21,10,8,.87) 33%,rgba(19,10,8,.92)),linear-gradient(90deg,rgba(0,0,0,.55),transparent)}
.site-header{height:75px;max-width:1230px;padding:0 28px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px;font:700 18px 'Outfit',sans-serif;white-space:nowrap}.brand strong{color:var(--gold)}.brand small{display:block;font:500 10px 'DM Sans',sans-serif;letter-spacing:.075em;color:var(--muted);margin-top:3px}.brand-mark{width:40px;height:40px;border-radius:13px;background:linear-gradient(150deg,#edab51,#7f290c);display:grid;place-items:center;font-size:24px;box-shadow:0 0 28px rgba(251,131,49,.23)}.top-right{display:flex;gap:13px;align-items:center}.community,.clock{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--stroke);background:rgba(33,15,9,.72);padding:8px 12px;border-radius:99px;font-size:11px;color:var(--muted)}.community b{font-size:12px;color:var(--cream)}.live-dot{width:7px;height:7px;background:#fb8c2c;border-radius:50%;box-shadow:0 0 0 4px rgba(251,140,44,.13)}.clock{color:var(--cream);font-variant-numeric:tabular-nums}.shell{max-width:1200px;padding:7px 28px calc(var(--player-h) + 92px);margin:0 auto}.welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:6px 0 18px}.kicker,.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--gold)}.kicker{margin:0 0 8px}.welcome h1{font:700 clamp(25px,3.3vw,38px)/1.12 'Outfit',sans-serif;letter-spacing:-.025em;margin:0}.welcome h1 em{font-style:normal;color:var(--gold)}.welcome p:last-child{font-size:13px;color:var(--muted);margin:8px 0 0}.day-pill{border:1px solid rgba(251,186,100,.27);border-radius:14px;background:rgba(69,32,15,.55);padding:10px 16px;display:flex;align-items:center;gap:10px;min-width:180px}.day-pill>span:first-child{color:var(--gold);font-size:24px}.day-pill small{display:block;color:var(--muted);font-size:10px}.day-pill strong{display:block;font-size:13px;margin-top:2px}.ticker{width:fit-content;max-width:100%;margin:0 0 17px;padding:9px 15px;border-radius:40px;background:rgba(81,40,17,.56);border:1px solid rgba(255,187,94,.19);color:#ffd396;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.featured{border:1px solid rgba(255,196,112,.25);background:linear-gradient(126deg,rgba(71,29,10,.90),rgba(35,17,13,.96) 55%,rgba(24,13,11,.95));box-shadow:0 20px 55px rgba(0,0,0,.25);border-radius:22px;padding:17px;display:grid;grid-template-columns:minmax(145px,195px) minmax(180px,1fr) minmax(235px,325px);gap:22px;align-items:center;min-height:245px}.featured-art-container{height:190px;position:relative;border-radius:15px;overflow:hidden}.featured-art-container img{width:100%;height:100%;object-fit:cover;display:block}.art-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(0,0,0,.77),transparent);padding:35px 8px 10px;text-align:center;letter-spacing:.13em;font-size:9px;font-weight:700}.featured-info{min-width:0}.featured-info h2{font:700 clamp(23px,2.5vw,32px)/1.1 'Outfit',sans-serif;margin:11px 0 7px}.featured-info p{font-size:12px;color:var(--muted);margin:0 0 8px;line-height:1.5}.featured-info .song-count{color:#f3be7d;font-size:11px}.featured-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.btn-primary,.btn-outline{border-radius:99px;border:1px solid transparent;padding:11px 17px;font-size:12px;font-weight:700;white-space:nowrap}.btn-primary{background:linear-gradient(145deg,#ff9d38,#fa7023);color:#22100a;box-shadow:0 4px 19px rgba(251,109,31,.18)}.btn-primary:hover{background:#ffae53}.btn-outline{border-color:rgba(247,193,120,.3);background:rgba(255,255,255,.045);color:var(--cream)}.btn-outline:hover{background:rgba(255,180,85,.12)}.btn-small{padding:9px 13px;font-size:11px}.video-panel{min-width:0}.video-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin-bottom:7px;gap:5px}.video-heading a{color:#f4bf81;font-size:10px}.yt-frame{position:relative;border:1px solid rgba(255,196,112,.24);border-radius:12px;overflow:hidden;background:#0b0807;height:206px;min-height:200px}.yt-frame>div,.yt-frame iframe{width:100%!important;height:100%!important;display:block;border:0}.video-caption{font-size:10px;color:var(--muted);margin-top:6px;min-height:13px}
.browse{margin-top:27px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:15px}.section-heading h2{font:700 clamp(20px,2.3vw,25px) 'Outfit',sans-serif;margin:6px 0 0}.playlist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.playlist-card{display:flex;align-items:center;gap:12px;min-width:0;text-align:left;padding:10px;background:rgba(40,22,16,.86);border:1px solid rgba(253,196,117,.13);border-radius:15px;color:var(--cream);min-height:92px}.playlist-card:hover{background:rgba(70,35,18,.95);border-color:rgba(255,190,109,.5)}.playlist-card.selected{border-color:#ffc173;background:rgba(86,39,19,.94);box-shadow:inset 0 0 0 1px rgba(255,183,86,.14)}.playlist-card img{height:70px;width:70px;object-fit:cover;border-radius:10px;flex-shrink:0}.playlist-card .card-info{min-width:0;display:flex;flex-direction:column;gap:5px}.playlist-card strong{font-size:12px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.playlist-card small{font-size:10px;color:var(--muted)}.playlist-card .today-tag{color:#ffcc85;font-size:9px;letter-spacing:.05em}.new-card{border-style:dashed;border-color:rgba(249,198,119,.36);justify-content:center;text-align:center;gap:10px;background:rgba(45,25,19,.50)}.new-card>span{font-size:29px;font-weight:300;color:var(--gold)}.storage-note{font-size:11px;color:#aa9a8a;margin:19px 0 0}
.player-bar{position:fixed;z-index:90;left:50%;bottom:14px;transform:translateX(-50%);width:min(1150px,calc(100% - 32px));min-height:var(--player-h);border:1px solid rgba(255,184,87,.32);border-radius:20px;background:rgba(24,14,11,.97);box-shadow:0 18px 55px rgba(0,0,0,.72);backdrop-filter:blur(24px);display:grid;grid-template-columns:minmax(170px,1fr) minmax(220px,1.2fr) auto;align-items:center;gap:20px;padding:12px 17px}.playing-info{display:flex;align-items:center;gap:12px;min-width:0}.playing-info img{width:65px;height:65px;object-fit:cover;border-radius:11px;flex-shrink:0}.track-meta{min-width:0;display:flex;flex-direction:column;gap:4px}.track-meta strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-meta span,.track-meta small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.track-meta small{color:#f2b876}.playback-controls{display:flex;flex-direction:column;gap:9px}.buttons-row{display:flex;justify-content:center;align-items:center;gap:11px}.player-bar button{border:0;color:#e9d2ba;background:transparent;border-radius:10px;min-width:32px;min-height:32px;font-size:19px;display:grid;place-items:center}.player-bar button:hover{color:var(--gold);background:rgba(255,189,87,.09)}.buttons-row .main-play{width:40px;height:40px;border-radius:50%;background:#fb8c32;color:#23120c;font-size:17px;box-shadow:0 2px 14px rgba(255,143,49,.26)}.buttons-row button.shuffle-active{color:#ffd087;background:rgba(250,157,58,.19)}.seek-row{display:flex;align-items:center;gap:8px}.seek-row span{font-size:10px;color:var(--muted);min-width:31px;font-variant-numeric:tabular-nums}.seek-row input{flex:1;min-width:70px;appearance:none;-webkit-appearance:none;height:5px;border-radius:50px;outline:none;cursor:pointer;background:linear-gradient(90deg,#f79c45 var(--seek,0%),rgba(255,255,255,.17) var(--seek,0%))}.seek-row input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:13px;height:13px;background:#ffba66;border-radius:50%;box-shadow:0 0 0 3px rgba(255,164,69,.19)}.seek-row input::-moz-range-thumb{width:13px;height:13px;border:0;background:#ffba66;border-radius:50%}.extra-controls{display:flex;gap:4px}.extra-controls button{font-size:17px}
.queue-panel{position:fixed;right:max(16px,calc((100vw - 1150px)/2));bottom:calc(var(--player-h) + 27px);z-index:80;width:min(415px,calc(100vw - 32px));max-height:min(510px,calc(100dvh - var(--player-h) - 65px));background:rgba(26,15,12,.98);border:1px solid rgba(255,185,94,.32);box-shadow:0 15px 55px rgba(0,0,0,.62);border-radius:17px;display:flex;flex-direction:column;overflow:hidden;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s}.queue-panel.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.queue-header{display:flex;justify-content:space-between;align-items:center;padding:16px 17px 12px;border-bottom:1px solid var(--stroke)}.queue-header h3{margin:3px 0;font:700 19px 'Outfit',sans-serif}.queue-header small{color:var(--muted);font-size:11px}.icon-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--stroke);border-radius:50%;background:rgba(255,255,255,.04);color:var(--cream)}.queue-actions{padding:10px 16px;display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--stroke)}.queue-tracks{overflow:auto;min-height:70px}.song-row{display:flex;align-items:center;gap:11px;width:100%;padding:11px 16px;border:0;border-bottom:1px solid rgba(255,255,255,.05);background:transparent;color:var(--cream);text-align:left}.song-row:hover,.song-row.active{background:rgba(254,154,52,.12)}.song-row img{width:43px;height:43px;border-radius:7px;object-fit:cover}.song-row .song-number{font-size:11px;width:15px;color:var(--muted)}.song-row .song-details{flex:1;min-width:0}.song-row strong,.song-row small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.song-row strong{font-size:12px}.song-row small{font-size:10px;color:var(--muted);margin-top:4px}.song-row .play-indicator{color:var(--gold)}.empty-songs{text-align:center;color:var(--muted);padding:30px 18px;font-size:12px;line-height:1.5}
.modal-backdrop{position:fixed;z-index:200;inset:0;background:rgba(5,4,4,.77);backdrop-filter:blur(5px);display:grid;place-items:center;padding:16px}.hidden{display:none!important}.editor{background:#261611;border:1px solid rgba(255,193,112,.26);box-shadow:0 32px 75px rgba(0,0,0,.6);border-radius:20px;padding:22px;width:min(540px,100%);max-height:calc(100dvh - 30px);overflow:auto}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.editor-header h2{font:700 24px 'Outfit',sans-serif;margin:4px 0}.editor label{font-size:12px;display:block;margin:14px 0 7px;color:#ffe2ba;font-weight:600}.required{color:#ff9c6a}.editor input,.editor select,.editor textarea{width:100%;border:1px solid rgba(255,195,116,.28);background:rgba(8,5,4,.4);border-radius:9px;color:#fff2e3;padding:11px 12px;font-size:13px}.editor textarea{resize:vertical;min-height:105px}.editor option{background:#261611}.input-help,.editor-footnote{font-size:11px;line-height:1.5;color:var(--muted)}.input-help{margin:8px 0}.form-error{color:#ffc0a8;font-size:12px;min-height:13px}.editor-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:13px}.editor-footnote{margin:16px 0 0}.toast{position:fixed;bottom:calc(var(--player-h) + 35px);left:50%;transform:translate(-50%,12px);z-index:300;pointer-events:none;background:#4b2a1b;border:1px solid rgba(255,196,107,.32);border-radius:99px;padding:9px 16px;font-size:12px;color:#ffe1ae;opacity:0;visibility:hidden;transition:.2s;text-align:center;max-width:90%}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:1050px){.featured{grid-template-columns:160px 1fr 270px;gap:15px}.featured-art-container{height:170px}.playlist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.player-bar{grid-template-columns:1fr 1.2fr;gap:10px}.extra-controls{display:none}}
@media(max-width:760px){:root{--player-h:164px}.site-header{height:68px;padding:0 16px}.top-right .clock{display:none}.community{font-size:10px;padding:8px}.brand{font-size:15px}.brand small{font-size:9px}.shell{padding:8px 16px calc(var(--player-h) + 52px)}.welcome{margin:3px 0 14px;align-items:flex-start}.welcome h1{font-size:27px}.welcome p:last-child{font-size:12px}.day-pill{min-width:0;padding:9px 10px}.day-pill>span:first-child{font-size:19px}.day-pill strong{font-size:11px}.featured{grid-template-columns:110px minmax(0,1fr);gap:13px;padding:13px;min-height:0}.featured-art-container{height:120px}.featured-info h2{font-size:24px;margin:8px 0 5px}.featured-info .song-count{font-size:10px}.featured-actions{margin-top:10px}.featured-actions button{padding:9px 12px;font-size:11px}.video-panel{grid-column:1/-1}.yt-frame{height:220px}.playlist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.playlist-card{padding:8px;gap:9px;min-height:85px}.playlist-card img{width:60px;height:65px}.playlist-card strong{font-size:11px}.playlist-card small{font-size:9px}.player-bar{bottom:calc(9px + env(safe-area-inset-bottom));width:calc(100% - 16px);padding:10px 12px;grid-template-columns:1fr auto;gap:6px 10px;border-radius:16px}.playing-info{grid-column:1/-1}.playing-info img{width:42px;height:42px;border-radius:8px}.track-meta{gap:2px}.track-meta strong{font-size:12px}.track-meta span,.track-meta small{font-size:10px}.playback-controls{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.buttons-row{justify-content:start;gap:5px}.buttons-row button{font-size:17px;min-width:28px}.buttons-row .main-play{width:35px;height:35px}.seek-row{gap:6px}.seek-row span{font-size:9px;min-width:27px}.queue-panel{bottom:calc(var(--player-h) + 20px + env(safe-area-inset-bottom));right:8px;width:calc(100% - 16px);max-height:calc(100dvh - var(--player-h) - 52px)}.toast{bottom:calc(var(--player-h) + 27px)}}
@media(max-width:440px){.welcome{display:block}.day-pill{margin-top:12px;width:fit-content}.featured{grid-template-columns:92px 1fr}.featured-art-container{height:115px}.featured-info h2{font-size:20px}.featured-info p{font-size:11px}.featured-actions{gap:6px}.featured-actions button{font-size:10px;padding:8px 10px}.playlist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.playlist-card{display:block;min-height:0}.playlist-card img{height:112px;width:100%;margin-bottom:7px}.playlist-card strong{font-size:11px}.section-heading{align-items:center}.section-heading h2{font-size:20px}.section-heading .btn-small{white-space:normal;text-align:center}.video-panel .yt-frame{height:210px}.buttons-row{gap:2px}.player-bar{padding:9px 10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
@media(max-width:360px){
 :root{--player-h:184px}
 .site-header{padding:0 10px;gap:5px}.brand{font-size:13px;gap:7px}.brand-mark{width:32px;height:32px;font-size:20px}.brand small{font-size:8px}
 .top-right{gap:3px}.community{padding:7px;font-size:0;gap:5px}.community b{font-size:12px}.live-dot{width:6px;height:6px}
 .shell{padding-inline:12px}.featured{gap:9px;padding:11px}.featured-info h2{font-size:18px}
 .featured-actions{flex-direction:column;align-items:flex-start}.featured-actions button{width:100%;text-align:center}
 .playback-controls{display:flex;flex-direction:column;gap:8px}.buttons-row{justify-content:center}.seek-row{width:100%;min-width:0}
}

/* v3 release-candidate refinements */
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ffe0a2;outline-offset:3px}
html{scroll-padding-bottom:200px}
.playlist-card:active{transform:scale(.985)}
.page-background{transition:background-image .3s ease}
.video-heading{letter-spacing:.05em}
.playlist-grid{align-items:stretch}
.queue-tracks{overscroll-behavior:contain}
@media (max-width:760px){.shell{padding-bottom:calc(200px + env(safe-area-inset-bottom))}.queue-panel{max-height:calc(100dvh - 215px - env(safe-area-inset-bottom))}.player-bar{min-height:0}.featured-actions{gap:7px}}
@media (max-width:360px){.buttons-row{gap:3px}.seek-row{min-width:0}.seek-row input{min-width:30px}}

/* Owner-selected playlist symbols */
.playlist-custom-icon{display:inline-block;margin-right:4px;font-size:0.9em}
