/* PatchTV 3.4 "Studio" design layer.
   Loaded last so it refines the existing app.css / enterprise.css / page CSS
   without changing any markup contracts used by the JavaScript. */

:root{
  --bg:#05060a;
  --panel:#0e121a;
  --surface:#10151f;
  --surface-2:#151b27;
  --surface-3:#1b2331;
  --line:#222a39;
  --line-soft:rgba(255,255,255,.07);
  --text:#f4f6fa;
  --muted:#a0abbd;
  --lime:#c4ff4d;
  --lime-ink:#0a1400;
  --cyan:#62e6ff;
  --red:#ff4d6d;
  --focus:#c4ff4d;
  --radius:16px;
  --radius-sm:11px;
  --header-h:64px;
  --tabbar-h:66px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --dur:.2s;
  --shadow-1:0 1px 0 rgba(255,255,255,.04) inset,0 10px 30px -12px rgba(0,0,0,.6);
  --shadow-2:0 1px 0 rgba(255,255,255,.05) inset,0 24px 60px -20px rgba(0,0,0,.75);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",Inter,Roboto,"Helvetica Neue",system-ui,sans-serif;
}

/* ---------- Base & fluidity ---------- */
html{scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-tap-highlight-color:transparent;text-size-adjust:100%}
body{font-family:var(--font);font-size:15px;line-height:1.55;letter-spacing:-.005em;
  background:radial-gradient(1200px 520px at 85% -12%,rgba(98,230,255,.09),transparent 70%),
             radial-gradient(900px 420px at 5% -10%,rgba(196,255,77,.06),transparent 70%),var(--bg);
  background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:rgba(196,255,77,.28);color:#fff}

@view-transition{navigation:auto}
::view-transition-old(root){animation:ptv-fade-out .16s var(--ease) both}
::view-transition-new(root){animation:ptv-fade-in .24s var(--ease-out) both}
.site-header{view-transition-name:ptv-header}
.mobile-tabbar{view-transition-name:ptv-tabbar}
::view-transition-group(ptv-header),::view-transition-group(ptv-tabbar){animation:none}
@keyframes ptv-fade-out{to{opacity:0}}
@keyframes ptv-fade-in{from{opacity:0;transform:translateY(6px)}}
@keyframes ptv-rise{from{opacity:0;transform:translateY(10px)}}
@keyframes ptv-pop{from{opacity:0;transform:translateY(14px) scale(.98)}}
@keyframes ptv-shimmer{0%{background-position:-480px 0}100%{background-position:480px 0}}
@keyframes ptv-progress{0%{transform:scaleX(0)}40%{transform:scaleX(.55)}100%{transform:scaleX(.92)}}

/* opacity only: a transform on <main> would trap position:fixed dialogs */
main#main-content{animation:ptv-fade-only .28s var(--ease-out);outline:none}
@keyframes ptv-fade-only{from{opacity:0}}

/* Navigation progress bar (fluid.js toggles html.is-navigating) */
html::before{content:"";position:fixed;z-index:1000;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--lime),var(--cyan));
  transform-origin:0 50%;transform:scaleX(0);opacity:0;transition:opacity .2s;pointer-events:none}
html.is-navigating::before{opacity:1;animation:ptv-progress 2.4s var(--ease-out) forwards}

/* ---------- Focus & interaction ---------- */
:focus{outline:none}
:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px;border-radius:10px}
.skip-link{position:fixed;left:12px;top:-60px;z-index:200;background:var(--lime);color:var(--lime-ink);font-weight:850;padding:10px 14px;border-radius:10px;transition:top .2s var(--ease)}
.skip-link:focus{top:12px}
a,button,summary,select,input,label,[role=button]{transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform .14s var(--ease),opacity var(--dur) var(--ease)}
button:not(:disabled):active,a[class]:active,summary:active{transform:scale(.975)}
button:disabled{cursor:not-allowed;opacity:.55}
input,select,textarea{caret-color:var(--lime)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;border-color:var(--lime)!important;box-shadow:0 0 0 4px rgba(196,255,77,.12)}

/* ---------- Header ---------- */
.site-header{height:var(--header-h);gap:22px;background:rgba(5,6,10,.66);border-bottom:1px solid var(--line-soft);
  backdrop-filter:saturate(170%) blur(22px);-webkit-backdrop-filter:saturate(170%) blur(22px);z-index:60;transition:box-shadow .25s var(--ease),background-color .25s var(--ease)}
html.is-scrolled .site-header{background:rgba(5,6,10,.86);box-shadow:0 12px 30px -18px rgba(0,0,0,.9)}
.brand{font-size:21px;letter-spacing:-.04em;display:inline-flex;align-items:center;gap:9px}
.brand .brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(140deg,var(--lime),#7fe0a0 60%,var(--cyan));color:var(--lime-ink);box-shadow:0 6px 18px -6px rgba(196,255,77,.6)}
.brand .brand-mark svg{width:16px;height:16px}
.brand .brand-word{display:inline-flex}
.desktop-nav{gap:4px;align-items:center}
.desktop-nav a{padding:8px 14px!important;border-radius:999px;color:var(--muted);font-weight:650;font-size:14.5px}
.desktop-nav a:hover{color:var(--text);background:rgba(255,255,255,.05)}
.desktop-nav a.active{color:var(--text);background:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px var(--line-soft)}
.desktop-nav a.active:after{display:none!important}
.header-actions .add-channel-link{align-items:center;gap:7px;min-height:40px;padding:0 16px;border-radius:999px;background:var(--lime);color:var(--lime-ink);font-weight:850;font-size:14px;box-shadow:0 8px 22px -10px rgba(196,255,77,.7)}
.header-actions .add-channel-link:hover{filter:brightness(1.06);box-shadow:0 10px 26px -10px rgba(196,255,77,.9)}
.install-app-button{border-radius:999px!important}

/* ---------- Mobile tab bar ---------- */
@media(max-width:680px){
  :root{--header-h:58px}
  .mobile-tabbar{height:auto;min-height:var(--tabbar-h);background:rgba(8,10,15,.84)!important;border-top:1px solid var(--line-soft)!important;
    backdrop-filter:saturate(170%) blur(22px);-webkit-backdrop-filter:saturate(170%) blur(22px);padding-top:6px!important}
  .mobile-tabbar a{position:relative;gap:3px!important;font-size:11px!important;font-weight:700!important;color:var(--muted);padding:4px 0}
  .mobile-tabbar a span{display:grid;place-items:center;width:56px;height:30px;border-radius:999px;font-size:18px;transition:background-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
  .mobile-tabbar a span svg{width:22px;height:22px}
  .mobile-tabbar a.active{color:var(--text)!important}
  .mobile-tabbar a.active span{background:rgba(196,255,77,.16);color:var(--lime)}
  .mobile-tabbar a:active span{transform:scale(.9)}
  body:not(.tv-embed-mode){padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}
}

/* ---------- Typography: app pages use calmer, readable headings ---------- */
.eyebrow{font-size:11.5px;letter-spacing:.16em;font-weight:800;color:var(--lime)}
.guide-hero h1{font-size:clamp(30px,3.6vw,46px)!important;line-height:1.04!important;letter-spacing:-.035em!important}
.guide-hero h1 br{display:none}
.guide-hero h1 span{color:var(--muted)}
.guide-hero h1 span::before{content:" "}
.watch-copy h1{font-size:clamp(28px,3vw,40px)!important;line-height:1.08!important;letter-spacing:-.03em!important;margin:2px 0 8px!important}
.hero h1,.admin-head h1,.product-hero h1,.local-player-copy h1,.guided-hero h1,.ask-hero h1,.research-hero h1,.research-thanks h1,.starter-hero h1,.legal-page h1{
  font-size:clamp(32px,4.4vw,56px)!important;line-height:1.02!important;letter-spacing:-.04em!important}
.home-hero-clean .home-hero-copy h1{font-size:clamp(42px,6vw,82px)!important;line-height:.95!important;letter-spacing:-.05em!important}
.section-heading h2{font-size:clamp(20px,2.2vw,26px);letter-spacing:-.02em}
h2,h3{letter-spacing:-.015em}

/* ---------- Surfaces & cards ---------- */
.stream-card,.guide-panel,.patch-controls,.player-status-stack,.imported-guide,.guide-search-results,.home-product-card,.first-visit-card,.home-workspace,.guide-options{
  border-color:var(--line-soft)!important;box-shadow:var(--shadow-1)}
.stream-grid{gap:18px}
@media(max-width:1100px){.stream-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.stream-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.stream-card{border-radius:16px;background:var(--surface);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.stream-card:hover,.stream-card:focus-within{transform:translateY(-3px);border-color:rgba(196,255,77,.35)!important;box-shadow:var(--shadow-2)}
.poster{aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#121826,#0d1119)}
.poster img{transition:transform .45s var(--ease-out)}
.stream-card:hover .poster img{transform:scale(1.045)}
.card-copy h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.live-dot{background:var(--red);box-shadow:0 4px 14px -4px rgba(255,77,109,.8)}

/* ---------- Home ---------- */
.first-visit-onboarding{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.first-visit-card{animation:ptv-pop .42s var(--ease-out) both;border-radius:24px!important}
.first-visit-actions>*{border-radius:16px!important}
.first-visit-actions>*:hover{transform:translateY(-2px)}
.home-main-actions a{border-radius:16px!important}
.home-main-actions a:hover{transform:translateY(-2px)}
.home-product-card{border-radius:22px!important;background:linear-gradient(160deg,rgba(21,27,39,.92),rgba(12,16,24,.92))!important}
.home-proof-points article,.home-steps article{border-radius:16px!important;transition:transform .25s var(--ease),border-color .25s var(--ease)}
.home-proof-points article:hover,.home-steps article:hover{transform:translateY(-2px)}

/* ---------- Guide ---------- */
.guide-shell{padding-top:6px}
.guide-hero,.guide-hero-row{padding:26px 0 14px!important;min-height:0!important;align-items:end!important;gap:20px!important}
.guide-hero p:not(.eyebrow){color:var(--muted);max-width:620px;margin:8px 0 0}
.guide-import-button{min-height:52px!important;padding:10px 18px!important;border-radius:14px!important;align-self:end;box-shadow:0 12px 30px -14px rgba(196,255,77,.65)}
.guide-import-button:hover{transform:translateY(-1px);filter:brightness(1.05)}
.guide-flow{padding:9px 14px!important;min-height:0!important;border-radius:999px!important;border-color:var(--line-soft)!important;background:rgba(255,255,255,.025)!important;font-size:13.5px;justify-content:flex-start!important;gap:10px!important;margin-bottom:14px!important;flex-wrap:wrap}
.guide-flow b{width:22px;height:22px;font-size:12px}
@media(max-width:680px){.guide-flow{display:none!important}}
.guide-hero-row{display:flex!important;justify-content:space-between!important;flex-wrap:wrap}
.guide-hero-row>div{flex:1 1 520px;max-width:1080px}
.guide-hero-row>.guide-import-button{flex:0 0 auto}
@media(min-width:981px){.guide-hero-row>.guide-import-button{display:none!important}}
@media(max-width:680px){
  .guide-hero,.guide-hero-row{padding:16px 0 6px!important;gap:12px!important}
  .guide-hero p:not(.eyebrow){display:none}
  .guide-import-button{min-height:46px!important;width:100%}
  .guide-import-button small{display:none}
  .timeline-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .timeline-controls>*,.timeline-controls label{min-width:0}
  .timeline-controls select,.timeline-controls input{width:100%;min-width:0}
  .guide-import-button{justify-content:center}
  .guide-import-button b{line-height:1.2}
  .timeline-controls .timeline-search,.timeline-controls>button,.timeline-controls .guide-options{grid-column:1/-1!important}
  .timeline-controls label:has(#timeline-view){grid-column:1/-1}
  .timeline-controls select{font-size:13px}
}
#guide-empty-state:not([hidden])~.guide-scan-callout{display:none!important}

/* Sticky topic rail */
.guide-topics{position:sticky;top:var(--header-h);z-index:40;margin:0 0 12px!important;padding:10px 0!important;
  background:linear-gradient(rgba(5,6,10,.92),rgba(5,6,10,.82));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  scrollbar-width:none;mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
.guide-topics::-webkit-scrollbar{display:none}
.guide-topics button{min-height:40px;padding:8px 15px!important;border-color:var(--line-soft)!important;background:rgba(255,255,255,.04)!important;color:var(--muted)!important;font-weight:750!important}
.guide-topics button:hover{color:var(--text)!important;background:rgba(255,255,255,.08)!important}
.guide-topics button.active{background:var(--text)!important;color:#05060a!important;border-color:var(--text)!important}
.guide-topics button.active small{color:#4b5566!important}

.timeline-controls{gap:10px!important}
.timeline-controls label{font-size:10.5px!important;letter-spacing:.1em!important}
.timeline-controls select,.timeline-controls input{background:var(--surface)!important;border-color:var(--line)!important;border-radius:12px!important;min-height:46px!important}
.timeline-controls input[type=search]{padding-left:40px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0abbd' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:13px 50%!important;background-size:18px!important}
.timeline-controls button{border-radius:12px!important;min-height:46px!important}
.timeline-controls button:not(.secondary):hover{filter:brightness(1.06)}
.guide-options{border-radius:14px!important;background:var(--surface)!important}
.guide-options summary{list-style:none}
.guide-options summary::-webkit-details-marker{display:none}
.guide-options summary::before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg) translateY(-1px);transition:transform .2s var(--ease)}
.guide-options[open] summary::before{transform:rotate(45deg) translateY(-2px)}
.guide-options[open] .guide-options-grid{animation:ptv-rise .22s var(--ease-out)}
.guide-scan-callout{border-radius:16px!important}

/* Timeline grid: bigger, calmer, readable */
.timeline-viewport{position:relative;border-radius:18px!important;border-color:var(--line-soft)!important;background:#080b11!important;box-shadow:var(--shadow-2);max-height:min(74vh,880px)!important;scroll-behavior:smooth;overscroll-behavior:contain}
.timeline-grid{--slot-width:190px;grid-auto-rows:76px!important;grid-template-rows:50px}
@media(min-width:981px){.timeline-viewport,.timeline-grid{--channel-width:264px}}
.timeline-viewport[data-density=compact] .timeline-grid{grid-auto-rows:58px!important;grid-template-rows:44px}
.timeline-corner,.timeline-time{background:rgba(14,18,26,.94)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:var(--line-soft)!important;font-weight:800;letter-spacing:.02em}
.timeline-time{color:var(--text)!important;font-size:12.5px}
.timeline-channel{background:rgba(12,16,23,.97)!important;border-color:var(--line-soft)!important}
.timeline-channel:hover{background:#121823!important}
.timeline-channel-main b,.timeline-channel b{font-size:14.5px;letter-spacing:-.01em}
.timeline-lane{border-color:rgba(255,255,255,.045)!important}
.timeline-programme{border-radius:11px!important;border:1px solid var(--line-soft)!important;background:linear-gradient(180deg,#141a26,#10151f)!important;margin:6px 3px!important;
  transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .18s var(--ease),box-shadow .2s var(--ease)}
.timeline-programme:hover{border-color:rgba(196,255,77,.45)!important;background:linear-gradient(180deg,#19212f,#131a26)!important;box-shadow:0 10px 24px -14px rgba(0,0,0,.9);z-index:3}
.timeline-programme:focus-visible{z-index:4;outline-offset:-2px!important}
.timeline-programme.is-now{border-color:rgba(196,255,77,.42)!important;background:linear-gradient(180deg,rgba(196,255,77,.14),rgba(196,255,77,.05)),#111821!important;box-shadow:inset 3px 0 0 var(--lime)}
.timeline-programme.is-search-match{box-shadow:inset 0 0 0 2px var(--cyan)!important}
.timeline-now-line{width:2px!important;background:var(--lime)!important;box-shadow:0 0 12px rgba(196,255,77,.8)}
.timeline-now-line::before{content:"";position:absolute;top:0;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(196,255,77,.18)}
.timeline-load-more{border-radius:999px!important;min-height:46px;padding:0 22px!important;margin:16px auto 0!important;display:flex!important;align-items:center}
.timeline-load-more[hidden]{display:none!important}
.timeline-health-summary span{background:rgba(255,255,255,.03)}

/* Skeletons while the guide loads (guide.js sets data-loading) */
.timeline-viewport[data-loading=true]{min-height:420px}
.timeline-viewport[data-loading=true]::after{content:"";position:absolute;inset:56px 14px 14px;border-radius:12px;pointer-events:none;
  background:repeating-linear-gradient(180deg,transparent 0 10px,rgba(255,255,255,.035) 10px 64px,transparent 64px 76px),
             linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent) 0 0/480px 100% no-repeat;
  animation:ptv-shimmer 1.3s linear infinite}
.timeline-viewport[data-loading=true]:has(.timeline-lane)::after{display:none}
.mobile-now-list[data-loading=true]:empty{min-height:340px;border-radius:16px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.04) 0 96px,transparent 96px 108px)}

/* Mobile Now & Next cards */
.mobile-now-card{border-radius:16px!important;border-color:var(--line-soft)!important;background:var(--surface)!important;transition:transform .2s var(--ease),border-color .2s var(--ease)}
.mobile-now-card:active{transform:scale(.985)}
.mobile-now-card:hover{border-color:rgba(196,255,77,.35)!important}

/* Empty state for an empty My TV */
.guide-empty-state{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin:4px 0 16px;padding:22px;border:1px solid var(--line-soft);border-radius:20px;
  background:radial-gradient(500px 200px at 0 0,rgba(196,255,77,.10),transparent 70%),var(--surface);box-shadow:var(--shadow-1);animation:ptv-rise .3s var(--ease-out)}
.guide-empty-state[hidden]{display:none!important}
.guide-empty-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:rgba(196,255,77,.14);color:var(--lime)}
.guide-empty-icon svg{width:28px;height:28px}
.guide-empty-state h2{margin:0 0 4px;font-size:20px}
.guide-empty-state p{margin:0;color:var(--muted)}
.guide-empty-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}
.guide-empty-actions a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface-3);color:var(--text);font-weight:800}
.guide-empty-actions a:hover{border-color:rgba(196,255,77,.5)}
.guide-empty-actions a.is-primary{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}

/* ---------- Watch / player ---------- */
.watch-shell .back{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px 0 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line-soft);color:var(--muted);font-weight:700;margin:14px 0 14px!important}
.watch-shell .back:hover{color:var(--text);background:rgba(255,255,255,.08)}
.watch-card{align-items:start!important}
.watch-poster{border-radius:18px!important;overflow:hidden;background:#000!important;box-shadow:0 30px 70px -30px rgba(0,0,0,.9),0 0 0 1px var(--line-soft);aspect-ratio:16/9}
.watch-card>.watch-poster{position:sticky;top:calc(var(--header-h) + 12px);z-index:30}
@media(max-width:680px){.watch-card>.watch-poster{top:calc(var(--header-h) + 6px);border-radius:14px!important}}
.watch-shell{padding:6px 0 40px!important}
.watch-copy{display:grid;gap:12px;align-self:start!important}
.watch-copy>p,.watch-copy>small{margin:0}
.channel-facts span{border-radius:999px!important;background:rgba(255,255,255,.05);border-color:var(--line-soft)!important}
.tv-channel-controls{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}
.tv-channel-controls>*{min-height:48px;font-size:14px;line-height:1.2;padding:8px 10px!important;border-radius:13px!important;display:flex!important;align-items:center;justify-content:center;text-align:center}
.tv-channel-controls>*:hover{border-color:rgba(196,255,77,.45)!important}
#patchtv-activate{min-height:52px;border-radius:13px!important;font-size:16px;box-shadow:0 14px 30px -16px rgba(196,255,77,.8)}
#patchtv-activate:hover{filter:brightness(1.06)}
.patch-controls,.player-status-stack{border-radius:16px!important}
.watch-button{border-radius:13px!important;min-height:48px;display:inline-flex!important;align-items:center;justify-content:center}
.source-disclosure{font-size:13px;color:var(--muted)}
.now-programme{border-radius:16px!important}
.schedule-list article{border-radius:12px;transition:background-color .2s var(--ease)}
.schedule-list article:hover{background:rgba(255,255,255,.035)}

/* Docked mini-player (fluid.js adds .is-docked when the playing video scrolls away) */
.player-placeholder{border-radius:18px;background:rgba(255,255,255,.025);border:1px dashed var(--line)}
.watch-poster.is-docked{position:fixed!important;z-index:90!important;right:18px;bottom:18px;top:auto!important;left:auto;width:min(380px,calc(100vw - 36px));margin:0!important;
  border-radius:16px!important;box-shadow:0 30px 60px -20px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.12)!important;animation:ptv-pop .3s var(--ease-out)}
@media(max-width:680px){.watch-poster.is-docked{right:10px;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 10px);width:min(58vw,260px)}}
.mini-player-bar{position:absolute;top:8px;right:8px;z-index:20;display:none;gap:6px}
.watch-poster.is-docked .mini-player-bar{display:flex}
.mini-player-bar button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:0;background:rgba(0,0,0,.66);color:#fff;cursor:pointer;backdrop-filter:blur(8px)}
.mini-player-bar button:hover{background:rgba(0,0,0,.85)}
.mini-player-bar svg{width:16px;height:16px}
.watch-poster.is-docked .live-dot{display:none}

/* ---------- Forms, panels and secondary pages ---------- */
.stack input,.stack select,.stack textarea,.search input{border-radius:12px!important;background:var(--surface)!important}
.notice{border-radius:14px}
details>summary{cursor:pointer}
footer{border-top:1px solid var(--line-soft)!important;color:var(--muted)}
footer a:hover{color:var(--text)}

/* ---------- Spatial navigation (remote / keyboard) ---------- */
.ptv-spatial-focus{scroll-margin:90px 40px}

/* ---------- Motion & contrast preferences ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  @view-transition{navigation:none}
}
@media(prefers-contrast:more){:root{--muted:#c9d1de;--line-soft:rgba(255,255,255,.18)}}
@media(hover:none){.stream-card:hover{transform:none}}

/* Returning viewers: their workspace leads, the marketing hero steps back */
.home-workspace:not([hidden]){margin-top:22px;animation:ptv-rise .3s var(--ease-out)}
.home-workspace:not([hidden])~.home-hero-clean{padding-top:40px!important}
.home-workspace:not([hidden])~.home-hero-clean .home-hero-copy h1{font-size:clamp(34px,4.4vw,60px)!important}
.guide-hero h1{max-width:none!important}
.guide-import-button{display:flex!important;align-items:center!important;gap:12px}
#guide-empty-state:not([hidden])~.timeline-health-summary,#guide-empty-state:not([hidden])~.timeline-viewport,#guide-empty-state:not([hidden])~.mobile-now-list,#guide-empty-state:not([hidden])~.timeline-load-more{display:none!important}
