/* Phone ergonomics; loaded after imported Nuvio presentation preferences. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-x pan-y}
body{touch-action:pan-x pan-y}
button,a,input,select,textarea,[role=button]{touch-action:manipulation}
.ui-icon{display:block;flex:none;width:26px;height:26px}
.brand-mark{overflow:hidden;background:transparent!important;border-radius:9px;flex:none}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.account{display:flex;align-items:center;gap:9px;min-height:44px;min-width:44px;max-width:260px}
.account-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account .ui-icon{width:22px;height:22px}
.topbar #nav button{display:flex;align-items:center;justify-content:center;gap:9px}
.topbar #nav button:before{display:none!important}
.topbar #nav button .ui-icon{width:24px;height:24px}
.topbar #nav button:after{display:none}
.topbar #nav button.active{color:var(--accent)}
.icon-button{display:grid;place-items:center;flex:none}
.switch-chevron{display:flex;align-items:center}
.switch-chevron .ui-icon{width:20px;height:20px}
.lock-badge .ui-icon{width:17px;height:17px}
.layout-section-picker{display:none}
@media(min-width:901px){
 html[data-navigation=Sidebar] .topbar #nav button{flex-direction:column;min-height:52px}
 html[data-navigation=Sidebar][data-navstyle=expanded] .topbar #nav button{flex-direction:row;justify-content:flex-start}
 html[data-navigation=Sidebar] .account{display:grid;place-items:center}
 html[data-navigation=Sidebar] .account .account-label{display:none}
 html[data-navigation=Sidebar] .account:after{display:none}
 html[data-navstyle=compact] .topbar #nav .nav-label{display:none}
}
@media(max-width:900px){
 :root{--mobile-poster-width:clamp(144px,41vw,184px);--mobile-nav-height:82px}
 body{font-size:16px;line-height:1.45}
 .topbar{height:auto;min-height:66px;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));padding-top:calc(10px + env(safe-area-inset-top));gap:12px}
 .topbar #nav{display:none}
 .brand{font-size:21px;gap:9px;flex:none}
 .brand-mark{width:36px;height:36px}
 .account{margin-left:auto;max-width:54%;padding:8px 11px;font-size:14px}
 .account .ui-icon{width:24px;height:24px}
 .main-app,main{max-width:100%;min-width:0;margin:0;padding:24px 16px calc(112px + env(safe-area-inset-bottom))}
 .main-app{min-height:calc(100dvh - 66px)}
 .screen-heading{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin:0 0 26px}
 .screen-heading>div:first-child{min-width:0}
 .screen-heading h1{font-size:32px;line-height:1.15;margin:7px 0 9px;letter-spacing:-.7px;overflow-wrap:anywhere}
 .screen-heading p{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 .eyebrow{font-size:12px;letter-spacing:1.5px}
 .heading-actions{width:100%;min-width:0;gap:12px;justify-content:space-between}
 .profile-switch{max-width:calc(100% - 60px);min-width:0;min-height:48px;font-size:16px;padding:6px 12px 6px 7px;gap:10px}
 .profile-switch>span:nth-child(2){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 .profile-avatar{width:34px;height:34px;font-size:17px}
 .profile-switch .switch-chevron{flex:none}
 .icon-button{width:48px;height:48px}
 .icon-button .ui-icon{width:27px;height:27px}
 .bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-height:var(--mobile-nav-height);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:color-mix(in srgb,var(--bg) 96%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(18px)}
 .bottom-nav button,html[data-navstyle=compact] .bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:60px;padding:6px 2px;font-size:12px!important;line-height:1.2;background:transparent;border:0;border-radius:12px;color:var(--muted)}
 .bottom-nav button .ui-icon{width:29px;height:29px;stroke-width:1.9}
 .bottom-nav button .nav-label{font-size:12px;line-height:1.2;white-space:nowrap}
 .bottom-nav button.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}
 html[data-navstyle=expanded] .bottom-nav{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
 .primary,.action,.manage-profiles,.catalog-more,.form-row button,.search-box button{min-height:46px;font-size:15px;line-height:1.35;padding:12px 16px}
 .search-box{gap:10px;flex-wrap:wrap}
 .search-box input{min-width:0;min-height:50px;font-size:16px;flex:1 1 190px}
 .search-box button{flex:0 0 auto}
 input,select,textarea,.modal input,.modal select,.modal textarea{font-size:16px;min-height:48px}
 input[type=checkbox],input[type=radio]{width:27px;height:27px;min-height:27px;flex:none}
 input[type=range]{min-height:44px}
 .row{margin:30px 0}
 .row-head{gap:12px;align-items:center;min-height:44px}
 .row h2{font-size:22px;line-height:1.3;overflow-wrap:anywhere}
 .row-head>div{min-width:0;flex:1}
 .row-sub{font-size:14px;line-height:1.5}
 .cards{gap:14px;scrollbar-width:none;padding-bottom:12px}
 .cards::-webkit-scrollbar{display:none}
 .media-card{flex-basis:max(var(--poster-width),var(--mobile-poster-width))}
 .media-card .poster{height:auto;aspect-ratio:var(--poster-ratio,2/3)}
 .media-card .card-label{font-size:16px;line-height:1.35;max-height:2.7em;margin-top:11px}
 .media-card .card-meta{font-size:13px;line-height:1.4;margin-top:5px}
 html[data-landscape=true] .media-card{flex-basis:max(250px,calc(var(--poster-width)*1.8))}
 html[data-landscape=true] .media-card .poster{height:auto;aspect-ratio:16/9}
 .cw-card{flex-basis:clamp(250px,76vw,330px)}
 .cw-wide{flex-basis:clamp(280px,85vw,390px)}
 .cw-poster{flex-basis:max(var(--poster-width),var(--mobile-poster-width))}
 .cw-card .card-label{font-size:16px;line-height:1.35;overflow-wrap:anywhere}
 .cw-card .card-meta{font-size:13px;line-height:1.5;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .cw-tag{font-size:12px;line-height:1.3;padding:6px 9px;max-width:calc(100% - 16px);overflow-wrap:anywhere}
 .collection-folder{flex-basis:max(var(--poster-width),var(--mobile-poster-width))}
 .collection-folder.shape-square{flex-basis:170px}
 .collection-folder.shape-landscape,.collection-folder.shape-wide{flex-basis:clamp(250px,78vw,340px)}
 .folder-title{font-size:23px;line-height:1.2;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .folder-tabs{gap:10px}
 .folder-tabs button,.detail-tabs button{min-height:46px;font-size:15px;padding:10px 16px}
 .home-hero{min-height:420px;margin-bottom:28px}
 .hero-copy{min-height:420px;padding:45px 22px 78px}
 .hero-copy h2{font-size:34px;line-height:1.1;overflow-wrap:anywhere}
 .hero-copy p{font-size:15px;line-height:1.5}
 .hero-copy .hero-genres{font-size:13px}
 .hero-dots{bottom:14px;right:14px;gap:1px;max-width:calc(100% - 28px)}
 .hero-dots button,.hero-dots button.active{height:32px;width:32px;background:transparent;display:grid;place-items:center;flex:none}
 .hero-dots button:before{content:'';display:block;width:7px;height:7px;border-radius:6px;background:#aaa}
 .hero-dots button.active:before{width:20px;background:#fff}
 .app-status,.profile-sync-note{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
 .empty-state p{font-size:15px;line-height:1.6}
 .loading{font-size:15px;line-height:1.5}
 .setting-row{padding:20px 4px;gap:16px;min-height:80px;align-items:center}
 .setting-row>span:first-child{min-width:0;flex:1}
 .setting-row b{font-size:17px;line-height:1.4}
 .setting-row small{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 .setting-row>span:last-child{flex:none;font-size:30px}
 .layout-heading{align-items:flex-start;gap:14px;margin-bottom:22px}
 .layout-heading>div{min-width:0;flex:1}
 .layout-heading h1{font-size:29px;line-height:1.15;overflow-wrap:anywhere}
 .layout-heading p{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 .layout-heading .action{font-size:14px;padding:10px 12px;max-width:115px;flex:none}
 .layout-shell{display:block}
 .layout-nav{display:none}
 .layout-section-picker{display:flex;flex-direction:column;gap:8px;margin:0 0 24px;font-size:14px;font-weight:600}
 .layout-section-picker select{width:100%;max-width:100%;font-size:16px;min-height:52px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px}
 .layout-group h2{font-size:14px;letter-spacing:1px;margin-bottom:12px}
 .layout-control,.modal .layout-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;min-height:76px;padding:18px 16px;align-items:center}
 .layout-control>span:first-child{min-width:0}
 .layout-control b,.layout-link b{font-size:16px;line-height:1.4;overflow-wrap:anywhere}
 .layout-control small,.layout-link small{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 .layout-control:has(select),.layout-control:has(input[type=text]),.layout-control:has(input[type=url]),.layout-control:has(.layout-range){grid-template-columns:minmax(0,1fr)}
 .layout-control select,.layout-control input:not([type=checkbox]):not([type=radio]):not([type=range]),.layout-item input:not([type=checkbox]):not([type=radio]),.layout-item select,#badgeImport input{font-size:16px;max-width:100%;width:100%;min-height:48px;padding:11px 12px;line-height:1.4}
 .layout-control input[type=checkbox],.layout-item input[type=checkbox]{width:28px;height:28px;min-height:28px;justify-self:end}
 .layout-control input[role=switch]{appearance:none;-webkit-appearance:none;width:48px;height:30px;min-height:30px;border:1px solid #ffffff25;border-radius:20px;background:#555;position:relative;margin:0;transition:background .15s}
 .layout-control input[role=switch]:before{content:'';position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0005;transition:transform .15s}
 .layout-control input[role=switch]:checked{background:var(--accent)}
 .layout-control input[role=switch]:checked:before{transform:translateX(18px);background:#151515}
 .layout-range{max-width:100%;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:14px;font-size:16px}
 .layout-range input{width:100%;min-width:0;min-height:44px}
 .layout-range output{text-align:right;min-width:0;font-variant-numeric:tabular-nums}
 .layout-link{padding:20px 16px;gap:14px;min-height:80px}
 .layout-link>span:last-child{font-size:30px;flex:none}
 .layout-note{font-size:14px;line-height:1.6;padding:16px;overflow-wrap:anywhere}
 .theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:10px}
 .theme-choice{font-size:14px;line-height:1.3;min-height:104px;padding:15px 5px;gap:12px;overflow-wrap:anywhere}
 .theme-choice>span{width:44px;height:44px;border-width:8px}
 .custom-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px;gap:10px}
 .custom-colors label{font-size:13px;flex-direction:column;gap:8px}
 .custom-colors input[type=color]{width:100%;min-height:44px}
 .layout-summary{padding:16px;font-size:14px;flex-wrap:wrap;gap:14px}
 .layout-summary .action{font-size:14px;min-height:44px}
 .layout-item{gap:12px;padding:18px 14px;flex-wrap:wrap;align-items:center}
 .layout-item>div:first-child{flex:1 1 100%;min-width:0}
 .layout-item b{font-size:16px;line-height:1.45}
 .layout-item small{font-size:13px;line-height:1.5;margin:6px 0 12px}
 .layout-item .action{font-size:14px;min-height:44px;padding:10px 14px}
 .layout-item>input[type=checkbox],.layout-item>input[type=radio]{margin-left:auto}
 .order-buttons{gap:8px}
 .order-buttons button{width:46px;height:44px;font-size:24px;padding:0}
 .layout-toolbar{gap:10px}
 .layout-toolbar .action{font-size:14px;flex:1 1 145px;min-height:48px}
 .layout-panel>.layout-toolbar{padding:16px}
 .folder-setting-list{margin-left:12px;padding:0 0 16px}
 .folder-setting-list>.action{margin:12px;max-width:calc(100% - 24px)}
 .layout-preview{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:18px}
 .layout-preview .cards{max-width:100%;width:100%;overflow-x:auto}
 .layout-preview p{font-size:14px;line-height:1.5;max-width:none;margin:0}
 .cw-style-options{gap:9px;padding:14px}
 .cw-style-options>button{min-width:0;font-size:15px;min-height:110px;padding:14px 7px}
 .cw-style-preview{max-width:100%;width:80px;min-height:45px}
 .cw-style-preview.style-poster{width:44px}
 #badgeImport{gap:12px;flex-direction:column;padding:16px}
 #badgeImport .action{min-height:48px;font-size:16px}
 #badgeMessage,.message{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 .overlay{align-items:end;padding:max(12px,env(safe-area-inset-top)) 0 0;overscroll-behavior:contain}
 .modal,.nuvio-detail{width:100%;max-height:calc(100dvh - max(12px,env(safe-area-inset-top)));padding:24px 18px calc(28px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overscroll-behavior:contain;scrollbar-width:thin}
 .close-modal{width:44px;min-height:44px;font-size:32px;margin:-10px -6px 6px 10px;display:grid;place-items:center}
 .modal h2{font-size:26px;line-height:1.2;overflow-wrap:anywhere}
 .modal p{font-size:15px;line-height:1.55;overflow-wrap:anywhere}
 .modal label{font-size:15px;line-height:1.4}
 .modal input,.modal select{font-size:16px;min-height:50px}
 .modal input[type=checkbox]{width:28px;height:28px;min-height:28px}
 .modal textarea{font:16px/1.5 monospace}
 .modal .form-row{gap:12px;flex-wrap:wrap}
 .modal .form-row>*{flex:1 1 130px;min-width:0}
 .modal .layout-control{padding:16px 0}
 .profile-option{min-height:76px;gap:14px;padding:14px}
 .profile-option b{font-size:16px;overflow-wrap:anywhere}
 .profile-option small{font-size:14px}
 .addon-item{gap:12px;align-items:flex-start;flex-wrap:wrap}
 .addon-item>div{min-width:0;flex:1 1 200px}
 .addon-item small{font-size:13px;line-height:1.5}
 .addon-item button{min-height:44px;font-size:15px}
 .nuvio-detail .detail-hero{display:block}
 .nuvio-detail .detail-hero>img{float:left;width:94px;max-height:145px;margin:0 16px 12px 0}
 .nuvio-detail .detail-hero h2{font-size:27px;line-height:1.15;padding-top:5px}
 .nuvio-detail .detail-hero p{font-size:15px;line-height:1.6;clear:both;padding-top:14px}
 .detail-actions{clear:both;gap:12px;align-items:center}
 .detail-section{clear:both;margin-top:30px}
 .detail-section h3{font-size:20px;line-height:1.35}
 .detail-chip{font-size:13px;line-height:1.4;padding:6px 9px}
 .detail-facts{font-size:15px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
 .detail-facts dd{overflow-wrap:anywhere;line-height:1.5}
 .cast-card{flex-basis:105px;font-size:14px;line-height:1.4}
 .cast-card>img{width:105px;height:135px}
 .episode-toolbar{align-items:center;flex-wrap:wrap;gap:12px}
 .episode-toolbar select{font-size:16px;min-height:48px;flex:1 1 130px;min-width:0}
 .episode-toolbar .action{flex:1 1 130px;min-height:48px}
 .episode-card{flex-basis:270px}
 .episode-card>img{height:152px}
 .episode-card>span{padding:15px}
 .episode-card b{font-size:16px;line-height:1.4;overflow-wrap:anywhere}
 .episode-card small{font-size:14px;line-height:1.5}
 .episode-list .episode-card{display:grid;grid-template-columns:100px minmax(0,1fr);min-height:115px}
 .episode-list .episode-card>img{width:100px;height:100%;min-height:115px}
 .stream{flex-direction:column;align-items:stretch;gap:14px;padding:16px}
 .stream-content b{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
 .stream-content small{font-size:14px;line-height:1.55}
 .stream button{font-size:16px;min-height:48px;width:100%}
 .stream-badge{font-size:12px;padding:6px 8px}
 .addon-stream-logo{width:26px;height:26px}
 .player-caption{flex-direction:column;gap:6px;font-size:14px;line-height:1.4;bottom:calc(20px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
 .player-badges{bottom:calc(100px + env(safe-area-inset-bottom))}
 .close-player{width:50px;height:50px;font-size:30px}
 body.profile-gate main.main-app{padding:32px 20px calc(32px + env(safe-area-inset-bottom))}
 .launch-brand{font-size:25px;gap:12px;margin-bottom:24px}
 .launch-brand .brand-mark{width:44px;height:44px}
 .launch-gate h1{font-size:32px;line-height:1.15;margin:0 0 28px}
 .launch-gate>p{font-size:15px;line-height:1.5;margin:-10px 0 30px;overflow-wrap:anywhere}
 .launch-profiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px;max-width:380px;margin-bottom:30px}
 .launch-profile{min-width:0;min-height:136px;padding:5px;gap:13px}
 .launch-avatar{width:88px;height:88px;font-size:38px;flex:none}
 .launch-name{font-size:16px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
 .lock-badge{width:30px;height:30px;right:-2px;bottom:0}
 .lock-badge .ui-icon{width:19px;height:19px}
 .manage-profiles{font-size:16px;min-height:48px;padding:12px 24px}
 .launch-signout{font-size:15px;min-height:44px;margin-top:15px;padding:10px 18px}
}
@media(max-width:359px){
 .brand{font-size:19px}.brand-mark{width:32px;height:32px}
 .account-label{display:none}.account{max-width:48px;padding:10px}
 .hero-copy h2{font-size:30px}.hero-copy{padding-left:18px;padding-right:18px}
 .layout-heading{flex-wrap:wrap}.layout-heading>div{flex-basis:100%}.layout-heading .action{max-width:none}
 .theme-choice{font-size:13px}.theme-grid{gap:7px;padding:10px}
 .launch-avatar{width:80px;height:80px}.launch-profiles{gap:20px 16px}
 .launch-name{font-size:15px}
}
.hero-navigation{position:absolute;right:22px;bottom:18px;z-index:2;display:flex;align-items:center;gap:10px}.hero-navigation button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;border:1px solid #ffffff35;border-radius:50%;background:#111b}.hero-counter{font-size:13px;font-variant-numeric:tabular-nums;color:#fff;min-width:34px;text-align:center}@media(max-width:900px){.hero-navigation{right:18px;bottom:16px;gap:10px}.hero-counter{font-size:14px}.layout-item>input[type=checkbox],.layout-item>input[type=radio]{width:44px;height:44px;min-height:44px}}
