@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;700;800&family=JetBrains+Mono:wght@300;400;500&display=swap";:root{--bg:#070c18;--s1:#0a1020;--s2:#0d1828;--b1:#1a2a40cc;--b2:#2a508080;--acc:#4a9eed;--acc2:#7ee8d0;--txt:#c8dff0;--mut:#2a4060;--mut2:#3a6080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);height:100%;color:var(--txt);-webkit-font-smoothing:antialiased;font-family:Syne,sans-serif;overflow:hidden}.bg{z-index:0;background:radial-gradient(ellipse 65% 55% at 15% 15%,#4a9eed12 0%,transparent 55%), radial-gradient(ellipse 55% 65% at 85% 85%,#7ee8d00d 0%,transparent 55%),var(--bg);position:fixed;inset:0}.grid-bg{z-index:0;background-image:linear-gradient(#4a9eed08 1px,#0000 1px),linear-gradient(90deg,#4a9eed08 1px,#0000 1px);background-size:56px 56px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(75% 75%,#000 10%,#0000 100%);mask-image:radial-gradient(75% 75%,#000 10%,#0000 100%)}.shell{z-index:1;flex-direction:column;height:100dvh;display:flex;position:relative}header{border-bottom:1px solid var(--b1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#070c18bf;flex-shrink:0;justify-content:space-between;align-items:center;padding:13px 20px;display:flex}.logo{align-items:center;gap:11px;display:flex}.gem{border:1.5px solid var(--acc);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative;box-shadow:0 0 12px #4a9eed2e}.gem:before{content:"";border:1px solid #4a9eed38;border-radius:4px;animation:3s ease-in-out infinite pb;position:absolute;inset:4px}@keyframes pb{0%,to{opacity:.3}50%{opacity:.75}}.gem-dot{background:var(--acc);width:8px;height:8px;box-shadow:0 0 8px var(--acc);border-radius:50%;animation:2s ease-in-out infinite pd}@keyframes pd{0%,to{box-shadow:0 0 5px var(--acc)}50%{box-shadow:0 0 14px var(--acc),0 0 22px #4a9eed4d}}.logo-n{letter-spacing:4px;background:linear-gradient(135deg,var(--acc),var(--acc2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:800}.logo-s{color:var(--mut);letter-spacing:2.5px;margin-top:1px;font-family:JetBrains Mono,monospace;font-size:7px}.pill{letter-spacing:1.5px;border:1px solid var(--b1);color:var(--mut2);border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:9px;transition:all .4s;display:flex}.pdot{background:var(--mut2);border-radius:50%;width:5px;height:5px;transition:all .4s}.pill-on{color:var(--acc2);background:#7ee8d00d;border-color:#7ee8d040}.pill-on .pdot{background:var(--acc2);box-shadow:0 0 6px var(--acc2);animation:1.2s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.karatahta{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.kb-center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;padding:20px;display:flex}.orb-wrap{justify-content:center;align-items:center;width:180px;height:180px;display:flex;position:relative}.ring{pointer-events:none;border:1px solid;border-radius:50%;animation:linear infinite spin;position:absolute}.r1{border-color:#4a9eed29;animation-duration:12s;inset:0}.r2{border-color:#7ee8d01a;animation-duration:8s;animation-direction:reverse;inset:13px}.r3{border-style:dashed;border-color:#4a9eed12;animation-duration:22s;inset:26px}@keyframes spin{to{transform:rotate(360deg)}}.orb-core{z-index:2;background:radial-gradient(circle at 35% 35%,#4a9eed2e 0%,#4a9eed0a 55%,#0000 70%);border:1px solid #4a9eed29;border-radius:50%;justify-content:center;align-items:center;width:94px;height:94px;display:flex;position:relative;box-shadow:0 0 28px #4a9eed14,inset 0 0 18px #4a9eed0a}.orb-dot{background:var(--acc);width:10px;height:10px;box-shadow:0 0 10px var(--acc);border-radius:50%;animation:2s ease-in-out infinite pd}.idle-hint{letter-spacing:2px;color:var(--mut);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:9px}.idle-tasks{flex-direction:column;gap:6px;width:100%;max-width:300px;margin-top:8px;display:flex}.idle-task-row{background:var(--s2);border:1px solid var(--b1);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.idle-task-dot{color:var(--mut2);font-size:12px}.idle-task-txt{color:var(--mut2);font-size:13px}.kb-conv{flex-direction:column;flex:1;display:flex;overflow:hidden}.viz-area{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-height:140px;padding:20px 20px 0;display:flex}.viz-block{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:380px;display:flex}.viz-canvas{opacity:.85;border-radius:8px;width:100%;max-width:360px}.viz-label{letter-spacing:2.5px;color:var(--mut2);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:9px}.hena-label{color:#7ee8d080}.bubbles{flex-direction:column;flex:1;gap:10px;padding:16px 20px;display:flex;overflow-y:auto}.bubbles::-webkit-scrollbar{width:2px}.bubbles::-webkit-scrollbar-thumb{background:var(--b1);border-radius:2px}.bubble{max-width:85%;display:flex}.bubble-user{align-self:flex-end}.bubble-agent{align-self:flex-start}.bubble-txt{border-radius:16px;padding:11px 15px;font-size:14px;line-height:1.55}.bubble-user .bubble-txt{color:var(--txt);background:#4a9eed1f;border:1px solid #4a9eed33;border-radius:16px 16px 4px}.bubble-agent .bubble-txt{color:#c8f0dcf2;background:#7ee8d014;border:1px solid #7ee8d026;border-radius:16px 16px 16px 4px}.music-panel{flex-direction:column;align-items:center;gap:18px;display:flex}.music-bars-wrap{align-items:flex-end;gap:5px;height:70px;display:flex}.mbar{background:linear-gradient(to top,var(--acc),var(--acc2));border-radius:4px;width:7px;animation:.7s ease-in-out infinite alternate mb}@keyframes mb{0%{height:10px}to{height:100%}}.music-now{letter-spacing:3px;color:var(--mut2);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:9px}.music-track{color:var(--acc2);text-align:center;font-size:22px;font-weight:700}.back-btn{border:1px solid var(--b1);color:var(--mut2);cursor:pointer;background:0 0;border-radius:8px;margin-top:4px;padding:7px 16px;font-size:12px;transition:all .2s}.back-btn:hover{color:var(--acc);border-color:#4a9eed4d}.kb-tasks-wrap{flex-direction:column;flex:1;gap:10px;padding:16px 20px;display:flex;overflow-y:auto}.kb-tasks-hdr{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.kb-lbl{letter-spacing:2px;color:var(--mut2);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:9px}.kb-x{color:var(--mut);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px;transition:color .2s}.kb-x:hover{color:var(--acc)}.kb-empty{color:var(--mut);text-align:center;padding:24px;font-family:JetBrains Mono,monospace;font-size:11px}.tasks-list{flex-direction:column;gap:8px;display:flex}.task-item{background:var(--s2);border:1px solid var(--b1);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .2s;display:flex}.task-item:hover{border-color:#4a9eed33}.task-chk{border:1.5px solid var(--mut);width:20px;height:20px;color:var(--mut);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;transition:all .2s;display:flex}.task-chk:hover{border-color:var(--acc2);color:var(--acc2)}.task-n{color:var(--txt);font-size:13px}.task-d{color:var(--mut2);margin-top:2px;font-size:11px}.text-bar{border-top:1px solid var(--b1);background:#070c18d9;flex-shrink:0;gap:8px;padding:10px 16px;display:flex}.text-in{background:var(--s2);border:1px solid var(--b1);color:var(--txt);border-radius:12px;outline:none;flex:1;padding:11px 14px;font-family:Syne,sans-serif;font-size:14px;transition:border-color .2s}.text-in:focus{border-color:#4a9eed59}.text-in::placeholder{color:var(--mut)}.text-send,.text-cls{cursor:pointer;border:1px solid;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;transition:all .2s;display:flex}.text-send{color:var(--acc);background:#4a9eed1a;border-color:#4a9eed4d}.text-send:hover{background:#4a9eed33}.text-cls{border-color:var(--b1);background:var(--s2);color:var(--mut)}.text-cls:hover{color:var(--acc)}footer{border-top:1px solid var(--b1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#070c18cc;flex-shrink:0;justify-content:center;align-items:center;gap:10px;padding:13px 18px;display:flex}.fb{border:1px solid var(--b1);background:var(--s2);color:var(--mut2);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.fb:hover,.fb-on{color:var(--acc);background:#4a9eed14;border-color:#4a9eed4d}.fb.sm{flex-shrink:0;width:44px;height:44px}.main-btn{letter-spacing:2px;max-width:200px;height:52px;color:var(--acc);background:#4a9eed12;border-color:#4a9eed33;flex:1;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;position:relative;overflow:hidden}.main-btn:hover{background:#4a9eed21;border-color:#4a9eed59}.main-on{animation:2.5s ease-in-out infinite blink;color:var(--acc2)!important;background:#7ee8d012!important;border-color:#7ee8d047!important}.mic-ico{pointer-events:none;font-size:18px}.main-lbl{pointer-events:none}.sheet-bg{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070c18d1;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{border-top:1px solid var(--b1);background:#090f1afa;border-radius:22px 22px 0 0;flex-direction:column;gap:16px;width:100%;padding:18px 22px 32px;display:flex}.sheet-handle{background:var(--b2);border-radius:3px;align-self:center;width:32px;height:3px;margin-bottom:4px}.sheet-title{letter-spacing:3px;color:var(--mut2);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:9px}.s-row{align-items:center;gap:12px;display:flex}.s-lbl{color:var(--mut2);flex-shrink:0;width:78px;font-family:JetBrains Mono,monospace;font-size:10px}.s-val{color:var(--acc);text-align:right;flex-shrink:0;width:34px;font-family:JetBrains Mono,monospace;font-size:10px}select{background:var(--s2);border:1px solid var(--b1);color:var(--txt);cursor:pointer;border-radius:8px;outline:none;flex:1;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:10px}@media (width<=430px){header{padding:11px 16px}footer{gap:8px;padding:11px 14px}.main-btn{max-width:155px}.orb-wrap{width:150px;height:150px}.orb-core{width:80px;height:80px}}.main-connecting{opacity:.7;cursor:wait!important}.spinner{border:2px solid #4a9eed33;border-top-color:var(--acc);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin-s}@keyframes spin-s{to{transform:rotate(360deg)}}.viz-area{border-top:1px solid var(--b1);flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:8px 20px 12px;display:flex}.viz-idle{align-items:center;gap:8px;padding:6px 0;display:flex}.viz-idle-dot{background:var(--mut2);border-radius:50%;width:6px;height:6px}:root{--bg:#050810;--bg-elev:#0b1220;--bg-elev2:#111a2d;--border:#63b3ed2e;--border-strong:#63b3ed59;--text:#e6edf7;--text-dim:#8a99b3;--text-faint:#5b6783;--accent:#63b3ed;--accent2:#7ee8d0;--danger:#ff6b6b;--shadow-glow:0 0 32px #63b3ed40;--font-display:"Syne", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;min-height:100vh;margin:0;padding:0}body{background:radial-gradient(ellipse 80% 60% at 50% 0%, #63b3ed14, transparent 70%), radial-gradient(ellipse 60% 50% at 50% 100%, #7ee8d00d, transparent 70%), var(--bg);color:var(--text);font-family:var(--font-display);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:500;overflow:hidden}button{color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{color:inherit;background:0 0;border:none;outline:none;font-family:inherit}.mono{font-family:var(--font-mono);letter-spacing:.08em}input[type=range]{-webkit-appearance:none;background:var(--border);cursor:pointer;border-radius:3px;outline:none;flex:1;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);width:14px;height:14px;box-shadow:0 0 6px var(--accent);cursor:pointer;border-radius:50%}select{border:1px solid var(--border);font-family:var(--font-mono);cursor:pointer;background:#63b3ed0d;border-radius:8px;flex:1;padding:6px 10px;font-size:11px}select option{background:var(--bg-elev)}@keyframes hena-ring-spin{to{transform:rotate(360deg)}}@keyframes hena-ring-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes hena-ring-breath{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:.8;transform:scale(1.04)}}@keyframes hena-glow{0%,to{box-shadow:0 0 18px #63b3ed40}50%{box-shadow:0 0 32px #7ee8d066}}.hena-rings{place-items:center;width:180px;height:180px;display:grid;position:relative}.hena-rings:before,.hena-rings:after,.hena-rings>.hena-ring{content:"";border-radius:50%;position:absolute}.hena-rings:before{border:1px dashed var(--accent);opacity:.3;animation:18s linear infinite hena-ring-spin;inset:0}.hena-rings:after{border:1px dashed var(--accent2);opacity:.4;animation:12s linear infinite reverse hena-ring-spin;inset:18px}.hena-rings>.hena-ring{border:1px solid var(--accent);opacity:.5;animation:4s ease-in-out infinite hena-ring-breath;inset:36px}.hena-rings--listening:before{animation-duration:6s}.hena-rings--listening>.hena-ring{border-color:var(--accent2);animation:1.2s ease-in-out infinite hena-ring-pulse}.hena-rings--speaking:before{border-color:var(--accent2);animation-duration:3s}.hena-rings--speaking>.hena-ring{animation:.55s ease-in-out infinite hena-ring-pulse}.hena-core{background:radial-gradient(circle at 30% 30%, var(--accent2), var(--accent) 60%, #63b3ed59 100%);z-index:1;border-radius:50%;place-items:center;width:76px;height:76px;animation:4s ease-in-out infinite hena-glow;display:grid;position:relative;overflow:hidden}elevenlabs-convai{display:block}
