/* NOVIQ V24.6.7 — Pearl ONE. Static image layers + CSS-only state motion. */
#nq221OneStage.nq2468-stage{
  --pearl-cyan:#79dcff;--pearl-blue:#7aa0ff;--pearl-violet:#bda3ff;--pearl-warm:#fff0d8;
  position:fixed;inset:58px 0 82px;z-index:70;display:none;overflow:hidden;
  background:radial-gradient(circle at 50% 45%,rgba(30,54,105,.20),rgba(5,9,23,.82) 50%,rgba(2,5,14,.98) 78%);
  pointer-events:none;isolation:isolate;contain:layout paint style;
}
html.nq2468-one-active #nq221OneStage.nq2468-stage{display:grid;place-items:center}
.nq2468-shell{position:relative;width:min(92vw,930px);aspect-ratio:16/9;max-height:calc(100vh - 185px);pointer-events:none;transform:translateY(-1.5vh)}
.nq2468-scene,.nq2468-thread-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}
.nq2468-scene{opacity:.96;filter:saturate(.94) brightness(.91) contrast(1.03);animation:nq2468-scene-breathe 7.2s ease-in-out infinite;will-change:transform,filter}
.nq2468-thread-layer{opacity:.24;filter:saturate(1.02) brightness(1.02);-webkit-mask-image:radial-gradient(circle at 50% 49%,transparent 0 27%,rgba(0,0,0,.45) 34%,#000 43%);mask-image:radial-gradient(circle at 50% 49%,transparent 0 27%,rgba(0,0,0,.45) 34%,#000 43%);animation:nq2468-thread-drift 8.4s ease-in-out infinite;will-change:transform,opacity}
.nq2468-orb-hit{position:absolute;left:50%;top:49%;width:36.5%;aspect-ratio:1;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;pointer-events:auto;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;outline:none}
.nq2468-orb-hit:focus-visible{box-shadow:0 0 0 3px rgba(170,226,255,.78),0 0 0 9px rgba(93,137,255,.16)}
.nq2468-core-glow{position:absolute;left:50%;top:49%;width:35.2%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:radial-gradient(circle at 44% 38%,rgba(255,245,226,.18),rgba(134,193,255,.05) 48%,transparent 69%);box-shadow:0 0 48px rgba(255,222,190,.10),0 0 72px rgba(106,155,255,.10);animation:nq2468-core-breathe 7.2s ease-in-out infinite}
.nq2468-orbit{position:absolute;left:50%;top:49%;width:38%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid transparent;pointer-events:none;opacity:0}
.nq2468-orbit.a{border-top-color:rgba(142,214,255,.28);border-right-color:rgba(193,160,255,.18)}
.nq2468-orbit.b{width:31%;border-bottom-color:rgba(255,226,199,.18);border-left-color:rgba(138,198,255,.20)}
.nq2468-pulse{position:absolute;left:50%;top:49%;width:36%;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid rgba(156,218,255,.18);border-radius:50%;opacity:0;pointer-events:none}
.nq2468-status{position:absolute;left:50%;bottom:clamp(9px,2vh,24px);transform:translateX(-50%);min-width:min(72vw,420px);text-align:center;color:rgba(232,236,249,.76);font:600 14px/1.3 Inter,ui-sans-serif,system-ui,-apple-system,"SF Pro Display",Segoe UI,sans-serif;letter-spacing:.04em;text-shadow:0 0 20px rgba(79,117,221,.18);pointer-events:none}
.nq2468-sub{display:block;margin-top:6px;font-size:11px;font-weight:500;letter-spacing:.05em;color:rgba(182,190,215,.48)}
/* states */
.nq2468-stage[data-one-state="connecting"] .nq2468-scene{filter:saturate(.96) brightness(.96) contrast(1.03);animation-duration:3.4s}
.nq2468-stage[data-one-state="listening"] .nq2468-scene{filter:saturate(.98) brightness(.98);animation:nq2468-listen 1.8s ease-in-out infinite}
.nq2468-stage[data-one-state="listening"] .nq2468-thread-layer{opacity:.40;animation-duration:2.7s}
.nq2468-stage[data-one-state="listening"] .nq2468-pulse{animation:nq2468-pulse-out 1.9s ease-out infinite}
.nq2468-stage[data-one-state="thinking"] .nq2468-scene{filter:saturate(.98) brightness(.94) contrast(1.04);animation:nq2468-think-breathe 3.1s ease-in-out infinite}
.nq2468-stage[data-one-state="thinking"] .nq2468-thread-layer{opacity:.22;animation-duration:6s}
.nq2468-stage[data-one-state="thinking"] .nq2468-orbit{opacity:.58}.nq2468-stage[data-one-state="thinking"] .nq2468-orbit.a{animation:nq2468-spin 4.8s linear infinite}.nq2468-stage[data-one-state="thinking"] .nq2468-orbit.b{animation:nq2468-spin-rev 6.2s linear infinite}
.nq2468-stage[data-one-state="speaking"] .nq2468-scene{filter:saturate(1.02) brightness(1.00);animation:nq2468-speak 1.15s ease-in-out infinite}
.nq2468-stage[data-one-state="speaking"] .nq2468-thread-layer{opacity:.48;animation-duration:1.55s}
.nq2468-stage[data-one-state="speaking"] .nq2468-pulse{border-color:rgba(209,185,255,.24);animation:nq2468-pulse-out 1.15s ease-out infinite}
.nq2468-stage[data-one-state="error"] .nq2468-scene{filter:saturate(.72) brightness(.78);animation:none}.nq2468-stage[data-one-state="error"] .nq2468-thread-layer{opacity:.12;animation:none}
@keyframes nq2468-scene-breathe{0%,100%{transform:scale(.996)}50%{transform:scale(1.008)}}
@keyframes nq2468-core-breathe{0%,100%{opacity:.62;transform:translate(-50%,-50%) scale(.992)}50%{opacity:.98;transform:translate(-50%,-50%) scale(1.018)}}
@keyframes nq2468-thread-drift{0%,100%{transform:translate3d(-.45%,1px,0) scaleY(.985)}50%{transform:translate3d(.55%,-2px,0) scaleY(1.018)}}
@keyframes nq2468-listen{0%,100%{transform:scale(.998)}50%{transform:scale(1.018)}}
@keyframes nq2468-think-breathe{0%,100%{transform:scale(.999) rotate(-.08deg)}50%{transform:scale(1.007) rotate(.08deg)}}
@keyframes nq2468-speak{0%,100%{transform:scale(.999)}45%{transform:scale(1.014)}72%{transform:scale(1.004)}}
@keyframes nq2468-pulse-out{0%{opacity:.38;transform:translate(-50%,-50%) scale(.92)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.19)}}
@keyframes nq2468-spin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes nq2468-spin-rev{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-360deg)}}
@media(max-width:780px){#nq221OneStage.nq2468-stage{inset:50px 0 74px}.nq2468-shell{width:min(98vw,760px);transform:translateY(-2vh)}.nq2468-orb-hit{width:42%}.nq2468-core-glow{width:40%}.nq2468-orbit{width:43%}.nq2468-orbit.b{width:35%}.nq2468-pulse{width:41%}.nq2468-status{font-size:13px;bottom:10px}}
@media(prefers-reduced-motion:reduce){.nq2468-scene,.nq2468-thread-layer,.nq2468-core-glow,.nq2468-orbit,.nq2468-pulse{animation:none!important}}
