:root{color-scheme:dark;--bg:#0a0e19;--panel:#111827;--panel2:#151d2d;--border:rgba(183,198,233,.105);--white:#f3f5ff;--muted:#99a4bf;--muted2:#707d9b;--purple:#8f78ff;--purple-d:#7358e4;--green:#49d6a4;--amber:#ffbc70;--red:#ff7b8d;--shadow:0 18px 50px rgba(0,0,0,.24)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font:15px/1.5 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--purple);outline-offset:3px}a{color:#b7a9ff;text-decoration:none}a:hover{text-decoration:underline}.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:12px}.app-shell{display:flex;min-height:100dvh}.sidebar{width:254px;flex-shrink:0;position:sticky;top:0;height:100dvh;background:linear-gradient(175deg,#121928 0%,#0e1422 85%);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:31px 15px 22px}.brand{display:flex;align-items:center;gap:11px;margin:3px 7px 49px}.brand strong,.mobile-brand{font-size:22px;letter-spacing:-.9px;font-weight:850;white-space:nowrap}.brand strong span,.mobile-brand span:last-child,.login-card h1 span{color:var(--purple)}.brand small{display:block;color:#69768f;font-size:9px;letter-spacing:2.05px;font-weight:700;margin-top:-1px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:43px;height:43px;border-radius:14px;background:linear-gradient(145deg,#967eff,#624de0);color:white;box-shadow:0 8px 24px #6851ec43;font-size:18px;padding-left:2px}.brand-mark.large{width:66px;height:66px;border-radius:19px;font-size:28px;margin:auto}.brand-mark.mini{width:31px;height:31px;border-radius:10px;font-size:12px;margin-right:5px}.nav-caption{font-size:10px;font-weight:800;letter-spacing:2px;color:#63718d;padding:0 15px;margin:0 0 12px}.second-caption{margin-top:39px}.sidebar nav{display:grid;gap:4px}.nav-link{border:0;background:transparent;color:#a1abc3;font-weight:650;border-radius:11px;text-align:left;padding:12px 14px;display:flex;align-items:center;gap:15px;width:100%;transition:.18s}.nav-link:hover{background:#ffffff0c;color:white}.nav-link.active{background:linear-gradient(95deg,#7f67e637,#7a5fe91a);color:#d5ccff;box-shadow:inset 3px 0 0 var(--purple)}.nav-link svg,.mobile-nav svg,.topbar svg{width:19px;height:19px;stroke-width:1.9}.sidebar-bottom{margin-top:auto}.household{padding:12px 8px;border:1px solid var(--border);border-radius:13px;display:flex;gap:10px;align-items:center;background:#ffffff06}.household>svg{width:20px;height:20px;color:var(--purple)}.household strong{font-size:11px;display:block;white-space:nowrap}.household small{font-size:10px;color:var(--muted2)}.green-dot{margin-left:auto;background:#55deb1;width:7px;height:7px;border-radius:50%;box-shadow:0 0 10px #55deb166}.sidebar-version{font-size:9px;letter-spacing:1.4px;color:#556078;display:block;text-align:center;margin-top:25px}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:85px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:20px}.breadcrumb{color:#8c98b3;font-size:13px}.topbar-actions{display:flex;gap:18px;align-items:center}.icon-button{border:0;background:transparent;color:#b9c3d9;padding:7px}.pill-button{border:1px solid #9d8bff55;color:#fff;border-radius:10px;padding:10px 15px;background:linear-gradient(135deg,#8771ee,#7056cf);font-size:12px;font-weight:750;display:flex;align-items:center;gap:9px;box-shadow:0 6px 20px #6c52df23}.pill-button:hover,.primary-btn:hover{filter:brightness(1.12)}.pill-button svg{width:15px;height:15px}.avatar{width:34px;height:34px;border-radius:50%;background:#333054;color:#d8d0ff;display:grid;place-items:center;font-size:13px;font-weight:900;border:1px solid #705fa9}.mobile-brand{display:none}main#view{width:100%;max-width:1540px;margin:0 auto;padding:35px 46px 90px;flex:1}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#55617b;font-size:11px;margin:0 48px;padding:22px 0 28px;border-top:1px solid var(--border)}.footer-heart{color:#a48bf5}.page-title{font-size:30px;letter-spacing:-1.2px;font-weight:850;margin:0 0 5px;line-height:1.19}.page-subtitle{color:var(--muted);font-size:13px;margin:0}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2.5px;font-weight:800;color:#a99aff;margin-bottom:11px}.hero{position:relative;overflow:hidden;border:1px solid #a08bff27;border-radius:20px;background:radial-gradient(ellipse at 92% 20%,#6d4ac460 0,transparent 48%),linear-gradient(115deg,#1a1d3c,#131e37 68%,#242344);padding:35px 37px;min-height:218px;display:flex;align-items:center;margin-bottom:24px}.hero:before{content:'▶';position:absolute;right:47px;top:-71px;font-size:315px;font-weight:900;color:#ffffff0a;transform:rotate(-12deg)}.hero-content{max-width:550px;z-index:1}.hero-eyebrow{color:#c6baff;font-size:11px;letter-spacing:2px;font-weight:850;text-transform:uppercase}.hero h1{font-size:37px;letter-spacing:-1.6px;line-height:1.12;margin:11px 0 10px}.hero h1 em{font-style:normal;color:#b8a5ff}.hero p{color:#b5c0d7;margin:0 0 20px;font-size:13px;line-height:1.7}.hero-actions{display:flex;gap:10px}.primary-btn{background:linear-gradient(135deg,#937cff,#6c54dd);border:0;border-radius:11px;color:#fff;font-weight:750;font-size:13px;padding:12px 18px;display:inline-flex;gap:9px;align-items:center;justify-content:center;box-shadow:0 8px 25px #5d42c34a}.secondary-btn{background:#ffffff12;border:1px solid #dcd1ff38;border-radius:11px;color:#eae5ff;font-weight:650;font-size:12px;padding:11px 16px;display:inline-flex;gap:8px;align-items:center;justify-content:center}.secondary-btn:hover{background:#ffffff1c}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:35px}.stat-card{background:linear-gradient(145deg,#151c2c,#111827);border:1px solid var(--border);border-radius:15px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:11px}.stat-label{font-size:11px;color:var(--muted);font-weight:650}.stat-number{font-size:30px;letter-spacing:-1px;font-weight:850;line-height:1.15;margin:7px 0 3px}.stat-foot{font-size:10px;color:#65728b}.stat-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#8670ec21;color:#ad9aff;flex-shrink:0}.stat-icon.green{color:var(--green);background:#37d5a115}.stat-icon.amber{color:var(--amber);background:#ffb86b17}.stat-icon.blue{color:#79c9ff;background:#68b6ff15}.stat-icon svg{height:21px;width:21px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 16px}.section-heading h2{margin:0;font-size:19px;letter-spacing:-.45px;font-weight:800}.text-link{border:0;background:transparent;color:#aa98ff;font-weight:750;font-size:12px;display:flex;gap:4px;align-items:center}.text-link:hover{color:white}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:17px;margin-bottom:27px}.media-card{border:1px solid var(--border);border-radius:15px;background:#141b2a;overflow:hidden;cursor:pointer;min-width:0;transition:transform .18s,border-color .18s,box-shadow .18s}.media-card:hover{transform:translateY(-3px);border-color:#9280ff82;box-shadow:var(--shadow)}.poster{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;background:#263047}.poster-fallback{display:grid;place-items:center;color:#a18be9;font-size:40px}.poster-wrap{position:relative}.poster-chip{position:absolute;bottom:9px;left:9px;right:9px;width:max-content;max-width:calc(100% - 18px);background:#111626db;border:1px solid #ffffff1b;backdrop-filter:blur(8px);padding:5px 8px;border-radius:7px;color:#ebedff;font-size:10px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poster-chip.good{color:#79edc5}.poster-chip.late{color:#ffce8f}.card-meta{padding:12px}.card-meta h3{font-size:12px;font-weight:800;margin:0 0 4px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-meta p{font-size:10px;margin:0;color:#8996b0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress{height:5px;border-radius:99px;background:#2b3246;overflow:hidden;margin:11px 0 4px}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#7b65e7,#b49cff);border-radius:inherit}.empty-state{padding:45px 25px;border:1px dashed #655e8a88;border-radius:16px;background:linear-gradient(125deg,#1a1c2c,#101827);text-align:center;margin:14px 0 28px}.empty-illustration{margin:auto auto 12px;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#7159e22a;color:#b6a6ff}.empty-illustration svg{width:28px;height:28px}.empty-state h3{font-size:18px;margin:4px 0}.empty-state p{font-size:12px;color:var(--muted);max-width:390px;margin:7px auto 20px}.empty-state button{margin:auto}.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:24px 0}.filter-chip{padding:8px 13px;font-size:12px;border:1px solid var(--border);background:#151b29;border-radius:9px;color:#a9b4cd;font-weight:700}.filter-chip.active{background:#8a72ff29;color:#d3c9ff;border-color:#9d88ff59}.page-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;flex-wrap:wrap}.section-toolbar{display:flex;align-items:center;gap:10px}.mini-button{color:#b9c3dc;background:#ffffff0a;border:1px solid #ffffff18;border-radius:9px;padding:8px 12px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:6px}.mini-button:hover{background:#ffffff17}.mini-button.danger{color:#ff9aa6}.mini-button svg{width:15px;height:15px}.search-wrap{position:relative;max-width:660px;margin:28px 0 14px}.search-wrap svg{position:absolute;top:17px;left:18px;width:19px;height:19px;color:var(--muted)}.search-input{width:100%;border:1px solid #7166af65;border-radius:13px;background:#161e30;color:white;padding:16px 18px 16px 47px;font-size:14px}.search-input::placeholder{color:#707d9c}.toggle-group{display:flex;border:1px solid var(--border);padding:4px;border-radius:10px;background:#151b29;gap:4px;width:max-content}.toggle-group button{background:transparent;border:0;border-radius:7px;color:#8f9bbb;padding:9px 16px;font-size:12px;font-weight:750}.toggle-group button.active{background:#7662dc;color:#fff}.search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:13px}.search-result{display:flex;align-items:center;gap:14px;padding:11px;border-radius:13px;border:1px solid var(--border);background:var(--panel);min-width:0}.search-result>img,.search-result>.poster-fallback{width:65px;height:95px;object-fit:cover;border-radius:8px;flex-shrink:0}.search-result-body{min-width:0;flex:1}.search-result strong{font-size:13px;display:block;line-height:1.3}.search-result .muted{font-size:11px}.search-result p{font-size:11px;color:#8f9bb5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:5px 0 10px}.result-actions{margin-top:8px}.result-actions .mini-button{padding:7px 10px}.detail-back{margin:0 0 18px}.detail-hero{border-radius:18px;position:relative;overflow:hidden;min-height:270px;background:linear-gradient(100deg,#1f2437,#24243e);border:1px solid var(--border);display:flex;align-items:flex-end;padding:30px;gap:24px}.detail-backdrop{position:absolute;inset:0;background-size:cover;background-position:center 27%;opacity:.29;mask-image:linear-gradient(90deg,transparent 3%,black 75%)}.detail-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#161b2a 0%,#161b2a99 55%,#161b2a22 100%)}.detail-poster{width:132px;min-width:132px;height:198px;object-fit:cover;border-radius:11px;z-index:1;box-shadow:var(--shadow);background:#282d45}.detail-info{position:relative;z-index:1;max-width:660px}.detail-info h1{font-size:33px;line-height:1.16;margin:7px 0 8px;letter-spacing:-1.2px}.detail-info p{font-size:12px;color:#c0c9dc;max-width:680px;line-height:1.65}.info-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#bdc4d9;font-size:11px}.soft-tag{border:1px solid #ffffff2a;background:#ffffff12;padding:5px 8px;border-radius:7px;font-size:10px;font-weight:750}.soft-tag.green{color:var(--green)}.soft-tag.amber{color:var(--amber)}.detail-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;margin-top:25px}.panel{background:#121a29;border:1px solid var(--border);border-radius:16px;padding:21px}.panel h3{margin:0 0 14px;font-size:15px}.panel h4{font-size:12px;color:#cad3e7;margin:20px 0 8px}.panel-description{font-size:11px;color:#9ca9c3;margin:0 0 15px}.panel+.panel{margin-top:15px}.season{border:1px solid var(--border);border-radius:12px;margin-bottom:11px;overflow:hidden;background:#141c2d}.season summary{list-style:none;display:flex;align-items:center;gap:10px;padding:15px 15px;cursor:pointer;font-weight:800;font-size:13px}.season summary::-webkit-details-marker{display:none}.season summary .chevron{margin-left:auto;transition:transform .15s}.season[open] summary .chevron{transform:rotate(180deg)}.season-subline{font-size:10px;color:#91a0ba;font-weight:500}.season-action{padding:0 14px 12px;display:flex;justify-content:flex-end;gap:8px}.episode-row{padding:12px 15px;border-top:1px solid var(--border);display:flex;gap:11px;align-items:center;transition:background .14s}.episode-row:hover{background:#ffffff04}.episode-row input,.service-option input{appearance:none;flex-shrink:0;width:19px;height:19px;border:1.5px solid #7d88a0;background:#ffffff06;border-radius:6px;display:grid;place-items:center;cursor:pointer;margin:0}.episode-row input:checked,.service-option input:checked{background:var(--purple);border-color:var(--purple)}.episode-row input:checked:after,.service-option input:checked:after{content:'✓';font-size:13px;font-weight:900;color:white}.episode-row input:disabled{opacity:.32;cursor:not-allowed}.episode-row .episode-title{font-weight:680;font-size:12px;line-height:1.3}.episode-row .episode-date{font-size:10px;color:#8290aa;margin-top:3px}.episode-row.watched .episode-title{color:#a6b2c8}.episode-row .episode-number{font-size:10px;color:#9587d3;font-weight:850;min-width:43px}.episode-row .future-pill{margin-left:auto;font-size:9px;color:#b9a7eb;white-space:nowrap}.provider-option{display:flex;gap:9px;align-items:center;padding:9px 0;border-top:1px solid #ffffff0d;font-size:12px}.provider-option img,.provider-logo{width:28px;height:28px;object-fit:contain;background:#ffffff12;border-radius:7px}.provider-option .service-match{margin-left:auto;color:var(--green);font-size:10px}.provider-select{width:100%;border:1px solid #68688579;background:#1b2435;color:#f7f4ff;border-radius:9px;padding:12px;font-size:12px;min-width:0}.help-text{font-size:10px;color:#7e8da9;line-height:1.7}.provider-badge{display:flex;align-items:center;gap:9px;font-size:11px;border:1px solid var(--border);border-radius:9px;padding:8px 10px;margin:6px 0;background:#ffffff05}.provider-badge strong{font-size:11px}.provider-badge .muted{font-size:9px}.provider-badge img{width:27px;height:27px;border-radius:6px}.subtitle-label{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:#8c99b5;font-weight:800;margin:16px 0 9px}.upcoming-list{display:grid;gap:9px}.upcoming-item{background:#141c2a;border:1px solid var(--border);border-radius:12px;padding:13px;display:flex;align-items:center;gap:14px;cursor:pointer}.upcoming-item:hover{border-color:#9282ff88}.upcoming-item img{width:45px;height:65px;border-radius:6px;object-fit:cover;background:#28304a}.upcoming-date{text-align:center;border-radius:9px;padding:6px 9px;min-width:52px;background:#7969e81b;border:1px solid #7667dc38}.upcoming-date strong{display:block;font-size:21px;line-height:1}.upcoming-date small{color:#b5a6ff;font-size:9px;text-transform:uppercase}.upcoming-item .upcoming-meta{flex:1;min-width:0}.upcoming-item .upcoming-meta strong{font-size:12px;display:block}.upcoming-item .upcoming-meta p{font-size:10px;margin:3px 0;color:#9aa6bd}.upcoming-item .upcoming-meta small{color:#b8a6ff;font-size:10px}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:9px}.service-option{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid var(--border);background:#171e30;border-radius:11px;cursor:pointer}.service-option:hover{border-color:#7365ae}.service-option img{width:33px;height:33px;object-fit:contain;border-radius:8px;background:#ffffff10}.service-option span{flex:1;font-size:12px;font-weight:700;line-height:1.3}.setting-section{margin:23px 0}.settings-divider{height:1px;background:var(--border);margin:25px 0}.settings-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}.settings-actions .primary-btn{min-width:150px}.settings-panel{max-width:850px}.select-search{width:100%;background:#1a2233;border:1px solid var(--border);border-radius:9px;color:white;padding:10px 12px;margin:12px 0 15px}.login-shell,.setup-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:25px;background:radial-gradient(ellipse at 50% 8%,#44317d44,transparent 55%),#0a0e19}.login-shell{position:relative;flex-direction:column}.login-card,.setup-card{width:100%;max-width:390px;background:#131b2c;border:1px solid #7870b43e;border-radius:22px;padding:35px;box-shadow:0 25px 80px #0005;z-index:1}.login-card{text-align:center}.login-card h1{margin:15px 0 3px;font-size:29px;letter-spacing:-1.3px}.login-card>p{color:#9faac2;font-size:12px;margin:0 0 24px}.login-card label,.setup-form label{display:block;text-align:left;color:#bfc8dd;font-weight:700;font-size:12px;margin:14px 0}.login-card input,.setup-form input{display:block;width:100%;background:#0d1320;border:1px solid #464d6a;border-radius:9px;color:white;padding:11px 13px;margin-top:7px;font-size:13px}.login-card button{width:100%;margin-top:14px}.login-footer{font-size:10px;letter-spacing:2px;color:#53617b;margin-top:20px}.login-footer span{color:#b5a6ff;margin:0 6px}.form-error{font-size:12px;color:#ff9aac;margin-top:10px}.setup-card{max-width:570px;margin:40px auto}.setup-card h1{font-size:27px;letter-spacing:-1px;text-align:center;margin:12px 0 3px}.setup-card>.muted{text-align:center;font-size:12px}.setup-form small{color:#7e8da8;font-weight:400;display:block;margin-top:3px}.form-divider{color:#b6a6ff;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:1.5px;margin-top:26px}.form-two{display:grid;grid-template-columns:2fr 1fr;gap:13px}.error-banner{background:#f04e6d1a;color:#ffb0bd;padding:12px;border:1px solid #f04e6d44;border-radius:9px;font-size:12px;margin-top:20px}.setup-form .primary-btn{width:100%;margin:15px 0}.toast{position:fixed;z-index:500;bottom:27px;right:25px;background:#25314b;color:white;border:1px solid #857bcd66;border-radius:13px;padding:12px 18px;box-shadow:0 14px 35px #0007;font-size:12px;max-width:min(420px,calc(100vw - 25px));animation:pop .16s ease}.toast.error{border-color:#ef769a;color:#ffd5df}.dialog-backdrop{position:fixed;inset:0;background:#03050cce;z-index:400;display:grid;place-items:center;padding:15px}.dialog-card{width:min(440px,100%);border:1px solid #6c648f6e;border-radius:17px;background:#192134;padding:25px;box-shadow:0 20px 100px #000b}.dialog-card h3{margin:0 0 10px}.dialog-card p{color:#a9b5cd;font-size:12px}.dialog-buttons{display:flex;gap:9px;justify-content:flex-end;margin-top:25px}.loading-screen{display:flex;align-items:center;justify-content:center;gap:15px;min-height:320px;color:#b6abed;font-size:12px}.spinner{width:22px;height:22px;border:3px solid #8780bc44;border-top-color:#ab95ff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.mobile-nav{display:none}.watch-lane{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.watch-tile{padding:15px;border:1px solid var(--border);border-radius:13px;background:#141b2a;cursor:pointer}.watch-tile strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watch-tile small{display:block;color:#91a0bb;margin:4px 0;font-size:11px}.watch-service{margin-top:10px;display:inline-block;color:#c2b5ff;background:#7862ec19;border-radius:7px;padding:5px 8px;font-size:10px}.two-columns{display:grid;grid-template-columns:1.45fr 1fr;gap:22px}.provider-summary{padding:13px 14px;background:#171f31;border:1px solid var(--border);border-radius:11px;display:flex;align-items:center;gap:11px}.provider-summary img{width:33px;height:33px;border-radius:7px}.provider-summary strong{font-size:12px}.provider-summary small{display:block;font-size:10px;color:var(--muted)}
@media(max-width:1250px){.sidebar{width:224px}.topbar{padding:0 27px}main#view{padding:30px 28px 80px}.site-footer{margin:0 28px}.stat-card{padding:17px}.stat-number{font-size:27px}.detail-content{grid-template-columns:minmax(0,1fr) 270px}.hero h1{font-size:32px}}
@media(max-width:950px){.sidebar{display:none}.mobile-brand{display:flex;align-items:center}.breadcrumb{display:none}.topbar{height:68px;padding:0 22px}.topbar-actions{gap:8px}.avatar{display:none}.mobile-nav{position:fixed;z-index:100;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 8px calc(8px + env(safe-area-inset-bottom));background:#121929f5;border-top:1px solid #ffffff20;backdrop-filter:blur(18px)}.mobile-nav button{border:0;background:none;display:grid;justify-items:center;gap:3px;color:#7c8aa4;font-size:11px;padding:5px 0}.mobile-nav button.active{color:#bcabff}.mobile-nav small{font-size:10px}main#view{padding:25px 22px 115px}.site-footer{margin:0 22px;padding-bottom:110px}}
@media(max-width:650px){.hero{padding:25px;min-height:222px}.hero:before{right:-8px;top:8px;font-size:210px}.hero h1{font-size:29px}.hero p{max-width:260px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:26px}.stat-card{padding:16px}.stat-icon{height:34px;width:34px}.stat-number{font-size:28px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.section-heading h2{font-size:17px}.detail-content{grid-template-columns:1fr}.detail-hero{padding:21px;gap:15px;min-height:240px}.detail-poster{width:90px;min-width:90px;height:135px}.detail-info h1{font-size:23px}.detail-info p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.topbar-actions .pill-button{font-size:0;padding:10px}.topbar-actions .pill-button svg{width:18px;height:18px}.topbar-actions{gap:0}.page-title{font-size:25px}.two-columns{grid-template-columns:1fr}.site-footer{display:block;line-height:2}.search-results{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.service-option{padding:8px;gap:8px}.service-option span{font-size:11px}main#view{padding-left:17px;padding-right:17px}.topbar{padding:0 17px}}
@media(max-width:390px){.service-grid{grid-template-columns:1fr}.hero h1{font-size:25px}.hero p{font-size:11px}.detail-poster{width:78px;min-width:78px;height:115px}}

/* Poster placeholders must stay compact in upcoming rows. */
.upcoming-item .upcoming-poster{width:45px;height:65px;flex:0 0 45px;object-fit:cover;aspect-ratio:auto;border-radius:6px;background:#263047;}


/* MurphyVision v1.1 mobile usability and iOS Home Screen fixes. */
/* clip, unlike overflow:hidden, doesn't create a scrolling ancestor that breaks sticky headers. */
html, body { max-width: 100%; overflow-x: clip; }
.app-shell, .app-main, #view { min-width: 0; max-width: 100%; }
@media (max-width: 950px) {
  /* Keep Search and Add available while scrolling. Reserve iPhone status-bar space. */
  .topbar {
    position: sticky;
    top: 0;
    z-index: 120;
    flex: 0 0 auto;
    height: calc(72px + env(safe-area-inset-top, 0px));
    padding-top: env(safe-area-inset-top, 0px);
    background: rgba(11, 16, 31, .97);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }
  .app-main { width: 100%; }
  .mobile-brand { min-width: 0; font-size: clamp(18px, 5.25vw, 24px); letter-spacing: -.65px; }
  .mobile-brand .brand-mark { flex: 0 0 auto; }
  .topbar-actions { flex-shrink: 0; gap: 5px; }
  .topbar-actions .icon-button, .topbar-actions .pill-button {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; min-height: 44px; padding: 0;
  }
  .topbar-actions .icon-button svg, .topbar-actions .pill-button svg { width: 22px; height: 22px; }
  .mobile-nav { width: 100%; max-width: 100%; box-sizing: border-box; }
  .mobile-nav button { min-width: 0; min-height: 48px; }
  .mobile-nav svg { height: 22px; width: 22px; }
  .mobile-nav small { font-size: 12px; line-height: 1.2; font-weight: 600; }
  .hero-content { min-width: 0; width: 100%; }
  .hero-actions { flex-wrap: wrap; }
  .hero-actions .primary-btn, .hero-actions .secondary-btn { min-height: 45px; }
  .stat-grid, .media-grid, .detail-content, .service-grid, .search-results { min-width: 0; }
  .stat-card { min-width: 0; }
  .stat-card > div:first-child { min-width: 0; }
  .stat-foot, .stat-label { overflow-wrap: anywhere; }
  .page-intro, .section-toolbar, .panel, .season, .search-result, .upcoming-item { min-width: 0; }
  .section-heading > h2 { min-width: 0; }
  .filter-row { max-width: 100%; }
  .filter-chip { white-space: normal; }
  .toggle-group { max-width: 100%; }
  .toggle-group button { min-width: 0; }
  .detail-info { min-width: 0; }
  .upcoming-meta { overflow-wrap: anywhere; }

  /* Readable labels and tap targets on iPhone/iPad. */
  body { font-size: 16px; }
  .hero-eyebrow, .eyebrow { font-size: 12px; letter-spacing: 1.7px; }
  .hero p { font-size: 15px; line-height: 1.65; max-width: 100%; }
  .hero .primary-btn, .hero .secondary-btn { font-size: 14px; padding: 12px 14px; }
  .stat-label { font-size: 14px; }
  .stat-foot { font-size: 12px; line-height: 1.4; }
  .page-subtitle { font-size: 14px; }
  .section-heading h2 { font-size: 20px; }
  .text-link, .mini-button, .filter-chip { font-size: 13px; }
  .card-meta h3 { font-size: 15px; }
  .card-meta p { font-size: 12.5px; }
  .poster-chip { font-size: 11.5px; }
  .empty-state p, .panel-description, .help-text { font-size: 13px; }
  .panel h3 { font-size: 17px; }
  .panel h4 { font-size: 14px; }
  .season summary { font-size: 15px; }
  .season-subline { font-size: 12px; }
  .episode-row { min-height: 53px; }
  .episode-row .episode-title { font-size: 15px; }
  .episode-row .episode-date { font-size: 12.5px; }
  .episode-row .episode-number { font-size: 12px; }
  .episode-row .future-pill { font-size: 11px; }
  .episode-row input, .service-option input { width: 22px; height: 22px; }
  .service-option span { font-size: 14px; }
  .provider-option, .provider-summary strong { font-size: 14px; }
  .provider-option .service-match, .provider-badge .muted { font-size: 12px; }
  .provider-select, .search-input, .select-search { font-size: 16px; } /* avoid iOS focus zoom */
  .provider-badge, .provider-badge strong { font-size: 13px; }
  .upcoming-item .upcoming-meta strong { font-size: 14px; }
  .upcoming-item .upcoming-meta p, .upcoming-item .upcoming-meta small { font-size: 12px; }
  .upcoming-date small { font-size: 11px; }
  .watch-tile strong { font-size: 14px; }
  .watch-tile small, .watch-service { font-size: 12px; }
  .search-result strong { font-size: 15px; }
  .search-result .muted, .search-result p { font-size: 13px; }
  .detail-info p, .info-line, .soft-tag, .subtitle-label { font-size: 13px; }
  .settings-actions .primary-btn, .primary-btn, .secondary-btn { font-size: 14px; }
  .tiny { font-size: 13px; }
  .site-footer { font-size: 12px; }
}
@media (max-width: 650px) {
  .topbar { padding-left: 16px; padding-right: 16px; gap: 6px; }
  main#view { padding-left: 15px; padding-right: 15px; }
  .hero { padding: 24px 22px; }
  .hero-actions .primary-btn, .hero-actions .secondary-btn { padding-left: 11px; padding-right: 11px; }
  .hero h1 { font-size: clamp(25px, 7.2vw, 32px); overflow-wrap: normal; }
  .stat-card { padding: 16px 13px; gap: 8px; }
  .stat-icon { width: 34px; height: 34px; }
  .stat-icon svg { height: 20px; width: 20px; }
  .media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .section-heading { align-items: baseline; }
}
@media (max-width: 370px) {
  .mobile-brand { font-size: 18px; }
  .mobile-brand .brand-mark { width: 28px; height: 28px; margin-right: 3px; }
  .topbar-actions .icon-button, .topbar-actions .pill-button { width: 42px; }
  .stat-icon { width: 30px; height: 30px; }
  .stat-card { padding: 13px 10px; }
  .hero-actions .primary-btn, .hero-actions .secondary-btn { padding: 10px 12px; }
  .service-grid { grid-template-columns: 1fr; }
}
