/* App overlays sit above the dock; only their body scrolls, never the close bar. */
#app .backdrop{z-index:200;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#app .sheet,dialog.motv-modal[open]{
 position:fixed;inset:auto;left:calc(var(--modal-left,0px) + var(--modal-width,100vw)/2);top:calc(var(--modal-top,0px) + var(--modal-height,100dvh)/2);bottom:auto;right:auto;transform:translate(-50%,-50%);
 box-sizing:border-box;width:min(520px,calc(var(--modal-width,100vw) - 32px));max-width:calc(var(--modal-width,100vw) - 32px);max-height:calc(var(--modal-height,100dvh) - max(32px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;
 margin:0;padding:0!important;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line,#ffffff24);border-radius:18px;box-shadow:0 22px 70px #0007;z-index:201;animation:none;
}
#app .sheet.channel-monitor-modal{width:min(760px,calc(var(--modal-width,100vw) - 32px))}
#app .sheet.playlist-test-modal{width:min(340px,calc(var(--modal-width,100vw) - 32px))}
dialog.motv-modal[open]{width:min(430px,calc(var(--modal-width,100vw) - 32px))}
dialog.channel-catalog-dialog.motv-modal[open]{width:min(560px,calc(var(--modal-width,100vw) - 32px))}
/* Native dialogs escape the rotated body's containing block. Center and rotate them separately. */
.motv-phone-landscape dialog.motv-modal[open]{left:50vw;top:50vh;transform:translate(-50%,-50%) rotate(90deg)}
.motv-phone-landscape.motv-phone-reverse dialog.motv-modal[open]{transform:translate(-50%,-50%) rotate(-90deg)}
.motv-modal>.modal-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;min-height:64px;padding:10px 14px 10px 18px;border-bottom:1px solid var(--line,#ffffff24)}
.motv-modal>.modal-bar h2,.motv-modal>.modal-bar h3{min-width:0;margin:0;font:600 18px/1.3 var(--sans,system-ui);overflow-wrap:anywhere}
.motv-modal>.modal-bar>.modal-dismiss{flex:none;margin-left:auto;display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line,#ffffff24);border-radius:11px;background:var(--card-2,#252a31);color:var(--ink,#fff);font:26px/1 system-ui;cursor:pointer;touch-action:manipulation}
.motv-modal>.modal-bar>.modal-dismiss:focus-visible{outline:2px solid var(--accent,#91d8bb);outline-offset:2px}
.motv-modal>.modal-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:18px;scroll-padding:12px}
.motv-modal .sheet-grip{display:none}
.source-picker-menu{z-index:500}
#app .asset-preview-backdrop{z-index:300!important}#app .asset-preview-layer{z-index:301!important}
@media(max-height:440px){.motv-modal>.modal-bar{min-height:54px;padding-block:5px}.motv-modal>.modal-body{padding:12px 18px}}
