:root{
  --cyan:#68f4ff;--cyan2:#1bb8d2;--blue:#0b75c9;--deep:#03151d;--panel:rgba(5,27,37,.78);--line:rgba(104,244,255,.22)
}
*{box-sizing:border-box} body{margin:0;background:#020c12;color:#d7fbff;font-family:Segoe UI,Arial,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;background:linear-gradient(rgba(2,12,18,.86),rgba(2,12,18,.94)),url('../img/jarvis-reference.jpg') center/cover no-repeat;z-index:-3}
.hud-grid{position:fixed;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:42px 42px;opacity:.12;z-index:-2}
.scanline{position:fixed;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.15;animation:scan 7s linear infinite;z-index:-1}@keyframes scan{from{top:-2px}to{top:100vh}}
.hud-header{border-bottom:1px solid var(--line);padding-bottom:10px}.eyebrow,.panel-title{font-size:.72rem;letter-spacing:.25em;color:var(--cyan)}h1{letter-spacing:.25em;font-weight:300;text-shadow:0 0 14px rgba(104,244,255,.6)}
.clock{font-size:1.5rem;letter-spacing:.12em}.status-line{font-size:.72rem;color:#8ee7ef}.status-dot{width:8px;height:8px;background:#56ff9b;border-radius:50%;display:inline-block;box-shadow:0 0 8px #56ff9b;margin-right:6px}
.hud-panel{border:1px solid var(--line);background:linear-gradient(135deg,rgba(7,34,45,.9),rgba(2,16,24,.78));box-shadow:inset 0 0 26px rgba(39,210,240,.04),0 0 18px rgba(0,180,220,.06);clip-path:polygon(0 10px,10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}
.panel-title{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:14px}.terminal-panel{height:calc(100vh - 112px);min-height:620px;padding:16px}.chat-log{overflow-y:auto;padding-right:5px}.message{padding:12px 14px;margin:0 0 12px;border-left:2px solid var(--cyan2);background:rgba(17,55,68,.55);white-space:pre-wrap}.user-message{border-left-color:#f5b942;background:rgba(80,57,9,.3)}.message-label{font-size:.65rem;letter-spacing:.18em;color:var(--cyan);margin-bottom:5px}.user-message .message-label{color:#ffd36b}
.composer{border-top:1px solid var(--line);padding-top:12px}.form-control,.form-select{background:rgba(1,13,20,.85)!important;border-color:var(--line)!important;color:#e6fdff!important}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem rgba(63,225,244,.12)!important}
.btn-hud{border:1px solid rgba(104,244,255,.4);color:#bdfaff;background:rgba(13,91,108,.18)}.btn-hud:hover{background:rgba(22,179,207,.25);color:white;box-shadow:0 0 12px rgba(104,244,255,.2)}
.orb-wrap{display:grid;place-items:center;padding:24px 0}.voice-orb{position:relative;width:150px;height:150px;border-radius:50%;border:1px solid var(--cyan);background:radial-gradient(circle,#0a3340 0 22%,#06202b 23% 42%,transparent 43%);box-shadow:0 0 35px rgba(104,244,255,.2);color:white}.orb-core{position:absolute;inset:0;display:grid;place-items:center;font-size:2.7rem;font-weight:200;text-shadow:0 0 12px var(--cyan)}.orb-ring{position:absolute;border:2px solid var(--cyan);border-radius:50%;inset:8px;opacity:.65}.ring-2{inset:22px;border-style:dashed;animation:spin 9s linear infinite}.ring-3{inset:38px;border-color:#ffcf55;border-width:1px;animation:spinReverse 6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}.voice-orb.listening{animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 55px rgba(104,244,255,.65)}}
.upload-zone{display:flex;min-height:125px;flex-direction:column;align-items:center;justify-content:center;border:1px dashed rgba(104,244,255,.45);cursor:pointer;background:rgba(4,40,52,.3)}.upload-zone:hover{background:rgba(12,87,104,.3)}.upload-icon{font-size:2rem;color:var(--cyan)}.upload-zone small{color:#83b8c1}.file-info{font-size:.75rem;color:#b8edf3;word-break:break-word}.command-list{display:grid;gap:8px}.command-list button{background:transparent;color:#bcecf2;border:0;border-bottom:1px solid var(--line);text-align:left;padding:8px 3px}.command-list button:hover{color:white;padding-left:8px}.metric{display:flex;justify-content:space-between;border-bottom:1px solid rgba(104,244,255,.09);padding:8px 0;font-size:.78rem}.metric strong{color:var(--cyan)}
.typing:after{content:'▌';animation:blink .8s infinite}@keyframes blink{50%{opacity:0}}@media(max-width:1199px){.terminal-panel{height:720px}}
