body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--text:#fff;--gray-200:#b4b8bb;--gray-300:#80868b;--gray-500:#5f6368;--gray-600:#444;--gray-700:#202020;--gray-800:#171717;--gray-900:#111;--gray-1000:#0a0a0a;--border-stroke:#444;--accent-blue:#a1e4f2;--accent-blue-active-bg:#001233;--accent-blue-active:#98beff;--accent-blue-headers:#448dff;--accent-green:#a8dab5;--midnight-blue:#001233;--blue-30:#99beff;--accent-red:#ff4600;--background:var(--gray-900);--color:var(--text);--font-family:"Space Mono",monospace;--Neutral-00:#000;--Neutral-5:#181a1b;--Neutral-10:#1c1f21;--Neutral-15:#232729;--Neutral-20:#2a2f31;--Neutral-30:#404547;--Neutral-50:#707577;--Neutral-60:#888d8f;--Neutral-80:#c3c6c7;--Neutral-90:#e1e2e3;--Green-500:#0d9c53;--Green-700:#025022;--Blue-400:#80c1ff;--Blue-500:#1f94ff;--Blue-800:#0f3557;--Red-400:#ff9c7a;--Red-500:#ff4600;--Red-600:#e03c00;--Red-700:#bd3000;scrollbar-color:#444 #111;scrollbar-color:var(--gray-600) var(--gray-900);scrollbar-width:thin}body{background:#404547;background:var(--Neutral-30);font-family:Space Mono,monospace}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.space-mono-regular{font-weight:400}.space-mono-bold,.space-mono-regular{font-family:Space Mono,monospace;font-style:normal}.space-mono-bold{font-weight:700}.space-mono-regular-italic{font-family:Space Mono,monospace;font-style:italic;font-weight:400}.space-mono-bold-italic{font-family:Space Mono,monospace;font-style:italic;font-weight:700}.hidden{display:none}.flex{display:flex}.h-screen-full{height:100vh}.w-screen-full{width:100vw}.flex-col{flex-direction:column}.streaming-console{background:#232729;background:var(--Neutral-15);display:flex;height:100vh;width:100vw}.streaming-console,.streaming-console a,.streaming-console a:active,.streaming-console a:visited{color:#80868b;color:var(--gray-300)}.streaming-console .disabled,.streaming-console .disabled>*{pointer-events:none}.streaming-console main{align-items:center;display:flex;flex-direction:column;flex-grow:1;gap:1rem;justify-content:center;max-width:100%;overflow:hidden;position:relative}.streaming-console .main-app-area{align-items:center;display:flex;flex:1 1;justify-content:center}.streaming-console .function-call{height:50%;overflow-y:auto;position:absolute;top:0;width:100%}.stream{border-radius:32px;flex-grow:1;max-height:fit-content;max-width:90%}.App{height:100vh;margin:0;overflow:hidden;padding:0;width:100vw}@keyframes batteryShine{0%{transform:translateX(-100%)}50%{transform:translateX(100%)}to{transform:translateX(100%)}}@keyframes enginePulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes fuelWaves{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.car-dashboard{background:linear-gradient(135deg,#cbd5e1,#e2e8f0 50%,#f1f5f9);box-sizing:border-box;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:.75rem;height:100vh;overflow:hidden;padding:.75rem;width:100vw}.car-dashboard .top-bar{align-items:center;color:#64748b;display:flex;flex-shrink:0;justify-content:space-between;min-height:3rem;padding:0 .5rem}.car-dashboard .top-bar .brand-section{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.car-dashboard .top-bar .brand-section .brand-logo{align-items:center;display:flex;height:2rem;justify-content:center;width:2.5rem}.car-dashboard .top-bar .brand-section .brand-logo img{height:100%;object-fit:contain;width:100%}.car-dashboard .top-bar .brand-section .brand-name{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;font-size:1.125rem;font-weight:700;white-space:nowrap}.car-dashboard .top-bar .status-section{align-items:center;display:flex;flex-shrink:0;font-size:.875rem;font-weight:500;gap:1rem;min-width:fit-content}.car-dashboard .top-bar .status-section .bluetooth-icon{align-items:center;display:flex;gap:.25rem}.car-dashboard .top-bar .status-section .weather-info{align-items:center;display:flex;gap:4px}.car-dashboard .top-bar .status-section .weather-info .weather-icon{color:skyblue}.car-dashboard .top-bar .status-section .battery-status{align-items:center;display:flex;gap:.25rem;white-space:nowrap}.car-dashboard .top-bar .status-section .current-time{font-size:1rem;font-weight:600;min-width:3rem;white-space:nowrap}.car-dashboard .dashboard-main{grid-gap:1rem;display:grid;flex-grow:1;gap:1rem;grid-template-columns:1.5fr 1fr .98fr}@media(max-width:1024px){.car-dashboard .dashboard-main{grid-template-columns:1fr}}.car-dashboard .left-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f1f5f9b3;border-radius:1.5rem;box-shadow:0 10px 25px -5px #0000001a,0 4px 6px -2px #0000000d;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem}.car-dashboard .left-panel .gear-indicator span{color:#475569;font-size:4.5rem;font-weight:700}.car-dashboard .left-panel .car-image-container{align-items:center;display:flex;flex-grow:1;justify-content:center}.car-dashboard .left-panel .car-image-container .car-image{filter:brightness(1.1) contrast(1.1) drop-shadow(0 25px 25px rgba(0,0,0,.15));height:auto;object-fit:contain;transform:rotate(-5deg);width:100%}.car-dashboard .left-panel .control-icons{align-items:center;display:flex;justify-content:space-around;width:100%}.car-dashboard .left-panel .control-icons .icon-wrapper{background:#e2e8f080;border-radius:50%;cursor:pointer;padding:.75rem;transition:background-color .2s}.car-dashboard .left-panel .control-icons .icon-wrapper:hover{background:#cbd5e1b3}.car-dashboard .left-panel .control-icons .icon-wrapper .rotate-90{transform:rotate(90deg)}.car-dashboard .left-panel .control-icons .icon-wrapper .text-icon{font-size:1.25rem;font-weight:700}.car-dashboard .left-panel .music-player{align-items:center;border-top:1px solid #cbd5e180;display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem}.car-dashboard .left-panel .music-player .album-art{border-radius:.5rem;height:4rem;width:4rem}.car-dashboard .left-panel .music-player .music-info{flex-grow:1}.car-dashboard .left-panel .music-player .music-info .song-title{color:#1e293b;font-weight:600;margin:0 0 .25rem}.car-dashboard .left-panel .music-player .music-info .device-name{color:#64748b;font-size:.875rem;margin:0}.car-dashboard .left-panel .music-player .volume-control{background:#ec489933;border-radius:50%;color:#ec4899;padding:.75rem}.car-dashboard .left-panel .vehicle-status{border-top:1px solid #cbd5e180;margin-top:1.5rem;padding-top:1.5rem}.car-dashboard .left-panel .vehicle-status h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.car-dashboard .left-panel .vehicle-status .status-item{align-items:center;border-bottom:1px solid #cbd5e14d;display:flex;justify-content:space-between;padding:.5rem 0}.car-dashboard .left-panel .vehicle-status .status-item:last-child{border-bottom:none}.car-dashboard .left-panel .vehicle-status .status-item .status-label{color:#64748b;font-size:.875rem;font-weight:500}.car-dashboard .left-panel .vehicle-status .status-item .status-value{color:#1e293b;font-size:.875rem;font-weight:600}.car-dashboard .middle-panel{display:flex;flex-direction:column;gap:1rem}.car-dashboard .middle-panel .middle-rectangle{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f1f5f9b3;border-radius:1.5rem;box-shadow:0 10px 25px -5px #0000001a,0 4px 6px -2px #0000000d;overflow:hidden;padding:1.5rem}.car-dashboard .middle-panel .middle-rectangle .section-title{color:#64748b;font-weight:600;margin:0 0 1rem}.car-dashboard .middle-panel .middle-rectangle .section-title .loading-indicator{animation:pulse 1.5s infinite;color:#3b82f6;font-size:.75rem;font-weight:500}.car-dashboard .middle-panel .middle-rectangle .section-title .error-indicator{color:#ef4444;font-size:.75rem;font-weight:500}.car-dashboard .middle-panel .middle-rectangle .telemetry-debug{background:#0000000d;border-left:3px solid #3b82f6;border-radius:.5rem;margin-top:1rem;padding:.5rem}.car-dashboard .middle-panel .middle-rectangle .telemetry-debug small{color:#64748b;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.65rem;line-height:1.4}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle{flex:.8 1}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);margin-bottom:1rem}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid.secondary{border-top:1px solid #cbd5e180;margin-bottom:0;padding-top:1rem}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item{align-items:center;background:#ffffff80;border-radius:.5rem;display:flex;flex-direction:column;overflow:hidden;padding:.5rem;position:relative;text-align:center}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item .status-label{color:#64748b;font-size:.75rem;font-weight:500;margin-bottom:.5rem}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item .status-visual-container{align-items:center;display:flex;flex-direction:column;gap:.5rem;width:100%}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item .status-value{color:#1e293b;font-size:1rem;font-weight:600}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item .status-value.status-warning{animation:pulse 2s infinite;color:#f59e0b}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item .status-value.status-running{color:#22c55e}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.battery-item .battery-visual{height:30px;margin-top:10px;position:relative;width:60px}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.battery-item .battery-visual .battery-outline{background:#fffc;border:2px solid #cbd5e1;border-radius:4px;height:100%;overflow:hidden;position:relative;width:100%}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.battery-item .battery-visual .battery-outline .battery-fill{border-radius:2px;height:100%;position:relative;transition:width .8s ease-in-out,background-color .3s ease}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.battery-item .battery-visual .battery-outline .battery-fill:after{animation:batteryShine 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.battery-item .battery-visual .battery-outline .battery-terminal{background:#cbd5e1;border-radius:0 2px 2px 0;height:12px;position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:4px}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.range-item .range-visual{height:60px;position:relative;width:60px}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.range-item .range-visual .progress-ring{transform:rotate(-90deg)}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.range-item .range-visual .progress-ring .progress-ring-progress{filter:drop-shadow(0 0 4px rgba(59,130,246,.4));transition:stroke-dasharray .8s ease-in-out}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.range-item .range-visual .range-text{color:#3b82f6;font-size:.75rem;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.speed-item .speed-visual{height:60px;position:relative;width:60px}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.speed-item .speed-visual .speedometer{transform:rotate(-90deg)}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.speed-item .speed-visual .speedometer circle:last-child{filter:drop-shadow(0 0 4px rgba(34,197,94,.4));transition:stroke-dasharray .8s ease-in-out}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.speed-item .speed-visual .speed-text{color:#22c55e;font-size:.75rem;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.temperature-item .temperature-visual{height:60px;position:relative;width:20px}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.temperature-item .temperature-visual .thermometer{height:100%;position:relative;width:100%}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.temperature-item .temperature-visual .thermometer .thermometer-bulb{border-radius:50%;bottom:0;height:16px;left:50%;position:absolute;transform:translateX(-50%);transition:background-color .3s ease;width:16px}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.temperature-item .temperature-visual .thermometer .thermometer-tube{background:#cbd5e180;border-radius:4px 4px 0 0;bottom:8px;height:44px;left:50%;overflow:hidden;position:absolute;transform:translateX(-50%);width:8px}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.temperature-item .temperature-visual .thermometer .thermometer-tube .thermometer-mercury{border-radius:4px 4px 0 0;bottom:0;left:0;position:absolute;transition:height .8s ease-in-out,background-color .3s ease;width:100%}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.fuel-item .fuel-visual{height:50px;margin-top:10px;position:relative;width:30px}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.fuel-item .fuel-visual .fuel-tank{background:#fffc;border:2px solid #cbd5e1;border-radius:4px;height:100%;overflow:hidden;position:relative;width:100%}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.fuel-item .fuel-visual .fuel-tank .fuel-fill{border-radius:0 0 2px 2px;bottom:0;left:0;position:absolute;transition:height .8s ease-in-out,background-color .3s ease;width:100%}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.fuel-item .fuel-visual .fuel-tank .fuel-waves{animation:fuelWaves 3s infinite;background:linear-gradient(0deg,#0000,#fff3 50%,#0000);bottom:0;left:0;position:absolute;right:0;top:0}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.engine-item .engine-visual{height:40px;margin-top:14px;position:relative;width:40px}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.engine-item .engine-visual .engine-indicator{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;position:relative;width:100%}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.engine-item .engine-visual .engine-indicator.running{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 0 20px #22c55e4d}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.engine-item .engine-visual .engine-indicator.running .engine-pulse{animation:enginePulse 2s infinite;background:#22c55e4d;border-radius:50%;height:100%;position:absolute;width:100%}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.engine-item .engine-visual .engine-indicator.running:after{color:#fff;content:"●";font-size:1.5rem;position:relative;z-index:2}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.engine-item .engine-visual .engine-indicator.stopped{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 0 20px #ef44444d}.car-dashboard .middle-panel .middle-rectangle.vehicle-status-rectangle .status-grid .status-item.engine-item .engine-visual .engine-indicator.stopped:after{color:#fff;content:"■";font-size:1rem;position:relative;z-index:2}.car-dashboard .middle-panel .middle-rectangle.map-rectangle{flex:1 1}.car-dashboard .middle-panel .middle-rectangle.map-rectangle .map-container{background:#e2e8f0;border-radius:1rem;height:calc(100% - 3rem);overflow:hidden;position:relative}.car-dashboard .middle-panel .middle-rectangle.map-rectangle .map-container .map-image{height:100%;object-fit:cover;width:100%}.car-dashboard .right-panel{display:flex;flex-direction:column;gap:1rem}.car-dashboard .right-panel .right-rectangle{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f1f5f9b3;border-radius:1.5rem;box-shadow:0 10px 25px -5px #0000001a,0 4px 6px -2px #0000000d;overflow:hidden;padding:1.5rem}.car-dashboard .right-panel .right-rectangle.alerts-rectangle{flex:.8 1}.car-dashboard .right-panel .right-rectangle.trend-rectangle{flex:1 1}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-header .section-title{color:#64748b;font-weight:600;margin:0}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-header .chart-navigation{align-items:center;display:flex;gap:.5rem}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-header .chart-navigation .nav-button{align-items:center;background:#fff9;border:1px solid #cbd5e180;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:24px;justify-content:center;transition:all .2s ease;width:24px}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-header .chart-navigation .nav-button:hover{background:#fffc;color:#3b82f6;transform:scale(1.1)}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-header .chart-navigation .chart-indicators{display:flex;gap:.25rem}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-header .chart-navigation .chart-indicators .indicator{background:#cbd5e180;border-radius:50%;cursor:pointer;height:6px;transition:all .2s ease;width:6px}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-header .chart-navigation .chart-indicators .indicator.active{background:#3b82f6;transform:scale(1.3)}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-header .chart-navigation .chart-indicators .indicator:hover{background:#60a5fa}.car-dashboard .right-panel .right-rectangle .section-title{color:#64748b;font-weight:600;margin:0 0 1rem}.car-dashboard .right-panel .right-rectangle.alerts-rectangle .alert-item{align-items:flex-start;border-radius:.5rem;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.75rem;transition:background-color .2s}.car-dashboard .right-panel .right-rectangle.alerts-rectangle .alert-item:last-child{margin-bottom:0}.car-dashboard .right-panel .right-rectangle.alerts-rectangle .alert-item.warning{background:#fbbf241a;border-left:3px solid #f59e0b}.car-dashboard .right-panel .right-rectangle.alerts-rectangle .alert-item.info{background:#3b82f61a;border-left:3px solid #3b82f6}.car-dashboard .right-panel .right-rectangle.alerts-rectangle .alert-item.success{background:#22c55e1a;border-left:3px solid #22c55e}.car-dashboard .right-panel .right-rectangle.alerts-rectangle .alert-item .alert-icon{flex-shrink:0;font-size:1.25rem}.car-dashboard .right-panel .right-rectangle.alerts-rectangle .alert-item .alert-content{flex-grow:1}.car-dashboard .right-panel .right-rectangle.alerts-rectangle .alert-item .alert-content .alert-title{color:#1e293b;font-size:.875rem;font-weight:600;margin:0 0 1rem}.car-dashboard .right-panel .right-rectangle.alerts-rectangle .alert-item .alert-content .alert-description{color:#64748b;font-size:.75rem;line-height:1.4;margin:0}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container{display:flex;flex-direction:column;height:calc(100% - 2rem)}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder{display:flex;flex-direction:column;flex-grow:1;gap:.5rem;justify-content:flex-start;padding-top:.25rem}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .line-chart{height:160px;padding:.5rem;width:100%}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .line-chart svg{border-radius:.25rem}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .chart-labels{color:#64748b;display:flex;font-size:.75rem;justify-content:space-between;margin-top:.5rem}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .chart-labels span{flex:1 1;text-align:center}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff6;border:1px solid #fff3;border-radius:.5rem;display:flex;flex-direction:column;padding:.5rem;transition:all .3s ease}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item.primary{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border-color:#22c55e33}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item.primary .stat-value{color:#22c55e}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item.secondary{background:linear-gradient(135deg,#3b82f61a,#3b82f60d);border-color:#3b82f633}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item.secondary .stat-value{color:#3b82f6}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item.tertiary{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border-color:#f59e0b33}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item.tertiary .stat-value{color:#f59e0b}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item .stat-label{color:#64748b;font-size:.65rem;font-weight:500;letter-spacing:.5px;margin-bottom:.125rem;text-transform:uppercase}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item .stat-value{font-size:1rem;font-weight:700;margin-bottom:.125rem}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .usage-stats .stat-item .stat-unit{color:#94a3b8;font-size:.6rem;font-weight:500}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .trend-legend{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff4d;border-radius:.5rem;display:flex;gap:1.5rem;justify-content:center;padding:.75rem}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .trend-legend .legend-item{align-items:center;color:#64748b;display:flex;font-size:.75rem;font-weight:500;gap:.5rem}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .trend-legend .legend-item .legend-line{border-radius:2px;height:3px;width:20px}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .trend-legend .legend-item .legend-line.historical{background:linear-gradient(90deg,#1e40af,#3b82f6 50%,#60a5fa);box-shadow:0 0 8px #3b82f64d}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .trend-legend .legend-item .legend-line.prediction{background:linear-gradient(90deg,#22c55e,#34d399);box-shadow:0 0 8px #22c55e4d;position:relative}.car-dashboard .right-panel .right-rectangle.trend-rectangle .chart-container .chart-placeholder .prediction-info .trend-legend .legend-item .legend-line.prediction:after{background:repeating-linear-gradient(90deg,#0000,#0000 4px,#fffc 0,#fffc 6px);border-radius:2px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.car-dashboard .bottom-bar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f1f5f9b3;border-radius:1.5rem;box-shadow:0 10px 25px -5px #0000001a,0 4px 6px -2px #0000000d;display:flex;flex-shrink:0;gap:.25rem;justify-content:space-between;min-height:4rem;overflow-x:auto;padding:.5rem}.car-dashboard .bottom-bar .bottom-bar-icon{border-radius:.75rem;color:#64748b;cursor:pointer;flex-shrink:0;padding:.75rem;transition:background-color .2s}.car-dashboard .bottom-bar .bottom-bar-icon:hover{background:#e2e8f080}.car-dashboard .bottom-bar .bottom-bar-icon.active{background:#3b82f6;color:#fff}.car-dashboard .bottom-bar .bottom-bar-icon .mode-text{font-size:1rem;font-weight:700;margin:0;white-space:nowrap}.car-dashboard .bottom-bar .divider{border-left:1px solid #cbd5e1cc;flex-shrink:0;height:2rem;margin:0 .25rem}.car-dashboard .bottom-bar .climate-control{align-items:center;border-radius:.5rem;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem;transition:background-color .2s;white-space:nowrap}.car-dashboard .bottom-bar .climate-control:hover{background:#e2e8f080}.car-dashboard .bottom-bar .climate-control .climate-icon{color:#3b82f6}.car-dashboard .bottom-bar .climate-control .temperature{color:#1e293b}.car-dashboard .bottom-bar .climate-control .climate-mode{color:#64748b;font-size:.75rem}@media(max-width:1024px){.car-dashboard .dashboard-main .right-panel .main-content{flex-direction:column}.car-dashboard .dashboard-main .right-panel .main-content .info-section,.car-dashboard .dashboard-main .right-panel .main-content .map-section{width:100%}.car-dashboard .dashboard-main .right-panel .main-content .info-section .trip-stats .stats-grid,.car-dashboard .dashboard-main .right-panel .main-content .info-section .weather-section .stats-grid{grid-template-columns:repeat(6,1fr)}.car-dashboard .dashboard-main .right-panel .main-content .info-section .trip-stats .hourly-forecast,.car-dashboard .dashboard-main .right-panel .main-content .info-section .weather-section .hourly-forecast{justify-content:space-around}.car-dashboard .bottom-bar{flex-wrap:wrap;gap:.5rem;justify-content:center}.car-dashboard .bottom-bar .climate-control{justify-content:center;order:-1;width:100%}}@media(max-width:768px){.car-dashboard{gap:.5rem;padding:.5rem}.car-dashboard .left-panel,.car-dashboard .right-panel{padding:1rem}.car-dashboard .top-bar .status-section{font-size:.75rem;gap:.75rem}.car-dashboard .bottom-bar .bottom-bar-icon{padding:.75rem}.car-dashboard .bottom-bar .bottom-bar-icon .mode-text{font-size:.75rem}}.remote-camera{display:flex;flex-direction:column;gap:1rem;height:100%}.remote-camera .camera-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.remote-camera .camera-header .camera-title{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0}.remote-camera .camera-header .connection-status{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.remote-camera .camera-header .connection-status .connection-icon.connecting{animation:pulse 2s infinite;color:#f59e0b}.remote-camera .camera-header .connection-status .connection-icon.connected{color:#22c55e}.remote-camera .camera-header .connection-status .connection-icon.disconnected{color:#ef4444}.remote-camera .camera-header .connection-status .status-text.connecting{color:#f59e0b}.remote-camera .camera-header .connection-status .status-text.connected{color:#22c55e}.remote-camera .camera-header .connection-status .status-text.disconnected{color:#ef4444}.remote-camera .camera-container{align-items:center;background:#000;border-radius:1rem;display:flex;flex:1 1;justify-content:center;min-height:300px;overflow:hidden;position:relative}.remote-camera .camera-container .camera-video{border-radius:1rem;height:100%;object-fit:cover;width:100%}.remote-camera .camera-container .camera-overlay{align-items:center;background:#000c;bottom:0;color:#fff;display:flex;flex-direction:column;gap:1rem;justify-content:center;left:0;position:absolute;right:0;top:0}.remote-camera .camera-container .camera-overlay .loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#3b82f6;height:40px;width:40px}.remote-camera .camera-container .camera-overlay .disconnected-icon{color:#ef4444}.remote-camera .camera-container .camera-overlay p{color:#d1d5db;font-size:.875rem;margin:0;text-align:center}.remote-camera .camera-controls-overlay{bottom:1rem;display:flex;gap:.75rem;position:absolute;right:1rem;z-index:10}.remote-camera .camera-controls-overlay .control-button-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;border:2px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s ease;width:44px}.remote-camera .camera-controls-overlay .control-button-overlay:hover:not(:disabled){background:#000c;box-shadow:0 4px 12px #0000004d;transform:scale(1.1)}.remote-camera .camera-controls-overlay .control-button-overlay:active:not(:disabled){transform:scale(1.05)}.remote-camera .camera-controls-overlay .control-button-overlay:disabled{cursor:not-allowed;opacity:.4}.remote-camera .camera-controls-overlay .control-button-overlay.gemini-button{background:#3b82f6cc;border-color:#3b82f666}.remote-camera .camera-controls-overlay .control-button-overlay.gemini-button:hover:not(:disabled){background:#3b82f6;border-color:#3b82f699}.remote-camera .camera-controls-overlay .control-button-overlay.gemini-button.connected{background:#22c55ecc;border-color:#22c55e66}.remote-camera .camera-controls-overlay .control-button-overlay.gemini-button.connected:hover:not(:disabled){background:#22c55e;border-color:#22c55e99}.remote-camera .camera-controls-overlay .control-button-overlay.pause-button{background:#ef4444cc;border-color:#ef444466}.remote-camera .camera-controls-overlay .control-button-overlay.pause-button:hover:not(:disabled){background:#ef4444;border-color:#ef444499}.remote-camera .camera-controls-overlay .control-button-overlay.pause-button.paused{background:#22c55ecc;border-color:#22c55e66}.remote-camera .camera-controls-overlay .control-button-overlay.pause-button.paused:hover:not(:disabled){background:#22c55e;border-color:#22c55e99}.remote-camera .camera-info{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fafccc;border:1px solid #e2e8f080;border-radius:.75rem;margin-top:.5rem;padding:.75rem;text-align:center}.remote-camera .camera-info .greeting-text{color:#1e293b;font-size:1rem;font-weight:600;margin:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(max-width:768px){.remote-camera .camera-controls{flex-direction:column;gap:.5rem}.remote-camera .camera-controls .control-button span{font-size:.875rem}.remote-camera .camera-header .camera-title{font-size:1rem}.remote-camera .camera-header .connection-status{font-size:.75rem}}.transcription-chatbox{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f1f5f9b3;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;flex-direction:column;height:200px;margin-top:1rem;overflow:hidden}.transcription-chatbox .messages-container{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.transcription-chatbox .messages-container .empty-state{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:24px;text-align:center}.transcription-chatbox .messages-container .empty-state .empty-icon{margin-bottom:12px;opacity:.6}.transcription-chatbox .messages-container .empty-state .empty-icon svg{color:#64748b;height:24px;width:24px}.transcription-chatbox .messages-container .empty-state .empty-text{color:#64748b;font-size:14px;line-height:1.4;margin:0}.transcription-chatbox .messages-container .messages-list{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:12px}.transcription-chatbox .messages-container .messages-list::-webkit-scrollbar{width:6px}.transcription-chatbox .messages-container .messages-list::-webkit-scrollbar-track{background:#4755691a;border-radius:3px}.transcription-chatbox .messages-container .messages-list::-webkit-scrollbar-thumb{background:#47556966;border-radius:3px}.transcription-chatbox .messages-container .messages-list::-webkit-scrollbar-thumb:hover{background:#47556999}.transcription-chatbox .messages-container .messages-list .message{margin-bottom:.5rem}.transcription-chatbox .messages-container .messages-list .message .message-text{word-wrap:break-word;animation:boardGlow 3s infinite;background:#ffffffe6;border:2px solid #3b82f64d;border-radius:.75rem;box-shadow:0 4px 12px #0000001a;color:#1e293b;font-size:20px;font-weight:700;letter-spacing:1px;line-height:1.4;margin:.5rem 0;padding:1rem;text-align:center;text-transform:uppercase}@media(max-width:768px){.transcription-chatbox{height:150px}.transcription-chatbox .messages-container .messages-list{padding:1rem}.transcription-chatbox .messages-container .messages-list .message .message-text{font-size:15px}}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes criticalAlert{0%{box-shadow:0 4px 20px #ef4444cc;transform:scale(1)}25%{box-shadow:0 6px 30px #ef4444;transform:scale(1.1)}50%{box-shadow:0 8px 40px #ef4444;transform:scale(1.15)}75%{box-shadow:0 6px 30px #ef4444;transform:scale(1.1)}to{box-shadow:0 4px 20px #ef4444cc;transform:scale(1)}}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes borderGlow{0%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}to{opacity:.5;transform:scale(1)}}@keyframes controlFlash{0%{box-shadow:0 4px 16px #f59e0b99;transform:scale(1)}50%{box-shadow:0 6px 24px #f59e0be6;transform:scale(1.05)}to{box-shadow:0 4px 16px #f59e0b99;transform:scale(1)}}@keyframes navPulse{0%{box-shadow:0 2px 8px #3b82f680}50%{box-shadow:0 4px 16px #3b82f6cc}to{box-shadow:0 2px 8px #3b82f680}}@keyframes boardGlow{0%{border-color:#3b82f64d;box-shadow:0 4px 12px #0000001a}50%{border-color:#3b82f699;box-shadow:0 6px 20px #3b82f633}to{border-color:#3b82f64d;box-shadow:0 4px 12px #0000001a}}.message{animation:messageSlideIn .3s ease-out}
/*# sourceMappingURL=main.937f5187.css.map*/