/* Nick's website assistant */
.nc{--nc-b:calc(22px + env(safe-area-inset-bottom));position:fixed;right:22px;bottom:var(--nc-b);z-index:80;font-family:var(--sans,Inter,system-ui,sans-serif)}
.nc-btn{display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 16px;border-radius:999px;border:0;background:var(--go,#8dc63f);color:var(--go-ink,#0e1210);font:700 16px/1 var(--sans,Inter,system-ui,sans-serif);cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.45);position:relative;transition:transform .2s}
.nc-btn:hover{transform:translateY(-2px)}
.nc-btn svg{width:24px;height:24px}
.nc-dot{position:absolute;top:6px;right:8px;width:12px;height:12px;border-radius:50%;background:#ff4d3d;border:2px solid var(--go,#8dc63f)}
.nc-dot[hidden]{display:none}
.nc-nudging .nc-btn{animation:nc-pulse 1.8s ease-in-out 3}
@keyframes nc-pulse{0%,100%{box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 0 0 rgba(141,198,63,.55)}50%{box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 0 14px rgba(141,198,63,0)}}
.nc-nudge{position:absolute;right:0;bottom:70px;width:min(300px,calc(100vw - 32px));background:#f2f4ef;color:#15181b;border-radius:14px;padding:14px 16px 14px;box-shadow:0 14px 36px rgba(0,0,0,.45);animation:nc-in .35s ease}
.nc-nudge::after{content:"";position:absolute;right:30px;bottom:-7px;width:14px;height:14px;background:#f2f4ef;transform:rotate(45deg)}
.nc-nudge-t{margin:0 22px 10px 0;font-size:15px;line-height:1.45;font-weight:500}
.nc-nudge-go{border:0;background:#15181b;color:#fff;font:600 14px/1 var(--sans,Inter,system-ui,sans-serif);padding:10px 14px;border-radius:8px;cursor:pointer;min-height:40px}
.nc-nudge-x{position:absolute;top:4px;right:4px;width:36px;height:36px;border:0;background:none;font-size:22px;line-height:1;color:#454c51;cursor:pointer}
@keyframes nc-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.nc-panel{position:absolute;right:0;bottom:70px;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 140px));display:flex;flex-direction:column;background:#1b1f23;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.55);overflow:hidden;animation:nc-in .25s ease}
.nc-panel[hidden]{display:none}
.nc-open .nc-btn span{display:none}
.nc-open .nc-btn{padding:0 16px}
.nc-head{display:flex;justify-content:space-between;align-items:center;padding:14px 12px 14px 18px;background:#22272c;border-bottom:1px solid rgba(255,255,255,.1)}
.nc-title{margin:0;font-family:var(--head,'Barlow Condensed',Arial,sans-serif);font-weight:800;font-size:22px;text-transform:uppercase;color:#f4f6f5;line-height:1}
.nc-sub{margin:4px 0 0;font-size:12.5px;color:#bcc3c7;display:flex;align-items:center;gap:6px}
.nc-live{width:8px;height:8px;border-radius:50%;background:var(--go,#8dc63f)}
.nc-x{width:44px;height:44px;border:0;background:none;color:#bcc3c7;font-size:28px;line-height:1;cursor:pointer;border-radius:8px}
.nc-x:hover{color:#fff}
.nc-log{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.nc-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.nc-assistant{align-self:flex-start;background:#2a3036;color:#f4f6f5;border-bottom-left-radius:4px}
.nc-user{align-self:flex-end;background:var(--go,#8dc63f);color:var(--go-ink,#0e1210);border-bottom-right-radius:4px}
.nc-msg a{color:var(--go-hi,#a3d95a);font-weight:600;white-space:nowrap}
.nc-user a{color:inherit}
.nc-typing{display:flex;gap:5px;padding:14px}
.nc-typing i{width:7px;height:7px;border-radius:50%;background:#98a1a6;animation:nc-b 1s infinite}
.nc-typing i:nth-child(2){animation-delay:.15s}.nc-typing i:nth-child(3){animation-delay:.3s}
@keyframes nc-b{0%,80%,100%{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.nc-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 10px}
.nc-chips[hidden]{display:none}
.nc-chip{border:1px solid rgba(141,198,63,.55);background:transparent;color:#d9eebf;border-radius:999px;padding:8px 12px;font:500 13.5px/1.2 var(--sans,Inter,system-ui,sans-serif);cursor:pointer;min-height:36px;text-align:left}
.nc-chip:hover{background:rgba(141,198,63,.12)}
.nc-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid rgba(255,255,255,.1);background:#1b1f23}
.nc-in{flex:1;min-width:0;height:46px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#15181b;color:#f4f6f5;padding:0 12px;font:400 16px/1 var(--sans,Inter,system-ui,sans-serif)}
.nc-in:focus{outline:2px solid var(--go,#8dc63f);outline-offset:1px}
.nc-send{width:46px;height:46px;border-radius:10px;border:0;background:var(--go,#8dc63f);color:var(--go-ink,#0e1210);cursor:pointer;display:grid;place-content:center}
.nc-send svg{width:20px;height:20px}
.nc-foot{margin:0;padding:0 14px 12px;font-size:11.5px;color:#98a1a6;background:#1b1f23}
.nc-foot a{color:#bcc3c7;white-space:nowrap}
.nc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nc-still *{animation:none!important}
@media (max-width:760px){
  .nc{--nc-b:calc(86px + env(safe-area-inset-bottom));right:14px}
  .nc-btn{height:52px;padding:0 16px 0 14px;font-size:15px}
  .nc-panel{position:fixed;left:8px;right:8px;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;height:min(72vh,calc(100vh - 170px))}
  .nc-open .nc-btn{position:relative}
}
