/* Emergency UI Styles - TTS機能停止・レート制限対応 */

.error-message {
    background: linear-gradient(135deg, #fff3cd, #ffeaa7);
    border: 2px solid #856404;
    border-radius: 8px;
    padding: 20px;
    margin: 15px 0;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.error-message h3 {
    color: #856404;
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 1.2em;
}

.error-message p {
    color: #333;
    margin-bottom: 10px;
    line-height: 1.5;
}

.retry-info {
    background: rgba(255, 255, 255, 0.7);
    padding: 8px 12px;
    border-radius: 4px;
    border-left: 4px solid #ffc107;
}

.retry-info small {
    color: #6c757d;
    font-style: italic;
}

/* TTS フォールバック状態のボタンスタイル */
.tts-button.tts-fallback {
    background: linear-gradient(135deg, #17a2b8, #138496);
    border-color: #138496;
    color: white;
}

.tts-button.tts-fallback:hover {
    background: linear-gradient(135deg, #138496, #117a8b);
    border-color: #117a8b;
    transform: translateY(-1px);
}

.tts-button.tts-fallback::after {
    content: " 🔊";
    font-size: 0.8em;
    opacity: 0.8;
}

/* 緊急停止状態の表示 */
.emergency-notice {
    background: linear-gradient(135deg, #f8d7da, #f5c6cb);
    border: 2px solid #721c24;
    border-radius: 8px;
    padding: 15px;
    margin: 10px 0;
    text-align: center;
}

.emergency-notice .icon {
    font-size: 1.5em;
    margin-right: 8px;
}

.emergency-notice .message {
    font-weight: bold;
    color: #721c24;
    margin-bottom: 5px;
}

.emergency-notice .fallback-info {
    font-size: 0.9em;
    color: #495057;
    font-style: italic;
}

/* Loading state improvements */
.tts-loading {
    background: linear-gradient(135deg, #6c757d, #5a6268);
    border-color: #5a6268;
    cursor: not-allowed;
}

.tts-loading:disabled {
    opacity: 0.8;
}

/* Animation for spinner */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.fa-spinner.fa-spin {
    animation: spin 1s linear infinite;
}

/* Rate limit warning banner */
.rate-limit-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #dc3545;
    color: white;
    text-align: center;
    padding: 10px;
    z-index: 9999;
    font-weight: bold;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.rate-limit-banner .countdown {
    font-family: monospace;
    font-size: 1.1em;
}