/* ============ Voice Memos — iOS / macOS Voice Memos look. Prefix vm-. Light mode comes from scripts/build-light.mjs ============ */
.ap-vm{background:#000;--vm:#0a84ff}
.ap-vm .vm-sp{flex:1}
.vm-top{flex:none;display:flex;align-items:center;height:calc(env(safe-area-inset-top,0px) + var(--fake,0px) + 44px);padding:calc(env(safe-area-inset-top,0px) + var(--fake,0px)) 10px 0 52px}
.vm-tb{color:var(--vm)!important;display:flex;align-items:center;gap:5px;font-size:17px;min-height:40px;padding:0 6px}.vm-tb:active{opacity:.45}
.vm-scroll{flex:1;overflow:auto;padding:0 16px 24px;-webkit-overflow-scrolling:touch}
.vm-scroll h1{font-size:34px;font-weight:700;margin:2px 0 10px;letter-spacing:.01em}
.vm-sw{position:relative;margin-bottom:4px}.vm-si{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:#8e8e93;display:flex}
.vm-sw input{width:100%;height:36px;border:0;outline:0;border-radius:10px;background:rgba(118,118,128,.24);color:#fff;font:17px -apple-system,BlinkMacSystemFont,sans-serif;padding:0 10px 0 32px;-webkit-appearance:none;appearance:none}
.vm-sw input::placeholder{color:#8e8e93}
.vm-sec{font-size:20px;font-weight:700;margin:22px 0 4px;color:#fff}
.vm-grp{border-top:.5px solid #38383a}
.vm-r{border-bottom:.5px solid #38383a}
.vm-r-h{padding:11px 0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.vm-r-t{font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.vm-r-s{display:flex;align-items:center;gap:6px;font-size:15px;color:#8e8e93;margin-top:3px}
.vm-d{font-variant-numeric:tabular-nums}.vm-fav{color:#ff9f0a;display:flex}.vm-up{font-size:12px;color:var(--vm)}
.vm-r.open .vm-r-h{padding-bottom:4px}
.vm-x{padding:0 0 14px}
.vm-note{font-size:15px;color:#ebebf5;opacity:.8;margin:2px 0 8px;line-height:1.35}
.vm-tags{display:flex;gap:6px;margin:2px 0 8px}.vm-tags span{font-size:12px;font-weight:600;color:#8e8e93;background:#1c1c1e;border-radius:6px;padding:3px 7px}
.vm-wv{display:block;width:100%;height:44px;margin-top:8px;touch-action:none;cursor:pointer}
.vm-tm{display:flex;justify-content:space-between;font-size:12px;color:#8e8e93;margin-top:4px;font-variant-numeric:tabular-nums}
.vm-ctl{display:flex;align-items:center;gap:22px;margin-top:6px}
.vm-ctl button{color:#fff!important;display:grid;place-items:center;min-width:40px;height:44px}.vm-ctl button:active{opacity:.45}
.vm-ctl .vm-more{color:var(--vm)!important;min-width:40px}.vm-ctl .vm-del{color:var(--vm)!important}
.vm-pp{min-width:48px!important}
.vm-live{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:10px;padding:10px 14px;border-radius:12px;background:#1c1c1e;color:#fff!important;font-size:16px;font-weight:600}
.vm-live:active{background:#2c2c2e}.vm-li{display:flex;border-radius:6px;overflow:hidden}.vm-li .aicon{border-radius:6px}
.vm-empty{color:#8e8e93;font-size:15px;line-height:1.4;padding:14px 0}
.vm-none{text-align:center;color:#8e8e93;padding:40px 0}
/* bottom: record button (and the recorder panel while recording) */
.vm-bot{flex:none;display:flex;flex-direction:column;align-items:center;padding:12px 16px calc(var(--bot,env(safe-area-inset-bottom,0px)) + 22px);background:#1c1c1e;border-top:.5px solid #38383a;transition:border-radius .3s}
.ap-vm.recording .vm-bot{border-radius:14px 14px 0 0}
.vm-recbtn{width:68px;height:68px;border-radius:50%;border:3.5px solid #fff!important;display:grid;place-items:center;padding:0}
.vm-recbtn i{display:block;width:56px;height:56px;border-radius:50%;background:#ff453a;transition:all .25s cubic-bezier(.2,.9,.3,1)}
.ap-vm.recording .vm-recbtn i{width:28px;height:28px;border-radius:6px}
.vm-recbtn:active i{opacity:.7}.vm-recbtn:disabled{opacity:.5}
.vm-rec{width:100%}.vm-rec:empty{display:none}
.vm-rh{text-align:center;margin:2px 0 6px}.vm-rh b{display:block;font-size:19px;font-weight:600;color:#fff}.vm-rh small{font-size:13px;color:#8e8e93}
.vm-rw{display:block;width:100%;height:96px;margin:4px 0}
.vm-rt{text-align:center;font-size:22px;font-weight:500;color:#fff;font-variant-numeric:tabular-nums;margin-bottom:8px}
.vm-rc{display:flex;align-items:center;justify-content:center;height:0;position:relative}
.vm-rp{position:absolute;left:4px;top:28px;color:#ff453a!important;min-width:44px;height:44px;display:grid;place-items:center;font-size:16px;font-weight:600}
.vm-rp .res{font-size:16px}
/* sheets + alerts */
.vm-sbg,.vm-albg{position:absolute;inset:0;z-index:60;background:rgba(0,0,0,.42);display:flex;align-items:flex-end;justify-content:center}
.vm-asw{width:100%;max-width:440px;padding:0 8px calc(var(--bot,env(safe-area-inset-bottom,0px)) + 8px);display:flex;flex-direction:column;gap:8px;animation:vmUp .25s cubic-bezier(.2,.9,.3,1)}
.vm-as{background:rgba(44,44,46,.96);border-radius:14px;overflow:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.vm-as-h{font-size:13px;color:#8e8e93;text-align:center;padding:13px 16px;border-bottom:.5px solid #48484a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vm-as button,.vm-as-x{display:block;width:100%;font-size:19px;padding:16px;color:var(--vm)!important;text-align:center}
.vm-as button+button{border-top:.5px solid #48484a}.vm-as button.red{color:#ff453a!important}
.vm-as-x{background:#2c2c2e;border-radius:14px;font-weight:600}
.vm-as button:active,.vm-as-x:active{background:#3a3a3c}
.vm-albg{align-items:center}
.vm-al{width:270px;background:rgba(44,44,46,.97);border-radius:14px;text-align:center;overflow:hidden;animation:vmPop .2s ease-out}
.vm-al b{display:block;font-size:17px;font-weight:600;padding:18px 16px 4px;color:#fff}.vm-al p{font-size:13px;color:#ebebf5;margin:0 16px 4px;line-height:1.35}
.vm-al input{width:calc(100% - 32px);margin:10px 16px 16px;height:30px;border-radius:7px;border:.5px solid #48484a;background:#1c1c1e;color:#fff;font-size:16px;padding:0 7px;outline:0}
.vm-al p+.vm-al-b{margin-top:14px}
.vm-al-b{display:flex;border-top:.5px solid #48484a}.vm-al-b button{flex:1;padding:11px;font-size:17px;color:var(--vm)!important}.vm-al-b button+button{border-left:.5px solid #48484a}.vm-al-b .bold{font-weight:600}.vm-al-b .red{color:#ff453a!important}
@keyframes vmUp{from{transform:translateY(40px);opacity:0}}@keyframes vmPop{from{transform:scale(1.1);opacity:0}}
/* laptop */
.ap-vm.mac{background:#1e1e1e}
.vm-mtb{flex:none;display:flex;align-items:center;gap:8px;height:52px;padding:0 14px 0 88px;border-bottom:.5px solid #38383a}.vm-mtb b{font-size:15px;font-weight:600}
.ap-vm.mac .vm-tb{min-height:30px;font-size:14px}
.ap-vm.mac .vm-scroll{padding:10px 18px 18px}.ap-vm.mac .vm-sw input{height:30px;font-size:14px;border-radius:8px}
.ap-vm.mac .vm-sec{font-size:15px;margin-top:16px}.ap-vm.mac .vm-r-t{font-size:15px}.ap-vm.mac .vm-r-s{font-size:13px}
.ap-vm.mac .vm-live{font-size:14px;padding:8px 12px;border-radius:9px;background:#2c2c2e;max-width:300px;margin-left:auto;margin-right:auto}
.ap-vm.mac .vm-bot{padding:10px 16px 12px;background:#2a2a2a}
.ap-vm.mac .vm-recbtn{width:52px;height:52px;border-width:3px!important}.ap-vm.mac .vm-recbtn i{width:42px;height:42px}.ap-vm.mac.recording .vm-recbtn i{width:22px;height:22px}
.ap-vm.mac .vm-rw{height:70px}.ap-vm.mac .vm-as button{font-size:15px;padding:12px}.ap-vm.mac .vm-as-x{font-size:15px;padding:12px}
