[hidden]{display:none!important}:root{color-scheme:dark;--night: #120c14;--paper: #f4ecd9;--paper-edge: #d9ccae;--ink: #2a1a14;--ink-soft: #6b5646;--kumkum: #c8323c;--brass: #d4a24c;--radio-body: #6e2d20;--radio-body-dark: #45170f;--radio-face: #e8dcc0;--dial-glass: #1c1712;--dial-glow: #f7c46a;--text: #f5eedc;--muted: #b9ada0;--display: "Arima", "Hind Madurai", Georgia, serif;--ui: "Hind Madurai", system-ui, -apple-system, "Segoe UI", sans-serif;--hand: "Kalam", "Kavivanar", "Comic Sans MS", cursive;--hand-ta: "Kavivanar", "Kalam", cursive;--pixel: "Silkscreen", ui-monospace, Menlo, monospace;--verse: "Mukta Malar", "Hind Madurai", sans-serif}html,body{height:100%}body{margin:0;overflow:hidden;background:var(--night);color:var(--text);font-family:var(--ui);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}button:focus-visible{outline:2px solid var(--dial-glow);outline-offset:3px}.stage{position:fixed;inset:0;overflow:hidden;touch-action:none;cursor:grab}.stage.dragging{cursor:grabbing}.backdrop{position:absolute;inset:-60px;background-size:cover;background-position:center;filter:blur(34px) saturate(1.1) brightness(.6);transform:scale(1.1);transition:background-image .6s}#scene{position:absolute;left:0;top:0;image-rendering:pixelated;image-rendering:crisp-edges}.grain{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.06) 0 1px,transparent 1px 3px),radial-gradient(ellipse at 50% 45%,transparent 58%,rgba(10,5,10,.55) 100%)}.ui{transition:opacity .35s ease}body.ui-hidden .ui{opacity:0;pointer-events:none}.brand{position:fixed;z-index:5;top:calc(env(safe-area-inset-top,0px) + 16px);right:18px;display:grid;justify-items:end;gap:4px;text-align:right;text-shadow:0 2px 10px rgba(0,0,0,.6)}.brand .name{font-family:var(--display);font-weight:700;font-size:22px;line-height:1}.brand .name span{color:var(--dial-glow)}.brand .meta{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--text);opacity:.85;font-variant-numeric:tabular-nums}.brand .meta i{width:7px;height:7px;border-radius:50%;background:#e2475a;display:inline-block;margin-right:5px}.share{font-family:var(--pixel);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:inherit;border:1px solid rgba(245,238,220,.35);border-radius:4px;padding:4px 8px;cursor:pointer;pointer-events:auto}.share:hover{background:#f5eedc1f}.cal{position:fixed;z-index:5;top:calc(env(safe-area-inset-top,0px) + 18px);left:18px;width:204px;background:var(--paper);color:var(--ink);border-radius:3px 3px 6px 6px;box-shadow:0 10px 24px #00000073,inset 0 -3px 0 var(--paper-edge);transform:rotate(-2.5deg);transform-origin:50% 0;text-align:center;padding-bottom:8px;cursor:pointer;user-select:none}.cal:before{content:"";position:absolute;top:-9px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d9d4cc,#6d655c);box-shadow:0 2px 3px #00000080}.cal .band{background:var(--kumkum);color:#fff4e6;font-size:12px;font-weight:600;padding:4px 6px 3px;border-radius:3px 3px 0 0;letter-spacing:.02em}.cal .day{font-family:var(--display);font-weight:700;font-size:58px;line-height:.95;color:var(--kumkum);margin-top:6px;font-variant-numeric:tabular-nums}.cal .wd{font-size:14px;font-weight:600}.cal .wd-en{font-size:11.5px;color:var(--ink-soft);margin-top:-2px}.cal .rule{border-top:1px dashed #bfae8e;margin:6px 10px 5px}.cal .small{font-size:11px;color:var(--ink-soft);line-height:1.35}.cal .small b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.cal .verse{margin:7px 12px 0;padding-top:7px;border-top:1px dashed #bfae8e}.cal .v-ta{font-family:var(--verse);font-weight:600;font-size:13px;line-height:1.45;color:var(--ink);text-wrap:balance}.cal .v-ref{margin-top:3px;font-family:var(--verse);font-size:10.5px;color:var(--kumkum);letter-spacing:.02em}.cal .v-ta[lang=en]{font-family:Georgia,Times New Roman,serif;font-weight:400;font-style:italic;font-size:12px;line-height:1.35;white-space:pre-line}.cal.tear{animation:tear .6s ease}@keyframes tear{0%{transform:rotate(-2.5deg)}35%{transform:rotate(4deg) translateY(4px)}to{transform:rotate(-2.5deg)}}.caption{position:fixed;z-index:4;left:22px;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);max-width:min(60vw,720px);text-shadow:0 2px 12px rgba(0,0,0,.7);pointer-events:none}.caption .where{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.5vw,46px);line-height:1.05;text-wrap:balance}.caption .where[lang=ta]{font-size:clamp(24px,2.9vw,38px);line-height:1.2}.caption .alt{font-family:var(--display);font-size:16px;opacity:.8}.caption .line{margin-top:6px;font-size:15px;opacity:.9}.caption.swap{animation:fadeUp .7s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.radio{position:fixed;z-index:6;right:22px;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);width:380px;padding:12px;border-radius:22px;background:repeating-linear-gradient(135deg,rgba(0,0,0,.05) 0 2px,transparent 2px 5px),linear-gradient(180deg,#7d3526,var(--radio-body) 40%,var(--radio-body-dark));border:2px solid #33110b;box-shadow:inset 0 2px #ffdcbe2e,inset 0 -3px #0000004d,0 24px 50px #00000080}.radio:before{content:"";position:absolute;left:70px;right:70px;top:-26px;height:30px;border:7px solid #3a140d;border-bottom:0;border-radius:30px 30px 0 0;z-index:-1}.face{background:var(--radio-face);border-radius:12px;padding:10px;box-shadow:inset 0 1px #fff8e8,inset 0 -2px #c9b995;color:var(--ink)}.dial{position:relative;height:74px;border-radius:7px;background:var(--dial-glass);overflow:hidden;box-shadow:inset 0 2px 6px #000c}.dial:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%);pointer-events:none}.dial.lit{box-shadow:inset 0 2px 6px #000c,inset 0 0 26px #f7c46a47}.scale{position:absolute;left:10px;right:10px;top:8px;height:12px;display:flex;justify-content:space-between;font-family:var(--pixel);font-size:8.5px;color:#b89a5c;letter-spacing:.04em}.ticks{position:absolute;left:10px;right:10px;top:22px;height:8px;background:repeating-linear-gradient(90deg,#8a7446 0 1px,transparent 1px 7px);opacity:.8}.stations{position:absolute;left:10px;right:10px;bottom:7px;height:36px}.station{position:absolute;bottom:0;transform:translate(-50%);text-align:center;line-height:1.15;color:#d8bd83;font-size:12px;font-weight:600;padding:3px 5px;border-radius:4px;white-space:nowrap}.station small{display:block;font-family:var(--pixel);font-size:8px;font-weight:400;letter-spacing:.06em;color:#9c8252}.station[aria-pressed=true]{color:#ffe3a3;text-shadow:0 0 8px rgba(247,196,106,.8)}.station:hover{color:#ffe3a3}.needle{position:absolute;top:4px;bottom:4px;width:2px;margin-left:-1px;background:#e2352c;box-shadow:0 0 6px #e2352ccc;transition:left .55s cubic-bezier(.5,0,.2,1)}.lower{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:10px}.grille{height:64px;border-radius:8px;background:radial-gradient(circle,#3b2a20 1.3px,transparent 1.7px) 0 0 / 6px 6px,linear-gradient(#d6c8a8,#c4b48f);box-shadow:inset 0 1px 3px #00000059;position:relative}.badge{position:absolute;left:10px;top:50%;transform:translateY(-50%);background:linear-gradient(#e7c37a,#b98a3a);color:#3b2410;font-family:var(--display);font-weight:700;font-size:13px;padding:4px 10px;border-radius:4px;box-shadow:0 1px 2px #0006;cursor:pointer;user-select:none;-webkit-user-select:none}.badge:after{content:" ▾";font-size:10px;opacity:.7}.band-pop{position:absolute;left:0;right:0;bottom:calc(100% + 14px);z-index:7;padding:12px;border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 16px 40px #00000080;display:grid;grid-template-columns:1fr 1fr;gap:6px}.band-pop[hidden]{display:none}.band-pop h3{grid-column:1 / -1;margin:0 0 2px;font-family:var(--hand);font-size:18px}.band-pop button{text-align:left;padding:7px 10px;border-radius:8px;border:1px solid #d8c9a6;min-height:44px}.band-pop button b{display:block;font-family:var(--display);font-size:15px;line-height:1.1}.band-pop button span{font-size:11.5px;color:var(--ink-soft)}.band-pop button[aria-pressed=true]{background:var(--radio-body);border-color:var(--radio-body);color:#fbeedd}.band-pop button[aria-pressed=true] span{color:#f1d9c0}.knob{width:58px;height:58px;border-radius:50%;position:relative;background:radial-gradient(circle at 35% 30%,#fbfbf7,#b9b6ad 45%,#6f6b63);box-shadow:0 3px 6px #00000073,inset 0 -2px 3px #0000004d;transition:transform .55s cubic-bezier(.5,0,.2,1)}.knob:before{content:"";position:absolute;inset:8px;border-radius:50%;background:repeating-conic-gradient(#d9d6ce 0 6deg,#a9a59b 6deg 12deg)}.knob:after{content:"";position:absolute;left:50%;top:6px;width:3px;height:14px;margin-left:-1.5px;border-radius:2px;background:#3a2a22}.knob-wrap{display:grid;justify-items:center;gap:2px;font-family:var(--pixel);font-size:8.5px;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase}.keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.key{height:44px;border-radius:6px 6px 8px 8px;background:linear-gradient(#fbf5e6,#e1d3b3);color:var(--ink);box-shadow:0 4px #a8946c,0 5px 6px #00000059;display:grid;place-items:center;font-size:12.5px;font-weight:600;transition:transform .08s,box-shadow .08s}.key:active,.key[aria-pressed=true]{transform:translateY(3px);box-shadow:0 1px #a8946c,0 2px 3px #0000004d;background:linear-gradient(#efe4c8,#d8c8a4)}.key svg{width:18px;height:18px;fill:currentColor}.key .k{display:flex;gap:6px;align-items:center}.chit{position:absolute;right:26px;bottom:calc(100% - 10px);width:236px;padding:8px 12px 9px;background:#fbf6e8;color:var(--ink);border-radius:2px;transform:rotate(3deg);box-shadow:0 8px 18px #0006;font-family:var(--hand)}.chit:before{content:"";position:absolute;left:50%;top:-7px;width:44px;height:14px;margin-left:-22px;background:#f0e1aabf;transform:rotate(-4deg)}.chit .t{font-size:20px;font-weight:700;line-height:1.1}.chit .t[lang=ta]{font-family:var(--hand-ta);font-weight:400;font-size:21px}.chit .g{font-size:14px;color:var(--ink-soft)}.chit .f{font-family:var(--ui);font-size:11px;color:var(--ink-soft);margin-top:3px;letter-spacing:.02em}.chit.swap{animation:chit .5s ease}@keyframes chit{0%{transform:rotate(9deg) translateY(-8px);opacity:0}to{transform:rotate(3deg);opacity:1}}.progress{margin-top:10px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;font-size:11.5px;color:#f1dcc0;font-variant-numeric:tabular-nums}.progress .track{height:5px;border-radius:3px;background:#00000059;position:relative;overflow:hidden}.progress .fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--dial-glow)}.progress .sec{font-family:var(--pixel);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#f1dcc0}.progress .sec[lang=ta]{font-family:var(--ui);font-size:11.5px;letter-spacing:0;text-transform:none}.hint{position:fixed;z-index:3;left:50%;top:40%;transform:translate(-50%);padding:8px 14px;border-radius:20px;font-size:13px;background:#120c14b8;border:1px solid rgba(245,238,220,.3);pointer-events:none;transition:opacity .6s}.toast{position:fixed;z-index:9;left:50%;top:calc(env(safe-area-inset-top,0px) + 20px);transform:translate(-50%,-8px);max-width:calc(100% - 40px);padding:9px 14px;border-radius:10px;font-size:14px;color:var(--ink);background:var(--paper);box-shadow:0 10px 24px #0006;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.toast.on{opacity:1;transform:translate(-50%)}.sheet{position:fixed;z-index:8;right:424px;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);width:360px;max-height:calc(100vh - 110px);overflow-y:auto;padding:16px 18px 14px;color:var(--ink);border-radius:4px;transform:rotate(-1deg);background:repeating-linear-gradient(to bottom,transparent 0 25px,rgba(90,120,180,.18) 25px 26px),linear-gradient(90deg,transparent 30px,rgba(200,60,60,.35) 30px 31px,transparent 31px),#fbf6e8;box-shadow:0 18px 40px #00000080}.sheet-head{display:flex;justify-content:space-between;align-items:baseline;padding-left:20px}.sheet h2{margin:0;font-family:var(--hand);font-weight:700;font-size:24px}.sheet .x{font-size:26px;line-height:1;width:36px;height:36px;border-radius:50%;color:var(--ink-soft)}.sheet .x:hover{background:#0000000f}.sheet-meta{padding-left:20px;font-size:12.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:2px 0 10px}.sheet .row{padding-left:20px;margin-top:12px;display:grid;gap:6px}.sheet .lbl,.sheet label{font-size:13px;color:var(--ink-soft);font-weight:600}.sheet .segc{display:flex;gap:4px;padding:3px;border-radius:10px;background:#3c281414}.sheet .segc button{flex:1;min-height:36px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ink-soft)}.sheet .segc button[aria-pressed=true]{background:var(--radio-body);color:#fbeedd}.sheet .chips{display:flex;flex-wrap:wrap;gap:6px}.sheet .chips button{min-height:32px;padding:0 10px;border-radius:16px;border:1.5px solid rgba(60,40,20,.25);font-size:12.5px;font-weight:600;color:var(--ink);background:#fff6}.sheet .chips button small{margin-left:5px;font-weight:400;color:var(--ink-soft)}.sheet .chips button[aria-pressed=true]{background:var(--radio-body);border-color:var(--radio-body);color:#fbeedd}.sheet .chips button[aria-pressed=true] small{color:#f1d9c0}.sheet .tracklist{list-style:none;margin:0;padding:0;max-height:228px;overflow-y:auto;border-top:1px solid rgba(60,40,20,.12)}.sheet .tracklist button{width:100%;display:grid;grid-template-columns:1fr auto;gap:1px 10px;text-align:left;padding:6px 8px;border-bottom:1px solid rgba(60,40,20,.08);color:var(--ink)}.sheet .tracklist button:hover{background:#3c28140f}.sheet .tracklist b{font-family:var(--hand);font-size:16px;font-weight:700}.sheet .tracklist span{grid-column:1;font-size:12px;color:var(--ink-soft)}.sheet .tracklist time{grid-row:1 / span 2;grid-column:2;align-self:center;font-size:11.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.sheet .tracklist button[aria-current=true]{background:#7a341e1f}.sheet .tracklist button[aria-current=true] b:before{content:"▶ ";font-size:11px}.sheet input[type=range]{width:100%;accent-color:var(--radio-body);height:22px;margin:0}.sheet .ends{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-soft)}.faders{padding-left:20px;margin-top:12px;display:grid;gap:2px}.fader{display:grid;grid-template-columns:1fr 120px 34px;align-items:center;gap:8px;min-height:30px;font-size:13.5px}.fader output{font-size:11.5px;color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums}.sheet-actions{padding-left:20px;margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}.sheet-actions button{min-height:38px;padding:0 12px;border-radius:8px;border:1.5px solid var(--ink);font-size:13px;font-weight:600}.sheet-actions button.primary{background:var(--ink);color:var(--paper)}.sheet .note{padding-left:20px;margin:10px 0 0;font-size:12px;color:var(--ink-soft)}.sheet textarea{margin:8px 0 0 20px;width:calc(100% - 20px);min-height:70px;font:12px ui-monospace,Menlo,monospace;border:1px solid #cbb994;border-radius:6px;padding:6px;background:#fffdf6;color:var(--ink)}.chit{cursor:pointer}.cal .egg{margin:4px 8px 0;font-family:var(--hand-ta);font-size:13px;line-height:1.2;color:var(--kumkum)}.cal .egg[lang=en]{font-family:var(--hand);font-weight:700}.mark76{position:absolute;left:calc(10px + (100% - 20px)*.383);top:16px;width:20px;height:22px;margin-left:-10px;z-index:2}.mark76:after{content:"";position:absolute;left:9px;top:6px;width:2px;height:10px;background:#e8c77e;box-shadow:0 0 6px #f7c46ae6;opacity:.75}.mark76:hover:after,.mark76:focus-visible:after{opacity:1}.brand .row1{display:flex;align-items:center;gap:8px}.brand .info{width:28px;height:28px;border-radius:50%;border:1px solid rgba(245,238,220,.4);font-size:14px;font-weight:700;font-family:Georgia,serif;font-style:italic;color:var(--text)}.brand .info:hover{border-color:var(--dial-glow);color:var(--dial-glow)}.liner p{padding-left:20px;margin:8px 0 0;font-size:13.5px;line-height:1.5}.liner .ded{font-family:var(--hand);font-size:19px;font-weight:700;line-height:1.3;margin-top:4px}.liner h3{padding-left:20px;margin:14px 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.liner ul{margin:0;padding:0 0 0 20px;list-style:none;display:grid;gap:3px;font-size:13px}.liner li b{font-weight:600}.chit .hint2{font-family:var(--ui);font-size:10.5px;color:var(--ink-soft);margin-top:4px;letter-spacing:.02em}.tv{position:fixed;z-index:7;left:24px;bottom:calc(env(safe-area-inset-bottom,0px) + 170px);padding:14px 64px 16px 16px;border-radius:22px 22px 18px 18px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 3px,transparent 3px 7px),linear-gradient(#6b4127,#4a2a18);border:2px solid #2b170c;box-shadow:inset 0 2px #ffdcb42e,0 24px 50px #0000008c}.tv[hidden]{display:none}.tv:before,.tv:after{content:"";position:absolute;top:-46px;width:3px;height:54px;background:linear-gradient(#d9d4cc,#6d655c);border-radius:2px;transform-origin:bottom center}.tv:before{left:42%;transform:rotate(-24deg)}.tv:after{left:46%;transform:rotate(22deg)}.tv-screen{width:340px;height:152px;border-radius:14px;overflow:hidden;background:#0b0a0c;box-shadow:inset 0 0 18px #000000e6,0 0 0 5px #1a0f08;position:relative}.tv-screen iframe,.tv-screen>div{width:100%;height:100%;border:0;display:block}.tv-knobs{position:absolute;right:12px;top:18px;display:grid;gap:10px;justify-items:center}.tv-knobs button{width:34px;height:34px;border-radius:50%;font-family:var(--pixel);font-size:11px;color:#2b170c;background:radial-gradient(circle at 35% 30%,#f4f0e6,#9c968b 55%,#5c574f);box-shadow:0 2px 4px #00000080}.tv-knobs button[aria-pressed=true]{box-shadow:0 0 0 2px var(--dial-glow),0 2px 4px #00000080}.tv-knobs .tv-power{font-family:var(--ui);font-size:15px}.tv-knobs b{font-family:var(--pixel);font-size:8px;letter-spacing:.08em;color:#f1d9b8;text-align:center;line-height:1.3}.tv-off{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:18px;color:#e9e2d2;font-size:13.5px;line-height:1.45;background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3px),#141216}.tv-off[hidden]{display:none}.tv-off a{color:var(--dial-glow)}@media(max-width:760px){.sheet{left:10px;right:10px;width:auto;transform:none;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);max-height:72vh;z-index:10}.fader{grid-template-columns:1fr 110px 34px}.brand{right:14px;top:calc(env(safe-area-inset-top,0px) + 12px)}.brand .name{font-size:19px}.cal{left:14px;top:calc(env(safe-area-inset-top,0px) + 16px);width:112px;padding-bottom:6px}.cal .verse{margin:5px 8px 0;padding-top:5px}.cal .v-ta{font-size:12px;line-height:1.3}.cal .v-ref{font-size:9.5px}.cal .v-ta[lang=en]{font-size:11px}.cal .band{font-size:10.5px}.cal .day{font-size:38px;margin-top:4px}.cal .wd{font-size:12.5px}.cal .wd-en,.cal .rule,.cal .now-line{display:none}.cal .small{font-size:9.5px;margin-top:4px}.radio{left:50%;right:auto;transform:translate(-50%);width:min(380px,calc(100% - 24px));bottom:calc(env(safe-area-inset-bottom,0px) + 12px);padding:10px}.radio:before{left:90px;right:90px}.lower{grid-template-columns:1fr auto}.grille{height:54px}.knob{width:50px;height:50px}.chit{right:14px;width:214px}.caption{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + var(--radio-h, 300px) + 112px)}.caption .where{font-size:28px}.caption .where[lang=ta]{font-size:21px}.caption .line{font-size:14px}.tv{box-sizing:border-box;left:50%;transform:translate(-50%);width:min(380px,calc(100% - 24px));padding:10px 52px 10px 10px;bottom:calc(env(safe-area-inset-bottom,0px) + var(--radio-h, 300px) + 118px)}.tv:before,.tv:after{display:none}.tv-screen{width:100%;height:152px}.tv-knobs{right:10px;top:10px;gap:6px}.tv-knobs button{width:30px;height:30px}.tv-knobs b,body.fm .caption{display:none}}@media(prefers-reduced-motion:reduce){.needle,.knob,.caption.swap,.chit.swap,.cal.tear{transition:none;animation:none}}
