/* Nick AI chat widget (7 Oct 2026) */
.nc { --nc-a: #00ff88; --nc-b: #8bd3ff; --nc-w: #ffc46b; --nc-card: var(--surface-color, #111a24); --nc-line: var(--border-color, rgba(255,255,255,.1)); --nc-mute: var(--text-secondary, #9aa7b6);
      background: var(--nc-card); border: 1px solid var(--nc-line); border-radius: 18px; display: flex; flex-direction: column; overflow: hidden; text-align: left; }
.nc-head { display: flex; align-items: center; gap: .8rem; padding: .9rem 1.1rem; border-bottom: 1px solid var(--nc-line); }
.nc-orb { position: relative; width: 40px; height: 40px; flex: none; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: .85rem; color: #e8fff4;
          background: radial-gradient(circle at 35% 30%, #1d3a33, #0b1118 70%); border: 1px solid rgba(0,255,136,.45); box-shadow: 0 0 18px -4px rgba(0,255,136,.45); transition: box-shadow .3s, border-color .3s; }
.nc-orb.thinking { border-color: var(--nc-b); box-shadow: 0 0 26px -2px rgba(139,211,255,.75); }
.nc-head b { display: block; font-size: 1rem; }
.nc-status { font-size: .8rem; color: var(--nc-mute); display: inline-flex; align-items: center; gap: .35rem; }
.nc-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--nc-mute); }
.nc-status.on::before { background: var(--nc-a); box-shadow: 0 0 0 3px rgba(0,255,136,.2); }
.nc-head .nc-full { margin-left: auto; color: var(--nc-b); font-size: .85rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nc-head .nc-full:hover { text-decoration: underline; }
.nc-msgs { overflow-y: auto; padding: 1.1rem; display: flex; flex-direction: column; gap: .8rem; min-height: 260px; max-height: 460px; }
.nc-msg { max-width: 86%; padding: .75rem .95rem; border-radius: 14px; line-height: 1.55; font-size: .97rem; overflow-wrap: anywhere; }
.nc-msg.assistant { background: rgba(255,255,255,.04); border: 1px solid var(--nc-line); border-top-left-radius: 4px; align-self: flex-start; }
.nc-msg.assistant p { margin: 0 0 .6rem; } .nc-msg.assistant p:last-child { margin-bottom: 0; }
.nc-msg.assistant ul { margin: 0 0 .6rem; padding-left: 1.2rem; } .nc-msg.assistant li { margin: .2rem 0; }
.nc-msg.assistant strong { color: #fff; }
.nc-msg.assistant hr { border: 0; border-top: 1px solid var(--nc-line); margin: .7rem 0; } .nc-msg a { color: var(--nc-b); }
.nc-msg.user { background: rgba(0,255,136,.12); border: 1px solid rgba(0,255,136,.35); border-top-right-radius: 4px; align-self: flex-end; white-space: pre-wrap; }
.nc-msg.system { align-self: center; font-size: .85rem; color: var(--nc-mute); padding: .2rem; }
.nc-cta { margin-top: .7rem; padding: .8rem .9rem; border-radius: 10px; border: 1px solid rgba(255,196,107,.45); background: rgba(255,196,107,.08); }
.nc-cta b { display: block; margin-bottom: .2rem; } .nc-cta span { display: block; color: var(--nc-mute); font-size: .9rem; margin-bottom: .55rem; }
.nc-cta a { display: inline-block; padding: .45rem .85rem; border-radius: 8px; background: var(--nc-w); color: #1a1204 !important; font-weight: 700; font-size: .88rem; text-decoration: none; }
.nc-typing { align-self: flex-start; display: inline-flex; gap: 5px; padding: .8rem 1rem; border-radius: 14px; background: rgba(255,255,255,.04); border: 1px solid var(--nc-line); }
.nc-typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--nc-b); animation: nc-bounce 1.2s infinite; }
.nc-typing i:nth-child(2) { animation-delay: .15s; } .nc-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes nc-bounce { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-5px); opacity: 1; } }
.nc-chips { display: flex; flex-wrap: wrap; gap: .45rem; padding: 0 1.1rem .8rem; }
.nc-chips button { border: 1px solid rgba(139,211,255,.35); background: transparent; color: var(--nc-b); border-radius: 999px; padding: .38rem .8rem; font: inherit; font-size: .85rem; cursor: pointer; }
.nc-chips button:hover, .nc-chips button:focus-visible { border-color: var(--nc-b); background: rgba(139,211,255,.08); outline: none; }
.nc-form { display: flex; gap: .6rem; padding: .9rem 1.1rem; border-top: 1px solid var(--nc-line); }
.nc-form textarea { flex: 1; min-height: 48px; max-height: 160px; resize: vertical; padding: .7rem .85rem; border-radius: 10px; border: 1px solid var(--nc-line); background: rgba(0,0,0,.3); color: inherit; font: inherit; line-height: 1.45; }
.nc-form textarea:focus { outline: 2px solid var(--nc-a); outline-offset: 1px; border-color: transparent; }
.nc-form button { padding: 0 1.2rem; border-radius: 10px; border: 0; background: var(--nc-a); color: #04150c; font: inherit; font-weight: 800; cursor: pointer; }
.nc-form button:disabled { opacity: .55; cursor: wait; }
.nc-fine { color: var(--nc-mute); font-size: .78rem; padding: 0 1.1rem .9rem; margin: 0; }
.nc-fine a { color: var(--nc-b); }
@media (max-width: 560px) { .nc-msg { max-width: 94%; } .nc-head .nc-full { display: none; } }
@media (prefers-reduced-motion: reduce) { .nc-typing i { animation: none; } }

.nc-src { margin-top: .7rem; padding-top: .55rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .82rem; }
.nc-src-h { display: block; color: var(--nc-mute); text-transform: uppercase; letter-spacing: .06em; font-size: .7rem; margin-bottom: .2rem; }
.nc-src-i { margin: .15rem 0; } .nc-src-i a { color: inherit; text-decoration: underline; text-underline-offset: 2px; } .nc-src-i small { color: var(--nc-mute); }
