#nsa20{position:fixed;right:22px;bottom:22px;z-index:9999999;font-family:Arial,sans-serif;color:#fff}#nsa20 *{box-sizing:border-box}.nsa-launch{min-width:185px;height:58px;padding:0 16px 0 8px;display:flex;align-items:center;gap:11px;border:1px solid transparent;border-radius:999px;background:linear-gradient(#07131d,#07131d) padding-box,linear-gradient(105deg,#22c7ff,#287fff 36%,#956da2 64%,#ff8c28) border-box;color:#fff;box-shadow:0 15px 42px #0009,0 0 22px #22c7ff25,0 0 22px #ff8c2820;cursor:pointer;transition:.25s}.nsa-launch:hover{transform:translateY(-5px) scale(1.025);box-shadow:0 20px 55px #000b,0 0 30px #22c7ff44,0 0 28px #ff8c2838}.nsa-orb{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#17324b 0 52%,transparent 53%),conic-gradient(#22c7ff,#287fff,#ff8c28,#22c7ff);font-size:21px;box-shadow:0 0 18px #22c7ff66}.nsa-orb.small{width:38px;height:38px;flex-basis:38px}.nsa-launch strong{font-size:15px}.nsa-chevron{margin-left:auto;color:#ff982f;font-size:27px}.nsa-panel{position:absolute;right:0;bottom:72px;width:min(420px,calc(100vw - 28px));height:min(650px,calc(100vh - 105px));display:none;grid-template-rows:auto 1fr auto auto auto;background:#07131d;border:1px solid #2ea4ff38;border-radius:20px;overflow:hidden;box-shadow:0 28px 90px #000c}.nsa-panel.open{display:grid}.nsa-panel>header{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;background:linear-gradient(90deg,#071722,#101923);border-bottom:1px solid #2aaaff2e}.nsa-brand{display:flex;align-items:center;gap:11px}.nsa-brand b,.nsa-brand small{display:block}.nsa-brand b{font-size:17px}.nsa-brand small{font-size:10px;color:#8fa7b7;margin-top:3px}.nsa-close{border:0;background:#0d2230;color:#dcecff;width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer}.nsa-messages{padding:17px;overflow:auto;background:radial-gradient(circle at 85% 0,#10283a55,transparent 30%),#07131d}.nsa-msg{max-width:84%;padding:11px 13px;margin-bottom:12px;border-radius:14px;font-size:13px;line-height:1.5;white-space:pre-wrap}.nsa-ai{background:#0e2230;border:1px solid #ffffff0b}.nsa-user{margin-left:auto;background:linear-gradient(135deg,#82411f,#b65e2d)}.nsa-typing{opacity:.65}.nsa-quick{display:flex;gap:7px;padding:10px 13px;overflow-x:auto;border-top:1px solid #ffffff0b}.nsa-quick button{white-space:nowrap;border:1px solid #2ea4ff2e;border-radius:999px;background:#0b1b26;color:#dcecff;padding:7px 10px;font-size:10px;cursor:pointer}.nsa-quick button:hover{border-color:#ff9b49}.nsa-form{display:grid;grid-template-columns:1fr 44px;gap:8px;padding:11px 13px;background:#081722;border-top:1px solid #2ea4ff2e}.nsa-form textarea{resize:none;max-height:110px;border:1px solid #2ea4ff40;border-radius:14px;background:#0a1a25;color:#fff;padding:11px 13px;outline:none}.nsa-form textarea:focus{border-color:#22aaff}.nsa-form button{border:0;border-radius:50%;background:linear-gradient(135deg,#1687ff,#f2a05f);color:#fff;font-size:18px;cursor:pointer}.nsa-panel>footer{text-align:center;padding:7px;font-size:8px;letter-spacing:.08em;color:#627b8b}@media(max-width:600px){#nsa20{right:12px;bottom:12px}.nsa-launch{min-width:158px;height:54px}.nsa-panel{bottom:66px;height:calc(100vh - 92px)}}
/* Motion system 2.0.1 */
@keyframes nsaIdlePulse{
 0%,100%{box-shadow:0 15px 42px #0009,0 0 16px rgba(34,199,255,.22),0 0 12px rgba(255,140,40,.14)}
 50%{box-shadow:0 15px 42px #0009,0 0 29px rgba(34,199,255,.45),0 0 22px rgba(255,140,40,.28)}
}
@keyframes nsaOrbSpin{to{transform:rotate(360deg)}}
@keyframes nsaPanelIn{
 0%{opacity:0;transform:translateY(30px) scale(.90);filter:blur(6px)}
 65%{opacity:1;transform:translateY(-4px) scale(1.012);filter:blur(0)}
 100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes nsaPanelOut{
 0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
 100%{opacity:0;transform:translateY(32px) scale(.90);filter:blur(5px)}
}
@keyframes nsaMsgIn{
 0%{opacity:0;transform:translateY(12px) scale(.96)}
 100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes nsaDot{
 0%,60%,100%{transform:translateY(0);opacity:.35}
 30%{transform:translateY(-5px);opacity:1}
}
.nsa-launch{animation:nsaIdlePulse 3.2s ease-in-out infinite}
.nsa-launch:hover{animation:none}
.nsa-launch:hover .nsa-orb{animation:nsaOrbSpin 1.8s linear infinite}
.nsa-panel.open{display:grid;animation:nsaPanelIn .38s cubic-bezier(.2,.8,.2,1) both;transform-origin:bottom right}
.nsa-panel.closing{display:grid;animation:nsaPanelOut .28s ease both;pointer-events:none;transform-origin:bottom right}
.nsa-msg{animation:nsaMsgIn .28s ease both}
.nsa-typing-bubble{display:flex!important;align-items:center;gap:5px;width:max-content;min-width:58px}
.nsa-typing-bubble span{width:7px;height:7px;border-radius:50%;background:#48baff;display:block;animation:nsaDot 1.1s ease-in-out infinite}
.nsa-typing-bubble span:nth-child(2){animation-delay:.16s}
.nsa-typing-bubble span:nth-child(3){animation-delay:.32s}
.nsa-form button{transition:transform .2s ease,box-shadow .2s ease}
.nsa-form button:hover{transform:translateY(-2px) scale(1.07);box-shadow:0 0 22px rgba(37,174,255,.42)}
.nsa-quick button{transition:transform .18s ease,border-color .18s ease,background .18s ease}
.nsa-quick button:hover{transform:translateY(-2px);background:#102737}
@media(prefers-reduced-motion:reduce){
 .nsa-launch,.nsa-launch:hover .nsa-orb,.nsa-panel.open,.nsa-panel.closing,.nsa-msg,.nsa-typing-bubble span{animation:none!important}
}

/* Astrion visual design. All overrides are scoped to the existing assistant. */
#nsa20{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#nsa20 .nsa-launch{background:linear-gradient(135deg,#102b47,#040e1d);border:1px solid #84c4ff88;box-shadow:0 10px 35px #0008,0 0 24px #388fff44;gap:10px}
#nsa20 .nsa-chevron{color:#a8d7ff}
#nsa20 .nsa-orb{position:relative;background:radial-gradient(circle,#153754,#050e1b 70%);border:1px solid #8fcaff66;color:#e4f5ff;box-shadow:0 0 18px #469cff55;text-shadow:0 0 10px #8fcaff}
#nsa20 .nsa-orb::after{content:"";position:absolute;inset:9px -5px;border:1px solid #addaff;border-radius:50%;transform:rotate(-30deg);pointer-events:none;opacity:.8}
#nsa20 .nsa-panel{width:min(420px,calc(100vw - 28px));background:linear-gradient(145deg,#091a2aee,#020b16fa);backdrop-filter:blur(18px);border:1px solid #7ebeff88;border-radius:22px;box-shadow:0 25px 85px #000b,0 0 35px #418aff25;height:min(610px,calc(100dvh - 110px))}
#nsa20 .nsa-panel>header{background:transparent;padding:18px;border-bottom:1px solid #699bd733}
#nsa20 .nsa-brand b{font-weight:600;font-size:18px;letter-spacing:.2px}
#nsa20 .nsa-brand small{color:#9fb7d1;font-size:11px;margin-top:5px}
#nsa20 .nsa-close{background:#10233977;border:1px solid #53769a44;color:#c9e5ff}
#nsa20 .nsa-close:hover{background:#1d3d60}
#nsa20 .nsa-messages{padding:18px;background:radial-gradient(ellipse at top right,#1a426033,transparent 65%);scrollbar-width:thin;scrollbar-color:#426887 transparent}
#nsa20 .nsa-msg{font-size:14px;line-height:1.65;border-radius:17px;padding:12px 15px;overflow-wrap:anywhere}
#nsa20 .nsa-ai{background:#122438;border:1px solid #294663;border-bottom-left-radius:5px;color:#e7f0fb}
#nsa20 .nsa-user{background:linear-gradient(135deg,#087bfa,#1459e9);border-bottom-right-radius:5px;box-shadow:0 4px 15px #005cdd22}
#nsa20 .nsa-quick{flex-wrap:wrap;overflow-x:visible;padding:12px 16px;gap:7px;border-top:0}
#nsa20 .nsa-quick button{white-space:normal;text-align:left;background:#051324;border:1px solid #376b9b;border-radius:20px;color:#b7d9fb;font-size:11px;padding:8px 11px}
#nsa20 .nsa-quick button:hover{border-color:#96c9ff;background:#153553}
#nsa20 .nsa-form{margin:0 16px 2px;padding:7px;border:1px solid #587fa6;border-radius:25px;background:#030d1c;grid-template-columns:minmax(0,1fr) 38px;align-items:end}
#nsa20 .nsa-form:focus-within{border-color:#9ed2ff;box-shadow:0 0 0 1px #8bc4ff55}
#nsa20 .nsa-form textarea{min-width:0;border:0;background:transparent;border-radius:16px;padding:9px 10px;font:13px/1.5 Inter,system-ui,sans-serif;color:#f0f6ff}
#nsa20 .nsa-form textarea::placeholder{color:#8ea8c4}
#nsa20 .nsa-form button{height:38px;width:38px;background:linear-gradient(135deg,#177cff,#1854e8)}
#nsa20 .nsa-panel>footer{color:#8aa0b9;letter-spacing:.03em;padding:12px 8px;font-size:9px}
#nsa20 :focus-visible{outline:2px solid #a7d5ff;outline-offset:3px}
@keyframes nsaIdlePulse{0%,100%{box-shadow:0 12px 36px #0009,0 0 15px #388fff33}50%{box-shadow:0 12px 36px #0009,0 0 28px #388fff66}}
/* Replace the Home plugin's visual demo when this real assistant is installed. */
body:has(#nsa20) .astrion .astrion-ai-launcher,body:has(#nsa20) .astrion .astrion-ai-panel{display:none!important}
@media(max-width:600px){#nsa20 .nsa-panel{height:min(610px,calc(100dvh - 100px));width:calc(100vw - 24px)}#nsa20 .nsa-launch{min-width:170px}}

/* Astrion 2.0.5: star flight, no orbital rings. */
#nsa20 .nsa-orb::after{display:none}
#nsa20 .nsa-launch:hover .nsa-orb{animation:none}
#nsa20.nsa-space .nsa-panel.open{animation:nsaStarReveal .9s cubic-bezier(.16,1,.3,1) both;transform-origin:bottom right}
#nsa20.nsa-space .nsa-panel.closing{animation:nsaStarClose .28s ease-in both}
#nsa20 .nsa-star-flight{position:absolute;right:0;bottom:72px;width:min(420px,calc(100vw - 28px));height:min(610px,calc(100dvh - 110px));pointer-events:none;z-index:2;overflow:hidden;border-radius:22px;opacity:0}
#nsa20 .nsa-star-flight i{position:absolute;left:80%;top:85%;width:3px;height:150px;background:linear-gradient(transparent,#8ccaff,#f5fcff);border-radius:100%;box-shadow:0 0 12px #72b8ff;transform:rotate(-35deg);opacity:0}
#nsa20 .nsa-star-flight i:nth-child(2){left:55%;top:70%;height:100px;--dx:-140px;--dy:-390px}
#nsa20 .nsa-star-flight i:nth-child(3){left:30%;top:90%;height:180px;--dx:-220px;--dy:-480px}
#nsa20 .nsa-star-flight i:nth-child(4){left:95%;top:55%;height:130px;--dx:-110px;--dy:-330px}
#nsa20 .nsa-star-flight i:nth-child(5){left:65%;top:40%;height:90px;--dx:-190px;--dy:-400px}
#nsa20 .nsa-star-flight i:nth-child(6){left:45%;top:65%;height:120px;--dx:-160px;--dy:-350px}
#nsa20.nsa-space-opening .nsa-star-flight{animation:nsaFlightLayer 1s linear both}
#nsa20.nsa-space-opening .nsa-star-flight i{animation:nsaFlight .8s cubic-bezier(.2,.5,.3,1) both}
#nsa20.nsa-space-opening .nsa-star-flight i:nth-child(2n){animation-delay:.08s}
#nsa20.nsa-space-opening .nsa-star-flight i:nth-child(3n){animation-delay:.16s}
@keyframes nsaStarReveal{0%{opacity:0;clip-path:inset(100% 0 0 0);transform:translateY(20px);filter:brightness(1.8)}30%{opacity:1}100%{opacity:1;clip-path:inset(0);transform:translateY(0);filter:brightness(1)}}
@keyframes nsaStarClose{to{opacity:0;clip-path:inset(100% 0 0 0);transform:translateY(15px)}}
@keyframes nsaFlightLayer{0%,75%{opacity:1}100%{opacity:0}}
@keyframes nsaFlight{0%{opacity:0;transform:translate(30px,80px) rotate(-35deg) scaleY(.2)}20%{opacity:.9}100%{opacity:0;transform:translate(var(--dx,-200px),var(--dy,-450px)) rotate(-35deg) scaleY(1.2)}}
@media(max-width:600px){#nsa20 .nsa-star-flight{bottom:66px;width:calc(100vw - 24px);height:min(610px,calc(100dvh - 100px))}}
@media(prefers-reduced-motion:reduce){#nsa20.nsa-space .nsa-panel{animation:none!important}#nsa20 .nsa-star-flight{display:none}}

#nsa20 .nsa-record{display:block;padding:10px 18px;font-size:11px;line-height:1.5;color:#c9d5e8;background:rgba(255,255,255,.035)}#nsa20 .nsa-record input{accent-color:#80cfff;vertical-align:middle;margin-right:5px}
