:root{
  --bg:#000000;
  --panel:#131313;
  --panel-2:#1c1c1c;
  --line: rgba(255,255,255,0.08);
  --line-strong: rgba(255,255,255,0.16);
  --text:#ffffff;
  --text-dim:#b3b3b3;
  --text-faint:#8a8a8a;
  --accent:#f09050;
  --accent-2:#f4a86e;
  --accent-dim: rgba(240,144,80,0.18);
  --live:#e23636;
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{
  background:
    radial-gradient(circle at 12% 0%, rgba(240,144,80,0.10), transparent 40%),
    radial-gradient(circle at 88% 110%, rgba(240,144,80,0.06), transparent 45%),
    var(--bg);
  color:var(--text);
  font-family:'Inter','Helvetica Neue',Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;cursor:pointer;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--accent-2); outline-offset:3px;}
img{max-width:100%;}

.topnav{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center; gap:6px;
  padding:12px 20px;
  background:rgba(0,0,0,0.78);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.topnav .brand{
  display:flex; align-items:center; gap:8px;
  font-weight:800; font-size:15px; letter-spacing:-0.01em;
  margin-right:auto;
  white-space:nowrap;
}
.topnav .brand img{width:22px;height:30px;object-fit:contain;}
.topnav .brand span{color:var(--accent-2);}
.nav-link{
  display:flex; align-items:center; gap:6px;
  padding:8px 12px;
  border-radius:8px;
  font-size:13px; font-weight:700;
  color:var(--text-dim);
  white-space:nowrap;
}
.nav-link svg{width:15px;height:15px;flex-shrink:0;}
.nav-link:hover{color:var(--text); background:var(--panel-2);}
.nav-link.active{color:#fff; background:var(--accent-dim); color:var(--accent-2);}
.nav-link .lbl{display:inline;}
@media (max-width:560px){
  .topnav{padding:10px 12px; gap:2px;}
  .nav-link{padding:8px; }
  .nav-link .lbl{display:none;}
}

.miniplayer-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--live);
  box-shadow:0 0 0 0 rgba(226,54,54,0.6);
  animation:pulse 1.8s infinite;
  margin-left:4px;
  flex-shrink:0;
}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(226,54,54,0.55);}70%{box-shadow:0 0 0 6px rgba(226,54,54,0);}100%{box-shadow:0 0 0 0 rgba(226,54,54,0);}}
@media (prefers-reduced-motion: reduce){ .miniplayer-dot{animation:none;} }

.wrap{max-width:1100px;margin:0 auto;padding:28px 24px 90px;}
@media (max-width:600px){ .wrap{padding:20px 16px 90px;} }
@media (max-width:380px){ .wrap{padding:16px 14px 90px;} }

.view{display:none;}
.view.active{display:block;}

.greet-bar{
  display:flex; align-items:center; gap:16px;
  border:1px solid var(--line); border-radius:12px;
  background:var(--panel); padding:14px 18px; margin-bottom:22px;
  flex-wrap:wrap;
}
.greet-text{flex:1;min-width:200px;font-size:14.5px;line-height:1.45;color:var(--text);}
.greet-text .wave{margin-right:2px;}
.greet-text b{font-weight:700;}

.weather-chip{
  display:flex; align-items:center; gap:10px;
  padding:8px 14px; border:1px solid var(--line-strong); border-radius:10px;
  background:var(--panel-2); flex-shrink:0; transition:opacity 0.2s;
}
#weatherSlot{min-height:40px;}
.weather-chip .w-icon{font-size:22px; line-height:1; flex-shrink:0;}
.weather-chip .w-info{display:flex; flex-direction:column; line-height:1.25;}
.weather-chip .w-temp{font-weight:700; font-size:15px; white-space:nowrap; color:var(--text);}
.weather-chip .w-place{font-size:10.5px;font-weight:600;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;}
.weather-chip .w-hilo{font-size:10px; color:var(--text-faint); margin-left:2px; font-weight:500;}
.weather-chip.is-loading{opacity:0.55;}
.weather-chip .w-edit{border:none; background:none; color:var(--text-faint); cursor:pointer; padding:2px; margin-left:4px; flex-shrink:0; display:flex; align-items:center;}
.weather-chip .w-edit:hover{color:var(--accent-2);}
.weather-chip .w-edit svg{width:13px;height:13px;}

.zip-form{display:flex; align-items:center; gap:8px; flex-shrink:0;}
.zip-input{width:90px; padding:8px 10px; border:1px solid var(--line-strong); border-radius:8px; background:var(--panel-2); color:var(--text); font-size:13px; font-family:inherit;}
.zip-input::placeholder{color:var(--text-faint);}
.zip-input:focus{outline:2px solid var(--accent-2); outline-offset:1px;}
.zip-go{border:none; background:var(--accent); color:#fff; font-size:12.5px; font-weight:700; padding:8px 14px; border-radius:8px; cursor:pointer;}
.zip-go:hover{background:var(--accent-2);}
.zip-error{font-size:11px; color:var(--live); flex-basis:100%; margin-top:2px;}

@media (max-width:560px){
  .greet-bar{padding:12px 14px; gap:10px; min-height:148px;}
  .greet-text{font-size:13.5px; flex-basis:100%;}
  .weather-chip{flex-basis:100%; justify-content:flex-start;}
  .zip-form{flex-basis:100%;}
  .zip-input{flex:1;}
}

.now-strip{
  display:flex; align-items:center; gap:14px;
  border:1px solid var(--line); border-radius:12px; background:var(--panel);
  padding:16px 20px; margin-bottom:36px; cursor:pointer;
  transition:border-color 0.16s, background 0.16s, transform 0.16s;
}
.now-strip:hover{border-color:var(--accent); background:var(--panel-2); transform:translateY(-2px);}
.now-icon{width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel-2);display:flex;align-items:center;justify-content:center;color:var(--text);}
.now-icon img{width:24px;height:33px;object-fit:contain;}
.now-info{flex:1;min-width:0;}
.now-label{font-size:10.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--live);display:flex;align-items:center;gap:6px;margin-bottom:3px;}
.now-label .pip{width:6px;height:6px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 rgba(226,54,54,0.6);animation:pulse 1.8s infinite;}
.now-name{font-weight:700;font-size:16px;line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.now-tag{font-size:11.5px; color:var(--text-faint); margin-top:2px; min-height:14px;}
.now-cta{font-size:11.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-dim);display:flex;align-items:center;gap:6px;flex-shrink:0;}
.now-strip:hover .now-cta{color:var(--accent-2);}
.now-cta svg{width:12px;height:12px;}
@media (max-width:560px){ .now-strip{padding:13px 16px;} .now-cta span{display:none;} }

.row{margin-bottom:34px;}
.row-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px; gap:10px;}
.row-title{font-weight:800;font-size:18px;letter-spacing:-0.01em;}
.row-link{font-size:11.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-dim);display:flex;align-items:center;gap:5px;flex-shrink:0;}
.row-link:hover{color:var(--accent-2);}
.row-link svg{width:10px;height:10px;}

.row-scroll{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximate;-webkit-overflow-scrolling:touch;min-height:144px;}
.row-scroll::-webkit-scrollbar{height:0;}

.card{position:relative;flex:0 0 auto;width:168px;border:1px solid var(--line);border-radius:10px;cursor:pointer;scroll-snap-align:start;transition:transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;background:var(--panel);overflow:hidden;}
.card:hover, .card:focus-visible{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 16px 32px -16px rgba(0,0,0,0.7);}
@media (max-width:560px){ .card{width:142px;} }
.card-art{height:84px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);position:relative;color:var(--text-dim);background:var(--panel-2);}
.card:hover .card-art{color:var(--accent-2);}
.card-art img{width:48px;height:65px;object-fit:contain;}
.card-no{position:absolute; top:6px; left:7px;font-size:10px; font-weight:700;color:var(--text-faint);}
.card-body{padding:9px 10px 11px;}
.card-name{font-size:12.5px;font-weight:700;line-height:1.25;margin-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.card-tag{font-size:10px; font-weight:500; color:var(--text-faint);}

footer{text-align:center;margin-top:8px;font-size:11.5px;color:var(--text-faint);}

.crosslink-row{display:flex; flex-wrap:wrap; gap:18px; margin-bottom:18px;}
.crosslink{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-dim);}
.crosslink:hover{color:var(--text);}

.dial-row{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;}
.dial{font-size:12.5px;color:var(--text-dim);line-height:1.5;}
.dial b{color:var(--accent-2);}

.tv-layout{display:grid;grid-template-columns: minmax(0,1fr) 320px;gap:24px;align-items:start;}
.screen-col{position:sticky; top:74px;}
@media (max-width: 1024px){ .tv-layout{grid-template-columns: minmax(0,1fr);} .screen-col{position:static;} }

.now-tag2{font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-2);margin-bottom:8px;}
.now-name2{font-weight:700;font-size:clamp(22px,3.4vw,32px);margin:0 0 14px;line-height:1.1;letter-spacing:-0.01em;color:var(--text);}

.screen-wrap{width:100%;aspect-ratio:16/9;max-height:66vh;background:#000;border-radius:10px;border:1px solid var(--line);position:relative;margin-bottom:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.screen-wrap video{width:100%;height:100%;object-fit:contain;background:#000;}
.screen-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;cursor:pointer;background:rgba(0,0,0,0.5);transition:opacity 0.2s;}
.screen-overlay.hidden{display:none;}
.big-play{width:64px;height:64px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px -8px rgba(240,144,80,0.6);}
.big-play svg{width:24px;height:24px;fill:#fff;}
.overlay-label{color:#ffffff;font-size:13px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;}

.fs-btn{position:absolute;bottom:10px;right:10px;width:38px;height:38px;border:none;border-radius:6px;background:rgba(0,0,0,0.55);color:#ffffff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s, opacity 0.2s;z-index:5;}
.fs-btn:hover{background:var(--accent);}
.fs-btn svg{width:18px;height:18px;display:block;}

.live-badge{position:absolute;top:10px; left:10px;z-index:5;display:flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;border-radius:6px;background:rgba(0,0,0,0.6);font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity 0.2s;pointer-events:none;}
.live-badge.is-on{opacity:1;}
.live-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 rgba(226,54,54,0.6);animation:livepulse 1.8s infinite;}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(226,54,54,0.55);}70%{box-shadow:0 0 0 6px rgba(226,54,54,0);}100%{box-shadow:0 0 0 0 rgba(226,54,54,0);}}
@media (prefers-reduced-motion: reduce){ .live-badge .dot{animation:none;} }

.screen-wrap:fullscreen{border-radius:0; border:none; background:#000;}
.screen-wrap:fullscreen video{object-fit:contain;}
.screen-wrap:fullscreen .fs-btn{bottom:18px;right:18px;}
.screen-wrap:-webkit-full-screen{border-radius:0; border:none; background:#000;}
.screen-wrap:-webkit-full-screen video{object-fit:contain;}

.tv-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:12px 16px;margin-bottom:8px;}
.ctrl-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:0.15s;}
.ctrl-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.ctrl-btn.casting{background:var(--live);border-color:var(--live);color:#000000;}
.ctrl-btn svg{width:15px;height:15px;display:block;}
.status-block{}
.status-label{font-size:10.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-faint);}
.status-text{font-size:14px;font-weight:700;margin-top:1px;color:var(--text);}
.vol-row{display:flex;align-items:center;gap:8px;margin-left:auto;}
.vol-row label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-faint);}
.vol-row input[type=range]{-webkit-appearance:none;width:90px;height:4px;border-radius:2px;background:var(--line-strong);outline:none;}
.vol-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-2);cursor:pointer;}
.vol-row input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent-2);cursor:pointer;border:none;}

.note{font-size:11.5px;color:var(--text-faint);line-height:1.5;margin-top:10px;}
.related-reading{border:1px solid var(--line); border-radius:10px; background:var(--panel); padding:16px 18px; margin-top:18px;}
.related-reading h2{font-size:13.5px; font-weight:700; margin:0 0 8px; color:var(--text);}
.related-reading p{font-size:13px; color:var(--text-dim); line-height:1.55; margin:0 0 12px;}
.related-reading-link{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--accent-2);}
.related-reading-link:hover{color:var(--accent);}
.related-reading-link svg{width:13px;height:13px;}

.guide{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden;}
.guide-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);}
.guide-head .label{font-weight:800;font-size:13.5px;letter-spacing:-0.005em;}
.guide-head .count{font-size:11px;color:var(--text-faint);}
.channel-row{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;border-bottom:1px solid var(--line);transition:background 0.12s;}
.channel-row:last-child{border-bottom:none;}
.channel-row:hover{background:var(--panel-2);}
.channel-row.active{background:var(--accent-dim);}
.ch-no{font-size:11px;font-weight:700;color:var(--text-faint);width:20px;flex-shrink:0;}
.channel-row.active .ch-no{color:var(--accent-2);}
.ch-meta{flex:1;min-width:0;}
.ch-name{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ch-tag{font-size:10.5px;color:var(--text-faint);margin-top:1px;}
.ch-fav-star{width:30px;height:30px;flex-shrink:0;border:none;background:transparent;color:var(--text-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.15s;border-radius:50%;}
.ch-fav-star:hover{color:var(--accent-2); background:var(--accent-dim);}
.ch-fav-star.is-fav{color:var(--accent-2);}
.ch-fav-star.is-fav svg{fill:currentColor;}
.ch-fav-star svg{width:15px;height:15px;display:block;}
.ch-icon{width:18px;flex-shrink:0;color:var(--text-faint);display:flex;align-items:center;justify-content:center;}
.ch-icon img{width:14px;height:19px;object-fit:contain;}
.channel-row.active .ch-icon{color:var(--accent-2);}
.eq-bars{width:14px;height:14px;}
.eq-bars rect{fill:currentColor;transform-origin:center bottom;animation:eq 0.9s ease-in-out infinite;}
.eq-bars rect:nth-child(2){animation-delay:0.15s;}
.eq-bars rect:nth-child(3){animation-delay:0.3s;}
@keyframes eq{0%,100%{transform:scaleY(0.35);}50%{transform:scaleY(1);}}
@media (prefers-reduced-motion: reduce){ .eq-bars rect{animation:none;} }

.chan-detail-wrap{max-width:900px;margin:0 auto;}
.title-fav-star{width:38px;height:38px;flex-shrink:0;border:1px solid var(--line-strong);background:var(--panel-2);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);cursor:pointer;transition:0.15s;vertical-align:middle;margin-left:12px;}
.title-fav-star:hover{color:var(--accent-2);border-color:var(--accent-2);}
.title-fav-star svg{width:17px;height:17px;display:block;}
.title-fav-star.is-fav{color:var(--accent-2);border-color:var(--accent-2);}
.title-fav-star.is-fav svg{fill:currentColor;}
.info-panel{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:14px 16px;margin-top:6px;margin-bottom:14px;}
.info-panel h2{font-size:13px;font-weight:700;margin:0 0 10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.06em;}
.info-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px;}
.info-row:last-child{border-bottom:none;}
.info-row .k{color:var(--text-faint);}
.info-row .v{font-weight:600;}

.chan-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px,1fr));gap:14px;}
@media (max-width:480px){ .chan-grid{grid-template-columns:minmax(0,1fr);} }
.chan-card{position:relative;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:18px 18px 64px;display:flex;flex-direction:column;min-height:120px;cursor:pointer;transition:transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;overflow:hidden;}
.chan-card:hover, .chan-card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 36px -18px rgba(0,0,0,0.7);border-color:var(--accent);background:var(--panel-2);}
.chan-card:active{transform:translateY(-1px);}
.chan-logo{position:absolute;right:10px; bottom:6px;width:46px; height:62px;object-fit:contain;opacity:0.16;pointer-events:none;transition:opacity 0.16s;}
.chan-card:hover .chan-logo{opacity:0.32;}
.chan-no{font-weight:700;font-size:11px;letter-spacing:0.04em;color:var(--text-faint);margin-bottom:14px;}
.chan-name{font-weight:700;font-size:18px;line-height:1.2;margin-bottom:8px;letter-spacing:-0.005em;position:relative;z-index:1;}
.chan-tag{font-size:11px;font-weight:600;color:var(--text-faint);margin-bottom:auto;position:relative;z-index:1;}
.chan-cta{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-dim);margin-top:16px;position:relative;z-index:1;}
.chan-card:hover .chan-cta{color:var(--accent-2);}
.chan-cta svg{width:12px;height:12px;transition:transform 0.16s;}
.chan-card:hover .chan-cta svg{transform:translateX(3px);}

.player-bar{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:16px;margin-bottom:18px;}
.player-top{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.player-art{width:52px;height:52px;flex-shrink:0;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel-2);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.player-art img{width:30px;height:40px;object-fit:contain;}
.eq-bars{color:var(--accent-2);}
.player-info{flex:1;min-width:0;}
.player-tag{font-size:10.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-2);}
.player-name{font-size:15.5px;font-weight:700;margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.player-status{font-size:11.5px;color:var(--text-faint);margin-top:1px;}
.player-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}

.controls{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.search{flex:1;min-width:160px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:9px;background:var(--panel-2);color:var(--text);font-size:13.5px;font-family:inherit;}
.search::placeholder{color:var(--text-faint);}
.filter-btn{border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text-dim);font-size:12px;font-weight:600;padding:8px 13px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:0.15s;}
.filter-btn:hover{border-color:var(--accent-2);color:var(--text);}
.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.count{font-size:11.5px;color:var(--text-faint);margin-bottom:14px;}

.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
.station-row{display:flex;align-items:center;gap:12px;min-width:0;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);cursor:pointer;transition:border-color 0.14s, background 0.14s;}
.station-row:hover{border-color:var(--accent);background:var(--panel-2);}
.station-row.active{border-color:var(--accent);background:var(--accent-dim);}
.freq{font-size:11px;font-weight:700;color:var(--text-faint);width:38px;flex-shrink:0;text-align:right;}
.station-row.active .freq{color:var(--accent-2);}
.meta{flex:1;min-width:0;}
.name{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tag{font-size:10.5px;color:var(--text-faint);margin-top:1px;}
.row-fav-star{width:32px;height:32px;flex-shrink:0;border:none;background:transparent;color:var(--text-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.15s;border-radius:50%;}
.row-fav-star:hover{color:var(--accent-2);}
.row-fav-star svg{width:15px;height:15px;display:block;}
.row-fav-star.is-fav{color:var(--accent-2);}
.row-fav-star.is-fav svg{fill:currentColor;}
.playicon{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.playicon img{width:18px;height:24px;object-fit:contain;}

.empty{grid-column:1/-1;padding:40px 10px;text-align:center;color:var(--text-faint);}

.tagline{font-size:14px;color:var(--text-dim);margin:0 0 18px;}
.fav-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px,1fr));gap:12px;}
@media (max-width:480px){ .fav-grid{grid-template-columns:minmax(0,1fr);} }
.fav-card{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:14px 16px;cursor:pointer;transition:border-color 0.15s, transform 0.15s;}
.fav-card:hover{border-color:var(--accent); transform:translateY(-2px);}
.fav-icon{width:38px;height:38px;flex-shrink:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel-2);display:flex;align-items:center;justify-content:center;color:var(--text-dim);}
.fav-icon svg{width:18px;height:18px;}
.fav-info{flex:1;min-width:0;}
.fav-name{font-size:14px;font-weight:700;line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.fav-tag{font-size:11px; color:var(--text-faint); margin-top:2px;}
.fav-remove{width:30px;height:30px;flex-shrink:0;border-radius:50%;border:none;background:transparent;color:var(--text-faint);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:0.15s;}
.fav-remove:hover{color:var(--accent-2); background:var(--accent-dim);}
.fav-remove svg{width:15px;height:15px;}
.empty-state{text-align:center;padding:60px 20px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--text-dim);}
.empty-state svg{width:40px;height:40px;color:var(--text-faint);margin-bottom:14px;}
.empty-state h2{font-size:16px;font-weight:700;color:var(--text);margin:0 0 6px;}
.empty-state p{font-size:13.5px;margin:0 0 18px;color:var(--text-dim);}
.empty-state a{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;}
.empty-state a:hover{background:var(--accent-2);}

.av-install-banner{position:fixed;left:12px;right:12px;bottom:16px;z-index:70;display:flex;align-items:center;gap:12px;background:#131313;border:1px solid rgba(255,255,255,0.14);border-radius:12px;padding:12px 14px;box-shadow:0 16px 40px -12px rgba(0,0,0,0.7);font-family:'Inter','Helvetica Neue',Arial,sans-serif;animation:av-banner-up 0.25s ease;}
@keyframes av-banner-up{from{transform:translateY(12px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.av-install-icon{width:38px;height:38px;flex-shrink:0;border-radius:9px;overflow:hidden;background:#000000;display:flex;align-items:center;justify-content:center;}
.av-install-icon img{width:100%;height:100%;object-fit:cover;}
.av-install-text{flex:1;min-width:0;}
.av-install-title{font-size:13px;font-weight:700;color:#ffffff;line-height:1.25;}
.av-install-sub{font-size:11.5px;color:#b3b3b3;margin-top:1px;}
.av-install-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.av-install-btn{border:none;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;}
.av-install-btn.primary{background:#f09050;color:#fff;}
.av-install-btn.primary:hover{background:#f4a86e;}
.av-install-btn.dismiss{background:transparent;color:#8a8a8a;padding:8px;}
.av-install-btn.dismiss:hover{color:#ffffff;}
.av-install-btn.dismiss svg{width:16px;height:16px;display:block;}

.mini-player{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:14px;background:rgba(10,10,10,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,0.16);padding:10px 18px;box-shadow:0 -8px 24px -8px rgba(0,0,0,0.6);font-family:'Inter','Helvetica Neue',Arial,sans-serif;}
.mini-player.needs-tap{cursor:pointer;border-top-color:rgba(240,144,80,0.5);animation:tl-needs-tap-pulse 1.6s ease-in-out infinite;}
@keyframes tl-needs-tap-pulse{0%,100%{box-shadow:0 -8px 24px -8px rgba(0,0,0,0.6);}50%{box-shadow:0 -8px 28px -6px rgba(240,144,80,0.45);}}
.mini-player-info{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 auto;max-width:40%;}
.mini-player-eq{display:flex;align-items:flex-end;gap:2px;width:16px;height:16px;flex-shrink:0;}
.mini-player-eq span{display:block;width:3px;background:var(--accent-2,#f09050);border-radius:1px;height:4px;opacity:0.4;}
.mini-player.is-playing .mini-player-eq span{animation:tl-eq-bounce 0.9s ease-in-out infinite;opacity:1;}
.mini-player.is-playing .mini-player-eq span:nth-child(2){animation-delay:0.15s;}
.mini-player.is-playing .mini-player-eq span:nth-child(3){animation-delay:0.3s;}
@keyframes tl-eq-bounce{0%,100%{height:4px;}50%{height:14px;}}
.mini-player-text{min-width:0;overflow:hidden;}
.mini-player-name{font-size:13.5px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mini-player-status{font-size:11.5px;color:#9a9a9a;margin-top:1px;}
.mini-player-controls{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.mini-player-shuffle{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;}
.mini-player-btn{background:rgba(255,255,255,0.08);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;}
.mini-player-btn:hover{background:rgba(255,255,255,0.16);}
.mini-player-btn svg{width:17px;height:17px;}
.mini-art{width:42px;height:42px;border-radius:8px;flex:0 0 auto;overflow:hidden;position:relative;background:var(--panel-2,#1c1c1c);box-shadow:0 3px 10px rgba(0,0,0,.4);}
.mini-art img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box;}
#tlMiniPlayerToggle{background:#fff;color:#000;}
#tlMiniPlayerToggle:hover{background:#fff;opacity:.9;}
@media (max-width:480px){.mini-player{padding:8px 12px;}.mini-player-name{font-size:12.5px;}}


.av-install-banner{position:fixed;left:12px;right:12px;bottom:16px;z-index:70;display:flex;align-items:center;gap:12px;background:#131313;border:1px solid rgba(255,255,255,0.14);border-radius:12px;padding:12px 14px;box-shadow:0 16px 40px -12px rgba(0,0,0,0.7);font-family:'Inter','Helvetica Neue',Arial,sans-serif;animation:av-banner-up 0.25s ease;}
@keyframes av-banner-up{from{transform:translateY(12px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.av-install-icon{width:38px;height:38px;flex-shrink:0;border-radius:9px;overflow:hidden;background:#000000;display:flex;align-items:center;justify-content:center;}
.av-install-icon img{width:100%;height:100%;object-fit:cover;}
.av-install-text{flex:1;min-width:0;}
.av-install-title{font-size:13px;font-weight:700;color:#ffffff;line-height:1.25;}
.av-install-sub{font-size:11.5px;color:#b3b3b3;margin-top:1px;}
.av-install-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.av-install-btn{border:none;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;}
.av-install-btn.primary{background:#f09050;color:#fff;}
.av-install-btn.primary:hover{background:#f4a86e;}
.av-install-btn.dismiss{background:transparent;color:#8a8a8a;padding:8px;}
.av-install-btn.dismiss:hover{color:#ffffff;}
.av-install-btn.dismiss svg{width:16px;height:16px;display:block;}

.logo-bg{background-image:url('data:image/png;base64,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');background-size:contain;background-position:center;background-repeat:no-repeat;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.auth-card{border:1px solid var(--line); border-radius:12px; background:var(--panel); padding:24px 22px;}
.auth-form{display:flex; flex-direction:column; gap:6px;}
.auth-label{font-size:12px; font-weight:600; color:var(--text-dim); margin-top:12px;}
.auth-input{padding:11px 13px; border:1px solid var(--line-strong); border-radius:8px; background:var(--panel-2); color:var(--text); font-size:14px; font-family:inherit;}
.auth-input:focus{outline:2px solid var(--accent-2); outline-offset:1px;}
.auth-submit{margin-top:20px; border:none; border-radius:8px; background:var(--accent); color:#fff; font-size:14.5px; font-weight:700; padding:12px; cursor:pointer; font-family:inherit;}
.auth-submit:hover{background:var(--accent-2);}
.auth-error{background:rgba(226,54,54,0.12); border:1px solid rgba(226,54,54,0.4); color:#ff8a8a; border-radius:8px; padding:10px 13px; font-size:13px; margin-bottom:8px;}
.auth-success{background:rgba(80,200,120,0.12); border:1px solid rgba(80,200,120,0.4); color:#7be8a0; border-radius:8px; padding:10px 13px; font-size:13px; margin-bottom:8px;}
.lock-screen{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:60px 24px; border:1px dashed var(--line-strong); border-radius:12px; text-align:center;}
.lock-screen svg{width:40px; height:40px; color:var(--text-faint);}
.lock-screen h2{font-size:17px; font-weight:700; color:var(--text); margin:0;}
.lock-screen p{font-size:13.5px; color:var(--text-dim); margin:0; max-width:340px;}
.lock-actions{display:flex; gap:10px; margin-top:6px;}
.lock-btn{padding:10px 18px; border-radius:8px; font-size:13.5px; font-weight:700; text-decoration:none;}
.lock-btn.primary{background:var(--accent); color:#fff;}
.lock-btn.primary:hover{background:var(--accent-2);}
.lock-btn.secondary{border:1px solid var(--line-strong); color:var(--text-dim);}
.lock-btn.secondary:hover{color:var(--text); border-color:var(--accent-2);}
