:root{--primary-color: #4285F4;--primary-dark: #3367D6;--secondary-color: #34A853;--save-color: #6c757d;--save-dark: #5a6268;--background-color: #f8f9fa;--text-color: #202124;--border-color: #dadce0;--white: #ffffff;--danger-color: #DB4437}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Roboto,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6;display:flex;justify-content:center;padding:1rem}#app{width:100%;max-width:800px;background:var(--white);border-radius:8px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}header{padding:1.5rem;background-color:var(--primary-color);color:var(--white);text-align:center}header h1{margin-bottom:.25rem}main{padding:1.5rem}.controls{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease-in-out,box-shadow .2s ease;color:var(--white)}#record-button{background-color:var(--primary-color)}#record-button:hover{background-color:var(--primary-dark);box-shadow:0 2px 4px #0000001a}#record-button.recording{background-color:var(--danger-color)}.record-icon:before{content:"🎤"}#record-button.recording .record-icon:before{content:"■";color:#fff;animation:pulse 1.5s infinite}.summarize-icon:before{content:"✨"}.save-icon:before{content:"💾"}#summarize-button{background-color:var(--secondary-color)}#save-button{background-color:var(--save-color)}#save-button:hover:not(:disabled){background-color:var(--save-dark)}button:disabled{background-color:#ccc;cursor:not-allowed}.transcription-container,.summary-container{margin-bottom:1.5rem}h2{font-size:1.25rem;margin-bottom:.5rem;border-bottom:2px solid var(--border-color);padding-bottom:.25rem}#transcript,#summary{min-height:150px;width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background-color:#fff;white-space:pre-wrap;word-wrap:break-word}#transcript:focus{outline:2px solid var(--primary-color)}.placeholder{color:#888}.loader{border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:1rem auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{transform:scale(.95);opacity:.7}70%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:.7}}
