:root{--bg-color: #050505;--card-bg: #0a0a0a;--accent-blue: #007aff;--text-primary: #ffffff;--text-secondary: #86868b;--border-color: #1c1c1e;--glow-blue: rgba(0, 122, 255, .3)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg-color);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;overflow:hidden;height:100vh;width:100vw}#root{height:100%}.vesper-pwa{display:flex;flex-direction:column;height:100%;padding:2rem;justify-content:space-between;align-items:center}.header{text-align:center;margin-top:1rem}.title{font-size:1.2rem;font-weight:300;letter-spacing:.2rem;text-transform:uppercase;color:var(--text-secondary)}.core-container{position:relative;display:flex;justify-content:center;align-items:center;width:100%;flex:1}.vesper-core{width:120px;height:120px;background:radial-gradient(circle,#007aff,#001a33);border-radius:50%;position:relative;box-shadow:0 0 40px var(--glow-blue);cursor:pointer;z-index:2}.pulse-ring{position:absolute;width:120px;height:120px;border-radius:50%;border:1px solid var(--accent-blue);z-index:1}.status-text{position:absolute;bottom:25%;font-size:.9rem;color:var(--accent-blue);font-weight:500;letter-spacing:.1rem;opacity:.8}.controls{width:100%;max-width:400px;margin-bottom:2rem}.transcription{background:var(--card-bg);border:1px solid var(--border-color);padding:1.5rem;border-radius:1.5rem;min-height:100px;margin-bottom:1rem;color:var(--text-secondary);font-size:1rem;line-height:1.5}.mic-hint{text-align:center;font-size:.8rem;color:var(--text-secondary);opacity:.5}.grid-status{position:absolute;top:2rem;right:2rem;display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05rem}.status-dot{width:6px;height:6px;border-radius:50%;background:#34c759}.status-dot.offline{background:#ff3b30}.car-mode-container{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;color:#fff;display:flex;flex-direction:column;padding:20px;font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-user-select:none;user-select:none;overflow:hidden}.car-status-bar{display:flex;align-items:center;gap:12px;padding:20px 0}.status-led{width:12px;height:12px;border-radius:50%;background:#444}.status-led.online{background:#00c6ff;box-shadow:0 0 10px #00c6ff}.status-label{font-size:14px;font-weight:700;letter-spacing:2px;color:#aaa}.time-stamp{margin-left:auto;font-size:16px;font-weight:600}.car-main-action{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.car-core-button{width:200px;height:200px;background:#111;border:2px solid rgba(0,198,255,.3);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;cursor:pointer;transition:background .3s ease}.car-core-button.listening{background:#222;border-color:#fff}.car-core-button.speaking{background:#001a33;border-color:#00c6ff}.car-icon{margin-bottom:12px;color:#00c6ff}.car-core-button.listening .car-icon{color:#fff}.car-label{font-size:12px;font-weight:800;letter-spacing:3px;color:#00c6ff}.car-core-button.listening .car-label{color:#fff}.car-pulse-ring{position:absolute;width:200px;height:200px;border:4px solid rgba(0,198,255,.4);border-radius:50%;z-index:1}.speaking-wave{display:flex;align-items:center;gap:4px;height:40px}.speaking-wave span{width:6px;height:20px;background:#00c6ff;border-radius:3px;animation:wave .6s infinite ease-in-out}.speaking-wave span:nth-child(2){animation-delay:.2s}.speaking-wave span:nth-child(3){animation-delay:.4s}@keyframes wave{0%,to{height:20px}50%{height:40px}}.car-transcript-area{height:120px;display:flex;align-items:center;justify-content:center;padding:0 40px;text-align:center}.car-transcript-bubble{font-size:20px;font-weight:500;line-height:1.4;color:#eee}.car-footer-nav{display:flex;justify-content:space-around;padding:30px 0;border-top:1px solid #222}.nav-item{display:flex;flex-direction:column;align-items:center;gap:8px;color:#666}.nav-item.active{color:#00c6ff}.nav-icon{font-size:24px}.nav-item span{font-size:10px;font-weight:700;letter-spacing:1px}
