/* filename: static/style.css */

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}
.container{background:#fff;border-radius:20px;padding:40px;max-width:600px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3)}
h1{text-align:center;color:#333;margin-bottom:10px;font-size:2em}
.subtitle{display:flex;justify-content:center;align-items:center;gap:12px;text-align:center;color:#666;margin-bottom:20px}
.language-selector{display:flex;gap:20px;margin-bottom:20px}
.language-card{flex:1;padding:20px;border:3px solid #e0e0e0;border-radius:15px;cursor:pointer;transition:all .3s;text-align:center}
.language-card:hover{border-color:#667eea;transform:translateY(-2px)}
.language-card.selected{border-color:#667eea;background:#f0f4ff}
.language-card h3{margin-bottom:5px;color:#333}
.language-card p{color:#666;font-size:.9em}
.connection-area{margin:20px 0}
.input-group{margin-bottom:15px}
.input-group label{display:block;margin-bottom:5px;color:#333;font-weight:bold}
input[type=text]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:10px;font-size:1em}
button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:15px 40px;border-radius:10px;font-size:1.1em;cursor:pointer;transition:transform .2s;width:100%;margin-top:10px}
button:hover:not(:disabled){transform:scale(1.05)}
button:disabled{opacity:.5;cursor:not-allowed}
.status{margin-top:20px;padding:15px;border-radius:10px;text-align:center;font-weight:bold;transition:background-color .3s}
.status.clickable{cursor:pointer}
.status.connected{background:#d4edda;color:#155724}
.status.connected:hover{background:#c3e6cb}
.status.disconnected{background:#f8d7da;color:#721c24}
.status.connecting{background:#fff3cd;color:#856404}
.status.listening{background:#cfe2ff;color:#084298}
.status.listening:hover{background:#b8daff}
.mic-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;background:#dc3545;margin-right:8px;animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.transcript-area{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:10px;min-height:200px;max-height:400px;overflow-y:auto}
.transcript-item{margin-bottom:15px;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}
.transcript-item.sent{border-left:4px solid #667eea}
.transcript-item.received{border-left:4px solid #28a745}
.item-head{display:flex;align-items:flex-start;margin-bottom:8px}
.item-actions{margin-left:auto;display:flex;gap:16px;align-items:center}
.transcript-label{font-weight:bold;font-size:.9em;margin-bottom:0}
.transcript-item.sent .transcript-label{color:#667eea}
.transcript-item.received .transcript-label{color:#28a745}
.transcript-text{color:#333;margin-bottom:5px}
.transcript-translation{color:#666;font-style:italic;font-size:.95em}
.help-text{text-align:center;color:#999;font-size:.9em;margin-top:10px}
.item-actions .action-link{all:unset;cursor:pointer;font-size:.95em;color:#0b4a5a;padding:2px 4px;border-radius:4px}
.item-actions .action-link:hover{background:rgba(11,74,90,.08)}
.item-actions .action-delete{color:#b00020}
.item-actions .action-delete:hover{background:rgba(176,0,32,.08)}
.voice-wrap{display:flex;align-items:center;gap:8px}
.voice-icon{font-size:1.1em;line-height:1;cursor:default}
.voice-select{min-width:200px;max-width:280px;padding:8px 10px;border:2px solid #e0e0e0;border-radius:10px;background:#fff;font-size:.95em;color:#333}
#enableSoundBtn{display:none;margin-top:8px}
.hidden{display:none !important}