/* AI section: assistant chat demo */
.aic { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 3rem); margin-top: clamp(2.5rem, 5vw, 4.5rem); align-items: start; }
.aic__win { position: sticky; top: calc(var(--bar-h, 72px) + 24px); display: flex; flex-direction: column; height: clamp(480px, 46vw, 600px); border-radius: 22px; overflow: hidden; border: 1px solid rgba(178,102,255,.28);
  background: radial-gradient(70% 55% at 85% 0%, rgba(144,15,255,.5), rgba(144,15,255,0) 70%), radial-gradient(60% 45% at 0% 100%, rgba(144,15,255,.22), rgba(144,15,255,0) 70%), linear-gradient(180deg, #0c0b13, #07070b); box-shadow: 0 30px 80px rgba(144,15,255,.12); }
.aic__bar { display: flex; align-items: center; gap: .7rem; padding: 1rem 1.3rem; border-bottom: 1px solid var(--line-dark); font-size: .95rem; letter-spacing: -0.02em; }
.aic__bar b { font-weight: 600; color: var(--cream); }
.aic__bar small { margin-left: auto; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--on-dark-2); }
.aic__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--purple-light); box-shadow: 0 0 0 0 rgba(178,102,255,.6); animation: aicPulse 2.4s ease-out infinite; }
@keyframes aicPulse { 70%, 100% { box-shadow: 0 0 0 10px rgba(178,102,255,0); } }
.aic__log { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: .9rem; padding: 1.3rem; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%); mask-image: linear-gradient(180deg, transparent 0, #000 22%); }
.aic__msg { max-width: 88%; padding: .85rem 1.1rem; border-radius: 18px; font-size: 1rem; letter-spacing: -0.02em; line-height: 1.4; animation: aicIn .5s var(--ease) both; }
.aic__msg--u { align-self: flex-end; background: var(--purple); color: #fff; border-bottom-right-radius: 5px; }
.aic__msg--a { align-self: flex-start; background: rgba(255,255,255,.07); border: 1px solid var(--line-dark); color: var(--on-dark); border-bottom-left-radius: 5px; }
.aic__msg--a b { display: block; margin-bottom: .35rem; font-size: 1.15rem; font-weight: 600; letter-spacing: -0.04em; color: var(--cream); }
.aic__msg--old { opacity: .38; transition: opacity .6s; }
.aic__msg .tag { display: inline-block; margin-top: .7rem; padding: .2rem .65rem; border: 1px solid rgba(178,102,255,.4); border-radius: 999px; font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--purple-light); }
.aic__dots { display: inline-flex; gap: 5px; padding: .35rem 0; }
.aic__dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--on-dark-2); animation: aicDot 1.1s ease-in-out infinite; }
.aic__dots i:nth-child(2) { animation-delay: .15s; } .aic__dots i:nth-child(3) { animation-delay: .3s; }
@keyframes aicDot { 0%, 60%, 100% { transform: none; opacity: .4; } 30% { transform: translateY(-5px); opacity: 1; } }
@keyframes aicIn { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.aic__input { display: flex; align-items: center; gap: .6rem; margin: 0 1.1rem 1.1rem; padding: .8rem .8rem .8rem 1.2rem; border: 1px solid var(--line-dark); border-radius: 999px; background: rgba(255,255,255,.04); min-height: 3.3rem; font-size: 1rem; letter-spacing: -0.02em; color: var(--on-dark); }
.aic__typed:empty::before { content: "Ask Novva.One anything\2026"; color: #6c6c74; }
.aic__caret { width: 2px; height: 1.1em; background: var(--purple-light); animation: aicBlink 1s steps(1) infinite; }
@keyframes aicBlink { 50% { opacity: 0; } }
.aic__send { margin-left: auto; width: 2rem; height: 2rem; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--purple); color: #fff; font-size: 1rem; transition: transform .25s var(--ease); }
.aic__send.is-sent { transform: scale(.85); }
.aic__chips { display: grid; gap: .5rem; margin-bottom: 1.6rem; }
.aic__chip { position: relative; width: 100%; display: grid; grid-template-columns: 2.6rem 1fr; gap: .4rem; align-items: baseline; text-align: left; padding: .85rem 1.1rem; border: 1px solid var(--line-dark); border-radius: 14px; font-size: 1.02rem; font-weight: 500; letter-spacing: -0.03em; line-height: 1.25; color: #8d8d96; overflow: hidden; transition: color .3s, border-color .3s, background .3s, transform .4s var(--ease); }
.aic__chip span { font-size: .78rem; font-weight: 600; color: #6c6c74; transition: color .3s; }
.aic__chip:hover { color: var(--cream); border-color: rgba(178,102,255,.4); transform: translateX(4px); }
.aic__chip.is-active { color: #fff; border-color: rgba(178,102,255,.55); background: linear-gradient(90deg, rgba(144,15,255,.28), rgba(144,15,255,.06)); }
.aic__chip.is-active span { color: var(--purple-light); }
.aic__chip::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: var(--purple-light); }
.aic__chip.is-active::after { animation: aicFill var(--aic-wait, 3.8s) linear forwards; }
.aic__chip.is-hold::after { animation: none; width: 0; }
@keyframes aicFill { to { width: 100%; } }
.aic__next { margin-top: 0; }
@media (max-width: 960px) { .aic { grid-template-columns: 1fr; } .aic__win { position: relative; top: 0; height: 520px; } }
@media (prefers-reduced-motion: reduce) { .aic__dot, .aic__caret, .aic__dots i, .aic__msg { animation: none; } }
