.pv-theme-midpoint { position: absolute; left: 0; width: 1px; pointer-events: none; opacity: 0; overflow: hidden; }
.pv-theme-tip {
  --paper: #fafafa;
  --ink: #151515;
  --muted: #484848;
  --line: #00000018;
  position: fixed;
  z-index: 90;
  left: 50%;
  top: auto;
  bottom: max(12px, env(safe-area-inset-bottom));
  translate: -50% 0;
  box-sizing: border-box;
  width: min(320px, calc(100vw - 24px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  padding: 11px 12px 8px;
  border-radius: 11px;
  background: var(--paper);
  background: color-mix(in srgb,var(--paper) 68%,transparent);
  backdrop-filter: blur(18px) saturate(0);
  -webkit-backdrop-filter: blur(18px) saturate(0);
  color: var(--ink, #191919);
  border: 1px solid var(--line);
  box-shadow: 0 3px 14px #00000012;
  animation: pv-theme-tip-in 160ms ease-out;
}
html[data-theme="dark"] .pv-theme-tip,html[data-theme="black"] .pv-theme-tip{--paper:#101010;--ink:#fafafa;--muted:#dedede;--line:#ffffff20}
.pv-theme-tip-copy { padding-right: 25px; }
.pv-theme-tip-title { font-size: 13px; line-height: 1.4; font-weight: 500; margin: 0 0 2px; }
.pv-theme-tip-detail { color: var(--muted, #65655f); font-size: 11px; line-height: 1.5; margin: 0; }
.pv-theme-tip-options { display: flex; gap: 4px; margin-top: 7px; }
.pv-theme-tip-options button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 1;
  min-width: 0;
  min-height: 44px;
  position: relative;
  isolation: isolate;
  border-radius: 6px;
  background: transparent;
  color: var(--ink, #191919);
  padding: 6px;
  font-size: 11px;
}
.pv-theme-tip-options button::before {
  content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:color-mix(in srgb,var(--ink) 4%,transparent);
  border:1px solid transparent;
  transition:background 150ms ease,border-color 150ms ease,box-shadow 150ms ease,transform 180ms cubic-bezier(.2,.8,.2,1);
}
.pv-theme-tip-options button[aria-pressed="true"]::before {
  background:color-mix(in srgb,var(--ink) 9%,transparent);
  border-color:var(--line);
  box-shadow:none;
}
.pv-theme-tip-options button:hover::before{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.pv-theme-tip-options button:active::before{transform:scale(.975);background:color-mix(in srgb,var(--ink) 14%,transparent);box-shadow:inset 0 1px 3px #00000020;transition-duration:60ms}
.pv-theme-tip kbd { font: inherit; font-variant-numeric: tabular-nums; opacity: .7; }
.pv-theme-tip-close { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 44px; height: 44px; padding: 12px; }
.pv-theme-tip-close svg { width: 12px; height: 12px; }
.pv-theme-tip :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@keyframes pv-theme-tip-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .pv-theme-tip { animation: none; } .pv-theme-tip-options button::before{transition:none;transform:none!important} }
@media (prefers-reduced-transparency: reduce) { .pv-theme-tip { background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none; } }
@media (forced-colors: active) { .pv-theme-tip{background:Canvas;border:1px solid CanvasText}.pv-theme-tip-options button[aria-pressed="true"]{outline:2px solid Highlight;outline-offset:-3px} }

/* Geometry-derived mesh animates in canvas; page text and layout stay untouched. */
.pv-theme-sonar{position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden;contain:strict;isolation:isolate}
.pv-content-mesh{display:block;width:100%;height:100%;pointer-events:none}
@media(prefers-reduced-motion:reduce){.pv-theme-sonar{display:none}}
