/* A restrained optical sheen: the surface remains interactive and readable. */
.glass-lens {
  --glass-x: 50%;
  --glass-y: 35%;
  --glass-rx: 0deg;
  --glass-ry: 0deg;
  --glass-opacity: .15;
  isolation: isolate;
  border-color: rgba(255,255,255,.56) !important;
  background-image: linear-gradient(145deg, rgba(255,255,255,.30), rgba(255,255,255,.07) 45%, rgba(226,236,255,.10)) !important;
  backdrop-filter: blur(24px) saturate(1.42);
  -webkit-backdrop-filter: blur(24px) saturate(1.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78), inset 0 -1px 0 rgba(116,142,190,.13), 0 16px 42px rgba(55,76,132,.10), 0 2px 8px rgba(55,76,132,.07) !important;
}
.card.glass-lens, .result-card.glass-lens, .main-nav.glass-lens, .nav.glass-lens { position: relative; }
.glass-lens::before, .glass-lens::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  pointer-events: none;
}
.glass-lens::before {
  background: radial-gradient(ellipse 230px 170px at var(--glass-x) var(--glass-y), rgba(255,255,255,.62), rgba(223,236,255,.17) 44%, transparent 75%);
  opacity: var(--glass-opacity);
  mix-blend-mode: screen;
}
.glass-lens::after {
  inset: 1px;
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.36), inset 1px 0 0 rgba(255,255,255,.12);
  opacity: .85;
}
:root[data-theme="dark"] .glass-lens {
  border-color: rgba(199,221,255,.20) !important;
  background-image: linear-gradient(145deg, rgba(114,155,210,.15), rgba(28,48,78,.10) 46%, rgba(137,120,194,.11)) !important;
  box-shadow: inset 0 1px 0 rgba(223,238,255,.26), inset 0 -1px 0 rgba(151,178,221,.09), 0 18px 48px rgba(4,12,32,.25), 0 2px 8px rgba(4,12,32,.15) !important;
}
:root[data-theme="dark"] .glass-lens::before {
  background: radial-gradient(ellipse 230px 170px at var(--glass-x) var(--glass-y), rgba(186,207,244,.18), rgba(125,165,220,.045) 45%, transparent 75%);
}
:root[data-theme="dark"] .glass-lens::after { border-color:rgba(218,232,255,.08); box-shadow:inset 0 1px 0 rgba(220,235,255,.15); }
:root[data-theme="dark"] body {
  background-image: radial-gradient(ellipse at 10% 4%,rgba(69,107,180,.20),transparent 39%),
    radial-gradient(ellipse at 90% 14%,rgba(113,75,172,.17),transparent 36%),
    radial-gradient(ellipse at 71% 57%,rgba(33,116,128,.10),transparent 40%),
    radial-gradient(ellipse at 7% 87%,rgba(108,65,133,.11),transparent 38%),
    linear-gradient(145deg,#0e1930 0%,#17243e 52%,#121d34 100%);
}
:root[data-theme="dark"] body::before { opacity: .12; }
/* Keep form boundaries visible through pale glass, including locked fields. */
:root:not([data-theme="dark"]) input[type="text"],
:root:not([data-theme="dark"]) input[type="email"],
:root:not([data-theme="dark"]) input[type="password"] {
  border: 1px solid rgba(65, 90, 145, .54);
  background-color: rgba(255, 255, 255, .58);
  box-shadow: inset 0 1px 3px rgba(48, 72, 120, .10), 0 0 0 1px rgba(255, 255, 255, .36);
}
:root:not([data-theme="dark"]) input:focus {
  border-color: #4b61bf;
  box-shadow: 0 0 0 3px rgba(84, 110, 210, .23);
}
:root:not([data-theme="dark"]) #cardForm.locked form { opacity: .84; }
@media (prefers-reduced-motion:no-preference) {
  .glass-lens.glass-tilt { transform: perspective(1800px) rotateX(var(--glass-rx)) rotateY(var(--glass-ry)); transform-origin:center center; }
}
@media (prefers-reduced-motion:reduce) {
  .glass-lens { transform:none !important; }
}
