.seer-logo {
  --seer-ink: #1a3f3d;
  --seer-field: #e8f2ef;
  --seer-sclera-opacity: .94;
  --seer-horizon-field: #2a3068;
  --seer-horizon-field-opacity: .78;
  --seer-horizon-core: #0b1618;
  --seer-horizon-rim: #8f4a00;
  --seer-horizon-signal: #9a2e4a;
  --seer-interference-upper: #53457f;
  --seer-interference-lower: #a85540;
  --seer-interference-upper-opacity: .78;
  --seer-interference-lower-opacity: .62;
  --seer-contour: rgba(18, 48, 50, .58);
  --seer-rim-glow: 0.22;
  --seer-signal-glow: 0.28;
  --seer-lid-weight: 4.35;
  --seer-size: 120px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--seer-size) * .14);
  overflow: visible;
  color: var(--seer-ink);
}
.seer-logo[data-appearance='dark'] {
  --seer-ink: #97bbb6;
  --seer-field: #0c1618;
  --seer-sclera-opacity: .42;
  --seer-horizon-field: #3b3f78;
  --seer-horizon-field-opacity: .42;
  --seer-horizon-core: #05090a;
  --seer-horizon-rim: #f2c27b;
  --seer-horizon-signal: #c45f68;
  --seer-interference-upper: #a894d0;
  --seer-interference-lower: #e0a088;
  --seer-interference-upper-opacity: .58;
  --seer-interference-lower-opacity: .4;
  --seer-contour: rgba(240, 255, 251, .65);
  --seer-rim-glow: 0.55;
  --seer-signal-glow: 0.7;
  --seer-lid-weight: 4;
}
.seer-logo[data-appearance='adaptive'] {
  --seer-ink: var(--ov-seer-ink);
  --seer-field: var(--ov-seer-field);
  --seer-sclera-opacity: var(--ov-seer-sclera-opacity);
  --seer-horizon-field: var(--ov-seer-horizon-field);
  --seer-horizon-field-opacity: var(--ov-seer-horizon-field-opacity);
  --seer-horizon-core: var(--ov-seer-horizon-core);
  --seer-horizon-rim: var(--ov-seer-horizon-rim);
  --seer-horizon-signal: var(--ov-seer-horizon-signal);
  --seer-interference-upper: var(--ov-seer-interference-upper);
  --seer-interference-lower: var(--ov-seer-interference-lower);
  --seer-interference-upper-opacity: var(--ov-seer-interference-upper-opacity);
  --seer-interference-lower-opacity: var(--ov-seer-interference-lower-opacity);
  --seer-contour: var(--ov-seer-contour);
  --seer-rim-glow: var(--ov-seer-rim-glow);
  --seer-signal-glow: var(--ov-seer-signal-glow);
  --seer-lid-weight: var(--ov-seer-lid-weight);
}
.seer-logo--vertical { flex-direction: column; gap: calc(var(--seer-size) * .1); }
.seer-eye { inline-size: var(--seer-size); display: block; overflow: visible; }
.seer-eye__gaze { transform-box: view-box; transform-origin: 100px 56px; }
.seer-eye__lid { fill: none; stroke: currentColor; stroke-width: var(--seer-lid-weight, 4); stroke-linecap: round; transform-box: view-box; transform-origin: 100px 56px; }
.seer-eye__aperture-window { transform-box: view-box; transform-origin: 100px 56px; }
.seer-eye__sclera {
  fill: var(--seer-field);
  opacity: var(--seer-sclera-opacity);
}
.seer-eye__optical-core { transform-box: view-box; transform-origin: 100px 56px; }
.seer-eye__interference { fill: none; stroke-width: 1.55; stroke-linecap: round; }
.seer-eye__interference--upper {
  stroke: var(--seer-interference-upper);
  opacity: var(--seer-interference-upper-opacity);
}
.seer-eye__interference--lower {
  stroke: var(--seer-interference-lower);
  opacity: var(--seer-interference-lower-opacity);
}
.seer-eye__signal-core { opacity: 0; fill: none; stroke: var(--seer-horizon-rim); stroke-width: 2; stroke-linecap: round; transform-box: view-box; transform-origin: 100px 56px; }
.seer-eye__retina { transform-box: fill-box; transform-origin: center; }
.seer-eye__ring, .seer-eye__contour { fill: none; stroke: var(--seer-contour); stroke-width: 1.1; }
.seer-eye__pupil { fill: var(--seer-horizon-core); }
.seer-eye__catch { fill: #fff; }
.seer-eye__event-horizon-field {
  fill: var(--seer-horizon-field);
  opacity: var(--seer-horizon-field-opacity);
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--seer-horizon-field) calc(var(--seer-rim-glow) * 70%), transparent));
}
.seer-eye__event-horizon-core { fill: var(--seer-horizon-core); }
.seer-eye__event-horizon-rim {
  fill: none; stroke: var(--seer-horizon-rim); stroke-width: 4.1; stroke-linecap: round;
  filter:
    drop-shadow(0 0 5px color-mix(in srgb, var(--seer-horizon-rim) calc(var(--seer-rim-glow) * 100%), transparent))
    drop-shadow(0 0 12px color-mix(in srgb, var(--seer-horizon-rim) calc(var(--seer-rim-glow) * 50%), transparent));
  transform-box: view-box; transform-origin: 100px 56px;
}
.seer-eye__event-horizon-signal {
  fill: var(--seer-horizon-signal);
  filter:
    drop-shadow(0 0 5px color-mix(in srgb, var(--seer-horizon-signal) calc(var(--seer-signal-glow) * 100%), transparent))
    drop-shadow(0 0 12px color-mix(in srgb, var(--seer-horizon-signal) calc(var(--seer-signal-glow) * 55%), transparent));
}
.seer-wordmark { color: currentColor; font-size: max(15px, calc(var(--seer-size) * .16)); }
.seer-logo[data-variant='monochrome'] .seer-eye__retina { fill: currentColor; }
.seer-logo[data-variant='monochrome'] .seer-eye__event-horizon-field, .seer-logo[data-variant='monochrome'] .seer-eye__event-horizon-signal { fill: currentColor; }
.seer-logo[data-variant='monochrome'] .seer-eye__event-horizon-rim { stroke: currentColor; }
.seer-logo.is-animated .seer-eye__retina { animation: seer-retina-pulse 3.4s ease-in-out infinite; }
.seer-logo.is-animated .seer-eye__ring { animation: seer-retina-phase 3.4s ease-in-out infinite; }
.seer-logo.is-animated .seer-eye__event-horizon-rim { animation: seer-event-horizon-orbit 7s linear infinite; }
.seer-logo.is-animated .seer-eye__event-horizon-field { animation: seer-horizon-glow-pulse 3.4s ease-in-out infinite; }
.seer-logo.is-animated .seer-eye__event-horizon-signal { animation: seer-horizon-signal-pulse 3.4s ease-in-out infinite; }
.seer-logo.is-blinking .seer-eye__lid--upper { animation: seer-aperture-blink-upper 240ms cubic-bezier(.55,0,.25,1); }
.seer-logo.is-blinking .seer-eye__lid--lower { animation: seer-aperture-blink-lower 240ms cubic-bezier(.55,0,.25,1); }
.seer-logo.is-blinking .seer-eye__aperture-window { animation: seer-aperture-window 240ms cubic-bezier(.55,0,.25,1); }
.seer-logo.is-blinking .seer-eye__signal-core { animation: seer-signal-core-blink 240ms cubic-bezier(.55,0,.25,1); }
/* Loader glow/pulse must bleed past the instrument; never clip soft edges. */
.seer-loader {
  min-height: 96px; display: grid; place-items: center; align-content: center; gap: 10px;
  inline-size: 100%; min-width: 0; margin-inline: auto; overflow: visible; text-align: center;
  padding-block: 12px;
}
/* Compact nested loaders: no full-route instrument, keep panel chrome stable. */
.seer-loader:not(.seer-loader--orbit) {
  min-height: 88px;
  gap: 8px;
  padding-block: 16px;
}
.seer-loader:not(.seer-loader--orbit) .seer-logo {
  --seer-size: 56px;
}
.seer-loader--orbit {
  min-height: clamp(240px, 48vmin, 440px); grid-template-rows: auto auto;
  gap: clamp(16px, 2vmin, 22px); overflow: visible; padding-block: 0;
}
@media (max-height: 600px) {
  .seer-loader--orbit { min-height: clamp(180px, 40vmin, 300px); }
}
.ov-loading.seer-loader,
.ov-loading.seer-loader--orbit { overflow: visible; }
.seer-loader__instrument {
  inline-size: min(clamp(260px, 48vmin, 400px), calc(100vw - 28px));
  position: relative; display: grid; place-items: center; justify-self: center; margin-inline: auto;
  aspect-ratio: 1 / 1; padding: clamp(18px, 4vmin, 36px);
  overflow: visible; isolation: isolate; container-type: inline-size;
}
.ov-app__main > .seer-loader--orbit { align-self: center; justify-self: center; }
@media (max-width: 960px) {
  .ov-app--workspace .ov-app__main:has(> .seer-loader--orbit) {
    inline-size: 100%;
    max-inline-size: 100vw;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
  }
  .ov-app--workspace .ov-app__main > .seer-loader--orbit {
    inline-size: 100%;
    margin-inline: auto;
  }
}
.seer-loader__instrument::before {
  content: ''; inline-size: min(100%, 92%); position: absolute; z-index: 0;
  aspect-ratio: 1; border-radius: 50%; background: var(--ov-seer-well);
  filter: blur(2px); pointer-events: none;
}
.seer-loader__instrument .seer-logo {
  position: relative; z-index: 2; overflow: visible;
  filter:
    drop-shadow(0 0 18px color-mix(in srgb, var(--ov-accent) 28%, transparent))
    drop-shadow(0 0 36px color-mix(in srgb, var(--ov-secondary) 16%, transparent));
}
.seer-loader__instrument .seer-eye { inline-size: 38cqi; overflow: visible; }
/* Loading easter egg: click the Seer to arm cursor-tracking gaze. */
.seer-loader__gaze-arm {
  appearance: none;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
  position: relative;
  z-index: 2;
}
.seer-loader__gaze-arm:focus-visible {
  outline: 2px solid var(--ov-accent);
  outline-offset: 6px;
}
.seer-loader__gaze-arm.is-armed {
  filter: drop-shadow(0 0 14px color-mix(in srgb, var(--ov-accent) 45%, transparent));
}
.seer-loader__instrument .seer-loader__gaze-arm .seer-logo {
  /* Keep the instrument drop-shadow when nested in the arm button. */
  filter:
    drop-shadow(0 0 18px color-mix(in srgb, var(--ov-accent) 28%, transparent))
    drop-shadow(0 0 36px color-mix(in srgb, var(--ov-secondary) 16%, transparent));
}
.seer-logo.is-cursor-gaze .seer-eye__gaze {
  transition: transform 70ms linear;
  will-change: transform;
}
.seer-loader__gaze-arm.is-armed .seer-eye__event-horizon-signal {
  /* Tiny tell that the Seer is locked on the pointer. */
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--seer-horizon-signal) 90%, transparent));
}
.seer-loader__aperture-field {
  inline-size: 118%; block-size: 118%; position: absolute; inset: 50% auto auto 50%;
  translate: -50% -50%; z-index: 1; overflow: visible; pointer-events: none;
}
.seer-loader__aperture-band {
  transform-box: view-box; transform-origin: center; opacity: 0;
  animation: seer-aperture-propagate 6.6s cubic-bezier(.2,.62,.28,1) infinite;
  will-change: transform, opacity;
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--ov-accent) 35%, transparent));
}
.seer-loader__aperture-band--outer {
  fill: var(--ov-seer-orbit-outer-fill); stroke: var(--ov-seer-orbit-outer);
  filter: drop-shadow(0 0 14px color-mix(in srgb, var(--ov-secondary) 28%, transparent));
}
.seer-loader__aperture-band--middle {
  fill: var(--ov-seer-orbit-middle-fill); stroke: var(--ov-seer-orbit-middle); animation-delay: -2.2s;
  filter: drop-shadow(0 0 12px color-mix(in srgb, var(--ov-accent) 32%, transparent));
}
.seer-loader__aperture-band--inner {
  fill: color-mix(in srgb, var(--ov-accent) 7%, transparent); stroke: var(--ov-seer-orbit-inner); animation-delay: -4.4s;
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--ov-accent) 40%, transparent));
}
.seer-loader__copy { min-block-size: 52px; position: relative; z-index: 3; display: grid; justify-items: center; align-content: start; gap: 8px; }
.seer-loader__wordmark { color: color-mix(in srgb, var(--ov-fg) 72%, var(--ov-accent)); font-size: 22px; font-weight: 650; letter-spacing: -.025em; }
.ov-rotating-text { min-block-size: 1.5em; display: inline-grid; align-items: center; overflow: hidden; white-space: nowrap; }
.ov-rotating-text > span { min-width: 0; grid-area: 1 / 1; opacity: 0; transform: translateY(68%); filter: blur(4px); transition: opacity 380ms ease, transform 520ms cubic-bezier(.16,.78,.22,1), filter 420ms ease; }
.ov-rotating-text > span.is-active { opacity: 1; transform: translateY(0); filter: blur(0); }
.ov-rotating-text > span.is-previous { opacity: 0; transform: translateY(-68%); filter: blur(4px); }
.seer-loader__status { color: var(--ov-muted); font-size: 13px; }
@keyframes seer-retina-pulse { 0%,72%,100% { transform: scale(1); } 82% { transform: scale(.92); } 90% { transform: scale(1.04); } }
@keyframes seer-retina-phase { 0%,75%,100% { opacity: .55; transform: rotate(0); } 84% { opacity: .9; transform: rotate(12deg); } }
@keyframes seer-horizon-glow-pulse {
  0%,72%,100% { opacity: var(--seer-horizon-field-opacity); filter: drop-shadow(0 0 10px color-mix(in srgb, #3b3f78 40%, transparent)); }
  84% { opacity: calc(var(--seer-horizon-field-opacity) + .12); filter: drop-shadow(0 0 20px color-mix(in srgb, #3b3f78 55%, transparent)); }
}
@keyframes seer-horizon-signal-pulse {
  0%,72%,100% { filter: drop-shadow(0 0 6px color-mix(in srgb, var(--seer-horizon-signal) 70%, transparent)); }
  84% { filter: drop-shadow(0 0 14px color-mix(in srgb, var(--seer-horizon-signal) 85%, transparent)) drop-shadow(0 0 22px color-mix(in srgb, var(--seer-horizon-signal) 40%, transparent)); }
}
@keyframes seer-aperture-blink-upper { 0%,100% { transform: scale(1); } 46%,62% { transform: scale(.78,.035); } }
@keyframes seer-aperture-blink-lower { 0%,100% { transform: scale(1); } 40%,58% { transform: scale(.78,.035); } }
@keyframes seer-aperture-window { 0%,100% { transform: scaleY(1); } 43%,61% { transform: scaleY(.015); } }
@keyframes seer-signal-core-blink { 0%,12%,62%,100% { opacity: 0; transform: scaleX(1); } 24%,38% { opacity: .82; transform: scaleX(1); } 52% { opacity: 0; transform: scaleX(.08); } }
@keyframes seer-event-horizon-orbit { to { transform: rotate(360deg); } }
@keyframes seer-brand-gaze {
  0%, 100% { transform: translate(0, 0); }
  28% { transform: translate(5px, -1px); }
  58% { transform: translate(-3px, 2px); }
  78% { transform: translate(2px, 0); }
}
@keyframes seer-aperture-propagate {
  0% { opacity: 0; transform: scale(.38); }
  14% { opacity: .82; }
  58% { opacity: .42; }
  100% { opacity: 0; transform: scale(.78); }
}
