@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.chat-message{width:100%;padding:1.5rem 1rem;animation:messageSlideIn .3s ease-out;position:relative}.chat-message.user{background-color:var(--bg-secondary)}.chat-message.bot{background-color:var(--bg-primary)}.chat-message.streaming{background:linear-gradient(90deg,var(--bg-primary) 0%,rgba(0,212,255,.03) 50%,var(--bg-primary) 100%);background-size:200% 100%;animation:streamingPulse 2s ease-in-out infinite}.chat-message.error{border-left:3px solid var(--color-error)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes streamingPulse{0%,to{background-position:0% 0%}50%{background-position:100% 0%}}.message-container{max-width:800px;margin:0 auto;display:flex;gap:1rem;align-items:flex-start}.message-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0;position:relative}.bot-avatar{background:linear-gradient(135deg,var(--jarvis-primary) 0%,var(--jarvis-secondary) 100%);color:#fff;box-shadow:0 0 20px #00d4ff4d,inset 0 0 10px #ffffff1a;border:1px solid rgba(0,212,255,.4)}.bot-avatar:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:1px solid transparent;background:linear-gradient(135deg,rgba(0,212,255,.5),transparent) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;animation:avatarGlow 3s ease-in-out infinite}@keyframes avatarGlow{0%,to{opacity:.5}50%{opacity:1}}.user-avatar{background:linear-gradient(135deg,var(--color-accent-purple) 0%,#7c3aed 100%);color:#fff;border:1px solid rgba(147,51,234,.4)}.message-body{flex:1;min-width:0}.message-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.message-sender{font-weight:600;color:var(--text-primary);font-size:.9rem}.chat-message.bot .message-sender{background:linear-gradient(90deg,var(--jarvis-primary),var(--jarvis-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.message-timestamp{font-size:.75rem;color:var(--text-tertiary)}.streaming-badge{font-size:.7rem;color:var(--jarvis-primary);background:#00d4ff1a;padding:.2rem .5rem;border-radius:4px;border:1px solid rgba(0,212,255,.2);animation:badgePulse 1.5s ease-in-out infinite}@keyframes badgePulse{0%,to{opacity:1}50%{opacity:.6}}.message-content-wrapper{position:relative}.message-text{color:var(--text-primary);line-height:1.7;word-wrap:break-word}.markdown-paragraph{margin:0 0 .75rem}.markdown-paragraph:last-child{margin-bottom:0}.inline-code{background:var(--code-bg);color:var(--jarvis-accent);padding:.2em .4em;border-radius:4px;font-family:var(--font-mono);font-size:.875em;border:1px solid var(--border-color)}.code-block-wrapper{margin:1rem 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);background:var(--code-bg)}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#00d4ff0d;border-bottom:1px solid var(--border-color)}.code-language{font-size:.75rem;color:var(--jarvis-primary);text-transform:uppercase;font-weight:600;letter-spacing:.05em}.code-copy-button{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:var(--text-secondary);background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s ease}.code-copy-button:hover{color:var(--jarvis-primary);border-color:var(--jarvis-primary);background:#00d4ff1a}.code-copy-button.copied{color:var(--color-success);border-color:var(--color-success)}.markdown-link{color:var(--jarvis-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;transition:all .2s ease;border-bottom:1px solid transparent}.markdown-link:hover{color:var(--jarvis-accent);border-bottom-color:var(--jarvis-accent)}.markdown-link svg{opacity:.7}.table-wrapper{overflow-x:auto;margin:1rem 0;border-radius:var(--radius-md);border:1px solid var(--border-color)}.markdown-table{width:100%;border-collapse:collapse;font-size:.875rem}.markdown-table th,.markdown-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.markdown-table th{background:#00d4ff0d;color:var(--jarvis-primary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.markdown-table tr:last-child td{border-bottom:none}.markdown-table tr:hover td{background:#00d4ff05}.markdown-blockquote{margin:1rem 0;padding:1rem 1.5rem;border-left:3px solid var(--jarvis-primary);background:#00d4ff08;border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--text-secondary)}.markdown-blockquote p{margin:0}.markdown-list{margin:.75rem 0;padding-left:1.5rem}.markdown-list li{margin:.25rem 0;padding-left:.25rem}.markdown-list li::marker{color:var(--jarvis-primary)}.markdown-list.ordered li::marker{font-weight:600}.streaming-cursor{display:inline-flex;gap:3px;margin-left:4px;vertical-align:middle}.cursor-dot{width:6px;height:6px;background:var(--jarvis-primary);border-radius:50%;animation:cursorBlink 1.4s ease-in-out infinite}.cursor-dot:nth-child(2){animation-delay:.2s}.cursor-dot:nth-child(3){animation-delay:.4s}@keyframes cursorBlink{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.copy-button{position:absolute;top:0;right:-2.5rem;width:28px;height:28px;border:none;background:var(--bg-tertiary);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;color:var(--text-secondary)}.message-content-wrapper:hover .copy-button{opacity:1}.copy-button:hover{background:var(--bg-hover);color:var(--jarvis-primary)}.copy-button.copied{color:var(--color-success);opacity:1}.copy-button svg{width:14px;height:14px}.message-error-badge{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;padding:.25rem .5rem;background:var(--color-error-bg);color:var(--color-error);font-size:.75rem;border-radius:4px}@media (max-width: 768px){.chat-message{padding:1rem .75rem}.message-container{gap:.75rem}.message-avatar{width:32px;height:32px;font-size:.8rem}.copy-button{position:static;opacity:1;margin-top:.5rem}.code-block-wrapper{margin:.75rem -.75rem;border-radius:0;border-left:none;border-right:none}}.chat-input-form{padding:1rem 1.5rem 1.5rem;background:var(--bg-primary);border-top:1px solid var(--border-color);position:relative}.chat-input-form.streaming:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--jarvis-primary),var(--jarvis-accent),var(--jarvis-primary),transparent);background-size:200% 100%;animation:streamingBar 1.5s linear infinite}@keyframes streamingBar{0%{background-position:100% 0}to{background-position:-100% 0}}.input-container{position:relative;display:flex;align-items:flex-end;max-width:800px;margin:0 auto;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all .2s ease;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff05}.input-container:focus-within{border-color:var(--jarvis-primary);box-shadow:0 0 0 2px #00d4ff26,0 0 20px #00d4ff1a}.chat-input{flex:1;padding:.875rem 3.5rem .875rem 1rem;border:none;outline:none;font-size:1rem;font-family:inherit;background:transparent;color:var(--text-primary);resize:none;min-height:24px;max-height:200px;overflow-y:hidden;line-height:1.5}.chat-input::placeholder{color:var(--text-tertiary)}.chat-input:disabled{cursor:not-allowed;opacity:.6}.send-button{position:absolute;right:.5rem;bottom:.5rem;width:36px;height:36px;border:none;border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 0 15px #00d4ff4d}.send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 0 25px #00d4ff80}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none}.send-button svg{width:18px;height:18px}.send-button.streaming{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 0 15px #ef444466;animation:stopButtonPulse 1s ease-in-out infinite}.send-button.streaming:hover{box-shadow:0 0 25px #ef444499}@keyframes stopButtonPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.send-button.loading{background:var(--bg-tertiary);box-shadow:none}.send-button-loader{display:flex;gap:3px;align-items:center}.send-button-loader span{width:4px;height:4px;background:var(--jarvis-primary);border-radius:50%;animation:loaderBounce .6s infinite alternate}.send-button-loader span:nth-child(2){animation-delay:.2s}.send-button-loader span:nth-child(3){animation-delay:.4s}@keyframes loaderBounce{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.input-hint{display:flex;justify-content:space-between;align-items:center;max-width:800px;margin:.5rem auto 0;padding:0 .5rem;font-size:.75rem;color:var(--text-tertiary)}.hint-text{display:flex;align-items:center;gap:.25rem}.hint-text kbd{padding:.125rem .375rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:.7rem;color:var(--jarvis-primary)}.character-count{color:var(--color-warning)}@media (max-width: 768px){.chat-input-form{padding:.75rem 1rem 1rem}.input-container{border-radius:10px}.chat-input{padding:.75rem 3rem .75rem .875rem;font-size:1rem}.send-button{width:32px;height:32px}.send-button svg{width:16px;height:16px}.input-hint{display:none}}.streaming-text-container{contain:content;content-visibility:auto;display:block;width:100%}.streaming-text-content{transform:translateZ(0);will-change:contents;font-family:inherit;font-size:inherit;line-height:1.6;color:var(--text-primary, #e8e8e8);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.streaming-text{display:inline;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.streaming-text-cursor{display:inline-flex;align-items:center;margin-left:2px;vertical-align:middle}.cursor-block{display:inline-block;width:8px;height:1.2em;background:var(--jarvis-primary, #00d4ff);border-radius:1px;animation:cursor-blink .8s ease-in-out infinite;transform:translateZ(0);will-change:opacity}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:.3}}@media (prefers-reduced-motion: reduce){.cursor-block{animation:none;opacity:.7}}.typing-indicator-wrapper{width:100%;padding:1.5rem 1rem;background-color:var(--bg-primary);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.typing-indicator-container{max-width:800px;margin:0 auto;display:flex;gap:1rem;align-items:flex-start}.typing-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--jarvis-primary) 0%,var(--jarvis-secondary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 20px #00d4ff4d;border:1px solid rgba(0,212,255,.4);animation:avatarPulse 2s ease-in-out infinite}@keyframes avatarPulse{0%,to{box-shadow:0 0 20px #00d4ff4d}50%{box-shadow:0 0 30px #00d4ff80}}.typing-content{display:flex;flex-direction:column;gap:.5rem}.typing-label{font-weight:600;font-size:.9rem;background:linear-gradient(90deg,var(--jarvis-primary),var(--jarvis-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.typing-dots{display:flex;gap:6px;padding:.5rem 0}.typing-dots span{width:8px;height:8px;background:var(--jarvis-primary);border-radius:50%;animation:typingBounce 1.2s infinite ease-in-out;box-shadow:0 0 8px var(--jarvis-primary)}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}@media (max-width: 768px){.typing-indicator-wrapper{padding:1rem .75rem}.typing-indicator-container{gap:.75rem}.typing-avatar{width:32px;height:32px}}@media (prefers-reduced-motion: reduce){.typing-avatar,.typing-dots span{animation:none}.typing-dots span{opacity:.6}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;height:100%;min-height:400px;gap:1.5rem}.jarvis-logo{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.logo-core{width:24px;height:24px;background:var(--gradient-primary);border-radius:50%;position:relative;z-index:3;box-shadow:0 0 20px var(--jarvis-primary),0 0 40px var(--jarvis-primary),inset 0 0 10px #ffffff80;animation:corePulse 2s ease-in-out infinite}.core-inner{position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:radial-gradient(circle,rgba(255,255,255,.8) 0%,transparent 70%);border-radius:50%}@keyframes corePulse{0%,to{transform:scale(1);box-shadow:0 0 20px var(--jarvis-primary),0 0 40px var(--jarvis-primary),inset 0 0 10px #ffffff80}50%{transform:scale(1.1);box-shadow:0 0 30px var(--jarvis-primary),0 0 60px var(--jarvis-primary),inset 0 0 15px #ffffffb3}}.logo-ring{position:absolute;border:2px solid var(--jarvis-primary);border-radius:50%;opacity:.5}.ring-1{width:50px;height:50px;animation:ringRotate 8s linear infinite;border-style:dashed}.ring-2{width:75px;height:75px;animation:ringRotate 12s linear infinite reverse;opacity:.3}.ring-3{width:100px;height:100px;animation:ringRotate 16s linear infinite;opacity:.2;border-style:dotted}.logo-particles{position:absolute;width:100%;height:100%}.particle{position:absolute;width:4px;height:4px;background:var(--jarvis-accent);border-radius:50%;top:50%;left:50%;transform:rotate(calc(var(--i) * 45deg)) translateY(-45px);opacity:.6;animation:particleFloat 3s ease-in-out infinite;animation-delay:calc(var(--i) * .15s)}@keyframes particleFloat{0%,to{opacity:.3;transform:rotate(calc(var(--i) * 45deg)) translateY(-45px) scale(.8)}50%{opacity:.8;transform:rotate(calc(var(--i) * 45deg)) translateY(-50px) scale(1)}}.empty-state-content{max-width:500px}.empty-state-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;display:flex;flex-direction:column;gap:.25rem}.empty-state-title .greeting{font-size:1rem;font-weight:400;color:var(--text-secondary)}.empty-state-title .question{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-state-description{font-size:.95rem;color:var(--text-secondary);margin:0;line-height:1.7}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;max-width:550px;width:100%}.quick-action-button{padding:1rem 1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;align-items:center;gap:.75rem}.quick-action-button:hover{background:var(--bg-hover);border-color:var(--jarvis-primary);transform:translateY(-2px);box-shadow:0 4px 15px #00d4ff26}.quick-action-button:active{transform:translateY(0)}.quick-action-icon{font-size:1.25rem}.quick-action-label{flex:1}.system-status{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-tertiary);margin-top:1rem}.status-dot{width:6px;height:6px;background:var(--color-success);border-radius:50%;animation:statusBlink 2s ease-in-out infinite}@keyframes statusBlink{0%,to{opacity:1}50%{opacity:.5}}.status-text{text-transform:uppercase;letter-spacing:.1em}.error-state{gap:1rem}.empty-state-icon{width:64px;height:64px;color:var(--color-primary);animation:floatIcon 3s ease-in-out infinite}.empty-state-icon.error{color:var(--color-error);animation:none}.empty-state-icon svg{width:100%;height:100%}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state-instructions{background:var(--bg-tertiary);padding:1rem 1.5rem;border-radius:var(--radius-md);margin-bottom:.5rem;border:1px solid var(--border-color)}.empty-state-instructions code{display:block;font-family:var(--font-mono);font-size:.85rem;color:var(--jarvis-primary);margin-bottom:.5rem}.empty-state-instructions p{margin:0;font-size:.85rem;color:var(--text-tertiary)}.empty-state-instructions p code{display:inline;background:var(--bg-secondary);padding:.125rem .375rem;border-radius:4px;font-size:.8rem;border:1px solid var(--border-color)}.empty-state-link{color:var(--jarvis-primary);text-decoration:none;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:.25rem}.empty-state-link:hover{color:var(--jarvis-accent);text-shadow:0 0 10px rgba(0,240,255,.5)}@media (max-width: 768px){.empty-state{padding:2rem 1rem;min-height:300px}.jarvis-logo{width:100px;height:100px}.logo-core{width:20px;height:20px}.ring-1{width:40px;height:40px}.ring-2{width:60px;height:60px}.ring-3{width:80px;height:80px}.particle{transform:rotate(calc(var(--i) * 45deg)) translateY(-35px)}@keyframes particleFloat{0%,to{transform:rotate(calc(var(--i) * 45deg)) translateY(-35px) scale(.8)}50%{transform:rotate(calc(var(--i) * 45deg)) translateY(-40px) scale(1)}}.empty-state-title{font-size:1.25rem}.empty-state-description{font-size:.9rem}.quick-actions{grid-template-columns:1fr}.quick-action-button{padding:.875rem 1rem}}@media (prefers-reduced-motion: reduce){.logo-core,.logo-ring,.particle,.status-dot,.empty-state-icon{animation:none}}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-error-bg);border-bottom:1px solid var(--color-error);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.error-banner-content{display:flex;align-items:center;gap:.75rem}.error-icon{width:18px;height:18px;color:var(--color-error);flex-shrink:0}.error-message{font-size:.875rem;color:var(--color-error);line-height:1.4}.error-banner-actions{display:flex;align-items:center;gap:.5rem}.error-action{border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.error-action.retry{padding:.375rem .75rem;background:var(--color-error);color:#fff;border-radius:4px;font-size:.8rem;font-weight:500}.error-action.retry:hover{background:var(--color-error-hover)}.error-action.dismiss{width:24px;height:24px;color:var(--color-error);padding:0}.error-action.dismiss:hover{opacity:.7}.error-action.dismiss svg{width:16px;height:16px}@media (max-width: 768px){.error-banner{padding:.625rem .875rem}.error-message{font-size:.8rem}}.chatbot-container{display:flex;flex-direction:column;height:100%;min-height:0;flex:1;width:100%;max-width:950px;margin:0 auto;background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 0 60px #00d4ff1a;overflow:hidden;border:1px solid var(--border-color);position:relative}.chatbot-container:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(0,212,255,.3),transparent 50%,rgba(0,212,255,.1));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;pointer-events:none}.floating-reactor{position:absolute;top:.75rem;right:.75rem;width:40px;height:40px;z-index:10;display:flex;align-items:center;justify-content:center}.reactor-core{width:10px;height:10px;background:var(--jarvis-primary);border-radius:50%;position:absolute;box-shadow:0 0 10px var(--jarvis-primary),0 0 20px var(--jarvis-primary),inset 0 0 5px #ffffff80;animation:coreGlow 2s ease-in-out infinite}@keyframes coreGlow{0%,to{box-shadow:0 0 10px var(--jarvis-primary),0 0 20px var(--jarvis-primary),inset 0 0 5px #ffffff80}50%{box-shadow:0 0 15px var(--jarvis-primary),0 0 30px var(--jarvis-primary),inset 0 0 8px #ffffffb3}}.reactor-ring{width:26px;height:26px;border:2px solid var(--jarvis-primary);border-radius:50%;position:absolute;opacity:.6;animation:ringRotate 10s linear infinite}.reactor-ring:before{content:"";position:absolute;top:-2px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--jarvis-accent);border-radius:50%}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reactor-glow{width:50px;height:50px;position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,.2) 0%,transparent 70%);animation:glowPulse 2s ease-in-out infinite}@keyframes glowPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.8}}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-chat);position:relative}.chat-main:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,212,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.02) 1px,transparent 1px);background-size:30px 30px;pointer-events:none}.chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;position:relative;z-index:1;overscroll-behavior:contain}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:var(--stark-deep)}.chat-messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px;border:1px solid var(--border-color)}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@media (max-width: 768px){.chatbot-container{border-radius:0;max-height:100vh;min-height:100vh;border:none}.chatbot-container:before{display:none}.chat-header{padding:.875rem 1rem}.header-title{font-size:1.25rem}.arc-reactor{width:32px;height:32px}.reactor-core{width:10px;height:10px}.reactor-ring{width:22px;height:22px}.reactor-glow{width:32px;height:32px}}@media (prefers-reduced-motion: reduce){.status-indicator.online,.status-indicator.streaming{animation:none}.chat-messages{scroll-behavior:auto}.jarvis-letter,.reactor-core,.reactor-ring,.reactor-glow{animation:none}.chat-header:after{animation:none}}@media (prefers-contrast: high){.chatbot-container{border-width:2px}.chatbot-container:before{display:none}.status-indicator.online,.status-indicator.offline{box-shadow:none}}:root{--jarvis-primary: #00d4ff;--jarvis-secondary: #0099cc;--jarvis-accent: #00f0ff;--jarvis-glow: rgba(0, 212, 255, .5);--jarvis-subtle: rgba(0, 212, 255, .1);--stark-deep: #0a1628;--stark-dark: #0d2137;--stark-mid: #122a45;--stark-light: #1a3a5c;--stark-surface: #0f2b47;--color-primary: #00d4ff;--color-primary-hover: #00b8e6;--color-primary-alpha: rgba(0, 212, 255, .2);--color-accent-blue: #3a7bd5;--color-accent-cyan: #00f0ff;--color-accent-purple: #9333ea;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-error-hover: #dc2626;--color-error-bg: rgba(239, 68, 68, .15);--gradient-primary: linear-gradient(135deg, #0099cc 0%, #00d4ff 50%, #00f0ff 100%);--gradient-accent: linear-gradient(90deg, #0099cc, #00d4ff, #00f0ff, #3a7bd5);--gradient-glow: radial-gradient(circle at center, rgba(0, 212, 255, .3), transparent 70%);--gradient-surface: linear-gradient(180deg, rgba(0, 212, 255, .03) 0%, transparent 100%);--bg-primary: #0d2137;--bg-secondary: #0a1628;--bg-tertiary: #122a45;--bg-header: #0a1628;--bg-chat: #0d2137;--bg-input: #0f2b47;--bg-hover: #1a3a5c;--bg-app: #060d17;--code-bg: #0a1628;--glass-bg: rgba(13, 33, 55, .8);--glass-border: rgba(0, 212, 255, .2);--glass-blur: blur(12px);--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-tertiary: #64748b;--text-inverse: #0a1628;--text-header: #e2e8f0;--border-color: rgba(0, 212, 255, .15);--border-focus: #00d4ff;--border-glow: 0 0 10px rgba(0, 212, 255, .3);--scrollbar-thumb: rgba(0, 212, 255, .3);--scrollbar-thumb-hover: rgba(0, 212, 255, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(0, 212, 255, .2);--shadow-glow-strong: 0 0 40px rgba(0, 212, 255, .3);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", "Monaco", monospace;--header-height: 64px;--footer-height: 50px;--max-content-width: 900px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);line-height:1.5;color:var(--text-primary);background:var(--bg-app);min-height:100vh;background-image:linear-gradient(rgba(0,212,255,.01) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.01) 1px,transparent 1px);background-size:50px 50px}:focus-visible{outline:2px solid var(--jarvis-primary);outline-offset:2px;box-shadow:var(--shadow-glow)}a{color:var(--jarvis-primary);text-decoration:none;transition:all var(--transition-fast)}a:hover{color:var(--jarvis-accent);text-shadow:0 0 8px rgba(0,240,255,.5)}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer;transition:all var(--transition-fast)}button:disabled{cursor:not-allowed;opacity:.5}code{font-family:var(--font-mono);font-size:.9em;background:var(--code-bg);color:var(--jarvis-accent);padding:.125rem .375rem;border-radius:var(--radius-sm);border:1px solid var(--border-color)}pre{font-family:var(--font-mono);background:var(--code-bg);padding:1rem;border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--border-color)}pre code{background:none;border:none;padding:0}::selection{background:var(--color-primary-alpha);color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--stark-deep)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px;border:1px solid var(--border-color)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.glow-text{text-shadow:0 0 10px var(--jarvis-glow)}.glass-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{display:flex;flex-direction:column;height:100vh;background:var(--bg-app);overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0}.app-header{text-align:center;padding:.5rem 1rem;background:var(--bg-header);border-bottom:1px solid rgba(255,255,255,.1)}.app-header h1{font-size:1.25rem;font-weight:700;margin:0;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-content{flex:1;display:flex;flex-direction:column;padding:.5rem;width:100%;max-width:1200px;margin:0 auto;overflow:hidden;min-height:0}.app-footer{text-align:center;padding:.5rem;background:var(--bg-header);border-top:1px solid rgba(255,255,255,.1)}.app-footer p{color:var(--text-tertiary);font-size:.75rem;margin:0 0 .25rem}.creator-credit{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.85rem}.creator-tag{color:var(--text-tertiary);display:flex;align-items:center;gap:.375rem}.code-icon{font-family:var(--font-mono);font-weight:700;padding:.125rem .375rem;background:#3a7bd51a;color:var(--color-accent-cyan);border-radius:var(--radius-sm);font-size:.75rem;border:1px solid rgba(0,210,255,.3)}.creator-name{font-weight:600;background:var(--gradient-accent);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 8s ease infinite;display:inline-flex;align-items:center;gap:.375rem;text-decoration:none;transition:transform var(--transition-fast)}.creator-name:hover{transform:translateY(-2px)}.github-icon{display:inline-flex;align-items:center;opacity:.8;transition:all var(--transition-fast)}.creator-name:hover .github-icon{opacity:1;transform:scale(1.1)}.github-icon svg{width:14px;height:14px;fill:var(--color-accent-cyan)}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media (max-width: 768px){.app-header{padding:1rem}.app-header h1{font-size:1.5rem}.app-header p{font-size:.8rem}.app-content{padding:1rem .5rem}.app-footer{padding:.75rem}.creator-credit{flex-direction:column;gap:.25rem;font-size:.8rem}}
