@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";.hero-select{width:240px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-panel);border-right:4px solid var(--border-dim);overflow:hidden}.hero-select-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:4px solid var(--border-dim);background:#2255c80f;flex-shrink:0}.hero-select-label{font-family:"Press Start 2P",monospace;font-size:7px;color:var(--accent-gold);letter-spacing:0}.hero-select-count{font-family:"Press Start 2P",monospace;font-size:8px;color:var(--text-primary);background:var(--bg-card);padding:4px 8px;border:2px solid var(--accent-blue);box-shadow:2px 2px #000}.hero-list{flex:1;display:flex;flex-direction:column;padding:10px 8px;gap:10px;overflow-y:auto}.hero-card{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;background:var(--bg-card);border:3px solid var(--border-dim);cursor:pointer;text-align:left;overflow:hidden;box-shadow:inset -2px -2px #0009,inset 2px 2px #ffffff0a;padding:0}.hero-card:hover{background:color-mix(in srgb,var(--agent-color) 12%,var(--bg-card));border-color:var(--agent-color);box-shadow:0 0 0 2px #000,0 0 0 4px var(--agent-color),inset -2px -2px #0009}.hero-card.active{background:color-mix(in srgb,var(--agent-color) 20%,var(--bg-card));border-color:var(--agent-color);box-shadow:0 0 0 2px #000,0 0 0 5px var(--agent-color),0 0 0 7px #000,inset -2px -2px #0009}.card-glow{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--agent-color);opacity:0;z-index:3}.hero-card.active .card-glow{opacity:1;animation:pixel-flash 1s steps(2,jump-both) infinite}@keyframes pixel-flash{0%,to{opacity:1}50%{opacity:.2}}.card-image-area{position:relative;width:100%;height:134px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;overflow:visible;background:linear-gradient(to bottom,#00000059,color-mix(in srgb,var(--agent-color) 6%,transparent))}.card-character{height:124px;display:flex;align-items:flex-end;image-rendering:pixelated}.card-character svg{height:124px;width:auto;image-rendering:pixelated;filter:drop-shadow(0 0 5px var(--agent-color))}.hero-card.active .card-character svg{filter:drop-shadow(0 0 8px var(--agent-color)) drop-shadow(0 0 18px var(--agent-color))}.card-scan{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.12) 3px,rgba(0,0,0,.12) 6px);pointer-events:none;z-index:1}.card-active-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--agent-color) 8%,transparent);pointer-events:none;z-index:2;animation:overlay-pulse 2s steps(2,jump-both) infinite}@keyframes overlay-pulse{0%,to{opacity:1}50%{opacity:.4}}.card-info-bar{display:flex;align-items:center;justify-content:space-between;padding:7px 10px 7px 14px;border-top:3px solid var(--border-dim);background:#00000040;flex-shrink:0}.hero-card.active .card-info-bar{border-top-color:color-mix(in srgb,var(--agent-color) 60%,var(--border-dim))}.card-left{display:flex;flex-direction:column;gap:2px;min-width:0}.card-name{font-family:"Press Start 2P",monospace;font-size:7px;color:var(--text-primary);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-card.active .card-name{color:var(--agent-color);text-shadow:0 0 6px var(--agent-color)}.card-title{font-family:VT323,monospace;font-size:14px;color:var(--text-secondary);margin-top:1px}.card-tag{font-family:"Press Start 2P",monospace;font-size:5px;color:var(--agent-accent);opacity:.85;text-transform:uppercase;margin-top:2px}.card-status{flex-shrink:0}.status-dot{width:8px;height:8px;border-radius:0}.status-dot.online{background:#0f4;box-shadow:2px 2px #060;animation:pixel-blink 2s steps(2,jump-both) infinite}@keyframes pixel-blink{0%,to{opacity:1}50%{opacity:.2}}.hero-select-footer{padding:10px 14px;border-top:4px solid var(--border-dim);flex-shrink:0}.status-line{display:flex;align-items:center;gap:8px;font-family:"Press Start 2P",monospace;font-size:5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0}.chat-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-panel);position:relative}.chat-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--agent-color);opacity:.8}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;flex-shrink:0;margin-top:4px}.chat-header-left{display:flex;align-items:center;gap:16px}.chat-agent-badge{display:flex;align-items:center;gap:10px}.chat-agent-dot{width:10px;height:10px;border-radius:0;background:var(--agent-color);box-shadow:2px 2px #00000080;animation:pixel-blink .8s steps(2,jump-both) infinite}@keyframes pixel-blink{0%,to{opacity:1}50%{opacity:.1}}.chat-agent-name{font-family:"Press Start 2P",monospace;font-size:10px;color:var(--agent-color);letter-spacing:0;text-shadow:2px 2px 0 rgba(0,0,0,.8)}.chat-agent-subtitle{font-family:VT323,monospace;font-size:16px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.chat-header-actions{display:flex;align-items:center;gap:12px}.msg-count{font-family:"Press Start 2P",monospace;font-size:7px;color:var(--text-dim);letter-spacing:0}.action-btn{background:var(--bg-card);border:3px solid var(--border-dim);color:var(--text-dim);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:2px 2px #000}.action-btn:hover{border-color:#d32;color:#d32;background:#dd33221a;box-shadow:0 0 0 2px #000,0 0 0 4px #d32}.chat-divider{height:4px;background:var(--border-dim);flex-shrink:0}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 0;color:var(--text-dim)}.chat-empty-icon{opacity:.4;color:var(--agent-color)}.chat-empty p{font-family:"Press Start 2P",monospace;font-size:8px;letter-spacing:0;text-transform:uppercase;line-height:2;text-align:center}.chat-empty-sub{font-family:VT323,monospace!important;font-size:18px!important;letter-spacing:1px!important;opacity:.6;text-align:center;max-width:300px}.message{display:flex;gap:10px;max-width:88%;animation:pixel-in .1s steps(3,jump-both)}.message.user{flex-direction:row-reverse;align-self:flex-end}.message.agent{align-self:flex-start}@keyframes pixel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.msg-avatar{width:36px;height:36px;border-radius:0;border:3px solid;display:flex;align-items:center;justify-content:center;font-family:"Press Start 2P",monospace;font-size:10px;flex-shrink:0;box-shadow:3px 3px #000}.msg-bubble{display:flex;flex-direction:column;gap:4px}.msg-label{font-family:"Press Start 2P",monospace;font-size:7px;letter-spacing:0}.msg-text{background:var(--bg-card);border:3px solid var(--border-dim);padding:10px 14px;font-family:VT323,monospace;font-size:20px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;position:relative;clip-path:none;box-shadow:inset -2px -2px #0009,inset 2px 2px #ffffff0a}.message.agent .msg-text{border-left:5px solid var(--agent-color);border-color:color-mix(in srgb,var(--agent-color) 50%,var(--border-dim));background:color-mix(in srgb,var(--agent-color) 5%,var(--bg-card));box-shadow:3px 3px #000,inset -2px -2px #0009}.message.user .msg-text{background:color-mix(in srgb,var(--accent-blue) 8%,var(--bg-card));border-color:#3af6;box-shadow:3px 3px #000,inset -2px -2px #0009}.message.error .msg-text{border-color:#dd332280;color:#dd3322e6;background:#dd33220f}.cursor-blink{color:var(--agent-color);animation:pixel-blink .5s steps(2,jump-both) infinite}.streaming-indicator{display:flex;gap:6px;padding:4px 0 4px 46px}.streaming-dot{width:8px;height:8px;border-radius:0;background:var(--agent-color);animation:pixel-blink .8s steps(2,jump-both) infinite}.streaming-dot:nth-child(2){animation-delay:.27s}.streaming-dot:nth-child(3){animation-delay:.54s}.chat-input-area{flex-shrink:0;padding:14px 20px;border-top:4px solid var(--border-dim);display:flex;flex-direction:column;gap:6px}.chat-input-wrap{position:relative;display:flex;align-items:flex-end;background:var(--bg-card);border:3px solid var(--border-dim);box-shadow:inset 2px 2px #00000080,inset -2px -2px #ffffff08}.chat-input-wrap:focus-within{border-color:var(--agent-color);box-shadow:0 0 0 2px #000,0 0 0 4px var(--agent-color),inset 2px 2px #00000080}.input-corner{display:none}.chat-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-family:VT323,monospace;font-size:20px;line-height:1.5;padding:10px 14px;resize:none;min-height:46px;max-height:120px;overflow-y:auto}.chat-input::placeholder{color:var(--text-dim);font-family:VT323,monospace;font-size:18px}.chat-input:disabled{opacity:.4;cursor:not-allowed}.chat-input-actions{padding:6px}.send-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--agent-color) 15%,var(--bg-card));border:3px solid var(--agent-color);color:var(--agent-color);cursor:pointer;clip-path:none;box-shadow:3px 3px #000,inset -2px -2px #0006}.send-btn:hover:not(:disabled){background:color-mix(in srgb,var(--agent-color) 30%,var(--bg-card));box-shadow:0 0 0 2px #000,0 0 0 4px var(--agent-color),inset -2px -2px #0006}.send-btn:disabled{opacity:.3;cursor:not-allowed}.send-btn.abort{background:#dd332226;border-color:#d32;color:#d32}.send-btn.abort:hover{background:#dd33224d;box-shadow:0 0 0 2px #000,0 0 0 4px #d32,inset -2px -2px #0006}.input-hint{font-family:"Press Start 2P",monospace;font-size:5px;color:var(--text-dim);text-align:right;text-transform:uppercase;letter-spacing:0}.topbar{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;background:var(--bg-panel);border-bottom:4px solid var(--accent-gold);flex-shrink:0;position:relative;z-index:10;box-shadow:0 4px #f0c04026}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.topbar-logo{display:flex;align-items:center;gap:10px;color:var(--accent-gold)}.topbar-title{font-family:"Press Start 2P",monospace;font-size:11px;color:var(--accent-gold);text-shadow:3px 3px 0 #000,-1px 0 0 rgba(220,80,40,.6);letter-spacing:0}.topbar-sub{font-family:"Press Start 2P",monospace;font-size:6px;color:var(--text-dim);letter-spacing:0}.topbar-sep{width:4px;height:28px;background:var(--accent-gold);opacity:.25}.topbar-date,.topbar-time{font-family:"Press Start 2P",monospace;font-size:7px;color:var(--text-secondary);letter-spacing:0}.topbar-center{flex:1;display:flex;justify-content:center}.topbar-agent-label{display:flex;align-items:center;gap:10px;font-family:"Press Start 2P",monospace;font-size:8px;letter-spacing:0}.agent-dot{width:8px;height:8px;border-radius:0;animation:pixel-blink .8s steps(2,jump-both) infinite}.app-shell{display:flex;flex-direction:column;height:100vh;width:100vw;background:var(--bg-deep)}.app-body{display:flex;flex:1;overflow:hidden}.chat-area{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.empty-state-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(34,85,200,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(34,85,200,.1) 1px,transparent 1px);background-size:16px 16px}.empty-state-content{display:flex;flex-direction:column;align-items:center;gap:28px;z-index:1}.shield-icon{width:80px;height:80px;image-rendering:pixelated;animation:pixel-float 2s steps(4,jump-both) infinite}@keyframes pixel-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-label{font-family:"Press Start 2P",monospace;font-size:8px;line-height:2;color:var(--text-dim);text-transform:uppercase;text-align:center;letter-spacing:0}.empty-dots{display:flex;gap:8px}.empty-dots span{width:8px;height:8px;border-radius:0;background:var(--text-dim);animation:pixel-blink 1.2s steps(2,jump-both) infinite}.empty-dots span:nth-child(2){animation-delay:.4s}.empty-dots span:nth-child(3){animation-delay:.8s}@keyframes pixel-blink{0%,to{opacity:1}50%{opacity:0}}:root{--bg-deep: #070715;--bg-panel: #0c0c24;--bg-card: #11113a;--border-dim: rgba(34, 85, 200, .35);--border-glow: rgba(34, 85, 200, .8);--text-primary: #f0f0ff;--text-secondary: #9999cc;--text-dim: #444488;--accent-blue: #33aaff;--accent-gold: #f0c040;--accent-red: #dd3322;--scanline-opacity: .06}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{background:var(--bg-deep);color:var(--text-primary);font-family:VT323,monospace;font-size:20px}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,var(--scanline-opacity)) 2px,rgba(0,0,0,var(--scanline-opacity)) 4px);pointer-events:none;z-index:9999}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-deep);border-left:2px solid var(--border-dim)}::-webkit-scrollbar-thumb{background:var(--border-dim);border:2px solid var(--bg-deep)}
