*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-blue: #3b82f6;--accent-green: #22c55e;--accent-red: #ef4444;--accent-yellow: #eab308;--accent-purple: #a855f7;--border-color: #475569}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;height:100vh;max-width:900px;margin:0 auto;padding:.75rem;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:10px;margin-bottom:.75rem;flex-shrink:0}.header h1{font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.header h1 span{font-size:1.5rem}.status-indicator{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-tertiary);border-radius:20px;font-size:.8rem}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--text-secondary)}.status-dot.connected{background:var(--accent-green);box-shadow:0 0 10px var(--accent-green)}.status-dot.recording{background:var(--accent-red);box-shadow:0 0 10px var(--accent-red);animation:pulse 1.5s infinite}.status-dot.summarizing{background:var(--accent-yellow);box-shadow:0 0 10px var(--accent-yellow);animation:pulse .8s infinite}.status-dot.error{background:var(--accent-red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.main-content{flex:1;display:flex;flex-direction:column;gap:.75rem;overflow:hidden;min-height:0}.chat-panel{flex:1;background:var(--bg-secondary);border-radius:10px;padding:.75rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;min-height:0}.chat-panel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);text-align:center}.chat-panel-empty .icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.chat-panel-empty p{max-width:300px;line-height:1.6}.summary-bubble{background:var(--bg-tertiary);border-radius:12px;padding:1rem;border-left:4px solid var(--accent-purple)}.summary-bubble.streaming{border-left-color:var(--accent-yellow)}.summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:.75rem;color:var(--text-secondary)}.summary-badge{background:var(--accent-purple);color:#fff;padding:.25rem .5rem;border-radius:4px;font-weight:500}.summary-bubble.streaming .summary-badge{background:var(--accent-yellow);color:var(--bg-primary)}.summary-text{line-height:1.7;white-space:pre-wrap}.summary-text.streaming:after{content:"▊";animation:blink .8s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.controls-panel{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:10px;flex-shrink:0}.btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{font-size:1.25rem}.btn-primary{background:var(--accent-blue);color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-record{background:var(--accent-green);color:#fff;min-width:140px}.btn-record:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.btn-record.recording{background:var(--accent-red)}.btn-record.recording:hover:not(:disabled){background:#dc2626}.btn-record.paused{background:var(--accent-yellow);color:var(--bg-primary)}.btn-record.paused:hover:not(:disabled){background:#ca8a04}.btn-summarize{background:var(--accent-purple);color:#fff}.btn-summarize:hover:not(:disabled){background:#9333ea;transform:translateY(-1px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#4b5563;transform:translateY(-1px)}.audio-visualizer{display:flex;align-items:center;justify-content:center;gap:3px;height:40px;padding:0 1rem}.audio-bar{width:4px;background:var(--accent-green);border-radius:2px;transition:height .1s ease}.audio-bar.inactive{background:var(--text-secondary);height:8px!important}.error-message{background:#ef44441a;border:1px solid var(--accent-red);color:var(--accent-red);padding:1rem;border-radius:8px;text-align:center}.settings-panel-compact{background:var(--bg-secondary);border-radius:10px;padding:.75rem;margin-bottom:.75rem;flex-shrink:0}.settings-row{display:flex;gap:.75rem;align-items:flex-end}.settings-field{flex:1}.settings-label{display:block;font-size:.7rem;font-weight:500;color:var(--text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.settings-select{width:100%;padding:.5rem 1.75rem .5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.settings-select:focus{outline:none;border-color:var(--accent-blue)}.settings-toggle{padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.75rem;cursor:pointer;white-space:nowrap}.settings-toggle:hover{background:#3f4f63;color:var(--text-primary)}.settings-description{font-size:.75rem;color:var(--text-secondary);margin-top:.5rem;line-height:1.4}.settings-advanced{margin-top:.75rem}.custom-instructions-input-compact{width:100%;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.8rem;font-family:inherit;resize:vertical;min-height:50px}.custom-instructions-input-compact:focus{outline:none;border-color:var(--accent-purple)}.custom-instructions-input-compact::placeholder{color:var(--text-secondary);opacity:.7}@media (max-width: 640px){.app-container{padding:.5rem}.header h1{font-size:1rem}.header h1 span{font-size:1.25rem}.settings-row{flex-wrap:wrap}.settings-field{flex:1 1 45%;min-width:120px}.settings-toggle{flex:0 0 auto}.controls-panel{flex-wrap:wrap;padding:.5rem}.btn{flex:1;min-width:100px;padding:.5rem .75rem;font-size:.85rem}}
