:root{--primary:#34b4e3;--accent:#f0a54a;--on-primary:#0b0d14;--bg:#101320;--surface:#171b2c;--surface-2:#1f2438;--line:#2b3150;--fg:#eef0f7;--muted:#9da3bb;--bad:#ff7a7a;--ok:#4bde46;--shade:linear-gradient(180deg, #0a0c168c, #0a0c16eb);--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f5f6fa;--surface:#fff;--surface-2:#eef0f6;--line:#dde0ea;--fg:#151827;--muted:#5d6378;--bad:#c62828;--ok:#1d8a3a;--shade:linear-gradient(180deg, #0a0c1659, #0a0c16cc);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans Sinhala,Noto Sans Tamil,Helvetica,Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.55;cursor:default}a{color:var(--primary)}h1,h2{text-wrap:balance}.muted{color:var(--muted)}.small{font-size:.85rem}[hidden]{display:none!important}.page-loading{min-height:100vh}.unavailable{max-width:520px;padding:0 max(16px, env(safe-area-inset-left));text-align:center;margin:18vh auto}.unavailable p{color:var(--muted)}:root{--hero-text:#fff;--hero-muted:#ffffffd1;--link-bg:#ffffff1f;--link-text:#fff;--card-bg:#ffffff1a;--play-start:var(--primary);--play-end:var(--primary);--on-play:var(--on-primary);--live:#e53935;--volume:var(--primary)}.hero{color:var(--hero-text);padding-top:env(safe-area-inset-top);position:relative}.hero-frame{position:relative;overflow:hidden}.hero-bg{background:var(--cover,none) center bottom / cover no-repeat;position:absolute;inset:0}.hero-frame:not([data-has-cover]) .hero-bg{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 70%, #000) 0%, #0d1020 100%)}@media (width<=640px){.hero-bg{background-image:var(--cover-mobile,var(--cover,none))}}.hero-shade{background:linear-gradient(90deg,#080a149e 0%,#080a1452 45%,#080a1414 75%,#0000 100%),linear-gradient(#080a1440 0%,#0000 40%);position:absolute;inset:0}@media (width<=640px){.hero-shade{background:linear-gradient(#080a1480 0%,#080a1440 55%,#0000 100%)}}.hero-frame:not([data-has-cover]) .hero-shade{display:none}.layout-card{padding:calc(20px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left))}.layout-card .hero-frame{border-radius:24px;max-width:1120px;margin:0 auto;box-shadow:0 18px 50px #00000059}.layout-card .hero-inner{padding:28px 28px 24px}.hero-inner{max-width:1120px;padding:28px max(16px, env(safe-area-inset-right)) 26px max(16px, env(safe-area-inset-left));gap:22px;margin:0 auto;display:grid;position:relative}.brand{align-items:center;gap:16px;min-width:0;display:flex}.logo{object-fit:cover;background:#fff;border-radius:16px;flex:none;width:72px;height:72px;box-shadow:0 6px 20px #0000004d}.logo-letter{background:var(--primary);color:var(--on-primary);place-items:center;font-size:2rem;font-weight:800;display:grid}.brand-text{min-width:0}.brand h1{letter-spacing:-.01em;margin:0;font-size:clamp(1.6rem,4.5vw,2.6rem);line-height:1.1}.tagline{color:var(--hero-muted);margin:4px 0 0}.player{background:var(--card-bg);-webkit-backdrop-filter:blur(14px);border:1px solid #ffffff29;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:16px 20px;display:grid}.play{background:linear-gradient(135deg, var(--play-start), var(--play-end));width:72px;height:72px;color:var(--on-play);box-shadow:0 8px 24px color-mix(in srgb, var(--play-end) 45%, transparent);border:0;border-radius:50%;flex:none;align-self:center;place-items:center;transition:transform .15s;display:grid}.play:hover{transform:scale(1.05)}.play:focus-visible{outline-offset:3px;outline:3px solid #fff}.play svg{width:34px;height:34px}.play.play-playing{filter:brightness(1.08)}.spinner{border:3px solid;border-right-color:#0000;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.now{min-width:0}.live-row{flex-wrap:wrap;align-items:center;gap:10px;font-size:.8rem;display:flex}.live-badge{letter-spacing:.1em;background:var(--live);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-weight:800;display:inline-flex}.dot{background:#fff;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}.on-now{color:var(--hero-muted);font-weight:600}.track{white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:clamp(1.1rem,2.6vw,1.45rem);font-weight:700;overflow:hidden}.artist{color:var(--hero-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audio-error{color:#ffd2d2;margin-top:4px;font-size:.85rem}.volume{align-items:center;gap:8px;display:flex}.volume svg{opacity:.85;width:22px;height:22px}.volume input{width:110px;accent-color:var(--volume)}.next-up{color:var(--hero-muted);margin:0;font-size:.9rem}.next-up strong{color:var(--hero-text)}@media (prefers-reduced-motion:reduce){.dot,.spinner{animation:none}.play{transition:none}}.body{max-width:1120px;padding:24px max(16px, env(safe-area-inset-right)) 32px max(16px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;margin:0 auto;display:grid}.main{min-width:0}.tabs{scrollbar-width:none;gap:6px;margin-bottom:14px;display:flex;overflow-x:auto}.tabs button{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;padding:8px 16px;font-size:.92rem;font-weight:600}.tabs button.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.tabs .mobile-only{display:none}.panel,.side{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:20px}.side{padding:0;overflow:hidden}h2{margin:0 0 10px;font-size:1.05rem}.pill{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:700}.pill.live{background:var(--accent);color:#111}.note{background:color-mix(in srgb, var(--primary) 14%, transparent);border-left:3px solid var(--primary);border-radius:6px;margin:0 0 14px;padding:8px 12px;font-size:.92rem}.error{color:var(--bad);margin:8px 0 0;font-size:.9rem}.primary{background:var(--primary);color:var(--on-primary);border:0;border-radius:10px;padding:10px 18px;font-weight:700}.ghost{border:1px solid var(--line);background:0 0;border-radius:10px;padding:10px 18px;font-weight:600}.link{color:var(--primary);background:0 0;border:0;padding:0}.row{flex-wrap:wrap;gap:10px;display:flex}.field{gap:6px;margin-bottom:14px;display:grid}.field>span{font-size:.85rem;font-weight:600}.field em{color:var(--muted);font-style:normal;font-weight:400}input,textarea{width:100%;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}input:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:0;border-color:#0000}.schedule-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.schedule-head p{margin:0 0 12px;font-size:.9rem}.fav-next{margin:0 0 16px;font-size:.92rem}.day{margin-top:18px}.day h2{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.8rem}.day ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.airing{background:var(--surface-2);border-radius:10px;grid-template-columns:76px minmax(0,1fr) auto;align-items:start;gap:14px;padding:12px;display:grid}.airing.now{outline:2px solid var(--accent)}.airing time{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;display:grid}.airing time span{color:var(--muted);font-size:.82rem;font-weight:400}.what{flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.what strong{font-size:1.02rem}.host{color:var(--muted);font-size:.9rem}.what p{width:100%;color:var(--muted);margin:2px 0 0;font-size:.88rem}.airing-actions{justify-items:end;gap:4px;display:grid}.star{color:var(--muted);background:0 0;border:0;padding:2px 4px;font-size:1.6rem;line-height:1}.star.on{color:var(--accent)}.mine{margin-bottom:20px}.mine ul,.results{gap:6px;margin:0;padding:0;list-style:none;display:grid}.mine li{background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.status-accepted{background:color-mix(in srgb, var(--ok) 20%, transparent);color:var(--ok)}.status-rejected{color:var(--muted)}.results li>button{text-align:left;background:var(--surface-2);border:1px solid #0000;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) auto;align-items:center;gap:10px;width:100%;padding:10px 12px;display:grid}.results li>button:hover{border-color:var(--primary)}.results span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.results strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.results .choose{color:var(--primary);font-size:.85rem;font-weight:700}.request-form h2{margin-bottom:14px}.lists{gap:22px;display:grid}.songs{gap:4px;margin:0;padding:0;list-style:none;display:grid}.songs li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;padding:8px 0;display:grid}.songs span,.songs time{color:var(--muted)}.chat{flex-direction:column;height:100%;min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px 10px;display:flex}.chat-head h2{margin:0}.conn{color:var(--muted);font-size:.75rem}.conn.on{color:var(--ok)}.messages{flex-direction:column;flex:1;gap:10px;margin:0;padding:12px 18px;list-style:none;display:flex;overflow-y:auto}.messages li{overflow-wrap:anywhere;gap:1px;display:grid}.messages .who{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:flex}.messages .dj .who{color:var(--accent)}.messages .dj .text{background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:8px;padding:6px 10px}.dj-badge{background:var(--accent);color:#111;border-radius:4px;padding:0 5px;font-size:.65rem}.messages .empty{margin:auto}.compose{border-top:1px solid var(--line);gap:8px;padding:12px 14px;display:flex}.chat .error{margin:0;padding:0 14px 10px}.change-name{align-self:flex-start;margin:0 14px 12px}.about p{margin:0 0 12px}.links{flex-wrap:wrap;gap:8px;margin:16px 0;padding:0;list-style:none;display:flex}.links a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:600;text-decoration:none;display:inline-block}.foot{text-align:center;color:var(--muted);padding:0 16px calc(24px + env(safe-area-inset-bottom));font-size:.8rem}@media (width<=860px){.body{grid-template-columns:minmax(0,1fr)}.side{display:none}.tabs .mobile-only{display:inline-block}}@media (width<=560px){.player{grid-template-columns:auto 1fr;padding:14px}.volume{border-top:1px solid #ffffff24;grid-column:1/-1;padding-top:10px}.volume input{flex:1;width:auto}.layout-card .hero-inner{padding:20px 16px 18px}.play{width:62px;height:62px}.logo{width:56px;height:56px}.airing{grid-template-columns:72px minmax(0,1fr);gap:10px}.airing time{font-size:.9rem}.airing-actions{grid-column:2;grid-auto-flow:column;place-items:center start;gap:14px}.results li>button{grid-template-columns:minmax(0,1fr) auto}.results li>button span:not(.choose){display:none}.songs li{grid-template-columns:minmax(0,1fr) auto}.songs li span{display:none}}.star:hover{color:var(--accent)}.star:focus-visible{outline:2px solid var(--accent);border-radius:6px}.requests .search{z-index:1;background:var(--surface);margin:-20px -20px 14px;padding:20px 20px 12px;position:sticky;top:-20px}@supports not selector(::-webkit-scrollbar){.panel,.messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--primary) 55%, var(--line)) transparent}}.panel::-webkit-scrollbar{width:10px}.messages::-webkit-scrollbar{width:10px}.panel::-webkit-scrollbar-track{background:color-mix(in srgb, var(--line) 45%, transparent);border-radius:999px}.messages::-webkit-scrollbar-track{background:color-mix(in srgb, var(--line) 45%, transparent);border-radius:999px}.panel::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--primary) 55%, var(--line));border:2px solid var(--surface);border-radius:999px}.messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--primary) 55%, var(--line));border:2px solid var(--surface);border-radius:999px}.page{flex-direction:column;min-height:100dvh;display:flex}.hero,.foot{flex:none}.body{flex:1 1 0;grid-template-rows:minmax(0,1fr);align-items:stretch;width:100%;min-height:460px;padding-bottom:16px}.main{flex-direction:column;min-height:0;display:flex}.tabs{flex:none}.panel{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1 1 0;min-height:0;overflow-y:auto}.side{flex-direction:column;min-height:0;display:flex}.side .chat{flex:1}.foot{padding-top:4px}@media (width<=860px){.body{min-height:420px}.panel:has(>.mobile-chat){flex-direction:column;padding:0;display:flex;overflow:hidden}.mobile-chat{flex-direction:column;flex:1;min-height:0;display:flex}.mobile-chat .chat{flex:1;height:auto;margin:0}.side{display:none}}.social{flex-wrap:wrap;gap:6px;margin-top:-8px;display:flex}.social a{color:var(--link-text);background:var(--link-bg);border:1px solid #fff3;border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:600;text-decoration:none}.social a:hover{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.about h2{margin-top:18px}.contact dl{grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0;display:grid}.contact dt{color:var(--muted)}.contact dd{overflow-wrap:anywhere;margin:0}.contact .address{white-space:pre-line}:root[data-theme=light] .messages .dj .who,:root[data-theme=light] .star.on,:root[data-theme=light] .star:hover{color:color-mix(in srgb, var(--accent) 50%, #000)}
