:root{color-scheme:dark;--bg:#0b0c11;--panel:#181921;--panel2:#22232e;--accent:#b5a0f5;--text:#f4f4f7;--muted:#9496a8;--line:#282934;--bottom:calc(74px + env(safe-area-inset-bottom,0px));font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;color:inherit;background:transparent}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:var(--accent);text-decoration:none}svg{width:22px;height:22px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.15;letter-spacing:-1px}h2{font-size:20px;letter-spacing:-.45px}h3{font-size:16px}p{line-height:1.6}.app{max-width:1100px;margin:auto;min-height:100dvh;padding-top:env(safe-area-inset-top,0px)}.topbar{height:72px;padding:0 22px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;font-size:22px;font-weight:750;letter-spacing:-.8px;padding:0}.brand-icon{position:relative;display:grid;place-items:center;background:var(--accent);color:#191424;width:32px;height:32px;border-radius:10px;font-size:24px;font-weight:900;letter-spacing:-3px;padding-right:3px}.brand-icon span{position:absolute;right:4px;top:4px;border-radius:50%;width:5px;height:5px;background:white}.brand-tv{font-weight:450;color:var(--muted);margin-left:2px}.connection{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;background:var(--panel);padding:8px 10px;border-radius:20px}.connection i,.live-dot{display:inline-block;background:#787989;width:6px;height:6px;border-radius:50%}.connection.online i,.live-dot.online{background:#71d5a6;box-shadow:0 0 9px #71d5a633}.connection.online{color:#a9bcba}main{padding-bottom:calc(var(--bottom) + 22px)}.page{padding:8px 22px 22px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.eyebrow{color:var(--accent);text-transform:uppercase;font-size:10px;font-weight:750;letter-spacing:2.5px;margin-bottom:9px}.muted{color:var(--muted)}.small{font-size:12px}.target-strip{display:flex;align-items:center;justify-content:space-between;margin:0 22px 16px;gap:12px}.target-label{color:var(--muted);font-size:12px}.segmented{display:flex;gap:3px;padding:4px;background:var(--panel);border-radius:13px;flex-shrink:0}.segmented button{padding:8px 14px;border-radius:10px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:7px}.segmented button svg{width:15px;height:15px}.segmented .active{background:var(--accent);color:#181223}.hero{position:relative;min-height:410px;border-radius:24px;margin:0 14px 25px;overflow:hidden;isolation:isolate;background:#1b1b26}.hero-image,.detail-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#14141eff 2%,#14141eea 20%,#14141e22 95%),linear-gradient(90deg,#14141e70,transparent);z-index:-1}.hero-content{padding:165px 22px 25px;max-width:610px}.hero-content h1{margin:8px 0 12px;font-size:34px}.metadata{display:flex;align-items:center;gap:10px;font-size:12px;color:#cecfdb;flex-wrap:wrap}.rating{color:#f6cf7d;font-weight:700}.type-label{border:1px solid #ffffff26;border-radius:5px;padding:3px 6px;font-size:10px}.hero-summary{margin:12px 0 19px;color:#b8b8c8;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.button-row{display:flex;gap:9px}.primary,.secondary,.danger{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:13px;padding:13px 19px;font-weight:650;font-size:13px;min-height:45px}.primary{background:var(--accent);color:#1b142b}.primary svg{fill:currentColor;stroke-width:1.2;width:17px;height:17px}.secondary{background:#ffffff12;border:1px solid #ffffff0b}.danger{background:#da71731a;color:#efa3a6;border:1px solid #da717330}.full{width:100%}.section{margin:0 0 26px}.section-heading{margin:0 22px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px}.section-heading h2{font-size:18px}.section-heading button{font-size:11px;color:var(--muted);padding:7px 0}.poster-row{display:flex;gap:13px;overflow:auto;padding:0 22px 5px;scrollbar-width:none}.poster-row::-webkit-scrollbar{display:none}.poster-card{padding:0;text-align:left;flex:0 0 128px;min-width:0}.poster{aspect-ratio:2/3;border-radius:13px;background:linear-gradient(135deg,#252535,#181921);position:relative;overflow:hidden}.poster img{width:100%;height:100%;object-fit:cover}.poster:before{content:"M";font-size:30px;color:#5b516d;position:absolute;top:42%;left:40%;z-index:0}.poster img{position:relative}.poster .rating{position:absolute;top:7px;left:7px;border-radius:6px;padding:4px 6px;background:#0b0c11c9;font-size:10px;backdrop-filter:blur(8px);color:#f6cf7d}.poster-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:9px;font-size:12px;font-weight:600}.poster-year{display:block;color:var(--muted);font-size:10px;margin-top:5px}.progress-line{position:absolute;bottom:0;left:0;height:3px;background:var(--accent)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1100px);height:var(--bottom);display:flex;justify-content:space-around;align-items:flex-start;padding:10px 9px calc(9px + env(safe-area-inset-bottom,0px));background:#101118f5;border-top:1px solid #ffffff09;backdrop-filter:blur(20px);z-index:20}.bottom-nav button{color:#747689;padding:6px 3px;min-width:52px;display:flex;align-items:center;gap:5px;flex-direction:column;font-size:9px;position:relative}.bottom-nav button.active{color:var(--accent)}.bottom-nav button.active:before{content:"";position:absolute;width:27px;height:2px;background:var(--accent);top:-10px;border-radius:2px}.bottom-nav svg{width:22px;height:22px}.search-box{position:relative;margin-bottom:15px;display:flex;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:0 13px;gap:10px}.search-box>svg{color:var(--muted);width:19px;flex-shrink:0}.search-box input{background:transparent;color:var(--text);border:0;outline:0;width:100%;min-width:0;padding:16px 0;font-size:14px}.search-box input::placeholder{color:#747689}.search-box button{color:var(--muted);padding:5px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.chip{padding:9px 13px;border:1px solid var(--line);border-radius:20px;color:#a9aaba;font-size:12px}.chip.active{color:var(--accent);background:#b5a0f512;border-color:#b5a0f54d}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}.catalog-grid .poster-card{width:100%;min-width:0}.catalog-summary{margin-bottom:18px;color:var(--muted);font-size:12px}.load-more{margin-top:24px}.detail-cover{position:relative;isolation:isolate;min-height:240px;margin-bottom:-30px;overflow:hidden;background:#161720}.detail-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),#0b0c110d 95%);z-index:-1}.detail-toolbar{display:flex;justify-content:space-between;padding:10px 22px;gap:10px}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffff13;background:#0b0c1166;backdrop-filter:blur(10px);border-radius:13px}.icon-button.selected{color:var(--accent)}.detail-title{padding:0 22px;position:relative}.detail-title h1{margin:0 0 13px}.detail-title .metadata{margin-bottom:20px}.detail-title .button-row{margin:0 0 20px}.detail-body{padding:0 22px}.detail-body .target-strip{margin:0 0 18px}.description{color:#a8a9ba;font-size:13px;line-height:1.8;margin:18px 0}.detail-facts{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.detail-facts span{color:var(--muted);font-size:11px;background:var(--panel);padding:6px 9px;border-radius:7px}.cast-line{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 25px}.cast-line strong{display:block;color:#cccddd;font-size:12px;margin-bottom:5px}.empty-state,.loading-screen{min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;text-align:center;padding:36px 24px;color:var(--muted)}.empty-state h2{color:var(--text);font-size:20px}.empty-state p{font-size:13px;max-width:330px}.empty-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:23px;background:#b5a0f50c;color:var(--accent);margin-bottom:8px}.empty-icon svg{width:30px;height:30px}.spinner{width:24px;height:24px;border:2px solid #b5a0f525;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.loading-screen p{font-size:13px}.panel{padding:20px;background:var(--panel);border:1px solid #ffffff05;border-radius:20px;margin-bottom:16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-heading h3{display:flex;align-items:center;gap:9px}.panel-heading svg{color:var(--accent);width:18px}.panel .chips{margin:14px 0 0}.panel p{color:var(--muted);font-size:12px}.server-card{display:flex;gap:14px;align-items:center}.server-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#b5a0f511;color:var(--accent)}.server-copy{flex:1}.server-copy strong{display:block;margin-bottom:5px;font-size:14px}.server-copy small{font-size:11px;color:var(--muted)}.settings-actions{display:flex;gap:8px;margin-top:18px}.settings-actions button{font-size:12px;padding:10px 14px;flex:1}.device-card{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;margin-top:12px}.device-card svg{color:var(--accent)}.device-card div{flex:1}.device-card strong{font-size:12px;display:block;margin-bottom:3px}.device-card span{font-size:11px;color:var(--muted)}.remote-art{width:95px;height:95px;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#b5a0f52b,#181921);border:1px solid #b5a0f51a;border-radius:30px;margin:30px auto 23px;color:var(--accent)}.remote-art svg{width:43px;height:43px;stroke-width:1.2}.remote-title{text-align:center;margin-bottom:8px}.remote-subtitle{text-align:center;font-size:12px;color:var(--muted);line-height:1.6}.remote-controls{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:12px;margin:26px 0 15px}.remote-controls button{min-height:83px;background:var(--panel);border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:11px;color:var(--muted)}.remote-controls button svg{width:24px;height:24px;color:var(--text)}.remote-controls .play-toggle{background:var(--accent);color:#21192f;border:0}.remote-controls .play-toggle svg{color:inherit;width:28px;height:28px}.remote-tools{display:flex;gap:10px}.remote-tools button{flex:1}.remote-hint{margin:23px 0 0;text-align:center;color:var(--muted);font-size:12px;line-height:1.8}.overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(6px);z-index:50;display:flex;align-items:flex-end;justify-content:center;padding-top:35px}.overlay[hidden]{display:none}.sheet{background:#14151e;border:1px solid #ffffff0d;border-radius:26px 26px 0 0;width:min(100%,640px);max-height:90dvh;display:flex;flex-direction:column;padding:10px 22px calc(22px + env(safe-area-inset-bottom,0px));box-shadow:0 -20px 60px #0004}.sheet-grip{width:34px;height:4px;border-radius:4px;background:#424452;margin:0 auto 18px}.sheet-heading{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:18px}.sheet-heading h2{font-size:19px;margin-bottom:5px}.sheet-heading p{font-size:11px;color:var(--muted)}.sheet-scroll{overflow:auto;overscroll-behavior:contain}.sheet .target-strip{margin:0 0 17px}.sheet .chips{flex-wrap:nowrap;overflow:auto;padding-bottom:3px;margin-bottom:17px}.sheet .chip{white-space:nowrap}.source-section-label{font-size:11px;color:var(--muted);margin:13px 0 9px}.source-list{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.source-entry{display:flex;align-items:center;gap:12px;padding:14px;background:var(--panel2);border:1px solid #ffffff04;border-radius:13px;text-align:left;width:100%}.source-entry>svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}.source-entry span{flex:1;font-size:13px;line-height:1.5;min-width:0}.source-entry small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.source-entry.active{border-color:#b5a0f55c;background:#b5a0f512}.source-entry .chevron{color:var(--muted);width:14px}.source-back{color:var(--accent);font-size:12px;display:flex;align-items:center;gap:6px;padding:5px 0 15px}.play-ready{text-align:center;padding:22px 0}.play-ready .empty-icon{margin:0 auto 18px}.play-ready h3{font-size:18px;margin-bottom:10px}.play-ready p{font-size:12px;color:var(--muted);margin-bottom:20px}.play-ready .chip{border-radius:11px}.toast{position:fixed;bottom:calc(var(--bottom) + 15px);left:50%;transform:translateX(-50%);padding:13px 19px;border-radius:15px;max-width:min(90%,500px);background:#34303f;border:1px solid #b5a0f536;color:#f4f0fb;font-size:12px;line-height:1.6;z-index:80;text-align:center;box-shadow:0 8px 40px #0008}.toast[hidden]{display:none}.inline-error{color:#e9a0a5;background:#db777710;border:1px solid #db77772a;padding:13px;border-radius:12px;margin:12px 0;font-size:12px;line-height:1.6}.gate{min-height:60dvh}.confirm-actions{display:flex;gap:10px;margin-top:18px}.confirm-actions>*{flex:1}.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.skeleton{height:165px;border-radius:13px;background:linear-gradient(90deg,#181921,#242531,#181921);background-size:200% 100%;animation:shimmer 1.5s infinite}.footer-note{color:#606273;font-size:11px;text-align:center;margin-top:25px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media(min-width:640px){.topbar{padding:0 30px;height:84px}.page{padding:14px 30px 30px}.target-strip{margin:0 30px 20px}.hero{margin:0 22px 28px;min-height:460px}.hero-content{padding:170px 35px 36px}.hero-content h1{font-size:43px}.hero:after{background:linear-gradient(0deg,#14141eff,#14141e00),linear-gradient(90deg,#14141efa,#14141e20)}.hero-summary{font-size:14px}.poster-card{flex-basis:157px}.poster-row{padding-left:30px;padding-right:30px;gap:18px}.section-heading{margin-left:30px;margin-right:30px}.catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:25px 18px}.poster-title{font-size:13px}.poster-year{font-size:11px}.bottom-nav{justify-content:center;gap:55px}.bottom-nav button{font-size:11px;min-width:70px}.detail-cover{min-height:370px}.detail-title,.detail-body{max-width:780px;margin:auto}.detail-title h1{font-size:38px}.remote-page,.settings-page{max-width:650px;margin:auto}.sheet{border-radius:26px;max-height:85dvh;margin-bottom:25px}.overlay{padding-bottom:0}.detail-toolbar{padding:15px 30px}}@media(prefers-reduced-motion:reduce){.spinner,.skeleton{animation:none}}
.page>.target-strip{margin:0 0 20px}h1,h2{overflow-wrap:anywhere}.sheet-heading>div{min-width:0;flex:1}.target-strip{flex-wrap:wrap}.device-choices{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%}.device-choices button{display:flex;align-items:center;gap:7px}.device-choices svg{width:15px;height:15px}@media(max-width:360px){.primary,.secondary,.danger{padding:11px 13px;font-size:12px}.hero-content h1{font-size:30px}.target-label{font-size:11px}.segmented button{padding:8px 11px}}
.voice-picker{margin:0 0 17px}.voice-picker summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--panel2)}.voice-picker summary::-webkit-details-marker{display:none}.voice-picker summary>span{flex:1;min-width:0;font-size:11px;color:var(--muted)}.voice-picker summary small{display:block;font-size:13px;color:var(--text);margin-top:4px;overflow-wrap:anywhere}.voice-picker summary>svg{width:18px;flex-shrink:0;color:var(--accent)}.voice-picker summary>svg:last-child{width:15px;color:var(--muted)}.voice-picker[open] summary>svg:last-child{transform:rotate(90deg)}.voice-picker[open] .source-list{margin-top:8px}.voice-picker summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
