/* कनक — AI guide panel (glass + aurora look) */
#kanak{--kn:#ffb347;--kn2:#ff7e5f;--kn3:#a46bff;--kn4:#4f8cff;position:fixed;right:18px;bottom:18px;z-index:60;font-family:'Space Grotesk',system-ui,sans-serif}
#kanak:not(.ready){display:none}
@property --knang{syntax:'<angle>';initial-value:0deg;inherits:false}

/* ---------- avatar orb ---------- */
.kn-av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none;position:relative;isolation:isolate;
  background:radial-gradient(circle at 30% 25%,#fff3d6 0,#ffc46b 28%,#ff7e5f 62%,#a46bff 100%);color:#2a1030;font-size:21px;font-weight:700;
  box-shadow:0 0 18px rgba(255,150,90,.55),inset 0 -4px 10px rgba(80,20,90,.35)}
.kn-av::before{content:"";position:absolute;inset:-4px;border-radius:50%;z-index:-1;
  background:conic-gradient(from var(--knang),#ffb347,#ff7e5f,#a46bff,#4f8cff,#2ee6a6,#ffb347);animation:knSpin 4s linear infinite;
  -webkit-mask:radial-gradient(circle,transparent 58%,#000 60%);mask:radial-gradient(circle,transparent 58%,#000 60%)}
.kn-av b{font-family:'Noto Sans Devanagari','Space Grotesk',sans-serif;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.4)}
/* Kanak's illustrated face (original artwork, not a real person) */
.kn-av{background:#ffb877 url(kanak-photo-192.jpg) center 20%/cover no-repeat}.kn-av.big{background-image:url(kanak-photo-512.jpg)}
.kn-av b{opacity:0;position:absolute}
.kn-av.big{width:50px;height:50px;font-size:24px}
@keyframes knSpin{to{--knang:360deg}}
.kn-av.talk{animation:knTalk 1.1s ease-in-out infinite}
.kn-av.talk::before{animation-duration:1.2s}
@keyframes knTalk{50%{box-shadow:0 0 34px rgba(255,150,90,.9),inset 0 -4px 10px rgba(80,20,90,.35);transform:scale(1.06)}}
#kanak.listening .kn-av.big::before{background:conic-gradient(from var(--knang),#2ee6a6,#4f8cff,#2ee6a6);animation-duration:1.6s}
#kanak.listening .kn-av.big{box-shadow:0 0 26px rgba(46,230,166,.7)}
.kn-wave{position:absolute;bottom:-5px;right:-8px;display:none;gap:2px;align-items:flex-end;height:15px;padding:2px 4px;border-radius:7px;background:#0a0f1e;border:1px solid rgba(255,179,71,.4)}
.kn-wave span{width:3px;background:linear-gradient(var(--kn),var(--kn2));border-radius:2px;animation:knBar .8s ease-in-out infinite}
.kn-wave span:nth-child(2){animation-delay:.15s}.kn-wave span:nth-child(3){animation-delay:.3s}
.kn-av.talk .kn-wave{display:flex}
@keyframes knBar{0%,100%{height:3px}50%{height:11px}}

/* ---------- floating button ---------- */
.kn-fab{position:relative;display:flex;align-items:center;gap:10px;border:0;color:#fff;padding:6px 18px 6px 6px;border-radius:99px;font-size:14px;font-weight:600;cursor:pointer;
  background:linear-gradient(rgba(14,20,40,.92),rgba(14,20,40,.92)) padding-box,conic-gradient(from var(--knang),#ffb347,#ff7e5f,#a46bff,#4f8cff,#ffb347) border-box;
  border:2px solid transparent;animation:knSpin 5s linear infinite;box-shadow:0 14px 40px rgba(0,0,0,.5),0 0 24px rgba(164,107,255,.35);transition:transform .2s}
.kn-fab:hover{transform:translateY(-2px) scale(1.02)}
.kn-fab .kn-av::after{content:"";position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#2ee6a6;border:2px solid #0e1428;box-shadow:0 0 8px #2ee6a6}
.kn-fab.nudge{animation:knSpin 5s linear infinite,knNudge 2.6s ease-in-out infinite}
@keyframes knNudge{50%{box-shadow:0 14px 40px rgba(0,0,0,.5),0 0 40px rgba(255,179,71,.6)}}
#kanak.open .kn-fab{display:none}

/* ---------- panel ---------- */
.kn-panel{position:relative;width:min(410px,calc(100vw - 24px));height:min(640px,calc(100vh - 36px));display:flex;flex-direction:column;overflow:hidden;border-radius:24px;
  background:linear-gradient(160deg,rgba(18,24,52,.94),rgba(10,14,30,.97)) padding-box,conic-gradient(from var(--knang),#ffb347,#ff7e5f,#a46bff,#4f8cff,#2ee6a6,#ffb347) border-box;
  border:1.5px solid transparent;animation:knIn .4s cubic-bezier(.2,.8,.2,1),knSpin 8s linear infinite;
  box-shadow:0 30px 90px rgba(0,0,0,.65),0 0 60px rgba(164,107,255,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
@keyframes knIn{from{opacity:0;transform:translateY(24px) scale(.96)}}
.kn-panel[hidden],.kn-bubble[hidden]{display:none!important}
#kanak.touring .kn-panel{height:min(340px,calc(100vh - 36px))}
@media (max-width:600px){#kanak{right:8px;bottom:8px;left:8px}.kn-panel{width:100%;height:min(74vh,600px);border-radius:20px}#kanak.touring .kn-panel{height:44vh}.kn-fab{margin-left:auto}#kanak:not(.open){left:auto}}

.kn-head{position:relative;display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;border-bottom:1px solid rgba(255,255,255,.07);overflow:hidden}
.kn-head::before{content:"";position:absolute;inset:-40%;z-index:-1;opacity:.55;filter:blur(30px);
  background:radial-gradient(circle at 20% 50%,rgba(255,179,71,.45),transparent 40%),radial-gradient(circle at 70% 30%,rgba(164,107,255,.45),transparent 45%),radial-gradient(circle at 90% 80%,rgba(79,140,255,.35),transparent 40%);
  animation:knAurora 9s ease-in-out infinite alternate}
@keyframes knAurora{to{transform:translate(6%,-4%) rotate(8deg)}}
.kn-who{flex:1;min-width:0;display:flex;flex-direction:column}
.kn-who b{font-size:18px;letter-spacing:.3px;background:linear-gradient(90deg,#ffe29a,#ffb347,#ff9a8a);-webkit-background-clip:text;background-clip:text;color:transparent}
.kn-who small{color:#b8c3e6;font-size:12px;display:flex;align-items:center;gap:6px}
.kn-who small::before{content:"";width:7px;height:7px;border-radius:50%;background:#2ee6a6;box-shadow:0 0 8px #2ee6a6}
.kn-ico{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--text,#e8eefc);width:36px;height:36px;border-radius:12px;font-size:15px;cursor:pointer;transition:.2s}
.kn-ico:hover{border-color:var(--kn);background:rgba(255,179,71,.12)}
.kn-talkbtn.on{background:linear-gradient(135deg,#2ee6a6,#4f8cff);border-color:transparent;color:#05131f;box-shadow:0 0 14px rgba(46,230,166,.5)}
#knAv{cursor:pointer}

/* ---------- messages ---------- */
.kn-msgs{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.kn-m{max-width:86%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.65;animation:knMsg .35s cubic-bezier(.2,.9,.3,1.2) both;font-family:'Noto Sans Devanagari','Space Grotesk',sans-serif}
@keyframes knMsg{from{opacity:0;transform:translateY(8px) scale(.97)}}
.kn-m.bot{align-self:flex-start;border-top-left-radius:5px;color:#eef2ff;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);box-shadow:inset 3px 0 0 rgba(255,179,71,.55)}
.kn-m.bot.title{background:linear-gradient(135deg,rgba(255,179,71,.22),rgba(164,107,255,.18));border-color:rgba(255,179,71,.4);color:#ffe7c2;box-shadow:none}
.kn-m.me{align-self:flex-end;border-top-right-radius:5px;color:#fff;background:linear-gradient(135deg,#4f8cff,#a46bff);box-shadow:0 6px 18px rgba(79,140,255,.3)}

/* ---------- quick replies ---------- */
.kn-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 14px 12px;max-height:42%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,179,71,.35) transparent}
.kn-chips::-webkit-scrollbar,.kn-msgs::-webkit-scrollbar{width:6px}
.kn-chips::-webkit-scrollbar-track,.kn-msgs::-webkit-scrollbar-track{background:transparent}
.kn-chips::-webkit-scrollbar-thumb,.kn-msgs::-webkit-scrollbar-thumb{background:rgba(255,179,71,.3);border-radius:6px}
.kn-chips:empty{display:none}
.kn-chips button{cursor:pointer;color:#fff3e0;padding:8px 14px;border-radius:99px;font-size:13.5px;text-align:left;font-family:'Noto Sans Devanagari','Space Grotesk',sans-serif;
  background:linear-gradient(rgba(30,24,50,.9),rgba(30,24,50,.9)) padding-box,linear-gradient(135deg,#ffb347,#a46bff) border-box;border:1px solid transparent;transition:transform .15s,box-shadow .2s}
.kn-chips button:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(255,150,90,.3)}
.kn-num{display:flex;gap:8px;width:100%}
.kn-num input{flex:1;background:rgba(5,9,18,.7);border:1px solid rgba(255,255,255,.12);color:#fff;padding:9px 12px;border-radius:12px;font-family:'JetBrains Mono',monospace;font-size:15px;outline:none}
.kn-num button{text-align:center!important}

/* ---------- input ---------- */
.kn-input{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.07);background:rgba(5,8,18,.4)}
.kn-input input{flex:1;min-width:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;padding:12px 14px;border-radius:14px;font:inherit;font-size:15px;outline:none;transition:.2s}
.kn-input input:focus{border-color:var(--kn);box-shadow:0 0 0 3px rgba(255,179,71,.15)}
.kn-mic,.kn-send{flex:none;width:44px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#fff;font-size:17px;cursor:pointer;transition:.2s}
.kn-send{background:linear-gradient(135deg,#ffb347,#ff7e5f);color:#2a1030;border:0;font-weight:700;box-shadow:0 6px 16px rgba(255,126,95,.4)}
.kn-send:hover{transform:translateY(-1px)}
.kn-mic.on{background:linear-gradient(135deg,#2ee6a6,#4f8cff);border-color:transparent;animation:knMicPulse 1.3s infinite}
@keyframes knMicPulse{0%{box-shadow:0 0 0 0 rgba(46,230,166,.6)}70%{box-shadow:0 0 0 12px rgba(46,230,166,0)}100%{box-shadow:0 0 0 0 rgba(46,230,166,0)}}

/* ---------- bubble tips ---------- */
.kn-bubble{position:absolute;right:0;bottom:66px;max-width:min(290px,calc(100vw - 32px));text-align:left;cursor:pointer;border:0;border-radius:18px 18px 5px 18px;padding:11px 15px;
  background:linear-gradient(135deg,#fff7ea,#ffe9f0);color:#2a1030;font:600 13.5px/1.45 'Noto Sans Devanagari','Space Grotesk',sans-serif;box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 2px rgba(255,179,71,.35)}
.kn-bubble.pop{animation:knBubble .5s cubic-bezier(.2,1.4,.4,1)}
@keyframes knBubble{from{opacity:0;transform:translateY(12px) scale(.9)}}
#kanak.open .kn-bubble{display:none}

.kn-focus{outline:2px solid var(--kn)!important;outline-offset:4px;box-shadow:0 0 0 8px rgba(255,179,71,.15),0 0 60px rgba(255,179,71,.25)!important;transition:outline-color .3s,box-shadow .3s}
@media (prefers-reduced-motion:reduce){.kn-panel,.kn-m,.kn-fab,.kn-av::before,.kn-head::before{animation:none!important}}

/* ---------- floating button v2: white card with Kanak's photo (matches the white site) ---------- */
.kn-fab{background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--knang),#ffb347,#ff7e5f,#a46bff,#4f8cff,#ffb347) border-box;color:#1c1d2e;
  padding:6px 8px 6px 6px;gap:12px;box-shadow:0 16px 40px rgba(40,30,90,.22),0 0 0 6px rgba(164,107,255,.10)}
.kn-fab .kn-av{width:54px;height:54px;box-shadow:0 6px 16px rgba(255,126,95,.35)}
.kn-fab .kn-av::after{width:13px;height:13px;border-color:#fff}
.kn-fab-t{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left}
.kn-fab-t b{font-family:'Noto Sans Devanagari','Space Grotesk',sans-serif;font-size:15.5px;font-weight:700;color:#1c1d2e}
.kn-fab-t small{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;color:#6b7089;margin-top:3px;font-family:'Noto Sans Devanagari','Space Grotesk',sans-serif}
.kn-fab-t small i{width:7px;height:7px;border-radius:50%;background:#10a372;box-shadow:0 0 0 3px rgba(16,163,114,.18);animation:knLive 1.6s ease-in-out infinite}
@keyframes knLive{50%{box-shadow:0 0 0 6px rgba(16,163,114,0)}}
.kn-fab-go{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:linear-gradient(135deg,#ff7e5f,#a46bff);color:#fff;box-shadow:0 6px 14px rgba(164,107,255,.4)}
.kn-fab:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 22px 50px rgba(40,30,90,.28),0 0 0 8px rgba(164,107,255,.14)}
.kn-fab::after{content:"";position:absolute;inset:-6px;border-radius:99px;border:2px solid rgba(164,107,255,.35);animation:knRing 2.4s ease-out infinite;pointer-events:none}
@keyframes knRing{from{opacity:.9;transform:scale(.96)}to{opacity:0;transform:scale(1.08)}}
.kn-bubble{background:#fff!important;color:#1c1d2e!important;border:1px solid #e6e8f2!important;box-shadow:0 12px 30px rgba(40,30,90,.18)!important}
@media (max-width:600px){
  .kn-fab{gap:8px;padding:5px 6px 5px 5px}
  .kn-fab .kn-av{width:46px;height:46px}
  .kn-fab-t b{font-size:13.5px}.kn-fab-t small{font-size:10.5px}
  .kn-fab-go{width:32px;height:32px;font-size:14px}
}.kn-bubble{bottom:82px!important}
