:root{color-scheme:dark;--bg:#060b12;--surface:#101923;--surface-2:#172638;--line:#ffffff18;--text:#f3f7fb;--muted:#9badbd;--cyan:#42d9f5;--good:#6ce197;--danger:#ff8a80;--shadow:0 18px 45px #0007;--hover-ghost-opacity:.30;--hover-active-opacity:.92;--hover-dwell-duration:300ms;--hover-preview-transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
*{box-sizing:border-box}html,body{margin:0;min-width:0;min-height:100%;overflow-x:clip;background:var(--bg);color:var(--text)}body{font:16px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}
.companion-shell{width:min(2000px,100%);min-height:100vh;margin:auto;background:linear-gradient(#060b12,#09131d);padding:0 clamp(16px,2.5vw,38px) 24px}.companion-header{height:66px;display:flex;align-items:center;gap:22px;margin:0 -clamp(16px,2.5vw,38px) 18px;padding:0 clamp(16px,2.5vw,38px);border-bottom:1px solid var(--line);background:#060b12f5}.hero-copy{min-width:0}.companion-header>.hero-copy{display:flex;align-items:baseline;gap:14px;white-space:nowrap}.eyebrow,.hero-kicker{color:var(--cyan);font-size:14px;letter-spacing:.11em;font-weight:600}.companion-header h1{font-size:18px;line-height:1;margin:0;font-weight:500}.hero-meta{display:none}.hero-actions{display:flex;align-items:center;gap:10px;margin-left:auto;min-width:0}.headset-status-line{order:1;min-width:0;max-width:min(52vw,720px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;line-height:1.2}.state-pill{order:2;border:0;border-radius:11px;padding:8px 12px;color:var(--text);background:var(--surface);white-space:nowrap;font-size:13px}.settings-corner{order:3!important;min-width:38px!important;height:38px!important;padding:0!important;border-radius:10px!important;font-size:0}.settings-corner::before{content:"⚙";font-size:18px;color:var(--muted)}
.tabs{display:flex;align-items:stretch;gap:24px;height:42px;margin:0 0 16px;border-bottom:1px solid var(--line)}.tab{min-height:0;border:0;border-radius:0;background:transparent;color:var(--muted);padding:0 2px;font-weight:500;position:relative}.tab.active,.tab:focus-visible{color:var(--text);background:transparent;outline:0}.tab.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--cyan)}.panel{min-height:0}.hidden{display:none!important}
.companion-hero,.hero{position:relative;height:clamp(260px,24vw,365px);max-height:365px;min-height:260px;margin-bottom:18px;overflow:hidden;border-radius:20px;background:#121d31;box-shadow:var(--shadow)}.hero-media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;overflow:hidden;background:#121d31}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05090ff2 0%,#05090fa8 40%,transparent 78%),linear-gradient(0deg,#05090f99,transparent 42%)}.hero-media img,.hero-media .program-cover{width:100%;height:100%;display:block;object-fit:cover}.companion-hero>.hero-copy{position:absolute;z-index:2;left:5%;top:15%;width:min(52%,620px);color:var(--text)}.companion-hero>.hero-copy h2{font-size:clamp(28px,4vw,64px);line-height:.98;letter-spacing:-.04em;margin:0 0 12px}.companion-hero>.hero-copy p{color:#c5d1dc;max-width:580px;margin:0 0 14px}.hero-title{display:block;font-size:clamp(24px,3vw,46px);line-height:1.05;margin:8px 0 14px}.hero-actions .action{font-size:14px}.card-preview,.preview-video{z-index:3}.hero-media .card-preview{opacity:1}.hero-media .preview-sound{position:absolute;z-index:4;right:24px;bottom:20px}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px}.panel-heading h2,.feed-title{font-size:20px;line-height:1.2;margin:0;font-weight:500}.toolbar,.catalog-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.toolbar input{height:42px;min-width:220px;flex:1;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:0 13px;outline:0}.toolbar input:focus{border-color:var(--cyan)}.quick-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.quick-filter,.feed-tab{border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);padding:8px 11px;white-space:nowrap}.quick-filter:hover,.feed-tab:hover,.feed-tab.active{border-color:var(--cyan);color:var(--text)}.feed-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:3px 0 4px}.feed-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:10px 0}.feed-reason{color:var(--muted);font-size:14px;margin:0 0 12px}.feed-grid,.card-grid,.program-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.feed-sentinel,.catalog-sentinel{min-height:12px;color:var(--muted);text-align:center;padding:8px}
.app-card,.program-card,.catalog-card{min-width:0;background:transparent;border:0;border-radius:14px;padding:0;display:flex;flex-direction:column;gap:0;box-shadow:none;transition:transform .2s ease}.app-card:hover,.program-card:hover,.catalog-card:hover,.app-card:focus-within,.catalog-card:focus-within{transform:translateY(-4px)}.program-media,.program-cover,.card-image,.card-image img{position:relative;width:100%;height:auto;aspect-ratio:16/9;display:block;object-fit:cover;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#17284d,#65315f)}.card-image{position:absolute;inset:0}.program-media{position:relative}.program-media .card-image{height:100%}.card-preview{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0008;opacity:0;transition:opacity .2s}.catalog-card:hover .card-preview,.catalog-card:focus-within .card-preview{opacity:1}.preview-video{width:100%;height:100%;object-fit:cover}.media-play{border:0;border-radius:50%;background:#05090faa;padding:13px;color:#fff}.preview-sound,.preview-link{border:1px solid #fff8;border-radius:9px;background:#05090fcc;padding:7px 10px}.preview-sound{position:absolute;right:9px;bottom:9px;z-index:4}.preview-link{display:inline-flex;margin-top:12px}.program-card h3,.catalog-card h3{font-size:16px;line-height:1.2;margin:9px 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.program-info{min-width:0}.description{color:var(--muted);font-size:14px;line-height:1.35;margin:4px 2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.meta{color:var(--muted);font-size:13px;margin:3px 2px;overflow-wrap:anywhere}.program-badges{display:flex;gap:6px;flex-wrap:wrap}.youtube-pill{border:0;border-radius:6px;background:#05090fcc;padding:4px 7px}.card-actions{display:flex;gap:7px;flex-wrap:wrap;margin:8px 2px 0}.action{border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:8px 11px;cursor:pointer;font-size:14px;font-weight:500}.action:hover,.action:focus-visible{border-color:var(--cyan)}.action.secondary{background:transparent;color:var(--muted)}.action.danger{border-color:#bd645f;background:#5b2929}.message{border:1px dashed var(--line);border-radius:12px;padding:28px;text-align:center;color:var(--muted);grid-column:1/-1}
.companion-overlay,.detail-overlay{position:fixed;inset:0;z-index:20;background:#02070dcc;padding:4vh 4vw;overflow:auto}.companion-dialog,.detail-card{width:min(1100px,100%);margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);min-width:0}.detail-image,.detail-media{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:13px;background:#0b1520}.detail-versions,.version-list{display:grid;gap:8px;margin-top:14px}.version-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:9px;background:#0b1520;padding:9px}.family-mode,.family-controls,.pin-dialog{border:1px solid var(--line);border-radius:12px;background:#0b1520;padding:14px}.pin-overlay{display:grid;place-items:center}.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setting-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}.setting-card h3{margin:0 0 8px}.setting-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:9px 0}.setting-row:last-child{border-bottom:0}.setting-row span:first-child{color:var(--muted)}select.action{min-width:180px}
@media(max-width:1100px){.feed-grid,.card-grid,.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.companion-hero>.hero-copy{width:65%}}
@media(max-width:600px){.companion-shell{padding:0 12px 18px}.companion-header{height:58px;margin:0 -12px 12px;padding:0 12px;gap:8px}.companion-header>.hero-copy{gap:8px}.eyebrow{font-size:11px}.companion-header h1{font-size:15px}.state-pill{font-size:11px;padding:7px}.tabs{gap:16px;height:38px}.companion-hero,.hero{height:300px;min-height:240px;border-radius:14px}.companion-hero>.hero-copy{left:6%;top:10%;width:88%}.companion-hero>.hero-copy h2{font-size:34px}.feed-grid,.card-grid,.program-grid,.settings-grid{grid-template-columns:1fr}.toolbar input{min-width:100%;flex-basis:100%}.companion-dialog{padding:15px}.hero-meta{display:none}}
.companion-header .tabs{display:flex;align-items:center;gap:24px;height:66px;margin:0;flex:1;border:0;min-width:0}.companion-header .tabs .tab{min-height:0;height:66px}.tabs .settings-corner{position:static;z-index:auto;min-width:38px!important;height:38px!important;padding:0!important;border:1px solid var(--line);border-radius:10px!important;background:var(--surface)!important;font-size:0}.tabs .settings-corner::before{content:"⚙";font-size:18px;color:var(--muted)}
@media(max-width:600px){.companion-header .tabs{height:58px;gap:16px}.companion-header .tabs .tab{height:58px}}
.detail-single-media{margin:12px 0 16px}.detail-close{float:right}.detail-versions{margin-top:18px}.version-info{min-width:0;display:grid;gap:3px}.version-changelog{margin:4px 0 0;color:var(--muted);font-size:13px}.program-reviews{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.reviews-list{display:grid;gap:8px}.review-item{border:1px solid var(--line);border-radius:10px;background:#0b1520;padding:10px}.review-item p{margin:5px 0 0;color:var(--muted)}.review-form{display:grid;gap:8px;margin-top:12px}.review-form textarea{min-height:84px;resize:vertical;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px}.review-form select{width:max-content;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:7px}.reviews-status{color:var(--muted);min-height:1.4em}
.detail-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "close" "media" "description" "youtube" "versions" "reviews";align-items:start;gap:12px}.detail-card>.detail-title{grid-area:title;margin:0;min-width:0}.detail-card>.detail-close{grid-area:close;justify-self:end;float:none}.detail-card>.detail-single-media{grid-area:media;margin:0;max-height:none;width:100%}.detail-card>.detail-single-media .detail-video-wrap,.detail-card>.detail-single-media>.detail-image{max-height:none;width:100%}.detail-card>.description{grid-area:description;margin:0;color:var(--muted)}.detail-card>.detail-youtube{grid-area:youtube;justify-self:start}.detail-card>.detail-versions{grid-area:versions;margin:0;max-height:none;overflow:visible;padding-right:0;width:100%}.detail-card>.program-reviews{grid-area:reviews;margin-top:4px}@media(max-width:900px){.detail-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "close" "media" "description" "youtube" "versions" "reviews"}.detail-card>.detail-single-media,.detail-card>.detail-single-media .detail-video-wrap,.detail-card>.detail-single-media>.detail-image{max-height:none}.detail-card>.detail-versions{max-height:none;overflow:visible}}
.detail-card>.detail-close{position:sticky;top:0;z-index:5;background:#172333;border-color:#ffffff55;color:var(--text)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-actions .settings-corner{order:3;position:static;z-index:auto;min-width:38px!important;height:38px!important;padding:0!important;border:1px solid var(--line);border-radius:10px!important;background:var(--surface)!important;font-size:0}.hero-actions .settings-corner::before{content:"⚙";font-size:18px;color:var(--muted)}.preview-link{display:inline-flex;align-items:center;justify-content:center;margin:8px 0 0!important;padding:8px 12px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--surface);text-decoration:none!important;line-height:1.2}.preview-link:hover,.preview-link:focus-visible{border-color:var(--cyan);text-decoration:none}
.topbar-icon{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:20px;line-height:1}.topbar-icon:hover{border-color:var(--cyan);color:var(--text)}.back-to-top{position:fixed;right:22px;bottom:22px;z-index:15;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--cyan);font-size:24px;line-height:1;box-shadow:var(--shadow)}.back-to-top[hidden]{display:none}.back-to-top.is-visible{display:grid;place-items:center}
.density-switch{display:flex;gap:5px;align-items:center}.density-switch button{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted)}.density-switch button.active,.density-switch button:hover{border-color:var(--cyan);color:var(--text)}.density-small .feed-grid,.density-small .card-grid,.density-small .program-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.density-medium .feed-grid,.density-medium .card-grid,.density-medium .program-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.density-large .feed-grid,.density-large .card-grid,.density-large .program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-volume,.preview-volume{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 11px;border-radius:11px;background:#05090fcc;color:var(--text)}.hero-volume .volume-icon,.preview-volume .volume-icon{font-size:18px;color:var(--cyan)}.hero-volume input[type=range],.preview-volume input[type=range]{width:clamp(90px,12vw,160px);accent-color:var(--cyan)}.volume-percent{font-variant-numeric:tabular-nums;color:var(--muted);min-width:3ch;text-align:right}
.card-preview::before{content:"";position:absolute;z-index:2;left:50%;top:50%;width:46px;height:46px;border:1px solid #fff9;border-radius:50%;background:#05090fcc;transform:translate(-50%,-50%)}.card-preview::after{content:"";position:absolute;z-index:3;left:50%;top:50%;margin:0 0 0 2px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #fff;transform:translate(-50%,-50%)}.card-preview:has(video[src])::before,.card-preview:has(video[src])::after{display:none}.card-preview .preview-sound{z-index:4;filter:none;backdrop-filter:none}
@media(max-width:1100px){.density-small .feed-grid,.density-small .card-grid,.density-small .program-grid,.density-medium .feed-grid,.density-medium .card-grid,.density-medium .program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.density-large .feed-grid,.density-large .card-grid,.density-large .program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.density-small .feed-grid,.density-small .card-grid,.density-small .program-grid,.density-medium .feed-grid,.density-medium .card-grid,.density-medium .program-grid,.density-large .feed-grid,.density-large .card-grid,.density-large .program-grid{grid-template-columns:1fr}.topbar-icon{width:28px;height:28px}.back-to-top{right:14px;bottom:14px}}
.detail-video-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:14px;background:#0b1520}.detail-video-wrap video{display:block;width:100%;height:100%;object-fit:cover}.trailer-play-overlay{position:absolute;inset:0;display:grid;place-items:center;background:transparent;border:0;cursor:pointer}.trailer-play-overlay::before{content:"";width:58px;height:58px;border:1px solid #fff9;border-radius:50%;background:#05090fcc}.trailer-play-overlay::after{content:"";position:absolute;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:15px solid #fff;margin-left:4px}.trailer-play-overlay{font-size:0;filter:none;backdrop-filter:none}.trailer-play-overlay[hidden]{display:none!important}.card-size-controls{display:flex;align-items:center;gap:5px}.card-size-button{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);cursor:pointer}.card-size-button.active,.card-size-button:hover{border-color:var(--cyan);color:var(--text)}.volume-control-group{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.volume-control{width:clamp(90px,12vw,160px);accent-color:var(--cyan)}.volume-value{min-width:3ch;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}
.detail-play{position:absolute;z-index:3;left:50%;top:50%;width:58px;height:58px;padding:0;border:1px solid #fff9;border-radius:50%;background:#05090fcc;transform:translate(-50%,-50%);font-size:0;filter:none;backdrop-filter:none}.detail-play::after{content:"";position:absolute;left:50%;top:50%;margin-left:3px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:15px solid #fff;transform:translate(-50%,-50%)}.detail-play[hidden]{display:none!important}
.companion-hero>.hero-copy{z-index:5}
.program-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:3px 7px;color:var(--muted);font-size:12px;line-height:1}.installed-badge{border-color:#6ce19788;color:var(--good)}
body.modal-open{overflow:hidden;overscroll-behavior:none}.companion-overlay{overscroll-behavior:contain;overscroll-behavior-y:contain;touch-action:auto}.companion-dialog{overscroll-behavior:contain}
.youtube-dialog{width:min(1200px,100%);position:relative}.youtube-close{margin-bottom:12px}.youtube-frame{display:block;width:100%;aspect-ratio:16/9;min-height:280px;border:0;border-radius:13px;background:#000}
.card-preview video.preview-video,.hero-media video.preview-video{position:absolute;inset:0;width:100%;height:100%;flex:0 0 100%;object-fit:cover}.preview-audio-state{position:absolute;right:10px;bottom:10px;z-index:4;display:flex;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:5px 8px;border:1px solid #ffffff45;border-radius:7px;background:#05090fcc;color:#d9e8f2;font-size:12px;line-height:1;pointer-events:none;white-space:nowrap}.preview-audio-state>*{pointer-events:auto}.trailer-no-audio{display:inline-flex;align-items:center;gap:4px;border:1px solid #ffffff35;border-radius:999px;padding:4px 7px;background:#05090fcc;color:var(--muted);font-size:12px;line-height:1;pointer-events:none}.card-preview .preview-link{position:absolute;right:10px;bottom:10px;z-index:5;margin:0!important}.card-preview .preview-audio-state~.preview-link{right:10px;bottom:48px}.hero-media .preview-audio-state{right:24px;bottom:20px}.hero-media .preview-audio-state~.preview-link{right:24px;bottom:58px}
.catalog-card{position:relative}.hover-preview-panel{position:absolute;z-index:1000;top:50%;left:50%;right:auto;bottom:auto;width:min(580px,calc(100vw - 24px));padding:12px;border:1px solid var(--line);border-radius:14px;background:#101923f7;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-50%) scale(.96);transform-origin:var(--hover-origin-x,50%) var(--hover-origin-y,50%);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.hover-preview-panel.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.hover-preview-media{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:9px;background:#0b1520}.hover-preview-media video,.hover-preview-media img{display:block;width:100%;height:100%;object-fit:cover}.hover-preview-title{display:block;margin-top:9px;font-size:16px;line-height:1.2}.hover-preview-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;margin:5px 0;color:var(--muted);font-size:13px}.hover-preview-meta{color:var(--cyan);font-size:12px}.hover-preview-panel button,.hover-preview-panel a{pointer-events:auto}@media(prefers-reduced-motion:reduce){.hover-preview-panel{transition:none}.hover-preview-panel.is-visible{transform:translate(-50%,-50%) scale(1)}}@media(max-width:600px){.hover-preview-panel{width:min(330px,calc(100vw - 24px))}}
.hover-preview-panel{width:min(580px,calc(100vw - 24px))}.hover-preview-panel .preview-audio-state{position:absolute;right:10px;bottom:10px;z-index:4}.hover-preview-panel .preview-link{position:absolute;right:10px;bottom:10px;z-index:5}.hover-preview-panel .trailer-no-audio{position:absolute;left:10px;bottom:10px;z-index:4}.hover-preview-panel .preview-audio-state~.preview-link{bottom:48px}@media(max-width:600px){.hover-preview-panel{width:min(330px,calc(100vw - 24px))}}
.catalog-card,.program-card,.app-card{overflow:visible}.catalog-card:has(.hover-preview-panel.is-visible),.program-card:has(.hover-preview-panel.is-visible){z-index:100}.hover-preview-panel .preview-video{position:absolute;inset:0;z-index:1}.hover-preview-panel .preview-audio-state{z-index:4}.hover-preview-panel .preview-sound{z-index:5}.hover-preview-panel .trailer-no-audio,.hover-preview-panel .preview-link{z-index:5}
.hover-preview-panel{left:var(--hover-left,50%)!important;right:auto!important;top:var(--hover-top,50%)!important;bottom:auto!important;transform:translate(-50%,-50%) scale(.96);transform-origin:var(--hover-origin-x,50%) var(--hover-origin-y,50%)}.hover-preview-panel.is-visible{transform:translate(-50%,-50%) scale(1)}
.companion-header{position:sticky;top:0;z-index:110}.companion-mini-controls{position:fixed;right:22px;bottom:22px;z-index:10000;display:flex;align-items:center;gap:8px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#101923ed;box-shadow:var(--shadow);pointer-events:auto}.companion-mini-controls[hidden]{display:none!important}.companion-mini-controls.is-visible{visibility:visible;opacity:1}.companion-mini-controls .back-to-top{position:static;right:auto;bottom:auto}.companion-mini-controls .topbar-icon{width:44px;height:44px;min-width:44px}.companion-mini-controls #companion-global-mute{width:auto;min-width:44px;min-height:44px;padding:0 9px;font-size:12px}.companion-mini-controls button{touch-action:manipulation}@media(max-width:600px){.companion-mini-controls{right:14px;bottom:14px}.companion-mini-controls #companion-global-mute{font-size:11px}}
.hover-preview-panel.is-visible.is-ghost{opacity:var(--hover-ghost-opacity);transition:var(--hover-preview-transition);background:#101923d9}.hover-preview-panel.is-visible.is-ghost .hover-preview-media{opacity:.96}.hover-preview-panel.is-visible.is-ghost .hover-preview-title,.hover-preview-panel.is-visible.is-ghost .hover-preview-description,.hover-preview-panel.is-visible.is-ghost .hover-preview-meta{opacity:.42}.hover-preview-panel.is-visible.is-active{opacity:var(--hover-active-opacity);transition:var(--hover-preview-transition)}
.companion-ota-notice{position:fixed;right:20px;bottom:20px;z-index:1200;display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100vw - 40px));padding:12px 14px;border:1px solid rgba(125,150,255,.55);border-radius:14px;background:rgba(18,26,43,.96);box-shadow:0 14px 36px rgba(0,0,0,.38);color:var(--text,#f4f7ff);font-size:14px}.companion-ota-notice .ota-title{white-space:nowrap}.companion-ota-notice .ota-copy{color:var(--muted,#aeb8ce)}.companion-ota-notice .ota-update,.companion-ota-notice .ota-later{flex:0 0 auto}.companion-ota-notice button:disabled{opacity:.65;cursor:wait}@media(max-width:600px){.companion-ota-notice{left:12px;right:12px;bottom:12px;max-width:none;flex-wrap:wrap}.companion-ota-notice .ota-copy{flex:1 1 100%}}
.account-mode-switch{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.account-mode-switch .action{flex:1 1 30%;min-width:0}.account-mode-switch .active{border-color:var(--cyan);background:var(--surface)}.account-form{display:grid;gap:8px;margin-top:10px}.account-form input{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:9px;background:#08111b;color:var(--text);padding:8px 10px}.account-form .action{min-height:44px}.auth-recovery-code{display:block;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#08111b;overflow-wrap:anywhere;user-select:all}.companion-overlay #companion-recovery-code{}.companion-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere}
.detail-card>.detail-versions .version-list,.detail-card>.detail-versions{min-width:0}.version-item{width:100%;min-width:0;align-items:flex-start}.version-info{flex:1 1 auto;min-width:0}.version-item>.action,.version-item>.compact-action{flex:0 0 auto;min-width:132px;min-height:44px;white-space:nowrap}.detail-card>.detail-versions .version-item{display:flex;flex-wrap:nowrap}
.pairing-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pairing-actions .action{flex:1 1 180px;min-width:0;min-height:44px}.pairing-usb-status{display:block;margin:10px 0 0;min-height:1.4em}

/* Telemetry Badges & Vector Icons */
.headset-status-line{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:min(58vw,800px);height:36px;box-sizing:border-box}
.telemetry-badge{display:inline-flex;align-items:center;gap:4px;padding:0 2px;font-size:12px;font-weight:500;color:var(--text);white-space:nowrap}
.telemetry-badge .telemetry-icon{width:15px;height:15px;display:inline-block;vertical-align:middle;flex-shrink:0}
.telemetry-sep{color:var(--line);font-size:10px;margin:0 2px;user-select:none}

/* Program Cover Placeholder */
.program-cover-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#10192d 0%,#1f2a44 50%,#162033 100%);border-radius:14px!important;padding:12px;box-sizing:border-box;text-align:center;user-select:none}
.program-cover-placeholder .placeholder-icon{width:44px;height:44px;opacity:.85}
.program-cover-placeholder .placeholder-label{font-size:13px;font-weight:600;color:#94a3b8;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Toolbar & Filter Alignment */
.toolbar{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:14px 0!important}
.toolbar input[type="search"],.toolbar input{height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0 12px!important;box-sizing:border-box!important;border-radius:9px!important;font-size:13px!important;line-height:34px!important;border:1px solid var(--line);background:var(--surface);flex:1 1 240px}
.toolbar .quick-filters{display:flex!important;align-items:center!important;gap:4px!important;margin:0!important;padding:0!important;height:36px!important;box-sizing:border-box!important}
.toolbar .quick-filter{height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0 13px!important;box-sizing:border-box!important;border-radius:9px!important;font-size:13px!important;line-height:34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--line);background:var(--surface);cursor:pointer}
.toolbar .density-switch{display:flex!important;align-items:center!important;gap:4px!important;margin:0!important;padding:0!important;height:36px!important;box-sizing:border-box!important}
.toolbar .density-button{width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0!important;box-sizing:border-box!important;border-radius:9px!important;font-size:12px!important;font-weight:600!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--line);background:var(--surface);cursor:pointer}

/* Header Vertical Centering */
.companion-header .tabs{display:flex;align-items:center;gap:8px;margin:0}
.companion-header .tab{height:36px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:9px}
.companion-header .hero-actions{display:flex;align-items:center;gap:10px;margin-left:auto;height:36px}
.companion-header .state-pill{height:36px;display:inline-flex;align-items:center;box-sizing:border-box;padding:0 12px;margin:0}
.companion-header .settings-corner{width:36px!important;height:36px!important;min-width:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;border-radius:9px!important;margin:0}

.installed-card{cursor:default!important}
.installed-card .program-media,.installed-card .program-cover{cursor:default!important}
.installed-card .action,.installed-card button{cursor:pointer!important}
.installed-card .hover-preview-panel{display:none!important;pointer-events:none!important;visibility:hidden!important}

/* Quake 3 VR Broadcast Presentation Hero */
.quake-promo-hero{display:flex!important;flex-direction:row;align-items:center;justify-content:space-between;min-height:250px;max-height:320px;height:clamp(250px,22vw,320px);position:relative;overflow:hidden;border-radius:16px!important;border:1px solid rgba(0,255,194,0.35);background:#080d16;text-decoration:none!important;cursor:pointer;box-shadow:0 12px 36px rgba(0,0,0,0.65),0 0 24px rgba(0,255,194,0.12);transition:border-color .25s ease,box-shadow .25s ease,transform .2s ease;padding:0;margin-top:16px;margin-bottom:20px}
.quake-promo-hero:hover{border-color:rgba(0,255,194,0.7);box-shadow:0 16px 48px rgba(0,0,0,0.75),0 0 35px rgba(0,255,194,0.25)}
.quake-hero-ambient{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.quake-ambient-video{position:absolute;top:-20%;left:-20%;width:140%;height:140%;object-fit:cover;filter:blur(40px) brightness(0.35) saturate(1.7);opacity:.6;transform:scale(1.1);pointer-events:none}
.quake-ambient-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#070b12 0%,rgba(7,11,18,0.92) 35%,rgba(7,11,18,0.75) 60%,rgba(7,11,18,0.35) 100%);pointer-events:none}
.quake-hero-info{position:relative;z-index:3;flex:1 1 52%;min-width:320px;max-width:680px;padding:24px 32px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.quake-live-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;background:rgba(255,46,77,0.15);border:1px solid rgba(255,46,77,0.45);color:#ff3b5c;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;width:fit-content;margin-bottom:10px;box-shadow:0 0 12px rgba(255,46,77,0.3)}
.quake-pulse-dot{width:7px;height:7px;border-radius:50%;background:#ff2e4d;box-shadow:0 0 8px #ff2e4d;animation:quake-pulse 1.4s infinite ease-in-out}
@keyframes quake-pulse{0%{transform:scale(0.9);opacity:.8}50%{transform:scale(1.35);opacity:1}100%{transform:scale(0.9);opacity:.8}}
.quake-hero-title{margin:0 0 8px 0;font-size:clamp(20px,2.2vw,28px);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.15;text-shadow:0 2px 8px rgba(0,0,0,0.7)}
.quake-hero-desc{margin:0 0 14px 0;font-size:clamp(12px,1.05vw,13.5px);line-height:1.45;color:#94a3b8;max-width:540px}
.quake-server-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.q-pill{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:#cbd5e1}
.q-pill-active{border-color:rgba(0,255,194,0.3);color:#00ffc2;background:rgba(0,255,194,0.08)}
.quake-cta-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#00ffc2 0%,#00b4d8 100%);color:#05101a;font-size:13px;font-weight:700;padding:9px 18px;border-radius:8px;box-shadow:0 4px 14px rgba(0,255,194,0.35);transition:transform .2s ease,box-shadow .2s ease;width:fit-content}
.quake-promo-hero:hover .quake-cta-btn{transform:translateX(4px);box-shadow:0 6px 20px rgba(0,255,194,0.55)}
.quake-hero-player-wrap{position:relative;z-index:3;flex:0 0 auto;padding:16px 24px 16px 0;display:flex;align-items:center;justify-content:center}
.quake-player-frame{position:relative;aspect-ratio:16/9;height:clamp(160px,17vw,240px);border-radius:12px;overflow:hidden;border:1px solid rgba(0,255,194,0.4);box-shadow:0 10px 30px rgba(0,0,0,0.8),0 0 20px rgba(0,255,194,0.2);background:#000}
.quake-player-frame video{width:100%;height:100%;object-fit:cover;display:block}
.quake-stream-overlay{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:8px 10px;background:linear-gradient(180deg,rgba(0,0,0,0.5) 0%,transparent 35%,transparent 65%,rgba(0,0,0,0.6) 100%)}
.quake-cam-tag{font-size:10px;font-weight:700;letter-spacing:.08em;color:#00ffc2;background:rgba(0,0,0,0.65);padding:2px 6px;border-radius:4px;border:1px solid rgba(0,255,194,0.3);align-self:flex-start;backdrop-filter:blur(4px)}
.quake-click-tag{font-size:11px;font-weight:600;color:#fff;background:rgba(0,0,0,0.75);padding:3px 8px;border-radius:5px;align-self:flex-end;border:1px solid rgba(255,255,255,0.15);opacity:.85;transition:opacity .2s ease,color .2s ease}
.quake-promo-hero:hover .quake-click-tag{opacity:1;color:#00ffc2;border-color:rgba(0,255,194,0.5)}
@media(max-width:900px){.quake-promo-hero{flex-direction:column-reverse;height:auto;max-height:none}.quake-hero-info{padding:20px;max-width:100%}.quake-hero-player-wrap{width:100%;padding:16px 16px 0 16px}.quake-player-frame{width:100%;height:auto}}

/* Silent Mode Pill & Settings Switch */
.silent-mode-pill{order:1.5;cursor:pointer;user-select:none;font-weight:600;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:11px;font-size:12px;line-height:1;transition:all .2s ease;white-space:nowrap}
.silent-mode-pill.active{background:rgba(0,255,194,0.12);border:1px solid rgba(0,255,194,0.4);color:#00ffc2;box-shadow:0 0 10px rgba(0,255,194,0.15)}
.silent-mode-pill.inactive{background:var(--surface);border:1px solid var(--line);color:var(--muted)}
.silent-mode-pill:hover{transform:translateY(-1px);filter:brightness(1.15)}
.setting-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}
.setting-switch input{opacity:0;width:0;height:0}
.setting-slider{position:absolute;cursor:pointer;inset:0;background-color:#1e293b;border:1px solid var(--line);transition:.25s ease;border-radius:26px}
.setting-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#94a3b8;transition:.25s ease;border-radius:50%}
.setting-switch input:checked + .setting-slider{background:linear-gradient(135deg,#00ffc2 0%,#00b4d8 100%);border-color:#00ffc2}
.setting-switch input:checked + .setting-slider:before{transform:translateX(22px);background-color:#05101a}



/* VR window (wide 2D panel in headset): denser card grid, less scrolling */
@media(min-width:1101px){
  .density-small .feed-grid,.density-small .card-grid,.density-small .program-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
  .density-medium .feed-grid,.density-medium .card-grid,.density-medium .program-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .density-large .feed-grid,.density-large .card-grid,.density-large .program-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
/* Keep the dialog heading (with the close button) visible while scrolling */
.companion-dialog .panel-heading{position:sticky;top:0;z-index:6;background:var(--surface);padding-top:8px;padding-bottom:8px}

/* === 29.09: иконки установленных + компактная карточка деталей для Quest === */
.card-image.card-icon{object-fit:contain;padding:26px;background:linear-gradient(135deg,#10192d 0%,#1f2a44 50%,#162033 100%)}
@media(min-width:700px){
.detail-overlay{padding:3vh 3vw;display:flex;align-items:center;justify-content:center}
.detail-card{grid-template-columns:minmax(0,11fr) minmax(0,9fr);grid-template-areas:"media title" "media close" "media description" "media youtube" "media versions" "media reviews";max-height:94vh;overflow:auto;width:min(1200px,100%);padding:16px;align-content:start}
.detail-card>.detail-single-media{position:sticky;top:0;margin:0;max-height:calc(94vh - 32px)}
.detail-card>.detail-single-media .detail-video-wrap,.detail-card>.detail-single-media>.detail-image{max-height:calc(94vh - 32px)}
}
.detail-card>.detail-close{position:sticky;top:8px;z-index:50;min-height:52px;min-width:150px;padding:12px 24px;font-size:16px;font-weight:600;background:#1d2c40;border:2px solid #ffffff66;color:var(--text);border-radius:11px;box-shadow:0 3px 12px rgba(0,0,0,.55);cursor:pointer}
.detail-card>.detail-close:hover,.detail-card>.detail-close:focus-visible{background:#2979ff;border-color:#fff;color:#fff}
.detail-video-wrap{position:relative;z-index:1}
.detail-card>.detail-versions{max-height:32vh;overflow:auto}
@media(max-width:699px){
.detail-card>.detail-single-media,.detail-card>.detail-single-media .detail-video-wrap,.detail-card>.detail-single-media>.detail-image{max-height:32vh}
.detail-card>.description{max-height:26vh;overflow:auto}
}

/* --- Простое наведение (29.09): без всплывающих панелей и дымок.
   Карточка увеличивается, трейлер играет прямо в карточке со звуком. --- */
.hover-preview-panel{display:none!important}
.catalog-card{position:relative}
.catalog-card:hover,.catalog-card:focus-within{transform:scale(1.12);z-index:20;box-shadow:0 14px 40px rgba(0,0,0,.6),0 0 0 2px var(--cyan);border-radius:14px}
.catalog-card .card-preview{background:transparent;pointer-events:none}
.catalog-card .card-preview .preview-audio-state{pointer-events:auto}

/* --- Игровые сервера: окно-карточка внутри компаньёна (29.09-30.09) --- */
.servers-list{display:flex;flex-direction:column;gap:18px;margin-top:10px}
.servers-game-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 2px 10px}
.servers-game-title{margin:0;font-size:17px}
.servers-site-link{margin-top:0}
.servers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.server-card{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.server-card-title{font-size:15px;line-height:1.3}
.server-card-meta{color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.server-players{display:flex;flex-direction:column;gap:2px;margin-top:4px;border-top:1px solid var(--line);padding-top:6px}
.server-player-row{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.server-player-row:not(.bot){color:var(--text,#fff);font-weight:600}
.hof-list{display:flex;flex-direction:column;gap:4px}
.hof-row{font-size:13px;color:var(--text,#fff);padding:6px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px}
.hof-row.bot{opacity:.75}
.servers-subtabs{display:flex;gap:8px;align-items:center;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.servers-subtab-btn{background:var(--surface-2);color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}
.servers-subtab-btn:hover{background:var(--surface-hover);color:var(--text,#fff)}
.servers-subtab-btn.active{background:linear-gradient(135deg,#00ffc2 0%,#00b4d8 100%);color:#05101a;border-color:transparent}
.servers-stream-wrap{display:flex;flex-direction:column;gap:12px}
.servers-cams-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.servers-cam-btn{background:var(--surface-2);color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer}
.servers-cam-btn:hover{background:var(--surface-hover);color:var(--text,#fff)}
.servers-cam-btn.active{background:rgba(0,255,194,0.18);color:#00ffc2;border-color:#00ffc2}
.servers-stream-video{width:100%;max-height:480px;border-radius:12px;background:#000;border:1px solid var(--line)}
.servers-stream-info{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted);padding:4px 2px}
.servers-frame{width:100%;height:75vh;min-height:420px;border:1px solid var(--line);border-radius:12px;background:#0c1220}
