/* Nova, the Creative Minds AI trainer: always-visible glowing orb (like Leaf in The Garden At No. 6 app).
   1) .nova-hero: big voice orb card at the top of the homepage hero.
   2) .nova-fab:  floating glowing orb on every page (bottom-left; the help bot and WhatsApp sit bottom-right). */
.nova-hero{position:relative;margin:0 0 22px;padding:16px 14px 18px;border-radius:28px;text-align:center;color:#EAF4F2;overflow:hidden;isolation:isolate;max-width:560px;
  background:radial-gradient(120% 80% at 50% 28%,#16706e 0%,#0f5b5a 45%,#082f2f 100%);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px -18px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08)}
.nova-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.6;background:radial-gradient(60% 40% at 50% 100%,rgba(242,163,58,.25),transparent 70%),radial-gradient(40% 30% at 12% 8%,rgba(224,64,154,.1),transparent 70%),radial-gradient(40% 30% at 90% 10%,rgba(54,180,224,.12),transparent 70%)}
.nova-live{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#e5322d;color:#fff;font:800 11.5px/1 var(--font);letter-spacing:.08em;box-shadow:0 4px 14px rgba(229,50,45,.45)}
.nova-live i{width:7px;height:7px;border-radius:50%;background:#fff;animation:novaBlink 1.2s ease-in-out infinite}
@keyframes novaBlink{0%,100%{opacity:1}50%{opacity:.25}}
.nova-hero .orb{--orb-s:1;position:relative;display:block;width:min(58vw,230px);aspect-ratio:1;margin:0 auto;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%}
.nova-hero .orb:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.nova-hero .orb-cv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.nova-hero .orb-disc{--d:46%;position:absolute;left:calc((100% - var(--d)) / 2);top:calc((100% - var(--d)) / 2);width:var(--d);height:var(--d);border-radius:50%;overflow:hidden;background:radial-gradient(circle at 35% 30%,#1b7f7c,#0b4342);transform:scale(var(--orb-s));will-change:transform;
  box-shadow:0 0 0 2px rgba(242,163,58,.85),0 10px 30px -6px rgba(0,0,0,.5),inset 0 -8px 18px rgba(0,0,0,.25)}
.nova-hero .orb-disc svg{position:absolute;inset:12%;width:76%;height:76%}
.nova-hero .orb-disc::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(70% 45% at 35% 18%,rgba(255,255,255,.45),transparent 60%);mix-blend-mode:soft-light}
.nova-hero .orb.nova-css{display:grid;place-items:center}
.nova-hero h2{margin:2px 0 0;font-size:1.45rem;line-height:1.2;color:#fff;letter-spacing:-.01em}
.nova-hero h2 b{color:var(--accent)}
.nova-hero p{margin:6px auto 12px;max-width:34ch;font-size:.97rem;color:rgba(234,244,242,.9)}
.nova-talk{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;background:var(--accent);color:#2a1a02;font-weight:800;text-decoration:none;box-shadow:0 0 0 0 rgba(242,163,58,.6);animation:novaCta 2.2s ease-out infinite}
.nova-talk:hover{background:#ffb64f;color:#2a1a02}
.nova-talk svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@keyframes novaCta{0%{box-shadow:0 0 0 0 rgba(242,163,58,.6)}70%{box-shadow:0 0 0 14px rgba(242,163,58,0)}100%{box-shadow:0 0 0 0 rgba(242,163,58,0)}}
.nova-hero small{display:block;margin-top:10px;font-size:.8rem;color:rgba(234,244,242,.7)}

/* CSS-only glowing orb (floating button, and hero fallback) */
.nova-ball{position:relative;display:block;border-radius:50%;isolation:isolate}
.nova-ball::before{content:"";position:absolute;inset:-18%;border-radius:50%;z-index:-1;filter:blur(8px);opacity:.95;
  background:conic-gradient(from 0deg,#1ec8b4,#f2a33a,#e6409a,#8256ec,#30b6ec,#1ec8b4);animation:novaSpin 6s linear infinite,novaBreath 2.6s ease-in-out infinite}
.nova-ball::after{content:"";position:absolute;inset:-6%;border-radius:50%;z-index:-2;border:2px solid rgba(242,163,58,.7);animation:novaRing 2.4s ease-out infinite}
.nova-core{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 35% 30%,#1b7f7c,#0b4342);box-shadow:0 0 0 2px rgba(242,163,58,.9),inset 0 -6px 14px rgba(0,0,0,.3)}
.nova-core svg{position:absolute;inset:14%;width:72%;height:72%}
.nova-core::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(70% 45% at 35% 18%,rgba(255,255,255,.5),transparent 60%);mix-blend-mode:soft-light}
@keyframes novaSpin{to{transform:rotate(360deg)}}
@keyframes novaBreath{0%,100%{opacity:.75;scale:1}50%{opacity:1;scale:1.08}}
@keyframes novaRing{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.6);opacity:0}}

.nova-fab{position:fixed;left:16px;bottom:18px;z-index:55;display:flex;align-items:center;gap:10px;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:bottom .3s ease}
.nova-fab .nova-ball{width:62px;height:62px;flex:none}
.nova-fab-tag{position:absolute;left:50%;top:-9px;transform:translateX(-50%);z-index:2;padding:3px 7px;border-radius:999px;background:#e5322d;color:#fff;font:800 9.5px/1 var(--font,system-ui,sans-serif);letter-spacing:.08em;white-space:nowrap;box-shadow:0 2px 8px rgba(229,50,45,.5)}
.nova-fab-lbl{padding:9px 13px;border-radius:999px;background:#0f5b5a;color:#fff;font:800 .9rem/1.1 var(--font,system-ui,sans-serif);box-shadow:0 8px 22px rgba(11,67,66,.35);white-space:nowrap;transition:opacity .4s,transform .4s}
.nova-fab-lbl small{display:block;font-weight:600;font-size:.72rem;color:#fbd9a5}
.nova-fab.mini .nova-fab-lbl{opacity:0;transform:translateX(-8px);pointer-events:none}
.nova-fab:active .nova-ball{transform:scale(.94)}
body.has-install-bar .nova-fab{bottom:106px}
@media (max-width:420px){.nova-fab{left:12px;bottom:16px}}
@media print{.nova-fab{display:none}}
@media (prefers-reduced-motion:reduce){.nova-ball::before,.nova-ball::after,.nova-talk,.nova-live i{animation:none}.nova-hero .orb-disc{transform:none}}
/* extra colour glow behind the hero orb so it shines even when Nova is quiet */
.nova-hero .orb::before{content:"";position:absolute;inset:20%;border-radius:50%;z-index:-1;filter:blur(18px);opacity:.9;
  background:conic-gradient(from 0deg,#1ec8b4,#f2a33a,#e6409a,#8256ec,#30b6ec,#1ec8b4);animation:novaSpin 7s linear infinite,novaBreath 2.8s ease-in-out infinite}
.nova-hero .orb::after{content:"";position:absolute;inset:24%;border-radius:50%;z-index:-1;border:2px solid rgba(242,163,58,.7);animation:novaRing 2.6s ease-out infinite}
.nova-hero .orb-cv{z-index:0}.nova-hero .orb-disc{z-index:1}
@media (prefers-reduced-motion:reduce){.nova-hero .orb::before,.nova-hero .orb::after{animation:none}}
