@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Bengali:wght@400;500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--cream:#f7e6c2;--gold:#e4bc70;--dim:#b8bcaa}*{box-sizing:border-box}body{margin:0;background:#11251f;color:var(--cream);font-family:'DM Sans',sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}button:focus-visible,a:focus-visible,label:focus-within,input:focus-visible{outline:2px solid #ffce7a;outline-offset:5px}button:hover{color:#fff}button{transition:background .2s,transform .2s,color .2s}button:active{transform:scale(.96)}.world{height:100svh;min-height:700px;position:relative;overflow:hidden;isolation:isolate}.scene{position:absolute;inset:-2%;background:url('para-headquarters.png') center 56%/cover;transition:filter 1.5s,transform 1s;z-index:-5;will-change:transform}.shade{position:absolute;inset:0;z-index:-4;background:linear-gradient(180deg,rgba(4,20,22,.6),rgba(8,21,22,.28) 30%,transparent 48%,rgba(3,15,15,.2) 66%,#071613 100%)}#weather{position:absolute;inset:0;z-index:-2;pointer-events:none}.grain{pointer-events:none;position:absolute;inset:0;z-index:8;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}header{display:flex;justify-content:space-between;align-items:center;padding:30px 42px}.brand{font-size:15px;letter-spacing:2px;font-weight:700;text-decoration:none;color:var(--cream)}.brand span{color:var(--gold);margin:0 5px}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:2.5px;margin-top:9px}.top-tools{display:flex;gap:22px;align-items:center;font-size:11px}.top-tools button{border:1px solid #ffffff30;border-radius:30px;padding:8px 12px;background:#0c28254f}.clock{letter-spacing:1px;color:#d5d8cb}.intro{text-align:center;position:relative;padding:20px 20px 0;pointer-events:none}.eyebrow{font-size:12px;letter-spacing:2px;color:#e8d9b9}.eyebrow span{display:inline-block;background:#e9c481;width:27px;height:1px;vertical-align:middle;margin:0 13px}h1{font-family:'Noto Serif Bengali',serif;font-weight:800;font-size:clamp(68px,7.5vw,116px);line-height:1.15;letter-spacing:-4px;margin:24px 0 3px;text-shadow:0 5px 35px #0008}h1 em{font-style:normal;color:#f0c87d}h1 b{color:#f0c87d;font-size:.7em}.subtitle{font-size:13px;letter-spacing:.7px;color:#e0ddcd;margin:16px 0 25px}.moods{display:inline-flex;border:1px solid #fce4ac38;border-radius:40px;padding:5px;background:#10221ed1;backdrop-filter:blur(14px);pointer-events:auto;gap:2px}.moods button{border-radius:30px;padding:9px 18px;font-family:'Noto Serif Bengali',serif;font-size:12px;color:#e1dac6}.moods button.active{background:#eed3a0;color:#26362c;box-shadow:0 2px 12px #0003}.spot{position:absolute;display:flex;gap:12px;align-items:center;text-align:left}.tea{left:15%;top:57%}.window{left:78%;top:29%}.record{right:11%;top:60%}.pin{display:grid;place-items:center;border:1px solid #efd8acb3;background:#eed4a227;backdrop-filter:blur(5px);width:32px;height:32px;border-radius:50%;font-size:23px;box-shadow:0 0 0 6px #efd8ac12;animation:pulse 3s infinite}.tag{font-family:'Noto Serif Bengali';font-size:16px;text-shadow:0 2px 8px #000;opacity:.88}.tag small{display:block;font:8px 'DM Sans';letter-spacing:1.5px;margin-top:5px}.spot:hover .pin{background:var(--cream);color:#16352d}.spot:hover .tag{opacity:1}.window .tag{max-width:145px}.steam{position:absolute;left:23%;top:58%;width:22px;height:65px;background:linear-gradient(0deg,#fff5,transparent);filter:blur(9px);border-radius:50%;animation:steam 5s infinite;pointer-events:none}.s2{animation-delay:-2.5s;left:24%}.fireflies i{position:absolute;left:46%;top:52%;width:3px;height:3px;border-radius:100%;background:#ffc969;box-shadow:0 0 12px #fbd571;animation:drift 10s infinite}.fireflies i:nth-child(2){left:72%;top:70%;animation-delay:-5s}.fireflies i:nth-child(3){left:27%;top:40%;animation-delay:-3s}.corner{position:absolute;bottom:184px;left:42px;font-size:9px;letter-spacing:2px}.corner p{font-family:'Noto Serif Bengali';font-size:17px;letter-spacing:0;margin:10px 0;color:#e9dfc5}.live-dot{display:inline-block;width:5px;height:5px;background:#d5b77b;border-radius:50%;margin-right:7px}.player{position:absolute;bottom:58px;width:min(740px,calc(100% - 48px));left:50%;transform:translateX(-50%);border:1px solid #d6c29555;border-radius:17px;background:linear-gradient(120deg,#213a31ee,#102920f5);box-shadow:0 15px 70px #0007,inset 0 1px #ffefc820;backdrop-filter:blur(22px)}.player-main{display:flex;align-items:center;gap:17px;padding:17px 19px 14px}.album{width:54px;height:54px;background:linear-gradient(145deg,#dfb66c,#65522f);border-radius:9px;display:grid;place-items:center;position:relative;flex-shrink:0;border:1px solid #e3c085}.album>span{font:26px 'Noto Serif Bengali';color:#21352b}.track{flex:1;min-width:0}.overline{font-size:8px;letter-spacing:1.5px;color:#c9b98f}.track h2{font:500 19px 'Noto Serif Bengali';margin:5px 0 1px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.track p{margin:0;font-size:10px;color:#aab9ab}.controls{display:flex;align-items:center;gap:13px}.controls button{font-size:15px}.controls #play{background:#f1d29b;border-radius:50%;width:45px;height:45px;color:#18362b;font-size:18px;box-shadow:0 0 20px #edcb8920}.volume{display:flex;align-items:center;gap:8px}.volume input{width:65px;accent-color:#d8bc86;height:3px}.queue-btn{font-size:25px;margin-left:3px}.player-bottom{border-top:1px solid #ffffff12;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;font-size:9px;color:#c4cbb7}.player-bottom button{font-size:10px}.hint{font-size:9px;color:#9da996}.upload{cursor:pointer;color:#e8d8b3}.upload input{display:none}.eq{display:none;position:absolute;bottom:5px;right:5px;gap:2px;align-items:end}.eq b{height:7px;width:2px;background:#21372e;animation:bars .8s infinite alternate}.eq b:nth-child(2){animation-delay:-.3s;height:12px}.eq b:nth-child(3){animation-delay:-.6s}.playing .eq{display:flex}footer{position:absolute;bottom:22px;left:42px;right:42px;display:flex;justify-content:space-between;letter-spacing:1.5px;font-size:8px;color:#9da894}footer i{font-size:14px;color:var(--gold);margin:0 12px}.queue{position:absolute;bottom:194px;right:max(24px,calc((100% - 740px)/2));width:340px;background:#132d25f5;backdrop-filter:blur(24px);border:1px solid #dbc18a50;border-radius:16px;padding:24px;box-shadow:0 20px 80px #0008;z-index:20}.queue-head{display:flex;justify-content:space-between}.queue-head small{font-size:8px;letter-spacing:2px;color:var(--gold)}.queue-head h2{font:23px 'Noto Serif Bengali';margin:9px 0 14px}.queue-head button{font-size:25px;align-self:start}.queue-item{display:flex;gap:13px;align-items:center;text-align:left;width:100%;border-top:1px solid #ffffff12;padding:13px 0}.queue-item b{font:16px 'Noto Serif Bengali';display:block}.queue-item small{color:#aebbab;font-size:9px}.queue-item>span{font-size:10px;color:var(--gold)}.queue>p{font-size:10px;line-height:1.8;color:#acb7a6;margin-bottom:0}dialog{color:var(--cream);background:#173429;border:1px solid #e5c58a66;border-radius:18px;padding:38px;max-width:440px;width:calc(100% - 30px);box-shadow:0 30px 100px #0008}dialog::backdrop{background:#00140dc9;backdrop-filter:blur(8px)}dialog>button:first-child{float:right;font-size:25px}dialog h2{font:36px 'Noto Serif Bengali';line-height:1.6}dialog p{font-size:13px;line-height:1.9;color:#c4cbb7}dialog .eyebrow{font-size:9px;color:var(--gold)}.enter{background:#e9ca91;color:#1b352a;padding:13px 23px;border-radius:30px;margin-top:10px;font-family:'Noto Serif Bengali'}.still *{animation:none!important}.night .scene{filter:brightness(.7) saturate(.8)}@keyframes pulse{50%{box-shadow:0 0 0 11px #efd8ac03}}@keyframes steam{0%{transform:translate(0,0) scale(.6);opacity:0}30%{opacity:.5}100%{transform:translate(12px,-65px) scale(1.5);opacity:0}}@keyframes drift{50%{transform:translate(25px,-35px);opacity:.2}}@keyframes bars{to{height:3px}}
@media(min-width:1500px){.intro{padding-top:42px}.player{bottom:70px}.corner{bottom:200px}}@media(max-width:760px){.world{min-height:700px}.scene{background-position:45% center}header{padding:22px}.brand{font-size:11px;letter-spacing:1px}.brand small{font-size:6px;letter-spacing:1.2px}.clock{display:none}.top-tools{gap:8px}.top-tools button{padding:7px 9px}.top-tools button span{display:none}.intro{padding:24px 12px 0}h1{font-size:75px;letter-spacing:-3px;margin-top:28px}.subtitle{font-size:10px;margin-bottom:22px}.eyebrow{font-size:10px}.moods{max-width:100%;padding:4px}.moods button{padding:8px 10px;font-size:10px}.spot .tag{display:none}.tea{left:16%;top:53%}.window{left:60%;top:45%}.record{right:15%;top:59%}.corner{left:24px;bottom:213px}.corner p{font-size:15px}.player{bottom:67px;width:calc(100% - 32px)}.player-main{padding:14px 12px;gap:10px}.album{width:43px;height:48px}.track h2{font-size:16px}.track p{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px}.overline{font-size:6px;letter-spacing:1px}.controls{gap:7px}.controls #play{width:37px;height:37px;font-size:15px}.controls button{font-size:12px}.volume{display:none}.queue-btn{font-size:22px}.player-bottom{padding:11px 13px}.hint{max-width:120px;text-align:center;font-size:8px}.queue{bottom:207px;width:calc(100% - 32px);right:16px;max-width:380px}footer{left:22px;right:22px;bottom:21px;font-size:6px;letter-spacing:1px;gap:20px}footer span:last-child{text-align:right}.steam{left:24%;top:58%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
/* Living neighbourhood: all motion stays anchored to the scene coordinates. */
.world{--scene-filter:brightness(.82);--actor-filter:brightness(.8);--glow:.35;--pan-x:0px;touch-action:pan-y}.scene-stage{position:absolute;left:50%;top:50%;z-index:-5;transform:translate(calc(-50% + var(--pan-x)), -50%);transition:transform 1.2s ease;pointer-events:none}.scene{inset:0;background:url('close-clear.png') center/100% 100% no-repeat;filter:var(--scene-filter);transition:filter 5s ease,background-image 2s ease;transform:none!important;z-index:0}.shopkeeper{position:absolute;left:85.5%;top:48.5%;width:13%;aspect-ratio:543/724;filter:var(--actor-filter);transition:filter 5s;z-index:2}.operator{width:100%;height:100%;background:url('operator.png') left top/400% 100% no-repeat;animation:operate-record 15s steps(1,end) infinite;filter:drop-shadow(1px 3px 3px #0004)}
@keyframes operate-record{0%,45%{background-position:0 0}50%,57%{background-position:33.333333% 0}62%,70%{background-position:66.666667% 0}76%,94%{background-position:100% 0}100%{background-position:0 0}}
.kettle-smoke{position:absolute;left:17%;top:56%;width:2.4%;height:2%;z-index:3}.kettle-smoke i{position:absolute;bottom:0;left:0;width:100%;height:360%;background:radial-gradient(ellipse,#e7e8d1aa 0%,#e7e8d12a 45%,transparent 70%);filter:blur(4px);border-radius:50%;transform-origin:center bottom;animation:kettle-rise 5.5s ease-out infinite;mix-blend-mode:screen}.kettle-smoke i:nth-child(2){animation-delay:-1.4s;left:15%}.kettle-smoke i:nth-child(3){animation-delay:-2.8s;left:-10%}.kettle-smoke i:nth-child(4){animation-delay:-4.2s}.tram-light{position:absolute;left:42.25%;top:63.1%;width:.6%;aspect-ratio:1;background:#fff4bd;border-radius:50%;box-shadow:0 0 7px 3px #ffe4a5,0 0 25px 10px #ffbf4d88;animation:tram-glimmer 9s linear infinite;opacity:var(--glow);z-index:2}.lamp{position:absolute;background:radial-gradient(ellipse,#ffcc7077,transparent 68%);mix-blend-mode:screen;opacity:var(--glow);transition:opacity 5s;pointer-events:none;width:21%;height:32%;z-index:1}.tea-lamp{left:5%;top:30%}.shop-lamp{left:78%;top:32%}.window-light{position:absolute;left:82%;top:4%;width:15%;height:22%;background:radial-gradient(ellipse,#ffbe592c,transparent 70%);opacity:var(--glow);mix-blend-mode:screen}.ground-mist{position:absolute;left:25%;top:48%;width:50%;height:35%;background:radial-gradient(ellipse,#cfdbd53b,transparent 68%);opacity:0;pointer-events:none;animation:mist-drift 16s ease-in-out infinite alternate}.world[data-weather=cold] .ground-mist,.world[data-weather=fog] .ground-mist{opacity:.6}.world[data-period=day]{--scene-filter:brightness(.96) saturate(.95);--actor-filter:brightness(.95);--glow:.24}.world[data-period=dawn]{--scene-filter:brightness(.76) sepia(.18) saturate(.83);--actor-filter:brightness(.78) sepia(.13);--glow:.65}.world[data-period=dusk]{--scene-filter:brightness(.57) sepia(.2) saturate(.88);--actor-filter:brightness(.66) sepia(.17);--glow:.9}.world[data-period=night]{--scene-filter:brightness(.37) saturate(.7) hue-rotate(7deg);--actor-filter:brightness(.48) saturate(.8);--glow:1}.world[data-weather=cloudy][data-period=day]{--scene-filter:brightness(.8) saturate(.75)}.world[data-weather=fog][data-period=day]{--scene-filter:brightness(.86) saturate(.65)}.world[data-weather=rain][data-period=day]{--scene-filter:brightness(.85) saturate(.85)}.shade{background:linear-gradient(180deg,#071a1e88,transparent 32%,transparent 66%,#061811ed 100%);z-index:-3}.world[data-period=dawn] .shade{background:linear-gradient(150deg,#b5753e35,transparent 45%),linear-gradient(180deg,#071a1e88,transparent 33%,transparent 66%,#061811ed)}.world[data-period=night] .shade{background:linear-gradient(180deg,#07182977,transparent 40%,transparent 65%,#061811ed)}.fireflies{display:none}.world[data-period=night]:not([data-weather=rain]) .fireflies{display:block}.world[data-period=day] .intro{text-shadow:0 2px 14px #061e24}.intro{padding-top:7px}h1{font-size:clamp(64px,6.4vw,94px);margin-top:18px}.subtitle{margin-bottom:18px}.local-weather{text-align:right;display:flex;flex-direction:column;gap:6px}.local-weather #weatherStatus{font-size:9px;color:#d8e3d0;letter-spacing:.35px}.local-weather .clock{font-size:11px}.corner{bottom:196px}.tea{left:16%;top:52%}.record{right:6%;top:51%}.window{left:67%;top:33%}.tag{background:#0f221b66;border-radius:7px;padding:7px 10px}.player{bottom:51px}.queue{bottom:185px}footer a{color:inherit;text-underline-offset:3px}.still .scene-stage{transition:none}.asleep *{animation-play-state:paused!important}.still .kettle-smoke{opacity:.45}
@keyframes kettle-rise{0%{opacity:0;transform:translate(0,0) scale(.4,.6)}18%{opacity:.75}60%{opacity:.4;transform:translate(-10px,-50px) scale(1.3,1.5)}100%{opacity:0;transform:translate(25px,-115px) scale(1.8,2)}}@keyframes tram-glimmer{0%,18%,29%,63%,100%{filter:brightness(1)}20%{filter:brightness(.75)}23%{filter:brightness(.92)}65%{filter:brightness(.8)}68%{filter:brightness(.95)}}@keyframes mist-drift{to{transform:translateX(30px);opacity:.3}}
@media(max-width:760px){.local-weather .clock{display:block;font-size:9px}.local-weather #weatherStatus{font-size:7px;max-width:135px}.top-tools{gap:7px}header{padding:18px 16px}.brand small{font-size:5px}.brand{font-size:9px}.intro{padding-top:20px}h1{font-size:70px;margin-top:15px}.subtitle{font-size:9px}.world{min-height:720px}.corner{bottom:205px}.player{bottom:65px}.queue{bottom:200px}.tea{left:8%;top:55%}.record{right:8%;top:55%}.window{left:50%;top:43%}.scene-stage{transition:transform 1s ease}.local-weather #weatherStatus{line-height:1.4}.player-bottom{font-size:8px}#weatherNote{max-width:110px}footer{font-size:6px;letter-spacing:.8px}}
/* Palette taken from the Hindusthan Record facade. */
:root{--cream:#fff0bf;--gold:#f3d88f;--dim:#c8d6bb;--facade:#f4e2a8;--shutter:#087567;--terracotta:#9d382b;--ink:#243e32}.brand{color:var(--facade)}.brand span{color:#d77c59}h1 em,h1 b{color:#f2d382}.moods{background:#f4e5b5f0;border:1px solid #c4805d;box-shadow:0 6px 24px #001e1940;backdrop-filter:blur(16px);padding:5px;gap:4px}.moods button{color:#305447;border-radius:22px;padding:9px 17px;min-width:118px}.moods button b{display:block;font-size:13px;font-weight:600}.moods button small{display:block;font-size:9px;margin-top:5px;opacity:.8;line-height:1.4}.moods button.active{background:#096d5d;color:#fff0c7;box-shadow:inset 0 -3px #9b3b2d,0 2px 8px #123b3030}.moods button:hover:not(.active){background:#e4cf95;color:#214938}.player{background:linear-gradient(115deg,#fbefcaef,#f0dfa8f5);border:1px solid #ae6546;box-shadow:0 16px 65px #00190c88,inset 0 3px #a4402e;color:var(--ink)}.overline{color:#7d3a27}.track p{color:#53644a}.album{background:linear-gradient(135deg,#1c8b71,#075a4e);border-color:#dcc98c}.album>span{color:#ffebaf}.eq b{background:#ffe9a3}.controls #play{background:#a64130;color:#fff0cb;box-shadow:0 3px 10px #71332330}.controls button:hover,.queue-btn:hover{color:#a64130}.controls #play:hover{background:#873426;color:#fff}.volume input{accent-color:#087567}.player-bottom{color:#53654e;border-color:#997a432f}.hint{color:#626b53}.upload{color:#8c3c29}.queue{background:#f7e9bff7;border:1px solid #a5593b;color:#214d3b;box-shadow:0 20px 80px #001a1588;max-height:calc(100svh - 215px);overflow:auto}.queue-head small{color:#963b2b}.queue-item{border-color:#49715625}.queue-item:hover{color:#9d382b}.queue-item small{color:#126b58;font-family:'Noto Serif Bengali';font-size:11px}.queue-item em{display:block;font-style:normal;color:#68745b;font-size:9px;line-height:1.7;margin-top:4px}.queue-item>span{color:#a5412f}.queue-item[aria-pressed=true]{color:#963b2b}.queue>p{color:#6b6f58;font-size:9px}.queue-head button:hover{color:#963b2b}#playlistSummary{border-left:3px solid #a64130;padding:10px 12px;background:#d4dcc048;border-radius:0 9px 9px 0;font-family:'Noto Serif Bengali'}#playlistSummary strong{font-size:14px}#playlistSummary p{font-size:11px;line-height:1.9;margin:6px 0 10px}#playlistSummary div{display:flex;flex-wrap:wrap;gap:5px}#playlistSummary span{font-size:9px;padding:5px 7px;border:1px solid #39846b45;border-radius:20px;background:#fbefcf}.pin{border-color:#efdbac;background:#0b6e5aa6;color:#fff0c6}.selected .pin{background:#a4402f;color:#fff0c6;box-shadow:0 0 0 7px #ecd79c33}.spot:hover .pin{background:#f2dfab;color:#0c6453}.tag{background:#164c3aab;color:#ffefc5;border:1px solid #e3ce9e40}.tag small{font-family:'Noto Serif Bengali';font-size:10px;letter-spacing:0}.new-voices{left:40%;top:72%}.corner{background:linear-gradient(90deg,#0f3829c9,transparent);padding:12px 16px;border-left:2px solid #be6650;border-radius:0 10px 10px 0;bottom:190px}.corner p{font-size:15px}.corner>span:last-of-type{font-family:'Noto Serif Bengali';font-size:12px;letter-spacing:0}.top-tools button{background:#14533c80;border-color:#e0cb9755}.enter{background:#a4402f;color:#fff0bf}dialog{background:#145940;border-color:#e0c78a}
@media(max-width:760px){.moods{width:calc(100% - 8px);max-width:450px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;border-radius:18px}.moods button{min-width:0;padding:9px 3px;border-radius:13px}.moods button b{font-size:10px;line-height:1.7}.moods button small{font-size:7px;line-height:1.5;margin-top:3px}.new-voices{left:46%;top:68%}.corner{left:18px;bottom:201px;padding:8px 11px;max-width:calc(100% - 36px)}.corner p{font-size:13px;margin:7px 0 0}.track p{font-size:8px}.queue-item{padding:10px 0}.queue-head h2{font-size:21px}.queue{max-height:calc(100svh - 220px)}}
/* Scene-first layout: full artwork, no vignette, small controls outside it. */
html,body{background:#f3e7c8;color:#24483c}.world{display:flex;flex-direction:column;height:100svh;min-height:520px;isolation:isolate;overflow:hidden;background:#f3e7c8;color:#24483c}.world>header{flex:0 0 auto;padding:10px 24px 5px;min-height:38px}.brand{font-size:10px;letter-spacing:1.2px;color:#216252}.brand small{display:none}.brand span{color:#9d382b}.top-tools{gap:10px}.top-tools button{color:#376550;background:none;border:0;padding:6px;font-size:12px}.top-tools button span{display:none}.local-weather{flex-direction:row;align-items:center;gap:10px}.local-weather .clock{color:#376550;font-size:9px}.local-weather #weatherStatus{color:#697461;font-size:8px}.intro{flex:0 0 auto;display:flex;justify-content:center;align-items:center;gap:28px;padding:5px 20px 9px;pointer-events:auto}.intro>.eyebrow,.intro>.subtitle{display:none}.intro h1{font-size:27px;line-height:1.3;margin:0;letter-spacing:-1px;text-shadow:none!important;color:#286452;white-space:nowrap}.intro h1 em{color:#a44432}.intro h1 b{display:none}.moods{display:flex;align-items:center;gap:20px;margin:0;padding:0;border:0;box-shadow:none;border-radius:0;background:none;backdrop-filter:none;max-width:none;width:auto}.moods button{min-width:0;padding:6px 0 5px;border-radius:0;border-bottom:2px solid transparent;color:#526955;background:none!important;box-shadow:none!important;white-space:nowrap}.moods button b{font-size:11px;font-weight:500;line-height:1.5}.moods button small{display:none}.moods button.active{color:#963c2c;border-bottom-color:#a64130}.moods button:hover:not(.active){color:#096d5d}.scene-viewport{flex:1 1 auto;position:relative;width:100%;min-height:0;overflow:hidden;background:#f3e7c8;isolation:isolate}.scene-stage{z-index:0;left:50%;top:50%;transform:translate(-50%,-50%);transition:none;pointer-events:auto}.scene{z-index:0}.scene-stage .spot{z-index:6}.shade,.grain{display:none!important}#weather{z-index:2;pointer-events:none}.scene-stage .shopkeeper{pointer-events:none}.scene-stage .kettle-smoke,.scene-stage .tram-light,.scene-stage .fireflies{pointer-events:none}.world[data-period=day]{--scene-filter:brightness(1.03) saturate(1.03);--actor-filter:brightness(1);--glow:.24}.world[data-period=dawn]{--scene-filter:brightness(.95) sepia(.12) saturate(.98);--actor-filter:brightness(.95);--glow:.4}.world[data-period=dusk]{--scene-filter:brightness(.87) sepia(.14) saturate(1.02);--actor-filter:brightness(.87);--glow:.6}.world[data-period=night]{--scene-filter:brightness(.73) saturate(.88);--actor-filter:brightness(.78);--glow:.85}.world[data-weather=cloudy][data-period=day]{--scene-filter:brightness(.99) saturate(.93)}.world[data-weather=fog][data-period=day]{--scene-filter:brightness(1) saturate(.9)}.world[data-weather=rain][data-period=day]{--scene-filter:brightness(1) saturate(1)}.corner{display:none}.spot{padding:8px;gap:6px;transform:translate(-50%,-50%);margin:0}.spot:active{transform:translate(-50%,-50%) scale(.96)}.spot .pin{width:21px;height:21px;font:16px 'DM Sans';border:1px solid #f4e7c2;background:#145d4dbb;box-shadow:0 0 0 3px #faf0d149;animation:none}.spot.selected .pin{background:#9d4031;box-shadow:0 0 0 4px #fff0c951}.spot .tag{position:absolute;left:36px;top:50%;transform:translateY(-50%);font-size:11px;white-space:nowrap;background:#f5e9cceF;border:1px solid #b4b99d;color:#255442;text-shadow:none;padding:5px 8px;border-radius:5px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s}.spot .tag small{display:none}.spot:hover .tag,.spot:focus-visible .tag{visibility:visible;opacity:1}.tea{left:17%;top:61%;right:auto}.window{left:66%;top:27%;right:auto}.record{left:91%;top:64%;right:auto}.record .tag{right:36px;left:auto}.new-voices{left:42.25%;top:62%;right:auto}.player{flex:0 0 auto;position:relative;left:auto;bottom:auto;transform:none;align-self:center;width:min(480px,calc(100% - 32px));margin:9px auto 5px;border:1px solid #c2ba97;border-radius:40px;background:#fbf5e5;backdrop-filter:none;box-shadow:0 2px 9px #36432c0c;color:#24483c}.player-main{padding:7px 12px;gap:10px;min-height:48px}.album{width:31px;height:31px;border-radius:50%;border:0;flex-shrink:0}.album>span{font-size:17px}.overline{font-size:6px;letter-spacing:.4px;line-height:1.4}.track h2{font-size:12px;line-height:1.6;margin:1px 0 0}.track p{display:none}.controls{gap:5px}.controls button{font-size:12px;min-width:29px;min-height:32px}.controls #play{width:33px;height:33px;min-width:33px;min-height:33px;font-size:14px;box-shadow:none}.volume{gap:5px;font-size:12px}.volume input{width:43px}.queue-btn{font-size:20px;padding:3px 5px;min-width:30px;min-height:32px;margin:0}.player-bottom{padding:9px 0;display:flex;flex-wrap:wrap;gap:10px;font-size:9px;border-top:1px solid #c9c5a7}.queue{bottom:83px;right:max(16px,calc((100% - 480px)/2));width:320px;max-height:calc(100svh - 110px);z-index:30;padding:20px;border-radius:12px;box-shadow:0 8px 30px #10352625}.queue .hint{font-size:8px}.queue-head h2{font-size:20px}.queue-item b{font-size:14px}.queue-item em{font-size:9px}.world>footer{position:static;flex:0 0 auto;padding:4px 24px 9px;margin:0;left:auto;right:auto;bottom:auto;color:#68785c;font-size:6px;letter-spacing:.8px}.still .scene-stage{transition:none}
@media(max-width:760px){.world{height:auto;min-height:100svh;overflow:visible}.world>header{padding:12px 14px 5px;min-height:37px}.brand{font-size:8px;letter-spacing:.6px}.local-weather{flex-direction:column;align-items:flex-end;gap:3px}.local-weather .clock{font-size:8px}.local-weather #weatherStatus{max-width:145px;font-size:6px}.top-tools{gap:4px}.top-tools button{font-size:11px;padding:5px}.intro{flex-direction:column;gap:6px;padding:8px 8px 12px}.intro h1{font-size:25px}.moods{display:flex;width:100%;max-width:none;justify-content:center;gap:13px;border:0;box-shadow:none;padding:0;background:none}.moods button{padding:7px 0 5px;min-width:0}.moods button b{font-size:9px;line-height:1.6}.moods button small{display:none}.scene-viewport{flex:none;aspect-ratio:1672/941;width:100%;overflow:hidden}.scene-stage .spot{padding:7px}.spot .pin{width:18px;height:18px;font-size:13px}.spot .tag{display:block;left:31px;font-size:9px;padding:4px 6px}.record .tag{left:auto;right:31px}.tea{left:17%;top:61%}.window{left:66%;top:27%}.record{left:91%;top:64%}.new-voices{left:42.25%;top:62%}.player{margin:12px auto 7px;width:calc(100% - 28px);max-width:420px;bottom:auto}.player-main{padding:7px 10px;gap:8px}.track h2{font-size:12px}.overline{font-size:6px}.volume{display:none}.controls{gap:2px}.controls button{min-width:26px}.queue{width:calc(100% - 28px);max-width:360px;right:14px;bottom:auto;top:110px;max-height:calc(100svh - 135px);position:fixed}.world>footer{font-size:6px;padding:8px 14px 15px;gap:15px}.world>footer span:first-child{max-width:180px}.kettle-smoke i{filter:blur(2px)}}
@media(max-width:360px){.moods{gap:8px}.moods button b{font-size:8px}.brand{font-size:7px}}
.intro{text-shadow:none!important}
/* Edge-to-edge listening world: UI floats over the scene, never frames it. */
html,body{background:#0a3e35;overflow:hidden}.world{display:block;position:relative;width:100%;height:100svh;min-height:0;overflow:hidden;background:#0a3e35;color:#ffefc1}.scene-viewport{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;aspect-ratio:auto;overflow:hidden;background:none}.scene-stage{transform:translate(calc(-50% + var(--pan-x)), -50%);transition:transform 1.1s cubic-bezier(.22,.61,.36,1)}.world>header{position:absolute;top:0;left:0;right:0;z-index:12;padding:18px 24px;min-height:0;pointer-events:none}.world>header>*{pointer-events:auto}.brand{font-size:10px;letter-spacing:1.4px;color:#fff3ce;text-shadow:0 1px 3px #184b3c,0 1px 10px #163a3399}.brand span{color:#ffc37a}.top-tools{gap:10px}.top-tools button{background:#0d5a4b90;border:1px solid #bceacf55;color:#f8f2d3;border-radius:30px;width:27px;height:27px;padding:3px}.local-weather .clock{color:#fff7de;font-size:9px;text-shadow:0 1px 3px #173b32}.local-weather #weatherStatus{color:#e5f5de;font-size:7px;text-shadow:0 1px 4px #173b32}.intro{position:absolute;z-index:10;left:50%;top:59px;transform:translateX(-50%);display:flex;flex-direction:column-reverse;align-items:center;justify-content:center;gap:13px;padding:0;width:max-content;max-width:calc(100% - 36px);pointer-events:none}.intro h1{font-size:52px;line-height:1.25;letter-spacing:-2px;margin:0;color:#fff3d2;text-shadow:0 2px 0 #175d4e,0 3px 13px #123d3959!important}.intro h1 em{color:#ffdd8b}.moods{display:flex;gap:22px;background:none;width:auto;pointer-events:auto}.moods button{padding:4px 0;min-width:0;border-bottom:1px solid transparent;background:none!important;color:#fff3cf;text-shadow:0 1px 3px #134f40,0 2px 7px #103a3370}.moods button b{font-size:10px;line-height:1.7;font-weight:600}.moods button.active{color:#ffe298;border-bottom-color:#ffda77}.moods button:hover:not(.active){color:#beffdc}.player{position:absolute;z-index:15;bottom:29px;left:50%;transform:translateX(-50%);margin:0;width:min(455px,calc(100% - 32px));border-radius:36px;background:#075c4bde;backdrop-filter:blur(18px);border:1px solid #c6f2cc88;box-shadow:0 5px 20px #003a3825;color:#fff2c8}.player-main{min-height:49px;padding:7px 12px;gap:10px}.album{background:#f5d699;color:#096451;width:30px;height:30px;box-shadow:inset 0 0 0 2px #e8b961}.album>span{color:#096451}.eq b{background:#08624e}.overline{color:#d3eac5;font-size:6px;letter-spacing:.6px}.track h2{color:#fff0c4;font-size:12px}.controls button{color:#f2e8c5}.controls button:hover,.queue-btn:hover{color:#ffe69a}.controls #play{background:#ee885f;color:#173f32;box-shadow:0 0 0 3px #f2d29a17}.controls #play:hover{background:#ffc17d;color:#0f4e3f}.volume input{accent-color:#f5dc9c}.queue{bottom:91px;top:auto;z-index:25}.world>footer{position:absolute;z-index:10;bottom:7px;left:20px;right:20px;margin:0;padding:0;display:flex;justify-content:space-between;color:#fff1ce;font-size:6px;letter-spacing:.9px;text-shadow:0 1px 4px #234c36}.spot .pin{width:18px;height:18px;font-size:13px;color:#fff7d7;background:#087f69db;border-color:#e6f9d0;box-shadow:0 0 0 3px #c6f3d32a}.spot.selected .pin{background:#da754e;box-shadow:0 0 0 4px #f6d99b33}.spot .tag{font-size:10px;border:1px solid #c7e4bb;background:#095b4be8;color:#fff0bc;padding:5px 8px}.spot::after{content:'';position:absolute;left:50%;top:75%;width:1px;height:20px;background:#ffefb890;transform-origin:top;transform:rotate(-28deg);pointer-events:none}.tea{left:22.8%;top:48.5%}.tea::after{transform:rotate(30deg);height:24px}.window{left:70.5%;top:38%}.window::after{transform:rotate(115deg);height:23px}.record{left:79%;top:61%}.record::after{transform:rotate(-60deg);height:25px}.new-voices{left:38.7%;top:55%}.new-voices::after{transform:rotate(-38deg);height:23px}.world[data-period=day]{--scene-filter:brightness(1.03) saturate(1.15);--actor-filter:brightness(1.02) saturate(1.06);--glow:.25}.world[data-period=dawn]{--scene-filter:brightness(.96) sepia(.13) saturate(1.12);--actor-filter:brightness(.96);--glow:.45}.world[data-period=dusk]{--scene-filter:brightness(.9) sepia(.12) saturate(1.14);--actor-filter:brightness(.92);--glow:.7}.world[data-period=night]{--scene-filter:brightness(1.02) saturate(1.07);--actor-filter:brightness(.86) sepia(.12);--glow:.9}.world[data-weather=rain][data-period=day]{--scene-filter:brightness(1.02) saturate(1.08)}.world[data-weather=cloudy][data-period=day]{--scene-filter:brightness(1) saturate(1.05)}.world[data-weather=fog][data-period=day]{--scene-filter:brightness(1) saturate(.99)}.shade,.grain{display:none!important}
@media(max-width:760px){.world{height:100svh;min-height:0;overflow:hidden}.scene-viewport{height:100%;width:100%;aspect-ratio:auto;position:absolute;inset:0}.world>header{padding:15px 13px;min-height:0}.brand{font-size:8px;letter-spacing:.5px}.top-tools{gap:5px}.local-weather .clock{font-size:8px}.local-weather #weatherStatus{font-size:6px;max-width:140px}.intro{top:70px;padding:0;gap:16px;max-width:calc(100% - 24px)}.intro h1{font-size:43px}.moods{display:flex;width:auto;gap:13px;max-width:none;justify-content:center}.moods button b{font-size:9px}.moods button{padding:4px 0}.player{position:absolute;left:50%;bottom:35px;transform:translateX(-50%);width:calc(100% - 30px);max-width:430px;margin:0}.player-main{min-height:48px;padding:6px 10px}.queue{position:fixed;top:auto;bottom:96px;max-height:calc(100svh - 155px);right:15px}.world>footer{position:absolute;left:14px;right:14px;bottom:11px;padding:0;font-size:5px;letter-spacing:.5px}.world>footer span:first-child{max-width:175px}.spot .pin{width:19px;height:19px}.spot .tag{font-size:9px}.tea{left:22.8%;top:48.5%}.window{left:70.5%;top:38%}.record{left:79%;top:61%}.new-voices{left:38.7%;top:55%}}
@media(max-width:360px){.moods{gap:9px}.moods button b{font-size:8px}.intro h1{font-size:38px}}
/* Natural exposure and continuous compositor-based movement. */
.world[data-period=day]{--scene-filter:brightness(1) saturate(1);--actor-filter:brightness(.94) saturate(.85);--glow:.1}.world[data-period=dawn]{--scene-filter:brightness(.95) sepia(.07) saturate(.97);--actor-filter:brightness(.91) saturate(.85);--glow:.2}.world[data-period=dusk]{--scene-filter:brightness(.86) sepia(.08) saturate(.95);--actor-filter:brightness(.82) saturate(.8);--glow:.3}.world[data-period=night]{--scene-filter:none;--actor-filter:brightness(.68) saturate(.75);--glow:.35}.world[data-weather=rain][data-period=day]{--scene-filter:none}.world[data-weather=cloudy][data-period=day]{--scene-filter:brightness(.94) saturate(.95)}.world[data-weather=fog][data-period=day]{--scene-filter:brightness(.96) saturate(.9)}.lamp{opacity:calc(var(--glow) * .25)}.window-light{opacity:calc(var(--glow) * .2)}.tram-light{box-shadow:0 0 4px 1px #ffebbc,0 0 11px 4px #e7c78a35;animation:tram-natural 8.2s ease-in-out infinite;will-change:opacity}.intro h1{font-size:62px;letter-spacing:-2px}.operator{position:relative;background:none;animation:owner-breathe 6s ease-in-out infinite;filter:drop-shadow(0 2px 2px #0002);transform-origin:center bottom;will-change:transform}.operator-pose{position:absolute;inset:0;background-image:url('operator.png');background-repeat:no-repeat;background-size:400% 100%;animation:owner-pose 16s linear infinite;will-change:opacity;opacity:0}.pose-0{background-position:0 0;animation-delay:0s}.pose-1{background-position:33.333333% 0;animation-delay:-12s}.pose-2{background-position:66.666667% 0;animation-delay:-8s}.pose-3{background-position:100% 0;animation-delay:-4s}.record-spin{position:absolute;left:33%;top:72%;width:39%;height:5.8%;border-radius:50%;overflow:hidden;pointer-events:none;opacity:.7;background:#191916;transform:rotate(-2deg)}.record-spin::before{content:'';position:absolute;left:0;top:-290%;width:100%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 0deg,#24231f,#8d846344 18%,#181715 30%,#37342d 60%,#171713);animation:record-turn 3.6s linear infinite;will-change:transform}.record-spin::after{content:'';position:absolute;left:40%;top:27%;width:20%;height:46%;border-radius:50%;background:#aa6a3f}.kettle-smoke i{will-change:transform,opacity;animation-duration:6.8s;filter:blur(3px);mix-blend-mode:normal}.kettle-smoke i:nth-child(2){animation-delay:-1.7s}.kettle-smoke i:nth-child(3){animation-delay:-3.4s}.kettle-smoke i:nth-child(4){animation-delay:-5.1s}.scene{transition:filter 3s ease}.still .operator-pose{opacity:0}.still .pose-0{opacity:1}.asleep *,.asleep *::before,.asleep *::after{animation-play-state:paused!important}.still *::before,.still *::after{animation:none!important}
@keyframes owner-pose{0%,19%{opacity:1}25%,94%{opacity:0}100%{opacity:1}}@keyframes owner-breathe{0%,100%{transform:translate3d(0,0,0) rotate(-.12deg)}50%{transform:translate3d(0,-1px,0) rotate(.12deg)}}@keyframes record-turn{to{transform:rotate(360deg)}}@keyframes tram-natural{0%,20%,38%,70%,100%{opacity:.65}28%{opacity:.44}32%{opacity:.6}76%{opacity:.49}84%{opacity:.63}}
@media(max-width:760px){.intro h1{font-size:51px}.kettle-smoke i{filter:blur(2px)}}
.world[data-period=night] .tram-light{left:41.7%;top:63.8%}.world:not([data-period=night]) .tram-light{left:42.2%;top:63.5%}
/* Original painted artwork, with only the headquarters floodlight gently tempered. */
.world[data-period=day]{--scene-filter:brightness(1) saturate(1.04);--actor-filter:brightness(.94);--glow:.2}
.world[data-period=dawn]{--scene-filter:brightness(.94) sepia(.07) saturate(1.02);--actor-filter:brightness(.87);--glow:.35}
.world[data-period=dusk]{--scene-filter:brightness(.89) saturate(.98);--actor-filter:brightness(.84);--glow:.45}
.world[data-period=night]{--scene-filter:brightness(.96) saturate(.94);--actor-filter:brightness(.84);--glow:.5}
.world[data-weather=rain][data-period=day]{--scene-filter:brightness(.96) saturate(.98)}
.world[data-weather=cloudy][data-period=day]{--scene-filter:brightness(.97) saturate(.98)}
.facade-balance{position:absolute;z-index:1;left:43%;top:0;width:33%;height:80%;pointer-events:none;background:rgba(13,35,33,.16);-webkit-mask-image:radial-gradient(ellipse at 52% 47%,#000 40%,transparent 78%);mask-image:radial-gradient(ellipse at 52% 47%,#000 40%,transparent 78%);opacity:0;transition:opacity 3s ease}
.world[data-period=night] .facade-balance{opacity:1}.world[data-period=dusk] .facade-balance{opacity:.6}
/* Wide four-time panorama. Scene details remain aligned at every clock change. */
.scene{background-image:url('scene-noon.png');background-position:center;background-size:100% 100%;filter:none!important;transition:none!important}
.scene-next{z-index:1;opacity:0;transition:opacity 1.25s ease!important;pointer-events:none;will-change:opacity}
.facade-balance{display:none!important}
.world[data-period=noon]{--glow:.12}
.world[data-period=afternoon]{--glow:.24}
.world[data-period=dawn]{--glow:.12}
.world[data-period=night]{--glow:.48}
.lamp{opacity:calc(var(--glow) * .12);mix-blend-mode:screen}
.window-light{display:none}
.tram-light,.world[data-period=night] .tram-light,.world:not([data-period=night]) .tram-light{left:39.8%;top:64.7%;width:.38%;opacity:calc(var(--glow) * .9);background:#fff1c3;box-shadow:0 0 3px 1px #fff0c9,0 0 10px 4px #ffe4ab44;animation:tram-natural 6.4s ease-in-out infinite;will-change:opacity}
.kettle-smoke{left:15.4%;top:59.8%;width:2.1%;height:1.5%}
.kettle-smoke i{filter:blur(2.5px);animation:kettle-rise 5.4s ease-out infinite;will-change:transform,opacity}
.kettle-smoke i:nth-child(2){animation-delay:-1.35s}.kettle-smoke i:nth-child(3){animation-delay:-2.7s}.kettle-smoke i:nth-child(4){animation-delay:-4.05s}
.walking-person{position:absolute;z-index:3;left:31%;top:66%;width:3.5%;aspect-ratio:543/724;pointer-events:none;animation:walk-route 21s linear infinite;will-change:transform}
.walking-frame{width:100%;height:100%;background:url('walker.png') 0 0/400% 100% no-repeat;animation:walk-steps .72s steps(1,end) infinite;filter:drop-shadow(1px 2px 2px #26323155)}
.world[data-period=night] .walking-person,.world[data-weather=rain] .walking-person,.world[data-weather=cold] .walking-person{display:none}
.player-disc{position:absolute;z-index:3;left:91.5%;top:72.5%;width:3.2%;height:.65%;border-radius:50%;pointer-events:none;opacity:.72;background:repeating-conic-gradient(#24201c 0deg 13deg,#6f6757 15deg 16deg,#211d18 18deg 35deg);animation:record-shimmer 2.3s linear infinite;will-change:filter}
.intro h1{font-size:clamp(70px,5.3vw,88px);line-height:1.1}
@keyframes walk-route{0%{transform:translate3d(-55%,0,0);opacity:0}8%{opacity:.92}88%{opacity:.92}100%{transform:translate3d(280%,0,0);opacity:0}}
@keyframes walk-steps{0%,24.99%{background-position:0 0}25%,49.99%{background-position:33.333% 0}50%,74.99%{background-position:66.667% 0}75%,100%{background-position:100% 0}}
@keyframes record-shimmer{0%,100%{filter:brightness(.82)}50%{filter:brightness(1.22)}}
@media(max-width:760px){.intro h1{font-size:clamp(52px,11vw,68px)}.walking-person{width:4%;top:65.5%}.player-disc{opacity:.6}}
@media(max-width:360px){.intro h1{font-size:48px}}
.player-disc{left:91.7%;top:71.6%;width:2.5%;height:auto;aspect-ratio:1;opacity:.65;transform:scaleY(.24);transform-origin:50% 50%;background:conic-gradient(#282520 0deg 85deg,#d4ab70 88deg 91deg,#282520 94deg 175deg,#83725b 180deg 184deg,#282520 188deg 270deg,#ac9271 275deg 278deg,#282520 282deg 360deg);animation:record-rotate 2.2s linear infinite}
.player-disc::after{content:'';position:absolute;inset:35%;border-radius:50%;background:#b87543}
@keyframes record-rotate{to{transform:scaleY(.24) rotate(360deg)}}
.world[data-weather=rain][data-period=dawn] .scene,.world[data-weather=cold][data-period=dawn] .scene{filter:brightness(.9) saturate(.93)!important}
.world[data-weather=rain][data-period=afternoon] .scene,.world[data-weather=cold][data-period=afternoon] .scene{filter:brightness(.94) saturate(.96)!important}
/* Corner labels stay readable; hover and keyboard focus enlarge them. */
.scene-stage .spot .tag{opacity:1;visibility:visible;transform:translateY(-50%) scale(.78);transform-origin:left center;font-size:11px;line-height:1.2;padding:5px 8px;background:#f7eddbec;border:1px solid #2b695d88;color:#204e43;box-shadow:0 2px 9px #12332230;transition:transform .24s ease,background .24s ease,box-shadow .24s ease;pointer-events:none}
.scene-stage .spot:hover .tag,.scene-stage .spot:focus-visible .tag{transform:translateY(-50%) scale(1.09);background:#fff5df;box-shadow:0 5px 15px #12332250}
.scene-stage .record .tag,.scene-stage .window .tag,.scene-stage .new-voices .tag{left:auto;right:29px;transform-origin:right center}
.playlist-link{display:block;margin:14px 0 4px;padding:11px 13px;border-radius:9px;background:#0b705c;color:#fff3d2;text-decoration:none;font-size:13px;font-family:'Noto Serif Bengali',serif;transition:background .2s,transform .2s}
.playlist-link:hover{background:#a64130;color:#fff;transform:translateY(-2px)}
.playlist-link[hidden]{display:none}
@media(max-width:760px){.scene-stage .spot .tag{font-size:9px;padding:4px 6px;transform:translateY(-50%) scale(.83)}.scene-stage .spot:hover .tag,.scene-stage .spot:focus-visible .tag{transform:translateY(-50%) scale(1.02)}.scene-stage .record .tag,.scene-stage .window .tag,.scene-stage .new-voices .tag{right:25px}}
/* A tiny animated record inside a street pin, replacing the player initials. */
.player .album{width:34px;height:39px;min-width:34px;flex:0 0 34px;display:grid;place-items:center;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;transform:none}
.player .album svg{display:block;width:34px;height:39px;overflow:visible;filter:drop-shadow(0 2px 2px #1b4d3c39)}
.mini-pin{fill:#0c7663;stroke:#f4dfad;stroke-width:1.7}
.mini-record{transform-origin:20px 19px;animation:tiny-record-spin 8s linear infinite;will-change:transform}
.playing .mini-record{animation-duration:1.8s}
.still .mini-record{animation:none}
@media(prefers-reduced-motion:reduce){.mini-record{animation:none!important}}
@keyframes tiny-record-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.player .album{width:31px;height:36px;min-width:31px;flex-basis:31px}.player .album svg{width:31px;height:36px}}
/* Standalone spinning record in the player; no map pin. */
.player .album{width:33px;height:33px;min-width:33px;flex-basis:33px;border-radius:50%;background:#f5e7c6;box-shadow:0 1px 4px #21463838,inset 0 0 0 1px #e0c991}
.player .album svg{width:33px;height:33px;filter:none}
@media(max-width:760px){.player .album{width:31px;height:31px;min-width:31px;flex-basis:31px}.player .album svg{width:31px;height:31px}}
.player .album{background:none;box-shadow:none}
.mini-record{transform-origin:20px 20px}

/* The first painted frame follows the current Kolkata hour before the main app loads. */
.scene{background-image:var(--initial-scene,linear-gradient(135deg,#7c9c9c,#173238))}

/* One clear return route; the listening scene keeps its own compact controls. */
.back-home{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;padding:9px 14px 9px 11px;border:1px solid rgba(255,239,199,.58);border-radius:999px;background:rgba(18,43,39,.74);backdrop-filter:blur(12px);color:#fff3d5;text-decoration:none;font:600 12px/1.2 "DM Sans",sans-serif;box-shadow:0 3px 15px #07141142;transition:transform .25s,background .25s,border-color .25s}
.back-home:hover{transform:translateX(-2px);background:rgba(24,65,55,.92);border-color:#f2d297;color:#fff}
.back-home-arrow{font:22px/0.65 Arial,sans-serif;transform:translateY(-1px)}
@media(max-width:760px){.back-home{gap:6px;padding:7px 10px 7px 8px;font-size:10px}.back-home-arrow{font-size:18px}}

/* Compact on-page playlist player, above the scene and responsive on phones. */
.playlist-player{width:min(790px,calc(100vw - 28px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #efd6a187;border-radius:19px;background:#12372f;color:#fff2d7;box-shadow:0 28px 90px #071916a6;overflow:auto}
.playlist-player::backdrop{background:#031513bc;backdrop-filter:blur(5px)}
.playlist-player-head,.playlist-player-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px}.playlist-player-head small{font-size:9px;letter-spacing:2px;color:#e8c78a}.playlist-player-head h2{font:700 20px/1.3 "Noto Serif Bengali",sans-serif;margin:3px 0 0}.playlist-player-head button{width:36px;height:36px;border:1px solid #fff5;border-radius:50%;font-size:27px;line-height:1}.playlist-frame-wrap{width:100%;aspect-ratio:16/9;background:#050909}.playlist-frame-wrap iframe{width:100%;height:100%;border:0}.playlist-player-foot{font-size:11px;color:#e4d9c4}.playlist-player-foot a{color:#ffdc99;white-space:nowrap}.playlist-player-foot a:hover{color:white}
@media(max-width:600px){.playlist-player-head,.playlist-player-foot{padding:12px}.playlist-player-head h2{font-size:16px}.playlist-player-foot{align-items:flex-start;flex-direction:column;gap:6px;font-size:10px}}
