@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Rajdhani:wght@500;600;700&display=swap";:root{font-family:Rajdhani,system-ui,sans-serif;line-height:1.6;font-weight:500;color-scheme:dark;background-color:#070b0d;color:#e8fbf4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-display: "Rajdhani", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--text-primary: #e8fbf4;--text-secondary: #b3d7d0;--text-muted: #7aa7a3;--accent: #2ef2b1;--accent-2: #28c8ff}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#0e1a18,#071012 55%,#050809);position:relative;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:linear-gradient(120deg,rgba(40,200,255,.08),transparent 55%),repeating-linear-gradient(to right,rgba(46,242,177,.07) 0,rgba(46,242,177,.07) 1px,transparent 1px,transparent 120px),repeating-linear-gradient(to bottom,rgba(46,242,177,.06) 0,rgba(46,242,177,.06) 1px,transparent 1px,transparent 120px);pointer-events:none;opacity:.55;z-index:-1}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit}#root{min-height:100vh}.page{color:var(--text-primary);position:relative;overflow:hidden;background:#060a0cfa;min-height:100vh}.interactive-grid{position:absolute;inset:0;z-index:0;width:100%;height:100%}.interactive-grid-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.interactive-grid-content{position:relative;width:100%;height:100%}.chat-only{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;padding:4rem 1.5rem}.chat-panel{width:min(920px,100%);min-height:520px;border-radius:20px;border:1px solid rgba(80,164,170,.45);background:#060a0cdb;box-shadow:0 30px 80px #00000073;overflow:hidden;position:relative}.chat-panel:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(46,242,177,.05),rgba(46,242,177,.05) 1px,transparent 1px,transparent 4px);pointer-events:none;mix-blend-mode:screen}.chat-header{display:flex;align-items:center;gap:.9rem;padding:1.35rem 1.75rem;border-bottom:1px solid rgba(68,146,150,.45);background:#080d10eb}.chat-avatar{width:64px;height:64px;border-radius:16px;border:1px solid rgba(80,164,170,.6);display:grid;place-items:center;font-weight:700;color:var(--accent);background:#060a0ce6;box-shadow:inset 0 0 14px #2ef2b133;overflow:hidden}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-title{margin:0;font-size:1.05rem;font-weight:600}.chat-subtitle{margin:.15rem 0 0;font-size:.8rem;color:var(--text-muted)}.chat-pill{margin-left:auto;border-radius:999px;border:1px solid rgba(80,164,170,.5);padding:.3rem .85rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);background:#060a0ccc}.chat-body{padding:1.8rem 1.8rem 1.4rem;display:grid;gap:1rem}.message{display:grid;gap:.35rem;max-width:85%;opacity:0;transform:translateY(6px);animation:line-reveal .35s ease forwards;animation-delay:var(--delay, 0s)}.message.bot{justify-self:start}.message.user{justify-self:end;text-align:right}.name{margin:0;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.bubble{margin:0;padding:.65rem .9rem;border-radius:12px;background:#0e1418e6;border:1px solid rgba(80,164,170,.4);font-family:var(--font-mono);color:var(--text-primary);position:relative}.message.user .bubble{background:#141c22eb;border-color:#5ac8d280}.typing-dots{display:inline-flex;gap:.45rem;align-items:center;justify-content:center;min-width:60px}.typing-dots span{width:6px;height:6px;border-radius:50%;background:#e8fbf4cc;animation:dot-bounce 1.2s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.chat-input{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;padding:1.1rem 1.8rem 1.5rem;border-top:1px solid rgba(68,146,150,.45);background:#070c0ee6;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--text-muted)}.send-button{margin-left:auto;position:relative;border-radius:999px;border:1px solid rgba(80,164,170,.7);padding:.5rem 1.1rem;background:linear-gradient(135deg,#0b1619f2,#081013e6);color:var(--accent);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;box-shadow:inset 0 0 12px #2ef2b11f,0 10px 20px #00000059;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease}.send-button:hover{transform:translateY(-1px);border-color:#5ac8d2f2;color:var(--text-primary);box-shadow:inset 0 0 16px #2ef2b133,0 12px 24px #123c3f8c}.send-button:focus-visible{outline:2px solid rgba(90,200,210,.9);outline-offset:2px}.send-button:after{content:"";position:absolute;inset:2px;border-radius:inherit;border:1px dashed rgba(90,200,210,.35);opacity:.6;pointer-events:none}.input-text{display:inline-flex;align-items:center;gap:.5rem}.typing-wrap{display:inline-flex;align-items:center;min-width:0;gap:0}.input-typing{display:inline-block;white-space:nowrap;overflow:hidden;max-width:0;color:var(--text-secondary);font-family:var(--font-mono);text-transform:none;letter-spacing:.02em;border-right:2px solid var(--accent);padding-right:.2rem;animation:typing-loop var(--type-duration, 6s) steps(var(--chars, 28)) infinite,caret-loop var(--type-duration, 6s) steps(1,end) infinite;animation-delay:var(--type-delay, 0s)}.prompt{color:var(--accent)}@keyframes line-reveal{to{opacity:1;transform:translateY(0)}}@keyframes dot-bounce{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}}@keyframes typing-loop{0%{max-width:0}12%{max-width:0}55%{max-width:calc(var(--chars, 28) * 1ch)}70%{max-width:calc(var(--chars, 28) * 1ch)}92%{max-width:0}to{max-width:0}}@keyframes caret-loop{0%,55%{border-right-color:var(--accent)}56%,70%{border-right-color:transparent}71%,to{border-right-color:var(--accent)}}@media(max-width:720px){.chat-only{padding:2.5rem 1rem}.chat-panel{width:100%;min-height:0;border-radius:16px}.chat-header{padding:1.1rem 1.2rem;gap:.75rem}.chat-avatar{width:52px;height:52px;border-radius:14px}.chat-body{padding:1.4rem 1.2rem 1rem}.message{max-width:100%}.chat-input{flex-wrap:wrap;gap:.5rem;padding:1rem 1.2rem 1.2rem;font-size:.68rem;letter-spacing:.18em}.typing-wrap{width:100%}.send-button{width:100%;margin-left:0;justify-content:center}}
