:root{--ink:#090705;--cream:#f2dfb5;--muted:#b8a88b;--gold:#d5a84b;--red:#8e2019;--green:#2c6a45}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#050403;color:var(--cream);font-family:"DM Mono",monospace}body{overflow-x:hidden}
button,input{font:inherit}button{cursor:pointer}.world{min-height:100vh;position:relative;overflow:hidden;background:#080604}
.noise{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.vignette{position:fixed;inset:0;z-index:70;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,#000b 100%)}
.topbar{position:absolute;z-index:30;top:0;left:0;right:0;padding:22px 30px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:linear-gradient(#030201dd,transparent)}
.brand-name{font-family:"Libre Baskerville",serif;font-size:clamp(26px,3vw,46px);letter-spacing:2px;color:#f4dfb1;text-shadow:2px 2px #4a1b12}.brand-sub{font-family:"Libre Baskerville",serif;font-size:clamp(15px,1.5vw,24px);letter-spacing:5px;color:#b9d28d}.tagline{font-family:"Noto Sans Devanagari",sans-serif;font-size:14px;color:#e5bc64;margin-top:5px}
.presence{border:1px solid #88785c99;background:#0d0b09cc;border-radius:28px;padding:10px 16px;min-width:250px;color:#f5e5c2;box-shadow:0 8px 30px #0008}.dot,.playing-dot{display:inline-block;width:9px;height:9px;background:#48e22f;border-radius:50%;margin-right:8px;box-shadow:0 0 10px #48e22f}.presence small{display:block;color:#c7b693;margin-top:6px;font-size:10px}.top-actions{display:flex;gap:8px}.top-actions button{width:40px;height:40px;border-radius:50%;border:1px solid #7d6d54;background:#100d0a;color:#f0ddb8}
.scene{position:relative;height:min(79vh,850px);min-height:590px;overflow:hidden;background:#080706}.sky{position:absolute;inset:0;background:linear-gradient(#060504 0%,#17110b 45%,#090705 100%)}.shop-image{position:absolute;inset:-3%;background:url("assets/paan-shop-hero.png") center 45%/cover no-repeat;filter:saturate(.88) contrast(1.06);transition:transform .15s ease-out}.far{position:absolute;inset:0;z-index:2;pointer-events:none}.wire{position:absolute;height:1px;background:#07060688;box-shadow:0 0 2px #eee2;transform-origin:left}.wire1{width:80%;left:-4%;top:19%;transform:rotate(4deg)}.wire2{width:75%;right:-10%;top:27%;transform:rotate(-3deg)}
.light-haze{position:absolute;z-index:4;inset:15% 10% 5%;pointer-events:none;background:radial-gradient(ellipse at 50% 24%,#ffd77a2b,transparent 38%),radial-gradient(ellipse at 60% 55%,#e69c3020,transparent 30%);mix-blend-mode:screen;animation:haze 7s ease-in-out infinite}
.tube-flicker{position:absolute;z-index:8;left:28%;right:28%;top:17%;height:2px;background:#ffe8a4;box-shadow:0 0 18px 7px #ffcf6a99;animation:flicker 11s infinite}
.tv-glow{position:absolute;z-index:7;right:17%;top:30%;width:16%;height:20%;background:#d4ad5a2b;filter:blur(15px);animation:tv 3.7s infinite}
.tv-scanlines{position:absolute;z-index:9;right:17%;top:30%;width:16%;height:20%;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#fff2 4px);opacity:.08;mix-blend-mode:screen}
.speaker-pulse{position:absolute;z-index:7;right:12%;top:36%;width:12%;height:23%;border-radius:50%;box-shadow:0 0 0 0 #d7a84c00;animation:pulse 1.9s infinite;pointer-events:none}
.hotspot{position:absolute;z-index:12;border-radius:20px}.sign-hotspot{left:21%;right:22%;top:8%;height:23%}.counter-hotspot{left:20%;right:24%;bottom:9%;height:27%}.tv-hotspot{right:17%;top:29%;width:18%;height:23%}.speaker-hotspot{right:10%;top:35%;width:15%;height:27%}
.hotspot:hover{outline:1px solid #f2d28c33;background:#f2d28c09}
.shop-copy{position:absolute;z-index:13;left:32px;bottom:25%;display:flex;gap:10px;align-items:center}.shop-status{padding:7px 10px;border:1px solid #d5a84b66;background:#0b0907b8;color:#d9b15e;font-size:10px;border-radius:5px}.shop-caption{font-family:"Noto Sans Devanagari",sans-serif;color:#e6d1a4;font-size:11px;text-shadow:1px 1px #000}
.floating-note{position:absolute;z-index:15;padding:8px 12px;border-radius:7px;background:#bd8335;color:#241609;box-shadow:0 5px 20px #0007;font-family:"Noto Sans Devanagari",sans-serif;font-weight:700;opacity:.9}.note-1{left:4%;top:43%;transform:rotate(-4deg);animation:float 4s ease-in-out infinite}.note-2{right:4%;top:54%;transform:rotate(3deg);animation:float 4s 1.2s ease-in-out infinite}.note-3{left:10%;bottom:16%;transform:rotate(2deg);animation:float 5s 2s ease-in-out infinite}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes flicker{0%,89%,91%,94%,100%{opacity:1}90%,93%{opacity:.15}}@keyframes tv{0%,100%{opacity:.65}48%{opacity:.95}50%{opacity:.35}52%{opacity:.8}}@keyframes pulse{0%{box-shadow:0 0 0 0 #d7a84c00}35%{box-shadow:0 0 0 14px #d7a84c16}70%{box-shadow:0 0 0 28px #d7a84c00}}
.player{position:absolute;z-index:25;left:28px;bottom:69px;width:min(570px,45vw);padding:18px 20px;background:linear-gradient(145deg,#181512,#080706);border:1px solid #6f604b;border-radius:12px;box-shadow:0 20px 60px #000b,inset 0 1px #fff1}.player-label{font-size:12px;color:#e2c47c;letter-spacing:1px}.player-label #playerStatus{color:#7f735f;font-size:9px}.track-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.track-row h1{font-family:"Libre Baskerville",serif;font-size:clamp(18px,2vw,28px);margin:12px 0 3px;color:#f2d9a0}.track-row p{margin:0;color:#b8a789;font-size:12px}
.cassette{width:150px;height:70px;border:2px solid #5e523e;border-radius:8px;background:linear-gradient(#3a3328,#111);display:flex;align-items:center;justify-content:space-around;box-shadow:inset 0 0 20px #000}.cassette span{width:34px;height:34px;border-radius:50%;border:5px dotted #c1ad80;background:#211e18}.player.playing .cassette span{animation:reel .9s linear infinite}@keyframes reel{to{rotate:360deg}}
.progress{height:5px;background:#403a2f;margin-top:14px;border-radius:8px;overflow:hidden}.progress span{display:block;width:32%;height:100%;background:#d4a84c;transition:width .2s}.time{display:flex;justify-content:space-between;font-size:10px;color:#9e927e;margin-top:5px}.controls{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:10px}.controls button{height:42px;min-width:62px;background:#191611;border:1px solid #62553f;color:#e9d6ac;border-radius:7px}.controls .play{background:#d2a750;color:#19120b;border-color:#f0d48a;font-size:17px}
.actions{position:absolute;z-index:26;right:28px;bottom:76px;display:flex;gap:12px}.actions button{min-width:190px;padding:14px 18px;text-align:left;background:#15110de8;color:#e8d6ad;border:1px solid #705d3d;border-radius:9px;box-shadow:0 12px 30px #0008;transition:.2s}.actions button:hover{translate:0 -2px;border-color:#d5a84b}.actions .icon{float:left;font-size:24px;margin-right:10px}.actions strong{display:block;color:#d9b45f;font-size:14px}.actions small{display:block;color:#b7aa92;margin-top:3px}
.ticker{position:absolute;z-index:28;left:30px;right:30px;bottom:15px;height:34px;background:#dfc188;color:#21170d;border-radius:20px;overflow:hidden;padding:0 18px;font-family:"Noto Sans Devanagari",sans-serif;font-size:12px}.ticker #tickerInner{height:100%;display:flex;align-items:center;gap:50px;white-space:nowrap;animation:marquee 34s linear infinite}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-55%)}}
footer{position:absolute;z-index:30;bottom:0;left:0;right:0;height:15px;background:#080706;color:#887a62;font-size:9px;padding:0 30px;display:flex;justify-content:space-between;align-items:center}
dialog{border:0;padding:0;background:transparent;color:var(--cream);width:min(760px,92vw)}dialog::backdrop{background:#000c;backdrop-filter:blur(7px)}.modal-card{position:relative;background:linear-gradient(145deg,#1b1711,#0d0b08);border:1px solid #766344;border-radius:14px;padding:28px;box-shadow:0 30px 100px #000}.close{position:absolute;right:15px;top:10px;border:0;background:none;color:#cbb995;font-size:28px}.eyebrow{color:#d4a84c;font-size:11px;letter-spacing:2px}.modal-card h2{font-family:"Libre Baskerville",serif;font-size:28px;color:#f0d6a0;margin-top:6px}.tabs{display:flex;gap:7px;overflow:auto;padding-bottom:10px}.tabs button{border:1px solid #554935;background:#12100d;color:#ad9e84;border-radius:20px;padding:8px 12px;white-space:nowrap}.tabs .active{background:#d0a34b;color:#1c140b}.song-list{display:grid;gap:7px;margin-top:12px}.song{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#14110d;border:1px solid #332b20;border-radius:8px}.song button{border:0;background:#d0a34b;color:#1b130b;border-radius:50%;width:32px;height:32px}.song small{color:#93866f}.legal-note{font-size:10px;color:#8f826c;margin-top:18px;line-height:1.5}.paan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.paan-grid button{padding:14px;background:#12100d;border:1px solid #4f432f;border-radius:8px;color:#e7d3aa;text-align:left}.paan-grid b{float:right;color:#d7aa4e}.big-cta{width:100%;margin-top:14px;padding:14px;background:#d1a54e;color:#1b130b;border:0;border-radius:8px;font-weight:700}.reply{margin-top:12px;padding:12px;background:#0e0c09;border-radius:8px;color:#cdbd9e;min-height:42px}input{width:100%;padding:14px;background:#0c0a08;border:1px solid #594a35;color:#f1dfbb;border-radius:8px;outline:none}.hindi{font-family:"Noto Sans Devanagari",sans-serif;color:#e3bd69;font-size:20px}
@media(max-width:900px){.topbar{padding:14px 15px}.brand-name{font-size:25px}.brand-sub{font-size:12px;letter-spacing:3px}.tagline{font-size:11px}.presence{min-width:auto;padding:8px 10px;font-size:10px}.presence small,.top-actions{display:none}.scene{height:67vh;min-height:480px}.shop-image{background-position:center top}.shop-copy{left:15px;bottom:28%}.player{left:12px;right:12px;bottom:118px;width:auto;padding:13px 14px}.cassette{width:92px;height:50px}.cassette span{width:23px;height:23px;border-width:3px}.track-row h1{font-size:17px}.track-row p{font-size:9px}.controls button{min-width:52px;height:36px}.actions{left:12px;right:12px;bottom:54px;gap:7px}.actions button{min-width:0;flex:1;padding:10px 8px}.actions button strong{font-size:10px}.actions button small{font-size:8px}.actions .icon{font-size:18px}.ticker{left:12px;right:12px;bottom:15px;font-size:9px;height:29px}.ticker #tickerInner{gap:30px}.ticker span:nth-child(n+3){display:none}footer{display:none}.sign-hotspot{left:8%;right:8%;top:8%;height:22%}.counter-hotspot{left:8%;right:8%;bottom:13%;height:25%}.tv-hotspot{right:20%;top:29%;width:25%;height:20%}.speaker-hotspot{right:8%;top:38%;width:18%;height:20%}.note-3{display:none}}

.radio-badge{position:absolute;z-index:27;right:31px;top:108px;padding:8px 12px;border:1px solid #6f5d3e;background:#0b0907dd;border-radius:20px;color:#d7b25e;font-size:9px;letter-spacing:1px;box-shadow:0 8px 25px #0008}.radio-badge b{color:#d7d0bd;margin-left:7px}
.radio-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e2392d;box-shadow:0 0 10px #e2392d;margin-right:5px;animation:radio 1.4s infinite}@keyframes radio{50%{opacity:.25}}
.request-pop{position:absolute;z-index:29;right:31px;top:151px;display:flex;gap:9px;align-items:center;padding:9px 12px;border:1px solid #4e432f;background:#0d0a08e8;border-radius:9px;color:#cdbd9f;font-size:9px;opacity:0;transform:translateY(-7px);transition:.35s}.request-pop.show{opacity:1;transform:translateY(0)}.request-pop span{font-size:18px;color:#d5a84b}.request-pop b{color:#f0d8a4}.request-pop strong{color:#d5a84b}
.now-live{margin-top:12px;border:1px solid #3b3327;background:#0e0c09;padding:10px;border-radius:8px;color:#9f927c;font-size:10px}.now-live .dot{width:7px;height:7px;margin-right:4px}
@media(max-width:900px){.radio-badge{top:90px;right:12px;font-size:7px;padding:6px 8px}.radio-badge b{display:none}.request-pop{right:12px;top:125px;font-size:8px}.now-live{font-size:9px}}

.yt-shell{position:relative;margin:10px 0 8px;width:100%;height:78px;border:1px solid #5d4e38;background:#0a0907;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.yt-shell #yt-player{width:138px;height:78px;flex:0 0 138px}.yt-help{flex:1;padding:0 12px;color:#a99b82;font-size:9px;text-transform:uppercase;letter-spacing:.6px}.yt-shell.ready .yt-help{color:#d4b86f}.yt-shell.playing .yt-help{color:#7ec76b}.yt-shell.error .yt-help{color:#df8e77}
@media(max-width:900px){.yt-shell{height:68px}.yt-shell #yt-player{width:120px;height:68px}.yt-help{font-size:8px}}
/* V7 — living paan shop layer */
.fm-meter{position:absolute;z-index:28;left:30px;bottom:24px;display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid #8d7651aa;background:#0b0907d9;border-radius:7px;backdrop-filter:blur(4px);font-size:9px;color:#cdb88d}.meter-bars{display:flex;align-items:flex-end;gap:2px;height:15px}.meter-bars i{display:block;width:3px;background:#d5a84b;height:4px;animation:meter .72s ease-in-out infinite alternate}.meter-bars i:nth-child(2){animation-delay:.1s}.meter-bars i:nth-child(3){animation-delay:.22s}.meter-bars i:nth-child(4){animation-delay:.34s}.meter-bars i:nth-child(5){animation-delay:.46s}.meter-bars i:nth-child(6){animation-delay:.18s}@keyframes meter{to{height:15px}}
.shop-activity{position:absolute;z-index:28;left:30px;top:44%;max-width:235px;padding:9px 12px;border-left:2px solid #d5a84b;background:#0b0907d9;color:#cdbd9f;font-size:9px;opacity:0;transform:translateX(-10px);transition:.4s;pointer-events:none}.shop-activity.show{opacity:1;transform:translateX(0)}.shop-activity b{color:#f0d8a4}
.music-react .speaker-pulse{animation:speaker 1.2s ease-in-out infinite}.music-react .tv-glow{animation:tv .9s infinite}.music-react .tube-flicker{animation:flicker 6s infinite}
.live-chip{display:inline-flex;align-items:center;gap:6px;margin-top:7px;color:#9d927d;font-size:8px}.live-chip .mini-dot{width:6px;height:6px;border-radius:50%;background:#e2392d;box-shadow:0 0 8px #e2392d}
.song.current{border-color:#9b7839;background:#1b140c}.song.current button{background:#d5a84b;color:#090705}.song .song-state{font-size:8px;color:#d5a84b;margin-left:7px}
.request-history{margin-top:12px;border-top:1px solid #493d2d;padding-top:10px}.request-history h3{font-size:9px;letter-spacing:1px;color:#8e816d;margin:0 0 7px}.req-line{display:flex;justify-content:space-between;gap:8px;padding:5px 0;color:#b9aa91;font-size:8px;border-bottom:1px dashed #342c22}.req-line b{color:#d5a84b}.share-row{display:flex;gap:8px;margin-top:10px}.share-row button{flex:1;border:1px solid #554733;background:#100d0a;color:#cdbb98;padding:9px;border-radius:7px;font-size:8px}
@media(max-width:900px){.fm-meter{left:12px;bottom:15px}.shop-activity{left:12px;top:48%;max-width:205px}.radio-badge{top:90px}.request-pop{top:125px}}

/* V7.1 — jukebox polish */
.song-main{display:flex;align-items:center;gap:10px;min-width:0}.song-no{display:grid;place-items:center;width:27px;height:27px;border:1px solid #4a3d2b;border-radius:6px;color:#8f8168;font:500 9px "DM Mono",monospace;flex:0 0 auto}.song-mood{display:inline-block;margin-left:7px;padding:2px 5px;border:1px solid #554630;border-radius:10px;color:#b9985b;font-size:7px;letter-spacing:.4px;vertical-align:2px}.song b{color:#e6d3ad}.song.current .song-no{border-color:#b4883e;color:#e2b65d}.queue-note{display:inline-block;margin-top:6px;color:#756a58;font-size:8px}.yt-open{margin-top:6px;padding:5px 8px;border:1px solid #6c5838;background:#17110b;color:#e3c176;border-radius:5px;font:500 8px "DM Mono",monospace}.shop-mini{display:inline-block;margin-left:7px;color:#b18a4a;font:500 7px "DM Mono",monospace;letter-spacing:.7px}.tabs button{font-size:9px}.song{transition:.18s ease}.song:hover{border-color:#735c37;transform:translateY(-1px)}

/* V7.2 — minimisable music player */
.player-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.player-toggle{width:28px;height:28px;flex:0 0 28px;border:1px solid #6f604b;border-radius:6px;background:#110e0b;color:#e5cf9d;font:700 16px/1 monospace;cursor:pointer}.player-toggle:hover{border-color:#d5a84b;color:#f0d48a}.player.minimized{width:min(430px,42vw);padding:9px 11px;left:28px;bottom:69px;border-radius:24px;background:linear-gradient(145deg,#181512f5,#080706f5);backdrop-filter:blur(8px);box-shadow:0 12px 35px #000a}.player.minimized .player-label{font-size:9px;margin:0}.player.minimized .player-label .playing-dot{width:7px;height:7px;margin-right:5px}.player.minimized .player-toggle{width:26px;height:26px;flex-basis:26px}.player.minimized .yt-shell,.player.minimized .progress,.player.minimized .time,.player.minimized .cassette{display:none}.player.minimized .track-row{gap:8px;align-items:center}.player.minimized .track-row h1{font-size:13px;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player.minimized .track-row p{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player.minimized .controls{margin:3px 0 0;gap:4px;justify-content:flex-end}.player.minimized .controls button{height:28px;min-width:38px;border-radius:6px;font-size:11px}.player.minimized .controls .play{font-size:13px}.player.minimized .track-row>div:first-child{min-width:0;flex:1}.player.minimized #listBtn{display:none}.player.minimized .player-label #playerStatus{font-size:7px}
@media(max-width:900px){.player.minimized{left:12px;right:12px;bottom:54px;width:auto;padding:8px 10px}.player.minimized .track-row h1{font-size:12px}.player.minimized .controls button{min-width:36px;height:27px}.player.minimized .player-toggle{width:25px;height:25px;flex-basis:25px}}
