/* NexGen chat: a branded front end for the Chatbase assistant */
.ngc{--ngc-bg:#191F19;--ngc-bg2:#121612;--ngc-line:rgba(249,252,235,.12);--ngc-cream:#F9FCEB;--ngc-lime:#B5D63E;--ngc-dark:#240F00;
  position:fixed;right:20px;bottom:20px;z-index:140;font-family:"Poppins","Inter",system-ui,sans-serif;color:var(--ngc-cream)}
.ngc *{box-sizing:border-box}
.ngc-launch{width:62px;height:62px;border:0;border-radius:50%;background:var(--ngc-bg);display:grid;place-items:center;cursor:pointer;
  box-shadow:inset 0 0 0 1.5px rgba(181,214,62,.6),0 18px 40px -16px rgba(0,0,0,.7);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.ngc-launch:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--ngc-lime),0 22px 46px -16px rgba(0,0,0,.75)}
.ngc-launch svg{width:28px;height:28px;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}
.ngc-launch .ngc-x{position:absolute;opacity:0;transform:rotate(-90deg) scale(.6);width:22px;height:22px;fill:none;stroke:var(--ngc-lime);stroke-width:2.4;stroke-linecap:round}
.ngc.open .ngc-launch .ngc-g{opacity:0;transform:rotate(90deg) scale(.6)}
.ngc.open .ngc-launch .ngc-x{opacity:1;transform:none}
.ngc button,.ngc textarea{font-family:inherit}
.ngc-hint{position:absolute;right:0;bottom:76px;width:max-content;max-width:260px;padding:14px 40px 14px 18px;border-radius:18px;background:var(--ngc-bg);font-size:.95rem;line-height:1.4;
  box-shadow:inset 0 0 0 1.5px rgba(181,214,62,.45),0 20px 50px -20px rgba(0,0,0,.7);cursor:pointer;transform-origin:100% 100%;animation:ngc-pop .5s cubic-bezier(.2,.8,.2,1) both}
.ngc-hint[hidden]{display:none}
.ngc-hint button{position:absolute;right:8px;top:8px;width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:rgba(249,252,235,.6);cursor:pointer;font-size:16px;line-height:1}
.ngc-hint button:hover{background:rgba(249,252,235,.1);color:var(--ngc-cream)}
@keyframes ngc-pop{from{opacity:0;transform:translateY(8px) scale(.94)}}
.ngc-panel{position:absolute;right:0;bottom:76px;width:min(400px,calc(100vw - 40px));height:min(620px,calc(100svh - 120px));display:flex;flex-direction:column;border-radius:26px;overflow:hidden;
  background:var(--ngc-bg2);box-shadow:inset 0 0 0 1.5px rgba(181,214,62,.45),0 40px 90px -30px rgba(0,0,0,.8);transform-origin:100% 100%;opacity:0;transform:translateY(12px) scale(.96);pointer-events:none;visibility:hidden;
  transition:opacity .3s,transform .45s cubic-bezier(.2,.8,.2,1),visibility .3s}
.ngc.open .ngc-panel{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.ngc-head{display:flex;align-items:center;gap:12px;padding:16px 14px 16px 18px;background:var(--ngc-bg);border-bottom:1px solid var(--ngc-line)}
.ngc-av{width:38px;height:38px;border-radius:50%;background:var(--ngc-lime);display:grid;place-items:center;flex:none}
.ngc-av svg{width:20px;height:20px}
.ngc-title{flex:1;min-width:0}
.ngc-title b{display:block;font-size:1rem;font-weight:600;letter-spacing:-.01em}
.ngc-title span{display:flex;align-items:center;gap:6px;font-size:.78rem;color:rgba(249,252,235,.6)}
.ngc-title span i{width:7px;height:7px;border-radius:50%;background:var(--ngc-lime);box-shadow:0 0 0 3px rgba(181,214,62,.25)}
.ngc-ib{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:rgba(249,252,235,.75);cursor:pointer;display:grid;place-items:center;transition:background .25s,color .25s}
.ngc-ib:hover{background:rgba(249,252,235,.08);color:var(--ngc-cream)}
.ngc-ib svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ngc-menu{position:absolute;right:56px;top:58px;z-index:2;min-width:180px;padding:6px;border-radius:14px;background:var(--ngc-bg);box-shadow:inset 0 0 0 1px var(--ngc-line),0 20px 40px -18px rgba(0,0,0,.8)}
.ngc-menu[hidden]{display:none}
.ngc-menu button{width:100%;text-align:left;padding:10px 12px;border:0;border-radius:10px;background:none;color:var(--ngc-cream);font-family:inherit;font-size:.88rem;font-weight:500;line-height:1.2;cursor:pointer}
.ngc-menu button:hover{background:rgba(181,214,62,.14)}
.ngc-log{flex:1;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;overscroll-behavior:contain}
.ngc-log::-webkit-scrollbar{width:6px}.ngc-log::-webkit-scrollbar-thumb{background:rgba(249,252,235,.15);border-radius:3px}
.ngc-msg{max-width:84%;padding:11px 15px;border-radius:18px;font-size:.93rem;line-height:1.5;word-wrap:break-word;animation:ngc-in .35s cubic-bezier(.2,.8,.2,1) both}
@keyframes ngc-in{from{opacity:0;transform:translateY(6px)}}
.ngc-msg.bot{align-self:flex-start;background:var(--ngc-bg);border-bottom-left-radius:6px;box-shadow:inset 0 0 0 1px var(--ngc-line)}
.ngc-msg.me{align-self:flex-end;background:var(--ngc-lime);color:var(--ngc-dark);border-bottom-right-radius:6px;font-weight:500}
.ngc-msg.err{box-shadow:inset 0 0 0 1px rgba(242,92,106,.5)}
.ngc-msg a{color:var(--ngc-lime);text-underline-offset:3px}
.ngc-msg.me a{color:var(--ngc-dark)}
.ngc-msg p+p,.ngc-msg ul{margin-top:8px}
.ngc-msg ul{padding-left:18px}
.ngc-typing{display:inline-flex;gap:5px;padding:4px 2px}
.ngc-typing i{width:7px;height:7px;border-radius:50%;background:rgba(249,252,235,.55);animation:ngc-dot 1.2s infinite ease-in-out}
.ngc-typing i:nth-child(2){animation-delay:.15s}.ngc-typing i:nth-child(3){animation-delay:.3s}
@keyframes ngc-dot{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}
.ngc-form{display:flex;align-items:flex-end;gap:8px;margin:10px 12px 12px;padding:6px 6px 6px 16px;border-radius:24px;background:var(--ngc-bg);box-shadow:inset 0 0 0 1.5px var(--ngc-line);transition:box-shadow .25s}
.ngc-form:focus-within{box-shadow:inset 0 0 0 1.5px var(--ngc-lime)}
.ngc-form textarea{flex:1;min-height:40px;max-height:120px;resize:none;border:0;outline:none!important;box-shadow:none!important;border-radius:0;-webkit-appearance:none;appearance:none;background:transparent!important;color:var(--ngc-cream);font-family:inherit;font-size:.95rem;font-weight:400;line-height:1.45;padding:9px 0;margin:0}
.ngc-form textarea::placeholder{color:rgba(249,252,235,.45)}
.ngc-send{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--ngc-lime);color:var(--ngc-dark);display:grid;place-items:center;cursor:pointer;transition:transform .25s,opacity .25s}
.ngc-send:disabled{opacity:.35;cursor:default}
.ngc-send:not(:disabled):hover{transform:translateY(-2px)}
.ngc-send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ngc-foot{padding:0 16px 12px;font-size:.72rem;color:rgba(249,252,235,.4);text-align:center}
.ngc :focus-visible{outline:2.5px solid var(--ngc-lime);outline-offset:2px}
.ngc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){
  .ngc{right:12px;bottom:12px}
  .ngc-panel{position:fixed;inset:auto 8px 84px 8px;width:auto;height:calc(100svh - 104px);border-radius:22px}
  .ngc-hint{max-width:calc(100vw - 100px)}
}
@media (prefers-reduced-motion:reduce){.ngc *{animation:none!important;transition-duration:.01ms!important}}
