.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}.logphrase-overlay{z-index:100;background:#00000073;justify-content:center;align-items:flex-end;animation:.2s ease-out both logphraseOverlayIn;display:flex;position:fixed;inset:0}@keyframes logphraseOverlayIn{0%{opacity:0}to{opacity:1}}.logphrase-sheet{background:var(--white);border-radius:24px 24px 0 0;width:100%;max-width:430px;max-height:92vh;padding:8px 20px 24px;animation:.3s cubic-bezier(.16,1,.3,1) both logphraseSheetUp;overflow-y:auto}@keyframes logphraseSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.logphrase-handle{background:var(--border);border-radius:2px;width:38px;height:4px;margin:0 auto 12px}.logphrase-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.logphrase-header-icon{font-size:32px}.logphrase-limit-bar{background:var(--cream-bg,var(--cream));border-radius:999px;align-items:center;gap:10px;margin-bottom:14px;padding:8px 12px;display:flex}.logphrase-limit-bar-track{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.logphrase-limit-bar-fill{background:linear-gradient(90deg, var(--leaf-green), #6bc45e);border-radius:3px;height:100%;transition:width .3s}.logphrase-limit-bar-text{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:700}.logphrase-limit-gate{text-align:center;padding:12px 16px 24px}.logphrase-limit-icon{margin-bottom:12px;font-size:64px;animation:3s ease-in-out infinite logphraseLimitFloat;display:block}@keyframes logphraseLimitFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.logphrase-limit-gate h3{color:var(--leaf-green-dark);letter-spacing:-.3px;margin:0 0 10px;font-size:20px;font-weight:800}.logphrase-limit-gate p{color:var(--text-secondary);max-width:340px;margin:0 auto 20px;font-size:14px;line-height:1.6}.logphrase-limit-count{border:1.5px solid var(--warm-yellow);background:linear-gradient(135deg,#fffbe6,#fff8f2);border-radius:16px;justify-content:center;align-items:baseline;gap:6px;margin-bottom:20px;padding:14px 20px;display:flex}.logphrase-limit-number{color:var(--leaf-green-dark);font-size:28px;font-weight:800;line-height:1}.logphrase-limit-label{color:var(--text-secondary);font-size:12px;font-weight:600}.logphrase-header h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:800;line-height:1.2}.logphrase-header p{color:var(--text-secondary);margin:2px 0 0;font-size:12px}.logphrase-input-wrap{margin-bottom:14px;position:relative}.logphrase-input{border:2px solid var(--border);background:var(--cream-bg,var(--cream));width:100%;color:var(--text-primary);box-sizing:border-box;resize:none;border-radius:16px;outline:none;padding:14px 16px;font-family:inherit;font-size:17px;font-weight:600;line-height:1.4;transition:border-color .15s}.logphrase-input:focus{border-color:var(--leaf-green);background:var(--white)}.logphrase-input::placeholder{color:var(--text-light);font-weight:400}.logphrase-counter{background:var(--cream-bg,var(--cream));color:var(--text-secondary);text-align:center;border-radius:8px;margin-top:6px;padding:6px 12px;font-size:12px;font-weight:600;animation:.2s ease-out both logphraseCounterPop}.logphrase-counter.valid{background:var(--mint);color:var(--leaf-green-dark)}@keyframes logphraseCounterPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.logphrase-starters{margin-bottom:16px}.logphrase-starters-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:700}.logphrase-starters-chips{flex-wrap:wrap;gap:6px;display:flex}.logphrase-starter-chip{background:var(--white);border:1.5px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.logphrase-starter-chip:active{background:var(--mint);border-color:var(--leaf-green);transform:scale(.97)}.logphrase-section{margin-bottom:14px}.logphrase-section label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.logphrase-optional{color:var(--text-light);text-transform:none;letter-spacing:0;font-size:11px;font-weight:500}.logphrase-chips{flex-wrap:wrap;gap:6px;display:flex}.logphrase-chip{background:var(--white);border:1.5px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s}.logphrase-chip.selected{background:var(--mint);border-color:var(--leaf-green);color:var(--leaf-green-dark)}.logphrase-chip:active{transform:scale(.97)}.logphrase-note{border:1.5px solid var(--border);background:var(--cream-bg,var(--cream));width:100%;color:var(--text-primary);resize:none;box-sizing:border-box;border-radius:12px;outline:none;padding:10px 14px;font-family:inherit;font-size:13px;line-height:1.4;transition:border-color .15s}.logphrase-note:focus{border-color:var(--leaf-green);background:var(--white)}.logphrase-note::placeholder{color:var(--text-light)}.logphrase-dup{border:1.5px solid var(--warm-yellow);background:linear-gradient(135deg,#fff8f2,#fff3e8);border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;animation:.3s ease-out both logphraseDupIn;display:flex}@keyframes logphraseDupIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.logphrase-dup-icon{flex-shrink:0;font-size:18px}.logphrase-dup p{color:var(--text-primary);margin:0;font-size:13px;font-weight:500;line-height:1.5}.logphrase-flagged{border:1.5px solid var(--warm-yellow);background:linear-gradient(135deg,#fff8f2,#fff3e8);border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;animation:.3s ease-out both logphraseDupIn;display:flex}.logphrase-flagged-icon{flex-shrink:0;font-size:18px}.logphrase-flagged p{color:var(--text-primary);margin:0;font-size:13px;font-weight:500;line-height:1.5}.logphrase-save{background:linear-gradient(135deg, var(--leaf-green), #6bc45e);width:100%;color:var(--white);cursor:pointer;border:none;border-radius:999px;margin-top:8px;padding:14px;font-size:15px;font-weight:700;transition:transform .15s;box-shadow:0 4px 14px #8ed08159}.logphrase-save:active:not(.disabled){transform:scale(.98)}.logphrase-save.disabled{background:var(--border);color:var(--text-light);cursor:not-allowed;box-shadow:none}.logphrase-cancel{width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:10px;font-size:13px;font-weight:600}.logphrase-celebrate{text-align:center;padding:48px 24px 32px;animation:.3s cubic-bezier(.16,1,.3,1) both logphraseSheetUp}.logphrase-celebrate-inner{flex-direction:column;align-items:center;display:flex}.logphrase-celebrate-icon{margin-bottom:16px;font-size:72px;animation:.8s cubic-bezier(.34,1.56,.64,1) both logphraseBounce}@keyframes logphraseBounce{0%{transform:scale(.3)rotate(-20deg)}60%{transform:scale(1.15)rotate(8deg)}to{transform:scale(1)rotate(0)}}.logphrase-celebrate h2{color:var(--leaf-green-dark);letter-spacing:-.3px;margin:0 0 12px;font-size:22px;font-weight:800}.logphrase-celebrate-text{color:var(--text-primary);background:var(--mint);word-break:break-word;border-radius:16px;max-width:100%;margin:0 0 10px;padding:12px 20px;font-size:22px;font-weight:800}.logphrase-celebrate-sub{color:var(--text-secondary);margin:0 0 28px;font-size:13px}.logphrase-celebrate-btn{background:linear-gradient(135deg, var(--leaf-green), #6bc45e);color:var(--white);cursor:pointer;border:none;border-radius:999px;padding:14px 32px;font-size:14px;font-weight:700;transition:transform .15s;box-shadow:0 4px 14px #8ed08159}.logphrase-celebrate-btn:active{transform:scale(.96)}.phrase-strip-wrap{margin:var(--space-md) 0;flex-direction:column;align-items:center;gap:6px;display:flex}.phrase-strip{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.phrase-strip-cell{border:2px solid var(--warm-yellow);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff 0%,#fffdf5 100%);place-items:center;width:60px;height:60px;font-size:34px;line-height:1;transition:transform .12s;display:grid;box-shadow:0 2px 8px #0000000f}.phrase-strip-cell:active{transform:scale(.93)}.phrase-strip-cell.empty{color:var(--text-light);border-style:dashed;border-color:var(--border);box-shadow:none;background:0 0;font-size:24px}.phrase-strip-hint{color:var(--text-light);margin:0;font-size:11px;font-weight:600}
