body { font-family: 'Inter', sans-serif; touch-action: manipulation; -webkit-tap-highlight-color: transparent; overscroll-behavior: none;}
.card-shadow { box-shadow: 0 10px 40px -10px rgba(0,0,0,0.1); }
.btn-press:active { transform: scale(0.96); }
.toggle-checkbox:checked { right: 0.125rem; left: auto; border-color: #4F46E5; }
.toggle-checkbox:checked + .toggle-label { background-color: #4F46E5; }
@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.animate-slide-up { animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
@keyframes fadeOut { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(-10px); } }
.toast-anim { animation: fadeOut 2.5s ease-in-out forwards; }
@keyframes pulse-ring { 0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); } 70% { box-shadow: 0 0 0 15px rgba(16, 185, 129, 0); } 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); } }
.mic-listening { animation: pulse-ring 1.5s infinite; border-color: #10b981; background-color: #ecfdf5; color: #059669; }
input[type=range] { -webkit-appearance: none; width: 100%; background: transparent; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; height: 20px; width: 20px; border-radius: 50%; background: #4F46E5; cursor: pointer; margin-top: -8px; box-shadow: 0 2px 6px rgba(0,0,0,0.2); }
input[type=range]::-webkit-slider-runnable-track { width: 100%; height: 4px; cursor: pointer; background: #e2e8f0; border-radius: 2px; }
td { white-space: pre-wrap; word-break: break-word; vertical-align: top; outline: none; cursor: text; font-size: 11px; line-height: 1.2; }
td:focus { background-color: #eef2ff; position: relative; z-index: 10; outline: 2px solid #6366f1; }
tr:nth-child(even) { background-color: #f8fafc; }
