.audio-recorder{margin-bottom:var(--space-lg)}.record-btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);background:var(--white);border:2px dashed var(--border);width:100%;color:var(--text-secondary);padding:14px;font-size:15px;transition:all .2s;display:flex}.record-btn:active{border-color:var(--leaf-green);background:#8ed08114}.mic-icon{font-size:20px}.audio-recording-active{align-items:center;gap:var(--space-md);border-radius:var(--radius-md);border:2px solid var(--coral-pink);background:#ff9aa21a;padding:14px 18px;display:flex}.recording-pulse{background:var(--coral-pink);border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.recording-timer{color:var(--coral-pink);font-variant-numeric:tabular-nums;flex:1;font-size:18px;font-weight:700}.stop-btn{background:var(--coral-pink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stop-icon{background:#fff;border-radius:3px;width:14px;height:14px}.recording-hint{color:var(--text-light);font-size:12px}.audio-playback{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);background:var(--white);border:2px solid var(--mint);padding:10px 14px;display:flex}.play-btn{background:var(--leaf-green);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:flex}.play-btn:active{transform:scale(.95)}.audio-wave-static{flex:1;align-items:center;gap:3px;height:28px;display:flex}.wave-bar{background:var(--mint);border-radius:2px;width:3px;height:40%;transition:height .2s}.wave-bar:first-child{height:30%}.wave-bar:nth-child(2){height:50%}.wave-bar:nth-child(3){height:70%}.wave-bar:nth-child(4){height:45%}.wave-bar:nth-child(5){height:85%}.wave-bar:nth-child(6){height:55%}.wave-bar:nth-child(7){height:95%}.wave-bar:nth-child(8){height:60%}.wave-bar:nth-child(9){height:75%}.wave-bar:nth-child(10){height:40%}.wave-bar:nth-child(11){height:55%}.wave-bar:nth-child(12){height:35%}.wave-bar.animating{animation:.6s ease-in-out infinite alternate waveAnim}@keyframes waveAnim{0%{background:var(--mint);height:20%}to{background:var(--leaf-green);height:100%}}.audio-duration{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px}.audio-remove-btn{width:28px;height:28px;color:var(--text-light);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.audio-remove-btn:active{color:var(--coral-pink)}.audio-permission-denied{text-align:center;padding:var(--space-md);border-radius:var(--radius-md);background:#ff9aa214;border:1px solid #ff9aa233}.audio-permission-denied span{font-size:24px}.audio-permission-denied p{color:var(--text-secondary);margin-top:4px;font-size:13px}.play-btn-mini{background:var(--mint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;transition:all .2s;display:flex}.play-btn-mini:active{background:var(--leaf-green);transform:scale(.95)}.emoji-picker-overlay{z-index:1100;background:#2d343673;justify-content:center;align-items:flex-end;animation:.18s ease-out both flashcardFadeIn;display:flex;position:fixed;inset:0}.emoji-picker{background:var(--cream);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;max-height:78vh;padding:12px 16px calc(16px + var(--safe-bottom));flex-direction:column;animation:.22s ease-out both emojiPickerUp;display:flex;box-shadow:0 -6px 28px #0000002e}@keyframes emojiPickerUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.emoji-picker-head{flex:none;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.emoji-picker-head h4{color:var(--text-primary);margin:0;font-size:16px;font-weight:800}.emoji-picker-close{background:var(--white);border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;font-size:20px;line-height:1}.emoji-picker-auto{border-radius:var(--radius-md);background:var(--white);border:1.5px solid var(--border);width:100%;color:var(--text-primary);flex:none;align-items:center;gap:8px;margin-bottom:10px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.emoji-picker-auto-emoji{font-size:22px;line-height:1}.emoji-picker-grid{-webkit-overflow-scrolling:touch;flex:auto;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;padding-bottom:4px;display:grid;overflow-y:auto}.emoji-picker-cell{aspect-ratio:1;border-radius:var(--radius-md);background:var(--white);border:1.5px solid #0000;place-items:center;font-size:28px;line-height:1;transition:transform .12s,border-color .12s;display:grid}.emoji-picker-cell:active{transform:scale(.9)}.emoji-picker-cell.selected{border-color:var(--leaf-green);background:#eaf4e9}.emoji-picker-note{color:var(--text-light);text-align:center;flex:none;margin:10px 0 0;font-size:11px}.emoji-picker-cats{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:none;gap:6px;margin-bottom:8px;padding-bottom:8px;display:flex;overflow-x:auto}.emoji-picker-cats::-webkit-scrollbar{display:none}.emoji-picker-cat{border-radius:var(--radius-full);background:var(--white);border:1.5px solid var(--border);color:var(--text-secondary);white-space:nowrap;flex:none;padding:6px 12px;font-size:12px;font-weight:600}.emoji-picker-cat.on{color:var(--text-primary);font-weight:700}
