/* Search, account controls, social sidebar, and viewport-sized guide refinements. */
.header-actions{gap:clamp(12px,1.8vw,24px)}
.header-search{position:relative;z-index:25;width:clamp(150px,18vw,240px);margin:0;transition:width .2s ease}
.header-search:focus-within{width:clamp(220px,25vw,330px)}
.header-search-field{display:flex;align-items:center;gap:9px;min-height:40px;padding:0 12px;border:1px solid color-mix(in srgb,var(--line) 86%,var(--accent) 14%);border-radius:13px;background:color-mix(in srgb,var(--bg) 82%,var(--panel));color:var(--muted);transition:border-color .18s,box-shadow .18s,background .18s}
.header-search-field:focus-within{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--panel) 96%,var(--bg));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}
.header-search-field>span{font-size:22px;line-height:1;color:var(--accent)}
.header-search-field input{width:100%;min-width:0;height:38px;padding:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:12px}
.header-search-field input::placeholder{color:var(--muted)}
.header-search-field input:focus{box-shadow:none}
#header-search .header-search-field input{flex:1 1 auto;min-width:0;height:38px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:0}
#header-search .header-search-field input:hover,#header-search .header-search-field input:focus,#header-search .header-search-field input:focus-visible{border:0;background:transparent;box-shadow:none;outline:0}
.header-search-results{position:absolute;top:calc(100% + 9px);left:0;right:auto;width:100%;max-height:min(520px,calc(100dvh - 105px));overflow:auto;padding:8px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--panel) 97%,#05070d);box-shadow:0 24px 70px #000b;backdrop-filter:blur(22px)}
.header-search-results[hidden]{display:none}
.header-search-result{display:flex;align-items:center;gap:11px;min-width:0;padding:8px;border-radius:11px;color:var(--text);text-decoration:none;transition:background .16s}
.header-search-result:hover,.header-search-result:focus-visible{outline:0;background:color-mix(in srgb,var(--accent) 12%,transparent)}
.header-search-poster{flex:0 0 38px;width:38px;height:52px;object-fit:cover;border-radius:7px;background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent)}
.header-search-poster-empty{display:grid;place-items:center;font-size:19px}
.header-search-result>span:last-child{display:grid;gap:5px;min-width:0}
.header-search-result strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.header-search-result small{font-size:10px;color:var(--muted)}
.header-search-empty{margin:0;padding:17px 12px;color:var(--muted);font-size:12px}
.header-search-more{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:39px;margin-top:6px;padding:8px 11px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--text);font:inherit;font-size:11px;font-weight:700;text-align:left;cursor:pointer}
.header-search-more:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}
.header-search-more span{color:var(--accent)}
@media(max-width:920px){.header{height:auto;min-height:78px;flex-wrap:wrap;gap:0 14px;padding:9px var(--content-x,5%) 0}.header nav{order:3;width:100%;height:47px;justify-content:flex-start;gap:4px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.header nav::-webkit-scrollbar{display:none}.header nav a{flex:0 0 auto;padding-inline:10px;font-size:11px}.header-actions{margin-left:auto}.header-search{width:clamp(130px,22vw,190px)}.header-search:focus-within{width:clamp(185px,31vw,250px)}main:has(.live-guide-page){height:calc(100dvh - 130px)}}

.header-actions .profile-menu-trigger{gap:8px;max-width:185px;padding:3px 2px 3px 3px;border:0;border-radius:999px;background:transparent}
.header-actions .profile-menu-trigger:hover,.header-actions .profile-menu-trigger[aria-expanded=true]{border-color:transparent;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text)}
.header-actions .profile-menu-trigger .avatar{flex:0 0 37px;width:37px;height:37px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--panel) 90%,var(--accent));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 7%,transparent)}
.header-actions .profile-menu-trigger .avatar>.social-avatar{width:100%;height:100%;border:0;border-radius:50%;font-size:12px}
#profile-label{max-width:115px;overflow:hidden;color:var(--text);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.profile-menu-chevron{font-size:12px;color:var(--muted)}
.notification-anchor{display:flex;align-items:center;gap:4px}
.header-actions .notification-bell{display:grid;place-items:center;width:36px;height:40px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);transition:color .16s,transform .16s}
.header-actions .notification-bell:hover,.header-actions .notification-bell[aria-expanded=true]{border:0;background:transparent;color:var(--accent);transform:translateY(-1px)}
.header-actions .notification-bell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.notification-count{position:static;display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:0;border-radius:999px;background:var(--accent);color:var(--bg);font-size:9px;font-weight:850;font-style:normal;line-height:1}
.notification-count[hidden]{display:none}
.notification-panel{background:color-mix(in srgb,var(--panel) 96%,#05060b)!important;border-color:color-mix(in srgb,var(--accent) 28%,var(--line))!important;backdrop-filter:blur(24px);box-shadow:0 24px 80px #000c}
.notification-list{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 36%,transparent) transparent}
.notification-item{min-height:64px}
.notification-item:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:-2px}
.notification-empty{color:var(--muted)}

.luna-notifications{top:max(14px,env(safe-area-inset-top));right:16px;left:auto;width:min(370px,calc(100vw - 28px));transform:none;gap:9px}
.dm-notification{position:relative;overflow:hidden;align-items:flex-start;border:1px solid color-mix(in srgb,var(--accent) 30%,#ffffff20);border-radius:18px;background:linear-gradient(145deg,rgba(23,29,44,.98),rgba(10,15,25,.98));box-shadow:0 18px 58px #000b,0 0 0 1px #ffffff08;backdrop-filter:blur(28px);animation:dm-arrive .28s cubic-bezier(.2,.8,.2,1)}
.dm-notification:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent);content:""}
.dm-notification-main{padding:14px 13px 14px 16px}
.dm-notification-main .social-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:14px}
.dm-notification-main small{color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.13em}
.dm-notification-main strong{font-size:13px}
.dm-notification-main>span>span{max-width:260px;color:#cad4e3;font-size:12px;line-height:1.45}
.dm-notification-close{padding:10px 11px;color:#9aa8b9;font-size:20px}
@media(max-width:700px){.luna-notifications{top:auto;right:12px;bottom:max(14px,env(safe-area-inset-bottom));left:12px;width:auto}.dm-notification{border-radius:17px}.header-search{width:min(38vw,180px)}.header-search:focus-within{width:min(55vw,230px)}.header-search-field{min-height:38px;padding-inline:9px}.header-search-field input{font-size:11px}.header-actions .profile-menu-trigger .avatar{flex-basis:34px;width:34px;height:34px}#profile-label{display:inline;max-width:68px;font-size:10px}.header-actions .profile-menu-trigger{gap:4px}.header-actions .profile-menu-trigger .profile-menu-chevron{display:none}}
@media(max-width:420px){.header-search{width:38px}.header-search:focus-within{width:min(48vw,190px)}.header-search-field{justify-content:center;padding:0 7px}.header-search-field>span{flex:0 0 auto}.header-search-field input{width:0;min-width:0;opacity:0}.header-search:focus-within .header-search-field{justify-content:flex-start}.header-search:focus-within .header-search-field input{width:100%;opacity:1}.header-search-field input::placeholder{font-size:10px}.header-actions{gap:8px}.notification-anchor{gap:2px}.header-actions .notification-bell{width:30px}#profile-label{max-width:54px;font-size:9px}}
@media(max-width:360px){#profile-label{display:none}}

.saved-page .page-heading{align-items:flex-end;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}
.saved-page .page-heading h1{margin-bottom:7px}
.saved-page .page-heading .muted{margin:0;font-size:13px}
.saved-page .empty{max-width:560px;margin:clamp(42px,10vh,100px) auto;padding:clamp(30px,6vw,58px);border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--panel) 84%,transparent);text-align:center}
.saved-page .empty h2{font-size:clamp(22px,3vw,30px)}
.saved-page .empty p{max-width:360px;margin:10px auto 20px;line-height:1.7}

.social-aside-head .eyebrow{display:block;margin:0 0 10px;color:var(--accent);font-size:8px;font-weight:850;letter-spacing:.18em}
.social-aside-head h2{margin:0 0 7px;font-size:clamp(22px,2vw,27px);line-height:1.2;letter-spacing:-.045em}
.social-aside-head p{margin:0 0 20px;color:var(--muted);font-size:11px;line-height:1.65}
.social-add-friend{margin:0 0 20px}
.social-add-friend label{display:block;color:var(--muted);font-size:8px;font-weight:750;letter-spacing:.13em}
.social-add-friend label>div{display:flex;align-items:center;gap:8px;margin-top:8px}
.social-add-friend input{min-height:42px;padding:9px 12px;border-color:var(--line);border-radius:11px;background:color-mix(in srgb,var(--bg) 82%,var(--panel));font-size:12px}
.social-add-friend .social-add-button{display:grid;flex:0 0 42px;place-items:center;width:42px;height:42px;min-height:42px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 13%,var(--panel));color:var(--accent);font-size:22px;line-height:1}
.social-add-friend .social-add-button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,var(--panel))}
.social-friends{display:grid;gap:16px;max-height:390px;overflow:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 30%,transparent) transparent}
.social-friend-group{display:grid;gap:8px}
.social-friend-group h4{margin:0 0 3px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.social-friend-row{min-height:43px;margin:0;padding:5px;border:1px solid transparent;border-radius:12px;transition:background .16s,border-color .16s}
.social-friend-row:hover{border-color:color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--panel) 76%,transparent)}
.social-friend-link{gap:9px}
.social-friend-link .social-avatar{width:35px;height:35px;border-radius:12px}
.social-friend-link strong{font-size:11px;color:var(--text)}
.social-friend-link small{margin-top:3px;font-size:9px}
.social-friend-group:first-child .social-friend-link small{color:#76d7b2}
.remove-friend{width:28px;height:28px;display:grid;place-items:center;border:1px solid transparent;border-radius:9px}
.remove-friend:hover{border-color:color-mix(in srgb,#f0738b 40%,transparent);background:#f0738b12;color:#ff9aaa}
.social-friends-panel>h3{margin:20px 0 10px;color:var(--muted);font-size:8px;letter-spacing:.14em}
.social-friends-panel .social-requests{margin-top:12px}
.social-friends-panel>.social-privacy{display:none}
.social-mobile-section-title{color:var(--muted)}

body:has(.live-guide-page){overflow:hidden}
body:has(.live-guide-page)>footer{display:none}
main:has(.live-guide-page){height:calc(100dvh - 86px);min-height:0;overflow:hidden}
.live-guide-page{display:flex;width:100%;height:100%;min-height:0;max-height:100%;flex-direction:column;gap:0;margin:0;padding:16px clamp(12px,2vw,28px) 12px;overflow:hidden}
.live-guide-heading{flex:0 0 auto;align-items:center;margin:0 0 12px}
.live-guide-title .eyebrow{display:none}
.live-guide-title h1{font-size:clamp(25px,3vw,36px);letter-spacing:-.045em}
.live-guide-title p{margin-top:4px;font-size:11px}
.live-guide-status{gap:8px;font-size:11px}
.live-refresh{min-height:34px!important;padding:6px 10px!important;font-size:10px}
.live-guide-tools{flex:0 0 auto;min-height:54px;padding:7px 10px;border-radius:14px}
.live-search{height:38px;width:min(100%,340px);border-radius:11px}
.live-search input{font-size:12px}
.live-time-tools .button{min-height:34px;padding:6px 9px;font-size:10px}
.live-time-tools .live-step{min-width:32px;font-size:18px}
.live-date{min-width:115px}
.live-date strong{font-size:11px}
.live-date span{font-size:9px}
.live-region-filters{flex:0 0 auto;padding:8px 0 0}
.live-region-filters .live-filter{padding:6px 11px;font-size:10px}
.live-filters{flex:0 0 auto;gap:6px;padding:7px 0 10px;scrollbar-width:none;overscroll-behavior-x:contain}
.live-filters::-webkit-scrollbar{display:none}
.live-filters .live-filter{padding:7px 11px;font-size:10px}
.live-guide-board{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;border-radius:16px}
.live-board-topline{flex:0 0 auto;min-height:34px;padding:9px 13px;font-size:8px}
.live-grid{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x pan-y}
.live-grid::-webkit-scrollbar{display:none}
.live-grid-head{min-height:38px}
.live-grid-head.live-times{min-height:38px}
.live-station,.live-track{min-height:66px}
.live-station{padding:7px 10px}
.live-channel-mark{width:36px;height:36px}
.live-programme{top:6px;bottom:6px;padding:6px 9px}
.live-programme strong{font-size:11px}
.live-programme span{font-size:9px}
.live-guide-footnote{flex:0 0 auto;margin:6px 2px 0;padding:0;font-size:9px;line-height:1.4}
.live-error{min-height:0;flex:1}
.live-loading{justify-content:center}
@media(max-width:800px){
  main:has(.live-guide-page){height:calc(100dvh - 126px)}
  .live-guide-page{padding:10px 11px 8px}
  .live-guide-heading{flex-direction:row;align-items:center;gap:8px;margin-bottom:8px}
  .live-guide-title h1{font-size:25px}
  .live-guide-title p{max-width:230px;font-size:9px}
  .live-guide-status{justify-content:flex-end;font-size:9px}
  .live-updated{display:none}
  .live-guide-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:8px}
  .live-search{width:100%;height:37px}
  .live-time-tools{justify-content:space-between;gap:5px}
  .live-time-tools .button{flex:0 0 auto;min-height:32px}
  .live-date{flex:1;min-width:0}
  .live-region-filters{padding-top:6px}
  .live-region-filters .live-filter{font-size:9px}
  .live-filters{padding:6px 0 8px}
  .live-grid{display:block;flex:1 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
  .live-grid-head{display:none}
  .live-station{position:static;min-height:57px;padding:7px 9px;border-right:0}
  .live-channel-mark{width:34px;height:34px}
  .live-tune{width:32px;height:32px}
  .live-track{display:flex;min-width:0;min-height:60px;overflow-x:auto;overflow-y:hidden;gap:7px;padding:6px 8px;scrollbar-width:none;touch-action:pan-x pan-y}
  .live-track::-webkit-scrollbar{display:none}
  .live-programme{position:relative;inset:auto!important;flex:1 0 min(68vw,250px);min-height:47px;max-width:78vw}
  .live-no-schedule{position:static;flex:1;min-height:47px;padding:0 5px}
  .live-now-line{display:none}
  .live-guide-footnote{display:none}
}
@media(max-width:420px){
  main:has(.live-guide-page){height:calc(100dvh - 124px)}
  .live-guide-title p{display:none}
  .live-guide-title h1{font-size:23px}
  .live-guide-status{gap:6px}
  .live-live-dot{width:7px;height:7px}
  .live-guide-status .live-refresh{font-size:0!important;width:32px;min-width:32px;padding:0!important}
  .live-guide-status .live-refresh::first-letter{font-size:16px}
}
.about-attribution{display:flex;align-items:center;gap:20px;max-width:900px;padding:24px 26px}
.about-attribution>a{flex:0 0 150px;display:grid;place-items:center;min-height:70px;padding:13px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));border-radius:14px;background:#fff}
.about-attribution img{display:block;width:100%;max-width:130px;height:36px;object-fit:contain}
.about-attribution h2{margin-bottom:7px}
.about-attribution .eyebrow{margin-bottom:6px}
.about-attribution .muted{max-width:620px;line-height:1.7}
@media(max-width:560px){.about-attribution{align-items:flex-start;flex-direction:column;gap:16px;padding:20px}.about-attribution>a{flex-basis:auto;width:150px}}
@media(prefers-reduced-motion:reduce){.header-search,.header-search-field,.header-search-result,.header-actions .profile-menu-trigger,.dm-notification,.social-friend-row{animation:none;transition:none}}

:root body .live-guide-page .live-search input[type=search]{width:100%;min-width:0;height:100%;min-height:0!important;margin:0;padding:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0;color:var(--text,#edf6ff);font:inherit}
:root body .live-guide-page .live-search input[type=search]:hover,:root body .live-guide-page .live-search input[type=search]:focus,:root body .live-guide-page .live-search input[type=search]:focus-visible{border:0!important;background:transparent!important;box-shadow:none!important;outline:0}
:root body .live-guide-page .live-search:focus-within{border-color:color-mix(in srgb,var(--accent,#76d9f2) 60%,var(--line,#304458));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#76d9f2) 12%,transparent)}
