/* Browser Loopz menu only: keep installed PWA and media geometry unchanged. */
body[data-page="loopz"].ch-loopz-has-browser-menu #ch-loopz-menu-trigger {
    position:fixed; z-index:90; top:calc(12px + env(safe-area-inset-top,0px));
    left:max(12px,env(safe-area-inset-left,0px)); right:auto;
    display:grid; place-items:center; width:44px; height:44px; min-width:44px; min-height:44px;
    margin:0; padding:10px; box-sizing:border-box; border:0; border-radius:10px;
    background:transparent; color:#fff; box-shadow:none; cursor:pointer; touch-action:manipulation;
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.7));
}
body[data-page="loopz"].ch-loopz-has-browser-menu #ch-loopz-menu-trigger svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
html[dir="rtl"] body[data-page="loopz"].ch-loopz-has-browser-menu #ch-loopz-menu-trigger { left:auto; right:max(12px,env(safe-area-inset-right,0px)); }
html:root body[data-page="loopz"].ch-loopz-has-browser-menu .loopz-top-overlay .loopz-tabs {
    width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box;
    padding-left:56px !important; padding-right:0 !important; gap:clamp(2px,1.5vw,10px) !important;
}
html[dir="rtl"] body[data-page="loopz"].ch-loopz-has-browser-menu .loopz-top-overlay .loopz-tabs { padding-left:0 !important; padding-right:56px !important; }
html:root body[data-page="loopz"].ch-loopz-has-browser-menu .loopz-top-overlay .loopz-tabs button { min-width:0 !important; padding-inline:8px !important; font-size:clamp(11px,3.5vw,14px) !important; }
#ch-loopz-menu-trigger:focus-visible { outline:2px solid #fff; outline-offset:2px; }
#ch-loopz-browser-menu {
    position:fixed; inset-block:0; inset-inline-start:0; inset-inline-end:auto; margin:0;
    width:min(340px,calc(100vw - 24px)); max-width:100vw; height:100dvh; max-height:100dvh;
    box-sizing:border-box; padding:0; border:0; border-radius:0; transform:none;
    background:var(--surface-solid,var(--panel,#fff)); color:var(--text-primary,var(--text,#17212f));
    box-shadow:0 0 30px rgba(0,0,0,.22); overflow:hidden;
}
#ch-loopz-browser-menu:not([open]) { display:none; }
#ch-loopz-browser-menu[open] { display:flex; flex-direction:column; }
#ch-loopz-browser-menu::backdrop { background:rgba(0,0,0,.38); backdrop-filter:none; }
#ch-loopz-browser-menu > header {
    flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px;
    min-height:64px; padding:calc(8px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 8px max(12px,env(safe-area-inset-left,0px));
    box-sizing:border-box; border-bottom:1px solid var(--border-color,rgba(128,128,128,.2));
}
#ch-loopz-browser-menu [data-ch-loopz-menu-close] {
    display:grid; place-items:center; width:44px; height:44px; min-width:44px; min-height:44px;
    padding:0; margin:0; border:0; border-radius:10px; color:inherit; background:transparent;
    font-size:28px; line-height:1; cursor:pointer; touch-action:manipulation;
}
#ch-loopz-browser-menu > nav {
    display:flex; flex-direction:column; flex:1 1 auto; min-height:0; gap:4px; overflow:auto; overscroll-behavior:contain;
    padding:12px max(12px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
}
#ch-loopz-browser-menu nav > a.ch-loopz-menu-entry {
    display:flex; align-items:center; flex:0 0 auto; gap:12px; position:relative; min-height:44px;
    box-sizing:border-box; padding:10px 12px; margin:0; border-radius:10px; color:inherit;
    text-decoration:none; white-space:normal; overflow-wrap:anywhere; background:transparent;
}
#ch-loopz-browser-menu nav > a:is(.active,[aria-current="page"]) { background:rgba(139,92,246,.13); }
#ch-loopz-browser-menu nav > a:hover { background:rgba(128,128,128,.12); }
#ch-loopz-browser-menu :is(button,a):focus-visible { outline:2px solid var(--accent,#8b5cf6); outline-offset:-2px; }
#ch-loopz-browser-menu nav :is(svg,.sidebar-nav-icon) { flex:0 0 auto; width:24px; height:24px; }
#ch-loopz-browser-menu nav .nav-badge { position:static; margin-inline-start:auto; }
