.mobile body {font-size:16px;padding-bottom:env(safe-area-inset-bottom,0px);}
.mobile header {height:auto;padding:16px 16px 0;gap:12px;flex-wrap:wrap;}
.mobile .brand {font-size:22px;gap:7px;}
.mobile .tv-tag {font-size:10px;}
.mobile .header-tools {gap:4px;flex:1;justify-content:flex-end;}
.mobile .header-tools button {font-size:14px;padding:10px 7px;min-height:44px;}
.mobile #searchToggle {font-size:18px;}
.mobile #searchToggle span {display:none;}
.mobile #historyButton {font-size:14px;}
.mobile #sourcesButton {font-size:14px;}
.mobile #clock {display:none;}
.mobile nav {order:3;width:100%;height:56px;justify-content:space-between;gap:0;}
.mobile nav button {font-size:17px;padding:10px;}
.mobile nav button.active:after {bottom:6px;}
.mobile #hero {height:390px;}
.mobile #hero .hero-copy {padding:34px 20px 0;max-width:100%;}
.mobile #hero h1 {font-size:32px;max-width:100%;margin:18px 0 0;}
.mobile #heroImage {background-position:65% center;}
.mobile .hero-shade {background:linear-gradient(90deg,#0b1012eb,#0b101278),linear-gradient(0deg,#0b1012,transparent 70%);}
.mobile .hero-meta {font-size:14px;margin-top:14px;}
.mobile #heroDescription {font-size:15px;max-height:58px;line-height:1.8;margin:15px 0;}
.mobile #heroFoot {font-size:12px;line-height:1.6;margin-top:15px;}
.mobile .hero-actions {gap:10px;}
.mobile .hero-actions button {font-size:17px;padding:12px 16px;min-height:48px;}
.mobile #library,.mobile #homeTvSection,.mobile #continueSection {padding:18px 14px;}
.mobile .section-top {align-items:flex-start;flex-direction:column;gap:12px;}
.mobile h2 {font-size:23px;margin:0;}
.mobile .filters {justify-content:flex-start;gap:5px;max-width:none;width:100%;}
.mobile .filters button {font-size:13px;padding:9px 8px;min-height:44px;}
.mobile #resultsNote,.mobile #homeTvStatus,.mobile .muted {font-size:13px;line-height:1.7;}
.mobile .cards {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px;}
.mobile .card {padding:3px;border-width:2px;}
.mobile .poster {padding-top:150%;}
.mobile .card h3 {font-size:18px;margin:10px 0 6px;white-space:normal;line-height:1.4;}
.mobile .card p {font-size:12px;line-height:1.6;white-space:normal;}
.mobile .badge,.mobile .duration {font-size:11px;padding:4px 5px;}
.mobile .card:focus {transform:none;outline-width:2px;outline-offset:1px;}
.mobile .card-play {width:48px;height:48px;line-height:48px;font-size:22px;}
.mobile dialog {width:calc(100% - 20px);max-width:600px;padding:20px 16px;max-height:90vh;}
.mobile dialog h2 {font-size:24px;padding-right:38px;line-height:1.5;}
.mobile dialog button {font-size:16px;min-height:46px;}
.mobile .dialog-close {top:8px;right:8px;font-size:16px;}
.mobile .detail-layout {display:block;}
.mobile #detailPoster {display:none;}
.mobile .detail-info {padding:36px 0 0;}
.mobile #detailDescription {font-size:16px;}
.mobile .detail-info h3 {font-size:18px;}
.mobile .episodes {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.mobile .episodes button {min-width:0;font-size:16px;min-height:48px;padding:8px;}
.mobile .line-tabs {gap:8px;}
.mobile .line-tabs button {font-size:15px;}
.mobile #catalogFilters .filter-row {display:block;margin:12px 0;}
.mobile .filter-label {display:block;font-size:16px;padding:0 0 8px;}
.mobile .filter-options {gap:7px;}
.mobile .filter-options button {font-size:14px;padding:8px 10px;min-height:44px;}
.mobile .year-input {gap:8px;margin:15px 0;}
.mobile .year-input input {width:100%;flex-basis:100%;min-width:0;font-size:17px;}
.mobile .search-box {display:flex;flex-wrap:wrap;gap:8px;padding:12px;}
.mobile .search-box>span {display:none;}
.mobile .search-box input {width:100%;flex-basis:100%;min-width:0;font-size:17px;}
.mobile .search-box button {font-size:15px;min-height:44px;}
.mobile #searchPanel {padding:14px;}
.mobile .source-row {flex-wrap:wrap;gap:8px;}
.mobile .source-name {min-width:130px;}
.mobile .source-row small {font-size:11px;}
.mobile .source-status,.mobile .source-toggle {font-size:14px;}
.mobile #castBanner {margin:12px 14px 0;}
.mobile #toast {font-size:16px;max-width:92%;}
.mobile .simple-menu button {font-size:18px;}
.mobile footer {padding:20px 16px;font-size:12px;}
.mobile #moreTv {font-size:16px;}
@media(min-width:700px){.mobile .cards{grid-template-columns:repeat(4,minmax(0,1fr));}.mobile #hero .hero-copy{max-width:750px;}}
#castBanner {margin:12px 5% 0;padding:12px 16px;border:1px solid #d5f78555;border-radius:10px;background:#17221b;align-items:center;gap:12px;}
#castBanner:not([hidden]){display:flex;}
#castStatus {flex:1;line-height:1.6;}
#castControl {background:#d5f785;color:#162014;white-space:nowrap;}
@media(max-width:1400px){html:not(.mobile) header{gap:12px;padding:0 3%;}html:not(.mobile) nav button{padding:9px;font-size:18px;}html:not(.mobile) .header-tools button{font-size:15px;padding:8px 7px;}html:not(.mobile) #searchToggle span,html:not(.mobile) #clock{display:none;}html:not(.mobile) .brand{font-size:22px;}}
