/* HerxTube — shared surfaces, with a mobile-first discovery feed. */
:root{color-scheme:dark;--bg:#121315;--surface:#1d1f22;--line:#303237;--text:#f3f3f5;--muted:#a1a4ad;--accent:#ff6b60;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:var(--bg)}
.shell{max-width:1600px;margin:auto;padding:0 32px}.skip-link{position:fixed;z-index:100;top:8px;left:16px;padding:12px 18px;background:var(--accent);color:#121315;border-radius:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.mast{position:relative;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}.mast-inner{min-height:80px;display:flex;align-items:center;gap:36px}.brand{display:inline-flex;align-items:center;gap:1px;min-height:44px;font-size:31px;font-weight:800;letter-spacing:-.055em;line-height:1;white-space:nowrap}.brand-x{flex:none;width:.65em;height:.65em;fill:var(--accent);margin:0 .035em;transform:translateY(.07em)}.nav{order:2;margin-left:auto;display:flex;align-items:center;gap:28px;white-space:nowrap;font-size:14px;font-weight:650;color:var(--muted)}.nav a:hover,.nav a.active,.nav-dropdown[open] summary,.nav-dropdown[data-active] summary{color:var(--text)}.nav a.active{position:relative}.nav a.active:after{content:"";position:absolute;height:3px;background:var(--accent);border-radius:2px;bottom:-28px;left:0;right:0}.nav-dropdown{position:relative}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.nav-menu{position:absolute;top:36px;right:0;min-width:240px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #0006;display:flex;flex-direction:column}.nav-menu a{padding:12px;border-radius:6px;white-space:normal}.nav-menu a:hover{background:#2a2d32}.nav-menu-all{display:flex;justify-content:space-between;color:var(--accent)!important;border-bottom:1px solid var(--line);margin-bottom:4px}
.search{order:1;display:flex;align-items:center;flex:1;max-width:580px;min-width:0;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;transition:border-color .18s,background .18s}.search:focus-within{border-color:var(--accent);background:#24262a}.search button{flex-shrink:0;width:46px;height:44px;display:grid;place-items:center;border:0;background:none;color:var(--muted)}.search input{min-width:0;width:100%;padding:12px 14px 12px 0;outline:none;border:0;background:none;color:var(--text);font-size:14px}.search input::placeholder{color:var(--muted)}.mobile-menu{display:none}
.home,.taxonomy{min-height:65vh;padding-top:32px}.feed-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:20px}.feed-heading h1{font-size:28px;line-height:1.2;letter-spacing:-.04em;margin:0;font-weight:750;overflow-wrap:anywhere}.feed-heading>span{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:0 0 24px}.filters::-webkit-scrollbar{display:none}.filters a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:#c5c7ce;font-size:13px;font-weight:650;white-space:nowrap;transition:background .18s,color .18s,border-color .18s}.filters a:hover{border-color:#62656d;color:var(--text)}.filters a.active{background:var(--text);border-color:var(--text);color:var(--bg)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}.tile{min-width:0}.image{position:relative;display:block;overflow:hidden;background:var(--surface);border-radius:10px;aspect-ratio:16/9}.image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.tile h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;font-weight:650;line-height:1.45;letter-spacing:-.015em;margin:12px 0 7px;overflow-wrap:anywhere}.tile-title:hover{color:var(--accent)}.meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:12px;line-height:1.5}.tile-category{color:#c7c9d0}.duration{position:absolute;right:10px;bottom:10px;background:#08090be6;padding:4px 6px;border-radius:4px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.tile-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#101010ce;font-size:21px;opacity:0;transition:opacity .18s,transform .18s}.tile .image:focus-visible .tile-play{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media(hover:hover){.image:hover img{transform:scale(1.035)}.image:hover .tile-play{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.section-head{border-top:1px solid var(--line);padding-top:22px;margin-bottom:22px;display:flex;align-items:baseline;justify-content:space-between}.section-head h2,.taxonomy-more h2{font-size:22px;letter-spacing:-.03em;margin:0}.section-head span{color:var(--muted);font-size:12px}.empty-feed{text-align:center;padding:60px 20px 80px;border-top:1px solid var(--line)}.empty-play{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--surface);color:var(--accent);margin:auto;font-size:24px}.empty-feed h2{font-size:24px;letter-spacing:-.03em;margin:20px 0 8px}.empty-feed p{color:var(--muted);font-size:14px;line-height:1.6}.empty-feed a,.link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:14px;font-weight:650;min-height:44px}.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:36px 0 12px}.pagination a,.pagination span{display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;font-size:13px}.pagination a:hover,.pagination a[aria-current="page"]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.pagination span{border:0;color:var(--muted)}
.taxonomy-list{display:flex;flex-wrap:wrap;gap:10px}.taxonomy-item{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:9px;transition:background .18s,border-color .18s}.taxonomy-item:hover,.taxonomy-item.selected{border-color:var(--accent);background:#292024}.taxonomy-label{font-size:14px;font-weight:650;overflow-wrap:anywhere}.taxonomy-count{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.taxonomy-back{padding:0 0 24px;color:var(--muted);font-size:13px}.taxonomy-back a{display:inline-flex;align-items:center;gap:8px;min-height:44px}.taxonomy-more{border-top:1px solid var(--line);padding-top:24px;margin-top:48px}.taxonomy-more h2{margin-bottom:18px}.taxonomy-empty{padding:40px 0}.taxonomy-empty h2{font-size:24px}.taxonomy-empty p{color:var(--muted)}
.watch{max-width:1420px;margin:28px auto 0;padding:0 32px}.player{display:block;width:100%;aspect-ratio:16/9;background:#000;border-radius:12px}.watch h1{font-size:clamp(25px,3vw,38px);line-height:1.25;letter-spacing:-.035em;margin:24px 0 14px;overflow-wrap:anywhere}.watch-details{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:13px}.watch-details a{color:var(--accent)}.watch .description{max-width:800px;color:#b9bbc3;font-size:15px;line-height:1.75;overflow-wrap:anywhere}.watch-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.watch-tags a{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px 14px;font-size:13px;color:#c7c9d0}.watch-tags a:hover{border-color:var(--accent);color:var(--accent)}.related{margin-top:48px}
.ad-zone{width:100%;min-height:274px;margin:36px auto;display:flex;flex-direction:column;align-items:center;overflow:hidden;background:#151619;border-top:1px solid #23252a;border-bottom:1px solid #23252a}.ad-zone-label{color:var(--muted);font-size:9px;line-height:30px;letter-spacing:.13em;text-transform:uppercase}.ad-zone ins{display:block;min-width:300px}.footer{margin-top:64px;padding:28px 0 max(28px,env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);font-size:12px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer nav{display:flex;gap:12px 24px;flex-wrap:wrap}.footer nav a{display:inline-flex;align-items:center;min-height:44px;color:#c5c7ce}.footer a:hover{color:var(--accent)}
.legal{max-width:900px;margin:48px auto 0;min-height:50vh}.legal h1{font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-.04em;margin:0 0 28px;overflow-wrap:anywhere}.legal h2{font-size:22px;margin-top:32px}.legal p,.legal li,.legal-statement{color:#c7c7c7;line-height:1.8;font-size:15px;overflow-wrap:anywhere}.legal li{margin-bottom:12px}.legal a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.legal-statement{white-space:pre-wrap}.legal ol{padding-left:24px}.error{min-height:60vh;display:grid;place-content:center;text-align:center;padding:32px}.error h1{font-size:48px;letter-spacing:-.05em;margin:0}.error p{color:var(--muted);line-height:1.6}
/* Locally bundled Lucide icons. */
.icon{display:inline-block;width:1em;height:1em;background:currentColor;vertical-align:-.12em;mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.icon-search{mask-image:url('/icons/search.svg');-webkit-mask-image:url('/icons/search.svg')}.icon-menu{mask-image:url('/icons/menu.svg');-webkit-mask-image:url('/icons/menu.svg')}.icon-play{mask-image:url('/icons/play.svg');-webkit-mask-image:url('/icons/play.svg')}.icon-arrow-right{mask-image:url('/icons/arrow-right.svg');-webkit-mask-image:url('/icons/arrow-right.svg')}.icon-arrow-up-right{mask-image:url('/icons/arrow-up-right.svg');-webkit-mask-image:url('/icons/arrow-up-right.svg')}.icon-arrow-left{mask-image:url('/icons/arrow-left.svg');-webkit-mask-image:url('/icons/arrow-left.svg')}.icon-chevron-down{mask-image:url('/icons/chevron-down.svg');-webkit-mask-image:url('/icons/chevron-down.svg')}.search .icon{font-size:20px}.nav-dropdown .icon{font-size:13px}.link .icon{font-size:16px}
@media(max-width:1100px){.mast-inner{gap:24px}.nav{gap:18px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
 .shell{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.mast-inner{display:grid;grid-template-columns:1fr auto;gap:14px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:16px;min-height:0}.brand{font-size:30px}.nav{display:none}.mobile-menu{display:block;position:relative;grid-column:2;grid-row:1}.mobile-menu summary{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;color:#c5c7ce;font-size:12px;font-weight:650;border-radius:8px}.mobile-menu summary .icon{font-size:20px}.mobile-menu[open] summary{background:var(--surface);color:var(--accent)}.mobile-menu nav{position:absolute;z-index:30;right:0;top:52px;width:224px;display:flex;flex-direction:column;padding:8px;background:var(--surface);border:1px solid #3b3e46;border-radius:12px;box-shadow:0 16px 50px #0008;animation:menu-in .15s ease-out}.mobile-menu nav a{display:flex;align-items:center;min-height:48px;padding:12px 14px;border-radius:7px;font-size:14px;font-weight:650}.mobile-menu nav a:hover,.mobile-menu nav a.active{background:#2b2e34;color:var(--accent)}.search{grid-row:2;grid-column:1/-1;width:100%;max-width:none}.search input{font-size:16px;padding:13px 14px 13px 0}.search button{height:46px;width:46px}.home,.taxonomy{padding-top:26px}.feed-heading{padding-bottom:18px;gap:12px}.feed-heading h1{font-size:24px}.feed-heading>span{font-size:11px}.filters{margin-right:-18px;padding-right:18px;padding-bottom:22px;scroll-padding-left:18px}.filters a{min-height:44px;font-size:12px;padding:10px 15px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.tile h3{font-size:14px}.meta{font-size:11px;gap:6px}.duration{font-size:11px}.watch{padding:0;margin-top:0}.player{border-radius:0}.watch h1,.watch-details,.watch .description,.watch-tags,.watch .related{margin-left:max(18px,env(safe-area-inset-left));margin-right:max(18px,env(safe-area-inset-right))}.watch h1{font-size:25px;line-height:1.3;margin-top:22px}.watch-details{font-size:12px;gap:8px}.watch .description{font-size:14px}.watch .ad-zone{margin-top:28px}.section-head h2{font-size:22px}.footer{margin-top:48px}.footer-inner{align-items:flex-start;flex-direction:column;gap:12px}.footer nav{flex-direction:column;gap:0}.legal{margin-top:32px}.taxonomy-item{max-width:100%}.pagination{gap:6px}.pagination a{padding:10px 12px}
}
@media(max-width:480px){.grid{grid-template-columns:minmax(0,1fr);gap:26px}.tile h3{font-size:16px;line-height:1.4;margin:12px 0 6px}.meta{font-size:12px}.image{border-radius:10px}.tile-play{opacity:1;top:auto;left:12px;bottom:12px;transform:none;width:30px;height:30px;font-size:16px;background:#08090bad}.tile .image:focus-visible .tile-play{transform:none}.duration{bottom:12px;right:12px}.ad-zone{margin:28px auto}.feed-heading h1{font-size:23px}.watch .related .grid{gap:26px}}
@keyframes menu-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep only the mobile brand row visible while browsing. */
.mast-bar{display:contents}
@media(max-width:760px){
 .mast,.mast-inner{display:contents}
 .mast-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:12px max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--line)}
 .mast--watch .mast-bar{position:relative}
 .mast-inner>.search{width:auto;max-width:none;margin:14px max(18px,env(safe-area-inset-right)) 16px max(18px,env(safe-area-inset-left))}
 html{scroll-padding-top:84px}
}

/* Define the player's bounds independently of watch-page metadata. */
.player-stage{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden}
.player-stage .player{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0}
.player-stage>.fluid_video_wrapper{display:block;width:100%!important;height:100%!important}
.player-stage .fluid_video_wrapper video{object-fit:contain}
.player-stage .fluid_button:focus-visible,.player-stage .fluid_video_playback_rates_item:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:6px}
@media(max-width:760px),(pointer:coarse){
 .player-stage{border-radius:0}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container{height:80px;background:linear-gradient(transparent,#000e);padding-bottom:env(safe-area-inset-bottom)}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_controls_left{left:max(8px,env(safe-area-inset-left));top:30px;height:44px;width:44px}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_controls_right{left:calc(52px + env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));top:30px;height:44px;display:flex;align-items:center;gap:2px}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_button{position:relative!important;left:auto!important;top:auto!important;float:none!important;width:44px!important;height:44px!important;flex:0 0 44px;padding:0;box-sizing:border-box;touch-action:manipulation}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_button:before{top:10px;left:10px;opacity:1}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_control_volume_container{display:none!important}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_control_mute{order:0}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_control_duration{order:1;flex:1;min-width:0;padding:0!important;height:44px;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_control_playback_rate{order:2}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_control_fullscreen{order:3}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_controls_progress_container{top:2px;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));height:28px;touch-action:none}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_controls_progress_container .fluid_controls_progress,
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_controls_progress_container .fluid_controls_buffered{top:12px;height:4px;margin:0}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_controls_progress_container .fluid_controls_currentprogress{height:4px}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_controls_progress_container .fluid_controls_currentpos{width:14px;height:14px;top:-5px;opacity:1}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_video_playback_rates{bottom:50px;right:0;padding:4px;border-radius:8px;max-height:150px}
 .player-stage .fluid_video_playback_rates_item{min-height:44px;padding:14px 20px;box-sizing:border-box;font-size:13px}
 .player-stage .fluid_video_wrapper.fluid_player_layout_default .skip_button{min-height:44px;box-sizing:border-box;bottom:90px;font-size:14px}
 .player-stage .fluid_video_wrapper:fullscreen .fluid_controls_container,
 .player-stage .fluid_video_wrapper.pseudo_fullscreen .fluid_controls_container{height:calc(80px + env(safe-area-inset-bottom))}
}
@media(max-width:760px) and (orientation:landscape){.player-stage{max-height:calc(100svh - 68px)}}
