/* Shared Liquid Glass skin. Optical math: rdev/liquid-glass-react, MIT.
 * A background-only enhancement: never change viewport, frame or gesture rules.
 * Pointer highlights also work in Safari, independently of SVG displacement.
 */
:root[data-vovry-material="thin-glass"] {
 --lg-tint:rgba(24,24,24,.72);--lg-nav-tint:rgba(24,24,24,.72);
 --lg-glint:rgba(255,255,255,.06);--lg-rim:var(--tg-edge-mid);
 --lg-muted:#e0e0e0;
 --lg-depth:rgba(0,0,0,.27);
 --og-tint:var(--lg-tint);--og-muted:var(--lg-muted);--og-scrim:rgba(0,0,0,.18);
}
:root[data-vovry-material="thin-glass"][data-theme="light"] {
 --lg-tint:rgba(255,255,255,.66);--lg-nav-tint:rgba(255,255,255,.66);
 --lg-muted:#3a3a3a;
 --lg-glint:rgba(255,255,255,.48);--lg-rim:var(--tg-edge-mid);
 --lg-depth:rgba(0,0,0,.11);--og-tint:var(--lg-tint);--og-muted:var(--lg-muted);--og-scrim:rgba(0,0,0,.10);
 --gen-composer-tint:rgba(248,248,249,.96);--gen-composer-line:rgba(60,60,67,.16);
 --gen-composer-elevation:drop-shadow(0 6px 16px rgba(0,0,0,.09));
}
/* Match the overlay inventory, including tools mounted after first paint.
 * The thought cloud keeps its SVG silhouette and the asset bubble its arrow.
 */
:root[data-vovry-material="thin-glass"][data-theme] body :is(
 .picker-layer:not(.dao-page):not(#social-detail-layer.is-chat):not(#dao-settings-layer)>.picker-sheet,
 .favorites-sheet,.overlay.error-mode .overlay-panel,.copy-dialog,
 .kronos-info-sheet,.vl-indicator-panel[data-vovry-lab],.vi-sheet,.vi-dialog,
 .v-sb-detail,.v-sb-progress-help,.voice-context-menu,.voice-selection,.avatar-editor,
 .paper-limit-popover,.barrage-popover,.asset-detail-bubble,.vovry-glass-overlay,
 .gen-sheet,.gen-sidebar,.gen-login-dialog,.gen-manage-dialog,.gen-composer-shell
) {
 background-image:radial-gradient(ellipse at var(--lg-light-x,18%) var(--lg-light-y,0%),var(--lg-glint),transparent 68%);
 border-color:var(--lg-rim);
 box-shadow:0 20px 60px -24px var(--lg-depth);
}
/* Keep the original single-pixel outline; no second rim or inset bevel.
 * Pointer light stays in the glass background, away from the border. */
:root[data-vovry-material="thin-glass"][data-theme] body :is(
 .picker-layer:not(.dao-page):not(#social-detail-layer.is-chat):not(#dao-settings-layer)>.picker-sheet,
 .favorites-sheet,.overlay.error-mode .overlay-panel,.copy-dialog,
 .kronos-info-sheet,.vl-indicator-panel[data-vovry-lab],.vi-sheet,.vi-dialog,
 .v-sb-detail,.v-sb-progress-help,.voice-context-menu,.voice-selection,.avatar-editor,
 .paper-limit-popover,.barrage-popover,.vovry-glass-overlay,
 .gen-sheet,.gen-sidebar,.gen-login-dialog,.gen-manage-dialog,.gen-composer-shell
)::after {
 content:none;display:none;pointer-events:none;
}
/* Keep the measured navigation capsule and its existing elastic touch lens. */
:root[data-vovry-material="thin-glass"][data-theme] body .dao-bottom-nav {--nav-muted:var(--lg-muted)}
:root[data-vovry-material="thin-glass"][data-theme] body .dao-bottom-nav::after {
 background:radial-gradient(ellipse at var(--lg-light-x,18%) var(--lg-light-y,0%),var(--lg-glint),transparent 68%),var(--tg-solid);
 border-color:var(--tg-line);
 box-shadow:0 12px 36px -12px var(--lg-depth);
}
:root[data-vovry-material="thin-glass"][data-theme] body .dao-nav-lens {
 background:linear-gradient(145deg,var(--lg-glint),transparent 70%),var(--tg-soft);
 box-shadow:inset 0 1px 0 var(--tg-inner),inset 0 -1px 0 var(--tg-line),0 3px 10px -4px var(--tg-shadow);
}
/* /gen uses the same material for its compact composer and every dialog,
 * including dynamically created project/manage sheets. Header fades stay put.
 */
:root[data-vovry-material="thin-glass"][data-theme] body[data-gen-conversations] :is(
 .gen-sheet,.gen-sidebar,.gen-login-dialog,.gen-manage-dialog,.gen-composer-shell
) {--conversation-muted:var(--lg-muted);background-color:var(--tg-solid);color:var(--conversation-ink)}
:root[data-vovry-material="thin-glass"][data-theme] body[data-gen-conversations] .gen-composer-shell {position:relative}
:root[data-vovry-material="thin-glass"][data-theme] body[data-gen-conversations] :is(.gen-sheet-head,.gen-sheet-foot,.gen-result-sheet .gen-results) {background:transparent}
:root[data-vovry-material="thin-glass"][data-theme] body[data-gen-conversations] :is(.gen-sheet,.gen-login-dialog,.gen-manage-dialog)::backdrop {background:var(--og-scrim);-webkit-backdrop-filter:none;backdrop-filter:none}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)) {
 :root[data-vovry-material="thin-glass"][data-theme] body .dao-bottom-nav::after,
 :root[data-vovry-material="thin-glass"][data-theme] body[data-gen-conversations] :is(.gen-sheet,.gen-sidebar,.gen-login-dialog,.gen-manage-dialog,.gen-composer-shell) {
  -webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:var(--og-optics,blur(16px)) saturate(1.4);
 }
 :root[data-vovry-material="thin-glass"][data-theme] body[data-gen-conversations] :is(.gen-sheet,.gen-sidebar,.gen-login-dialog,.gen-manage-dialog,.gen-composer-shell) {background-color:var(--lg-tint)}
 :root[data-vovry-material="thin-glass"][data-theme] body .dao-bottom-nav::after {background-color:var(--lg-nav-tint)}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 :root[data-vovry-material="thin-glass"][data-theme] {--og-tint:var(--og-solid);--lg-glint:transparent}
}
/* Give the daylight composer its own surface instead of white-on-white glass.
 * Cast elevation on the form so its scroll clipping cannot cut off the shadow.
 * Filtering changes only paint; compact sizing and keyboard clearance stay put. */
:root[data-vovry-material="thin-glass"][data-theme="light"] body[data-gen-conversations] .gen-composer-shell {
 --lg-tint:var(--gen-composer-tint);--lg-rim:var(--gen-composer-line);--lg-glint:transparent;--lg-depth:transparent;
 background-color:var(--gen-composer-tint);
}
:root[data-vovry-material="thin-glass"][data-theme="light"] body[data-gen-conversations] .gen-chat-form {filter:var(--gen-composer-elevation)}
@media(min-width:768px) {
 :root[data-vovry-material="thin-glass"][data-theme] body #dao-settings-layer .dao-settings-sheet {
  background-image:radial-gradient(ellipse at var(--lg-light-x,18%) var(--lg-light-y,0%),var(--lg-glint),transparent 68%);
  border-color:var(--lg-rim);box-shadow:0 20px 60px -24px var(--lg-depth);
 }
}
@media(min-width:641px) {
 :root[data-vovry-material="thin-glass"][data-theme] body .oc-dialog {
  background-image:radial-gradient(ellipse at var(--lg-light-x,18%) var(--lg-light-y,0%),var(--lg-glint),transparent 68%);
  border-color:var(--lg-rim);box-shadow:0 20px 60px -24px var(--lg-depth);
 }
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active) {
 :root[data-vovry-material="thin-glass"][data-theme="light"] body[data-gen-conversations] .gen-chat-form {filter:none}
 :root[data-vovry-material="thin-glass"][data-theme] {--og-tint:var(--og-solid);--lg-nav-tint:var(--tg-solid);--lg-glint:transparent}
 :root[data-vovry-material="thin-glass"][data-theme] body .dao-bottom-nav::after,
 :root[data-vovry-material="thin-glass"][data-theme] body[data-gen-conversations] :is(.gen-sheet,.gen-sidebar,.gen-login-dialog,.gen-manage-dialog,.gen-composer-shell) {
  background:var(--tg-solid);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;
 }
 :root[data-vovry-material="thin-glass"][data-theme] body :is(
  .picker-layer:not(.dao-page):not(#social-detail-layer.is-chat):not(#dao-settings-layer)>.picker-sheet,
  .favorites-sheet,.overlay.error-mode .overlay-panel,.copy-dialog,.kronos-info-sheet,
  .vl-indicator-panel[data-vovry-lab],.vi-sheet,.vi-dialog,.v-sb-detail,.v-sb-progress-help,
  .voice-context-menu,.voice-selection,.avatar-editor,.paper-limit-popover,.barrage-popover,
  .vovry-glass-overlay,.gen-sheet,.gen-sidebar,.gen-login-dialog,.gen-manage-dialog,.gen-composer-shell
 )::after {display:none}
}
@media(forced-colors:active) {
 :root[data-vovry-material="thin-glass"][data-theme] {--lg-muted:CanvasText;--og-muted:CanvasText}
 :root[data-vovry-material="thin-glass"][data-theme] body .dao-bottom-nav::after,
 :root[data-vovry-material="thin-glass"][data-theme] body[data-gen-conversations] :is(.gen-sheet,.gen-sidebar,.gen-login-dialog,.gen-manage-dialog,.gen-composer-shell) {background:Canvas;color:CanvasText;border-color:CanvasText}
}
