.nova-btn{z-index:45;right:clamp(12px,3vw,28px);bottom:calc(88px + env(safe-area-inset-bottom,0px));cursor:pointer;width:56px;height:56px;color:var(--void);background:radial-gradient(circle at 32% 28%,#b9ffe0,var(--ok) 55%,#2a8f66);border:0;border-radius:50%;place-items:center;transition:bottom .45s cubic-bezier(.2,.7,.2,1),transform .25s;display:grid;position:fixed;box-shadow:0 0 0 4px #5ed3a024,0 12px 30px #00000080,0 0 26px #5ed3a059}.nova-btn:hover{transform:translateY(-2px)}.nova-btn svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1;width:26px;height:26px;transition:transform .3s,opacity .2s}.nova-btn .i-x{opacity:0;transform:rotate(-90deg)}.nova-btn[aria-expanded=true] .i-chat{opacity:0;transform:rotate(90deg)}.nova-btn[aria-expanded=true] .i-x{opacity:1;transform:none}.nova-ping{background:var(--plasma);border:2px solid var(--void);border-radius:50%;width:12px;height:12px;position:absolute;top:3px;right:3px}.nova-btn[aria-expanded=true] .nova-ping{display:none}.nova-btn.solo{bottom:calc(18px + env(safe-area-inset-bottom,0px))}body.docked .nova-btn{bottom:calc(104px + env(safe-area-inset-bottom,0px))}@media (width>=760px){body.docked .nova-btn{bottom:calc(20px + env(safe-area-inset-bottom,0px))}}.nova-teaser{z-index:45;right:clamp(12px,3vw,28px);bottom:calc(154px + env(safe-area-inset-bottom,0px));background:var(--star);max-width:min(260px,100vw - 32px);color:var(--void);font:500 15px/1.35 var(--body);text-align:left;cursor:pointer;border:0;border-radius:16px 16px 4px;padding:12px 14px;animation:.45s cubic-bezier(.2,.7,.2,1) novaIn;position:fixed;box-shadow:0 14px 30px #00000073}body.docked .nova-teaser{bottom:calc(170px + env(safe-area-inset-bottom,0px))}@media (width>=760px){body.docked .nova-teaser{bottom:calc(86px + env(safe-area-inset-bottom,0px))}}.nova-teaser.solo{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.nova{z-index:60;background:var(--hull);opacity:0;grid-template-rows:auto 1fr auto auto auto;transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1);display:grid;position:fixed;inset:0;transform:translateY(24px)}.nova.in{opacity:1;transform:none}@media (width>=700px){.nova{inset:auto clamp(12px,3vw,28px) calc(88px + env(safe-area-inset-bottom,0px)) auto;border:1px solid var(--line);border-radius:22px;width:390px;height:min(620px,100dvh - 120px);overflow:hidden;box-shadow:0 30px 70px #0009,0 0 0 1px #5ed3a014}body.docked .nova{bottom:calc(88px + env(safe-area-inset-bottom,0px))}}@media (width<=699px){html.nova-open,html.nova-open body{overflow:hidden}.nova-open .nova-btn{display:none}}.nova-head{padding:calc(12px + env(safe-area-inset-top,0px)) 12px 12px 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#101a2c,var(--hull));grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;display:grid}.nova-av{background:radial-gradient(circle at 35% 30%,#d8fff0,var(--ok) 50%,#1d6b4c);border-radius:50%;width:40px;height:40px;position:relative;box-shadow:0 0 18px #5ed3a073}.nova-av i{border:1px dashed #5ed3a08c;border-radius:50%;animation:12s linear infinite novaSpin;position:absolute;inset:-5px}.nova-av:after{content:"";background:var(--ok);border:2px solid var(--hull);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.nova-who{gap:3px;min-width:0;display:grid}.nova-who b{font:600 15px/1.1 var(--data);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nova-status{font:400 12.5px/1.2 var(--body);color:var(--dust);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nova-ic{width:40px;height:40px;color:var(--dust);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;display:grid}.nova-ic:hover{color:var(--star);border-color:var(--line)}.nova-ic svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.nova-log{overscroll-behavior:contain;background:radial-gradient(120% 60% at 100% 0,#7aaeff12,#0000 60%),radial-gradient(90% 50% at 0 100%,#5ed3a00f,#0000 60%);flex-direction:column;gap:8px;padding:18px 14px 8px;display:flex;overflow-y:auto}.nova-msg{max-width:85%;font:400 15.5px/1.45 var(--body);white-space:pre-line;overflow-wrap:anywhere;padding:10px 14px;animation:.3s cubic-bezier(.2,.7,.2,1) novaIn}.nova-msg.bot{background:var(--panel);border:1px solid var(--line);color:#e3e7f0;border-radius:4px 18px 18px;align-self:flex-start}.nova-msg.me{background:var(--plasma);color:#1a0b02;border-radius:18px 18px 4px;align-self:flex-end;font-weight:500}.nova-msg.typing{gap:5px;padding:14px 16px;display:flex}.nova-msg.typing i{background:var(--ok);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite novaDot}.nova-msg.typing i:nth-child(2){animation-delay:.15s}.nova-msg.typing i:nth-child(3){animation-delay:.3s}.nova-opts{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:6px 14px 10px;display:flex}.nova-opts:empty{display:none}.nova-opt{min-height:40px;color:var(--star);font:500 14.5px/1.2 var(--body);cursor:pointer;background:#5ed3a012;border:1px solid #5ed3a080;border-radius:999px;align-items:center;padding:8px 14px;text-decoration:none;transition:background .2s,border-color .2s;animation:.35s cubic-bezier(.2,.7,.2,1) both novaIn;display:inline-flex}.nova-opt:hover{border-color:var(--ok);background:#5ed3a02e}.nova-form{border-top:1px solid var(--line);background:var(--hull);grid-template-columns:1fr auto;gap:8px;padding:10px 12px;display:grid}.nova-form input{background:var(--void);border-radius:999px;padding:12px 16px;font-size:16px}.nova-send{background:var(--plasma);color:#1a0b02;cursor:pointer;border:0;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.nova-send svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.nova-foot{padding:0 16px calc(10px + env(safe-area-inset-bottom,0px));font:500 11px/1.3 var(--data);letter-spacing:.12em;text-transform:uppercase;color:var(--dust);text-align:center;background:var(--hull)}@keyframes novaIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes novaDot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes novaSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.nova,.nova-msg,.nova-opt,.nova-teaser,.nova-av i,.nova-msg.typing i{transition:none!important;animation:none!important}}html.tel-open .nova-btn,html.tel-open .nova-teaser{opacity:0;pointer-events:none}
