.radar-view{background:#1e293b;border-radius:12px;overflow:hidden;flex-shrink:0;box-shadow:0 4px 24px #0000004d,0 1px 4px #0003}.radar-empty{display:flex;align-items:center;justify-content:center;height:120px;color:#64748b}.radar-frame{position:relative;width:100%;aspect-ratio:1 / 1;background:#0f172a}.radar-basemap{display:block;width:100%;height:100%;object-fit:cover}.radar-overlay{position:absolute;top:0;left:0;width:100%;height:100%;image-rendering:pixelated;object-fit:cover}.radar-location-marker{position:absolute;width:12px;height:12px;border:2px solid #ffffff;border-radius:50%;background:#60a5fad9;transform:translate(-50%,-50%);box-shadow:0 0 8px #60a5fae6;pointer-events:none;z-index:2;animation:pulse-marker 2s ease-in-out infinite}.radar-location-marker:after{content:"";position:absolute;top:50%;left:50%;width:24px;height:24px;border-radius:50%;background:#60a5fa26;border:1px solid rgba(96,165,250,.3);transform:translate(-50%,-50%);animation:pulse-ring 2s ease-in-out infinite}@keyframes pulse-marker{0%,to{box-shadow:0 0 6px #60a5facc}50%{box-shadow:0 0 14px #60a5fa}}@keyframes pulse-ring{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.radar-controls{display:flex;align-items:center;justify-content:space-between;padding:10px 14px}.radar-progress{display:flex;gap:5px}.dot{width:6px;height:6px;border-radius:50%;background:#334155;transition:background .2s,transform .2s}.dot.active{background:#60a5fa;transform:scale(1.3)}.radar-label{font-size:.75rem;color:#64748b}.chat-interface{flex:1;display:flex;flex-direction:column;min-height:0}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:8px 0}.chat-bubble{max-width:85%;padding:10px 14px;border-radius:12px;font-size:.9rem;line-height:1.5;animation:bubble-in .3s ease-out both}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-bubble.assistant{align-self:flex-start;background:#1e293b;border-bottom-left-radius:4px;border-left:3px solid #3b82f6;box-shadow:0 2px 8px #00000026}.chat-bubble.user{align-self:flex-end;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-bottom-right-radius:4px;box-shadow:0 2px 8px #2563eb40}.chat-role{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-bottom:2px}.chat-bubble.user .chat-role{color:#bfdbfe}.typing-dots{display:flex;gap:4px;padding:4px 0;align-items:center}.typing-dots span{width:6px;height:6px;border-radius:50%;background:#64748b;animation:typing-bounce 1.4s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-input-row{display:flex;gap:8px;padding-top:12px;border-top:1px solid rgba(51,65,85,.4);margin-top:4px}.chat-input{flex:1;padding:12px 16px;border:1px solid #334155;border-radius:12px;background:#1e293b;color:#e2e8f0;font-size:.9rem;outline:none;transition:border-color .2s,box-shadow .2s}.chat-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.chat-input::placeholder{color:#475569}.chat-send{padding:12px 22px;border:none;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #2563eb4d}.chat-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2563eb66}.chat-send:active:not(:disabled){transform:translateY(0)}.chat-send:disabled{opacity:.4;cursor:not-allowed}.quick-actions{display:flex;gap:8px;padding:8px 0 4px;flex-wrap:wrap}.quick-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;border:1px solid #334155;border-radius:999px;background:transparent;color:#cbd5e1;font-size:.8rem;cursor:pointer;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;white-space:nowrap}.quick-btn:hover:not(:disabled){background:#60a5fa14;border-color:#60a5fa;transform:translateY(-1px);box-shadow:0 2px 8px #60a5fa1f}.quick-btn:active:not(:disabled){transform:translateY(0)}.quick-btn:disabled{opacity:.4;cursor:not-allowed}.quick-icon{font-size:1rem}.app{display:flex;flex-direction:column;height:100vh;max-width:960px;margin:0 auto;padding:16px;gap:12px}.app-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid rgba(51,65,85,.6)}.app-header h1{font-size:1.25rem;font-weight:600;background:linear-gradient(135deg,#e2e8f0,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.eta-badge{font-size:.85rem;padding:6px 16px;border-radius:999px;background:linear-gradient(135deg,#1e3a5f,#1e3a8f);color:#93c5fd;font-weight:600;letter-spacing:.01em;box-shadow:0 2px 12px #2563eb33;border:1px solid rgba(96,165,250,.15)}.eta-badge.clear{background:linear-gradient(135deg,#14532d,#166534);color:#86efac;box-shadow:0 2px 12px #22c55e26;border:1px solid rgba(134,239,172,.15)}.app-body{flex:1;display:flex;flex-direction:column;gap:12px;overflow:hidden}.chat-section{flex:1;display:flex;flex-direction:column;min-height:0}.app-loading,.app-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;text-align:center;padding:24px}.spinner{width:40px;height:40px;border:4px solid #334155;border-top-color:#60a5fa;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-error h2{color:#f87171}
