/* cover lightbox */
.dcov .zoom{display:block;width:100%;padding:0;border:0;background:none;border-radius:var(--r-cover);cursor:zoom-in}
dialog#lb{width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--lb-scrim);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:hidden;cursor:zoom-out}
dialog#lb[open]{display:flex;align-items:center;justify-content:center}
dialog#lb::backdrop{background:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
dialog#lb[open],dialog#lb[open]::backdrop{animation:fadein var(--t20) ease-out}
dialog#lb img{display:block;width:auto;height:auto;max-width:92vw;max-height:80dvh;border-radius:var(--r-cover);box-shadow:var(--cover-shadow-xl),inset 0 0 0 1px rgba(255,255,255,.14)}
.lbx{position:fixed;top:max(20px,env(safe-area-inset-top));right:20px;width:44px;height:44px;border-radius:22px;border:1px solid var(--glass-line);background:var(--sheet-bar);color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
@media(pointer:coarse){.lbx:not(:focus-visible){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;border:0}}
/* Fallbacks: opaque surfaces when blur is unavailable or transparency is reduced */
:root[data-glass="3"][data-theme][data-glass="3"]{--glass-blur:none;--glass-bg:linear-gradient(var(--glass-solid),var(--glass-solid));--glass-tint:transparent;--card-bg:var(--card-solid);--sheet-bar:var(--glass-solid);--sheet-glass:var(--glass-solid);--menu-bg:var(--glass-solid);--pill-bg:var(--pill-bg-solid);--status-tint:var(--bg)}
:root[data-glass="3"] body::after{-webkit-backdrop-filter:none;backdrop-filter:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
:root,:root[data-theme]{--glass-blur:none;--glass-bg:linear-gradient(var(--glass-solid),var(--glass-solid));--glass-tint:transparent;--card-bg:var(--card-solid);--sheet-bar:var(--glass-solid);--sheet-glass:var(--glass-solid);--menu-bg:var(--glass-solid);--status-tint:var(--bg)}
body::after{-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media(prefers-reduced-transparency:reduce){
:root,:root[data-theme]{--glass-blur:none;--glass-bg:linear-gradient(var(--glass-solid),var(--glass-solid));--glass-tint:transparent;--card-bg:var(--card-solid);--sheet-bar:var(--glass-solid);--sheet-glass:var(--glass-solid);--menu-bg:var(--glass-solid);--pill-bg:var(--pill-bg-solid);--status-tint:var(--bg)}
body::after{-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
aside,aside.open,dialog#sdlg,.snav,.spane,#sdlg.sub .snav{transition:none}
.spane.fade{animation:none}
dialog#lb[open],dialog#lb[open]::backdrop{animation:none}
#dlg[data-kind=book][open],#dlg[data-kind=book][open]::backdrop,#dlg:is([data-kind=log],[data-kind=imp])[open],#dlg:is([data-kind=log],[data-kind=imp])[open]::backdrop,#sdlg[open],#sdlg[open]::backdrop,dialog#sdlg[open],#dlg[data-kind=book][open] #dbody{animation:none}
}
