.properties-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .2s ease-in-out}.properties-modal-backdrop.show{opacity:1}.properties-modal-dialog{background:var(--bg);border-radius:.5rem;box-shadow:0 .5rem 2rem var(--shadow-lg);width:90%;max-width:28rem;overflow:hidden;transform:scale(.95);transition:transform .2s ease-in-out}.properties-modal-backdrop.show .properties-modal-dialog{transform:scale(1)}.properties-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--bg);border-bottom:1px solid var(--border)}.properties-modal-header h2{font-size:.9rem;font-weight:700;color:var(--text-muted);margin:0}.properties-modal-close-btn{width:1.75rem;height:1.75rem;padding:.25rem;background:transparent;border:none;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease-in-out}.properties-modal-close-btn:hover{background-color:var(--overlay-very-light)}.properties-modal-close-btn img{width:100%;height:100%;opacity:.6}.properties-modal-close-btn:hover img{opacity:.8}.properties-modal-body{padding:1.5rem;background-color:var(--bg)}.properties-cover-image{display:flex;justify-content:center;margin-bottom:1.5rem;position:relative}.properties-cover-image img{max-width:200px;max-height:200px;border-radius:8px;object-fit:cover;box-shadow:0 2px 8px var(--shadow-md)}.properties-cover-image img.loading{display:none}.properties-cover-loading{width:200px;height:200px;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border-radius:8px}.property-row{display:flex;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--border)}.property-row:last-child{border-bottom:none}.property-label{font-size:.85rem;font-weight:600;color:var(--text-muted);min-width:7rem;flex-shrink:0}.property-value{font-size:.85rem;color:var(--text);word-break:break-word}.properties-modal-footer{display:flex;justify-content:flex-end;padding:1rem 1.5rem;background-color:var(--bg-hover);border-top:1px solid var(--border)}.properties-modal-ok-btn{padding:.5rem 1.5rem;background-color:var(--color-primary);color:var(--text-on-dark);border:none;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease-in-out}.properties-modal-ok-btn:hover{background-color:var(--color-primary-hover)}.language-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.language-modal{background:var(--bg);border-radius:12px;padding:1.5rem;max-width:420px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px var(--shadow-lg);animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.language-modal-header{position:relative;text-align:center;margin-bottom:1.25rem}.language-modal-close{position:absolute;top:0;right:0;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.language-modal-close:hover{background:var(--bg-subtle);color:var(--text)}.language-modal-close:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-alpha)}.language-modal-header h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--text)}.language-modal-header p{margin:0;font-size:.85rem;color:var(--text-muted)}.language-modal-toggle{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem}.language-modal-toggle .toggle-label{font-size:.9rem;color:var(--text);font-weight:500}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--text-subtle);transition:.2s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;transition:.2s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 2px var(--color-primary-alpha)}.language-modal-language-section{transition:opacity .2s ease,max-height .2s ease}.language-modal-language-section.hidden{display:none}.language-section-header p{margin:0 0 .75rem;font-size:.85rem;color:var(--text-muted);text-align:center}.language-modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.language-option{padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.9rem;cursor:pointer;transition:all .15s ease;text-align:left}.language-option:hover{background:var(--bg-subtle);border-color:var(--text-subtle)}.language-option:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.language-option.selected{background:var(--color-primary);color:var(--text-on-dark);border-color:var(--color-primary)}.language-option.selected:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.language-option.auto-detect{grid-column:span 2;text-align:center;font-weight:500}.language-modal::-webkit-scrollbar{width:6px}.language-modal::-webkit-scrollbar-track{background:transparent}.language-modal::-webkit-scrollbar-thumb{background:var(--text-subtle);border-radius:3px}.language-modal::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.context-menu-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay);z-index:1000;opacity:0;transition:opacity .2s ease-in-out}.context-menu-modal-backdrop.show{opacity:1}.context-menu-modal-dialog{position:fixed;background:var(--bg);border-radius:.75rem;box-shadow:0 .5rem 2rem var(--shadow-lg);overflow:hidden;transform:scale(.9);opacity:0;transition:transform .2s ease-in-out,opacity .2s ease-in-out;max-height:calc(100vh - 40px);display:flex;flex-direction:column}.context-menu-modal-backdrop.show .context-menu-modal-dialog{transform:scale(1);opacity:1}.context-menu-items{display:flex;flex-direction:column;overflow-y:auto}.context-menu-item{display:flex;align-items:center;padding:.875rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .15s ease-in-out;font-family:inherit}.context-menu-item:last-child{border-bottom:none}.context-menu-item:hover{background-color:var(--bg-hover)}.context-menu-item:active{background-color:var(--overlay-very-light)}.context-menu-item-icon{width:1.25rem;height:1.25rem;margin-right:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.context-menu-item-icon img{width:100%;height:100%;opacity:.7}@media (prefers-color-scheme: dark){.context-menu-item-icon img{filter:invert(1)}}.context-menu-item:hover .context-menu-item-icon img{opacity:1}.context-menu-item-label{font-size:.9rem;font-weight:500;color:var(--text)}.context-menu-separator{height:3px;background-color:var(--border);margin:.25rem 0}.context-menu-item--delete .context-menu-item-label{color:var(--color-danger, #ef4444)}.context-menu-item--delete .context-menu-item-icon img{opacity:.8}@media (min-width: 768px){.context-menu-modal-backdrop{background-color:transparent}}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-font-smoothing:antialiased}:root{--bg: #ffffff;--bg-subtle: #f5f5f7;--bg-hover: #f9f9f9;--border: #e5e5e5;--text: #1d1d1f;--text-muted: #666;--text-subtle: #999;--text-on-dark: #ffffff;--text-secondary: rgba(0, 0, 0, .5);--color-primary: #007aff;--color-primary-hover: #0051d5;--color-primary-light: #62abfc;--color-primary-lighter: #c4dcf9;--color-primary-alpha: rgba(0, 122, 255, .16);--color-primary-shadow: rgba(0, 122, 255, .1);--color-success: #34c759;--color-success-shadow: rgba(52, 199, 89, .3);--color-error: #ff3b30;--color-error-dark: #d32f2f;--color-error-shadow: rgba(255, 59, 48, .3);--color-warning: #ffcc00;--color-warning-shadow: rgba(255, 204, 0, .3);--color-highlight: #fff59d;--color-highlight-hover: #fff176;--color-trim: #FFD700;--color-trim-hover: #FFC700;--color-trim-active: #FFB700;--color-button: #666;--color-button-hover: #555;--color-button-light: #e5e5e7;--color-button-light-hover: #d1d1d6;--color-button-dark: #333;--color-button-dark-bg: #515154;--color-button-dark-hover: #3a3a3c;--color-button-red: hsl(0 80% 60%);--color-button-red-hover: hsl(0 80% 50%);--overlay: rgba(0, 0, 0, .5);--overlay-light: rgba(0, 0, 0, .3);--overlay-very-light: rgba(0, 0, 0, .05);--shadow-sm: rgba(0, 0, 0, .1);--shadow-md: rgba(0, 0, 0, .2);--shadow-lg: rgba(0, 0, 0, .3)}html,body{height:100vh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}html{padding-top:env(safe-area-inset-top);background-color:var(--bg)}[hidden]{display:none!important}#root{height:100%}button[disabled]{opacity:.3;pointer-events:none}@media (prefers-color-scheme: dark){:root{--bg: #1d1d1f;--bg-subtle: #2a2a2e;--bg-hover: #3a3a3f;--border: #424245;--color-primary-lighter: rgba(0, 122, 255, .16);--color-button-light: var(--color-button-dark-bg);--color-button-light-hover: var(--color-button-dark-hover);--text: #f5f5f7;--text-muted: #a1a1a6;--text-subtle: #666;--text-on-dark: #ffffff;--text-secondary: rgba(255, 255, 255, .5);--overlay: rgba(0, 0, 0, .7);--overlay-light: rgba(0, 0, 0, .5);--overlay-very-light: rgba(0, 0, 0, .2);--shadow-sm: rgba(0, 0, 0, .3);--shadow-md: rgba(0, 0, 0, .5);--shadow-lg: rgba(0, 0, 0, .7);--color-highlight: #fff59d;--color-highlight-hover: #fff176;--color-trim: #FFD700;--color-trim-hover: #FFC700;--color-trim-active: #FFB700;--cover-color: var(var(--bg-subtle))}html,body{background-color:var(--bg-subtle)}}.puter-error-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100000}.puter-error-content{background:var(--bg);border-radius:1rem;padding:2rem;max-width:320px;text-align:center;box-shadow:0 8px 32px #0000004d}.puter-error-icon{font-size:3rem;margin-bottom:1rem}.puter-error-content h2{margin:0 0 .5rem;font-size:1.25rem;color:var(--text)}.puter-error-content p{margin:0 0 1.5rem;font-size:.875rem;color:var(--text-muted);line-height:1.4}.puter-error-reload-btn{background:var(--color-primary);color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.puter-error-reload-btn:hover{background:var(--color-primary-hover)}#sign-in-overlay{background:linear-gradient(45deg,#fcc40e,#e93028)}input:where([type=checkbox][role=switch]){-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;color:inherit;font-size:inherit;width:2em;height:1em;box-sizing:content-box;border:1px solid;border-radius:1em;vertical-align:text-bottom;margin:auto}input:where([type=checkbox][role=switch]):before{content:"";position:absolute;top:50%;left:0;transform:translateY(-50%);width:.7em;height:.7em;margin:0 .15em;border:1px solid;border-radius:50%;background:var(--text-subtle);transition:left .1s ease-in-out}input:where([type=checkbox][role=switch]):checked{background:var(--color-primary)}input:where([type=checkbox][role=switch]):checked:before{left:.9em;background:#fff}input:where([type=checkbox][role=switch]):disabled{opacity:.3}.view-manager{height:100vh;overflow:hidden}.split-view{display:flex;height:100vh;overflow:hidden}.split-view .sidebar{width:360px;flex-shrink:0;border-right:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.split-view .content{flex:1;overflow:hidden;background-color:var(--bg)}.split-view .empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-subtle);font-size:1rem}.split-view .player-view{height:100%}@media (min-width: 768px){.split-view .recordings-list-view{width:360px}}@media (max-width: 768px){.split-view .content{position:fixed;top:0;left:0;bottom:0;right:0;z-index:9;padding-top:env(safe-area-inset-top);background-color:var(--bg)}.split-view:has(.player-view .error) .content,.split-view:has(.empty-state) .content{display:none}.split-view{display:block}.split-view .recordings-list-view{width:100%}.recordings-list-view .search-input.active{width:calc(100vw - 110px)}}.recording-capture-view{display:flex;flex-direction:column;height:100vh;background-color:var(--bg)}.recording-capture-view .header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background-color:var(--bg-subtle);border-bottom:1px solid var(--border)}.recording-capture-view .back-btn{padding:.5rem 1rem;background-color:transparent;color:var(--color-primary);border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s ease-in-out}.recording-capture-view .back-btn:hover{opacity:.7}.recording-capture-view .title{position:absolute;left:50%;transform:translate(-50%);font-size:1.125rem;font-weight:600;color:var(--text)}.recording-capture-view .content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:2rem}.recording-capture-view .device-selector-container{display:flex;align-items:center;gap:.75rem;width:100%;max-width:600px}.recording-capture-view .device-selector-container label{font-size:.875rem;font-weight:500;color:var(--text);white-space:nowrap}.recording-capture-view .device-selector{flex:1;padding:.5rem 1rem;background-color:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline:none}.recording-capture-view .device-selector:hover:not(:disabled){border-color:var(--color-primary)}.recording-capture-view .device-selector:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-shadow)}.recording-capture-view .device-selector:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-subtle)}.recording-capture-view .device-selector option{padding:.5rem}.recording-capture-view .waveform{width:100%;max-width:600px;height:200px;background-color:var(--bg-subtle);border-radius:.5rem;display:flex;align-items:center;justify-content:center;position:relative}.recording-capture-view .vu-meter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;position:absolute;z-index:1}.recording-capture-view .vu-meter-label{font-size:.875rem;color:var(--text-subtle);font-weight:500}.recording-capture-view .vu-meter-container{width:100%;max-width:400px;height:12px;background-color:var(--border);border-radius:6px;overflow:hidden;position:relative}.recording-capture-view .vu-meter-bar{height:100%;width:0%;background-color:var(--color-success);border-radius:6px;transition:width 50ms linear,background-color .1s ease-in-out;box-shadow:0 0 8px var(--color-success-shadow)}.recording-capture-view .time-display{font-size:3rem;font-weight:300;color:var(--text);font-variant-numeric:tabular-nums}.recording-capture-view .controls{display:flex;align-items:center;gap:1rem}.recording-capture-view .controls button[disabled]{display:none}.recording-capture-view .record-btn{padding:.75rem 2rem;background-color:var(--color-error);color:var(--text-on-dark);border:none;border-radius:2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .15s ease-in-out}.recording-capture-view .record-btn:hover{background-color:var(--color-error-dark)}.recording-capture-view .stop-btn{padding:.75rem 2rem;background-color:var(--color-button-dark-bg);color:var(--text-on-dark);border:none;border-radius:2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .15s ease-in-out}.recording-capture-view .stop-btn:hover:not(:disabled){background-color:var(--color-button-dark-hover)}.recording-capture-view .stop-btn:disabled{opacity:.5;cursor:not-allowed}.recordings-list-view{position:relative;display:flex;flex-direction:column;width:360px;height:100vh;border-right:1px solid var(--border)}.recordings-list-view .list::-webkit-scrollbar{width:8px}.recordings-list-view .list::-webkit-scrollbar-track{background:var(--bg-subtle);border-radius:4px}.recordings-list-view .list::-webkit-scrollbar-thumb{background:var(--text-subtle);border-radius:4px}.recordings-list-view .list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.recordings-list-view .header{display:flex;align-items:center;justify-content:space-between;height:3.3rem;padding:0 1rem;background-color:var(--bg);border-bottom:1px solid var(--border)}.recordings-list-view .view-dropdown{position:relative;flex:1}.recordings-list-view .dropdown-trigger{display:flex;align-items:center;gap:.3rem;padding:.4rem .5rem;background:transparent;border:none;cursor:pointer;border-radius:.375rem;transition:background-color .15s ease-in-out}.recordings-list-view .dropdown-trigger:hover{background-color:var(--bg-hover)}.recordings-list-view .dropdown-trigger.hidden{display:none}.recordings-list-view .dropdown-title{font-size:.85rem;font-weight:700;color:var(--text-subtle)}.recordings-list-view .dropdown-chevron{font-size:.7rem;color:var(--text-subtle);margin-top:.1rem}.recordings-list-view .dropdown-menu{position:absolute;top:100%;left:0;min-width:160px;background:var(--bg);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 4px 12px var(--shadow-lg);z-index:100;overflow:hidden}.recordings-list-view .dropdown-menu.hidden{display:none}.recordings-list-view .dropdown-item{display:flex;align-items:center;width:100%;font-weight:500;padding:.6rem .75rem;font-size:.85rem;color:var(--text);background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .15s ease-in-out}.recordings-list-view .dropdown-item:hover{background-color:var(--bg-hover)}.recordings-list-view .dropdown-check{width:1.2rem;font-size:.8rem;color:var(--text-muted);margin-right:.5rem;display:inline-flex}.recordings-list-view .dropdown-item.active .dropdown-check{color:var(--color-primary)}.recordings-list-view .dropdown-divider{margin:.25rem 0;border:none;border-top:1px solid var(--border)}.recordings-list-view .dropdown-item.hidden,.recordings-list-view .dropdown-divider.hidden{display:none}.recordings-list-view .search-container{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}.recordings-list-view .search-input{display:none;flex:1;padding:.4rem .6rem;font-size:.85rem;border:1px solid var(--border);border-radius:.5rem;background-color:var(--bg);transition:border-color .15s ease-in-out}.recordings-list-view .search-input:focus{outline:none;border-color:var(--color-primary)}.recordings-list-view .search-input.active{display:block;width:290px}.recordings-list-view .search-btn{width:1.8rem;height:1.8rem;padding:.3rem;border:none;background:transparent;cursor:pointer;color:var(--text-subtle);display:flex;align-items:center;justify-content:center;transition:color .15s ease-in-out;flex-shrink:0}.recordings-list-view .search-btn:hover,.recordings-list-view .search-btn.active{color:var(--color-primary)}.recordings-list-view .empty-search{padding:2rem 1.5rem;text-align:center;color:var(--text-subtle);font-size:.9rem}.recordings-list-view .new-btn{position:absolute;bottom:calc(2rem + env(safe-area-inset-bottom));left:50%;z-index:9;transform:translate(-50%);padding:1.25rem;background-color:var(--color-button-red);color:var(--text-on-dark);border:none;border-radius:50%;font-size:.875rem;font-weight:600;cursor:pointer;border:.2rem solid var(--bg);box-shadow:0 0 1rem var(--shadow-lg);transition:background-color .15s ease-in-out}.recordings-list-view .new-btn:hover{background-color:var(--color-button-red-hover)}.recordings-list-view .list{flex:1;overflow-x:hidden;overflow-y:auto;background-color:var(--bg)}.recordings-list-view .list.disabled{opacity:.3;pointer-events:none}.recordings-list-view .list.drag-over{background:var(--color-primary-lighter);border:2px dashed var(--color-primary)}.recordings-list-view .empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-subtle);font-size:1rem}.recordings-list-view .swipe-container{position:relative;overflow:hidden}.recordings-list-view .swipe-actions{position:absolute;right:0;top:0;bottom:0;display:none;align-items:stretch;z-index:0}.recordings-list-view .swipe-delete-btn{width:80px;height:100%;background:var(--color-button-red);color:#fff;border:none;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease-in-out}.recordings-list-view .swipe-delete-btn:hover{background:var(--color-button-red-hover)}.recordings-list-view .swipe-container.swipe-confirm .swipe-actions{background:var(--color-button-red);width:100%;justify-content:flex-end}.recordings-list-view .swipe-container.swipe-confirm .swipe-delete-btn{background:transparent}.recordings-list-view .item{display:flex;position:relative;align-items:center;cursor:pointer;border:1px solid transparent;border-bottom:1px solid var(--border);transition:background-color .15s ease-in-out,transform .2s ease-out;padding:.75rem 0;background-color:var(--bg);z-index:1}.recordings-list-view .item.swiping{transition:background-color .15s ease-in-out}.recordings-list-view .item-thumbnail{width:3rem;height:3rem;flex-shrink:0;margin-left:1rem;border-radius:4px;overflow:hidden;background:var(--bg-subtle);display:flex;align-items:center;justify-content:center}.recordings-list-view .item-thumbnail:not(.is-loading):not(.has-image){display:none}.recordings-list-view .item-thumbnail img{width:100%;height:100%;object-fit:cover}.recordings-list-view .item-thumbnail.is-loading{background:var(--bg-hover)}.recordings-list-view .item:hover{background-color:var(--bg-hover)}.recordings-list-view .item--selected{background-color:var(--color-primary-lighter);border:1px solid var(--color-primary-light)}.recordings-list-view .item--selected:hover{background-color:var(--color-primary-alpha)}.recordings-list-view .item-content{flex:1;display:flex;align-items:flex-end;justify-content:space-between;padding:0 1rem 0 .75rem;cursor:pointer;max-width:240px}.recordings-list-view .item-info{display:flex;flex-direction:column;gap:.25rem}.recordings-list-view .item-name{font-size:.9rem;font-weight:600;color:var(--text);max-width:230px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item.item--trash .item-name{max-width:175px}.recordings-list-view .item-date{font-size:.8rem;color:var(--text-secondary)}.recordings-list-view .item-details{position:absolute;right:.5rem;width:3.5rem;gap:.5rem;display:flex;align-items:center;flex-direction:column-reverse}.recordings-list-view .item-duration{display:inline-flex;font-size:.8rem;margin-bottom:-.1rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.recordings-list-view .item-position{display:flex;align-items:center;margin-left:.5rem}.recordings-list-view .item-position-bar{width:2.5rem;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.recordings-list-view .item-position-progress{height:100%;background:var(--color-primary);border-radius:2px;transition:width .2s ease}.recordings-list-view .item-processing-indicator{display:flex;align-items:center;gap:6px}.recordings-list-view .item-status-text{font-size:11px;color:var(--text-secondary);white-space:nowrap}.recordings-list-view .spinner-small{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.recordings-list-view .spinner-tiny{display:inline-block;width:10px;height:10px;border:1.5px solid var(--border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-right:6px;vertical-align:middle}.recordings-list-view .item-size{display:flex;font-size:.8rem;margin-bottom:-.1rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.recordings-list-view .item-delete{width:2.5rem;height:2.5rem;padding:.5rem;margin-right:1rem;color:var(--text-on-dark);border:none;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease-in-out;align-items:center;display:flex;justify-content:center}.recordings-list-view .item-delete:hover{box-shadow:0 2px 7px inset var(--text-subtle)}.recordings-list-view .item-delete svg{fill:var(--text-subtle);width:100%;height:100%}.recordings-list-view .item-delete:hover svg{fill:var(--text-subtle)}.recordings-list-view .loading-overlay{position:absolute;top:3.3rem;left:0;right:0;bottom:0;background:var(--listview-bg-color);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:5;pointer-events:none}.recordings-list-view .loading-overlay .spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--text-muted);border-radius:50%;animation:spin .8s linear infinite}.recordings-list-view .loading-overlay .loading-message{font-size:.875rem;color:var(--text-muted);font-weight:500}.recordings-list-view .list-footer{padding:.75rem 1rem;border-top:1px solid var(--border);background-color:var(--bg);display:none;gap:.5rem}.recordings-list-view .list-footer:not(.hidden){display:flex}.recordings-list-view .cancel-btn{flex:1;padding:.5rem 1rem;font-size:.8rem;color:var(--text);background:var(--bg-hover);border:1px solid var(--border);border-radius:.375rem;cursor:pointer;transition:background-color .15s ease-in-out}.recordings-list-view .cancel-btn:hover{background:var(--bg-active)}.recordings-list-view .delete-selected-btn{flex:1;padding:.5rem 1rem;font-size:.8rem;color:#fff;background:var(--color-button-red);border:none;border-radius:.375rem;cursor:pointer;transition:background-color .15s ease-in-out,opacity .15s ease-in-out}.recordings-list-view .delete-selected-btn:hover:not(:disabled){background:var(--color-button-red-hover)}.recordings-list-view .delete-selected-btn:disabled{opacity:.5;cursor:not-allowed}.recordings-list-view .item-checkbox{display:flex;align-items:center;justify-content:center;padding-left:1rem}.recordings-list-view .item-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.recordings-list-view .item--multiselect{cursor:pointer}.recordings-list-view .item--multiselect .item-thumbnail{margin-left:.5rem}.recordings-list-view .item--checked{background-color:var(--color-primary-lighter)}.recordings-list-view .item--multiselect:hover{background-color:var(--bg-hover)}.recordings-list-view .item--checked:hover{background-color:var(--color-primary-alpha)}.recordings-list-view .trash-list-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-hover);font-size:.8rem;color:var(--text-subtle);border-bottom:1px solid var(--border)}.recordings-list-view .empty-trash-btn{font-size:.75rem;color:var(--color-button-red);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:background-color .15s ease-in-out}.recordings-list-view .empty-trash-btn:hover{background:var(--bg-active)}.recordings-list-view .item--trash{opacity:.8}.recordings-list-view .trash-item-actions{display:flex;gap:.25rem;flex-shrink:0;padding-right:.5rem}.recordings-list-view .trash-restore-btn,.recordings-list-view .trash-delete-btn{width:32px;height:32px;padding:6px;background:none;border:none;cursor:pointer;color:var(--text-subtle);border-radius:.25rem;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease-in-out,color .15s ease-in-out}.recordings-list-view .trash-restore-btn:hover{background:var(--bg-active);color:var(--color-primary)}.recordings-list-view .trash-delete-btn:hover{background:var(--bg-active);color:var(--color-button-red)}.recordings-list-view .trash-restore-btn svg,.recordings-list-view .trash-delete-btn svg{width:18px;height:18px}@media (max-width: 768px){.recordings-list-view .swipe-actions{display:flex}.recordings-list-view,.recordings-list-view .search-container{width:100%}.recordings-list-view .search-input{font-size:16px}.recordings-list-view .new-btn{bottom:calc(4rem + env(safe-area-inset-bottom));padding:1.75rem}}@media (prefers-color-scheme: dark){.recordings-list-view .search-input{color:var(--text)}}.player-view{display:flex;flex-direction:column;height:100vh;background-color:var(--bg)}.player-view .error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-subtle);font-size:1rem}.player-view .header{display:flex;align-items:center;justify-content:flex-end;height:3.3rem;padding:.5rem;background-color:var(--bg);border-bottom:1px solid var(--border)}.player-view .header button{display:inline-flex;justify-content:center;align-items:center;padding:0;color:var(--text-muted);border:none;width:2rem;height:2rem;margin:0 .25rem;cursor:pointer;background:transparent;transition:color .15s ease-in-out}.player-view .header button.cover-btn svg{width:30px;height:30px}.player-view .header button:hover{color:var(--text-muted)}.audio-btn{margin-left:auto!important}.edit-btn{margin-right:auto!important}.player-view .header button.active{border-radius:.5rem;background:var(--text-muted);color:var(--text-on-dark)}.audio-btn.active:hover,.cover-btn.active:hover,.edit-btn.active:hover,.quote-btn.active:hover{color:var(--text)}.player-view .content{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;overflow-y:auto}.player-view .name-container{width:100%;display:flex;flex-direction:column;position:relative}.player-view .menu-btn{display:none;position:absolute;left:.6rem;top:1.4rem;justify-content:center;align-items:center;padding:0;color:var(--text-muted);border:none;width:2rem;height:2rem;margin:0 .25rem;cursor:pointer;background:transparent;transition:color .15s ease-in-out}.player-view .menu-btn:hover{color:var(--text)}.player-view .name-input{width:100%;margin:auto;font-size:1.1rem;font-weight:700;color:var(--text);border:2px solid transparent;padding:.3rem;margin-top:.5rem;text-align:center;background-color:transparent;transition:border-color .15s ease-in-out,background-color .15s ease-in-out}.player-view .name-input:focus{outline:none;border-bottom-color:var(--color-primary);background:var(--bg-hover)}.player-view .metadata-item{color:var(--text-muted);display:flex;justify-content:center;font-size:.8rem;padding:0 0 .5rem}.player-view .waveforms{touch-action:pan-x;display:flex;flex-direction:column;gap:1.5rem;width:100%;height:calc(100% - 240px);padding:1rem 0 .5rem;background:var(--bg-subtle)}.player-view .waveform-detail{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;height:100%;margin:auto;position:relative;cursor:pointer;touch-action:none}.player-view .waveform-overview{position:relative;height:3.5rem;flex-shrink:0;cursor:grab;border-radius:.5rem;margin:0 2rem;border:2px solid var(--border);background-color:var(--bg-subtle);box-shadow:0 1px 3px var(--shadow-sm)}.player-view .waveform-overview:active{cursor:grabbing}.player-view .waveform-overview:hover{background-color:var(--bg-subtle)}.player-view .timestamps{display:flex;width:100%;justify-content:space-between;padding:0 2rem;font-size:.8rem;font-weight:500;color:var(--text-muted)}.player-view .waveform-canvas{width:100%;height:100%;display:block;touch-action:pan-x}.player-view .timeline-canvas{display:block;width:100%}.player-view .cursor{position:absolute;top:0;bottom:2.5rem;width:1px;background-color:var(--color-primary);pointer-events:none;left:50%;transform:translate(-50%);z-index:10;touch-action:pan-x}.player-view .zoom-indicator{position:absolute;top:0;bottom:0;width:.4rem;background-color:var(--color-primary);pointer-events:none;z-index:10;transform:translate(-50%)}.player-view .time-display{margin:auto;padding:1rem 0;font-size:2rem;color:var(--text-subtle);font-weight:700;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Droid Sans Mono,Source Code Pro,monospace;font-variant-numeric:tabular-nums}.player-view .controls{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1.5rem;width:100%;margin-top:auto;padding-bottom:1.5rem;background:linear-gradient(180deg,transparent,var(--bg))}.player-view .play-btn{width:3rem;height:3rem;border-radius:50%;background-color:var(--color-button);color:var(--text-on-dark);border:.2rem solid var(--bg);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease-in-out;flex-shrink:0;padding:.1rem}.player-view .play-btn:hover{background-color:var(--color-button-hover)}.player-view .skipback-btn,.player-view .skipforward-btn{width:2rem;height:2rem;border:none;border-radius:50%;color:var(--text-on-dark);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease-in-out;background:transparent;flex-shrink:0}.player-view .skipback-btn svg,.player-view .skipforward-btn svg{color:var(--text-muted);width:32px;height:32px}.player-view .skipback-btn:hover svg,.player-view .skipforward-btn:hover svg{color:var(--text-muted)}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--bg-subtle);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:10;pointer-events:none}.loading-overlay .spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--text-muted);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay .loading-message{font-size:.875rem;color:var(--text-muted);font-weight:500}.loading-overlay .loading-file-size{font-size:.75rem;color:var(--text-dim);margin-top:-.5rem}.loading-overlay .loading-progress-container{width:200px;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.loading-overlay .loading-progress-bar{height:100%;background:var(--text-muted);border-radius:3px;transition:width .1s ease-out;width:0%}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.loading-overlay .loading-progress-text{font-size:.75rem;color:var(--text-subtle);font-variant-numeric:tabular-nums}.waveform-overview .loading-overlay{padding-top:.5rem;gap:.3rem}.waveform-overview .loading-overlay .spinner,.waveform-overview .loading-overlay .loading-message,.waveform-overview .loading-overlay .loading-file-size,.waveform-detail .loading-overlay .spinner,.waveform-detail .loading-overlay .loading-file-size{display:none}.player-view .waveform-overview.trim-mode{border-top:2px solid var(--color-trim);border-bottom:2px solid var(--color-trim);cursor:default;touch-action:none}.trim-overlay-container{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;touch-action:none;z-index:15}.trim-region-overlay{position:absolute;top:-5px;bottom:-5px;opacity:.7;background:var(--bg-subtle);pointer-events:none;z-index:16}.trim-handle{position:absolute;top:-2px;bottom:-2px;width:16px;transform:translate(-50%);cursor:ew-resize;pointer-events:auto;z-index:20;display:flex;flex-direction:column;align-items:center;touch-action:pan-x}.trim-handle-inner{position:relative;width:100%;height:100%;background:var(--color-trim);border-radius:2px;box-shadow:0 2px 4px var(--shadow-md);display:flex;align-items:center;justify-content:center}.trim-handle-line{width:2px;height:20px;background:var(--overlay-light);border-radius:1px}.trim-handle:hover .trim-handle-inner{background:var(--color-trim-hover)}.trim-handle:active .trim-handle-inner{background:var(--color-trim-active)}.trim-handle-time{position:absolute;top:-24px;left:50%;transform:translate(-50%);background:var(--color-button-dark);color:var(--text-on-dark);padding:.2rem .4rem;border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap;pointer-events:none;box-shadow:0 1px 3px var(--shadow-lg)}.trim-handle.fine-tuning .trim-handle-inner{background:var(--color-trim-active);box-shadow:0 0 8px 2px var(--color-trim)}.trim-controls{position:absolute;bottom:-2.65rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;pointer-events:auto;z-index:20;background:var(--bg-subtle)}.trim-btn{padding:.5rem 1rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out}.trim-cancel-btn{background:var(--color-button-light);color:var(--text)}.trim-cancel-btn:hover{background:var(--color-button-light-hover)}.trim-apply-btn{background:var(--color-primary);color:var(--text-on-dark)}.trim-apply-btn:hover{background:var(--color-primary-hover)}.trim-apply-btn:disabled{background:var(--text-lighter);cursor:not-allowed;opacity:.6}.cover-view-container{position:relative;height:calc(100% - 7.4rem);display:flex;flex-direction:column;align-items:center;justify-content:center}.cover-view-content,.cover-view-empty,.cover-view-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%}.cover-view-image{max-width:100%;max-height:calc(100% - 1rem);object-fit:contain;border-radius:.5rem;box-shadow:0 4px 12px var(--shadow-md)}.cover-view-empty p,.cover-view-loading p{color:var(--text-muted);font-size:.875rem;margin:0}.cover-view-loading .spinner{width:40px;height:40px;border:4px solid var(--bg-subtle);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.generate-cover-btn{position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%);padding:.4rem .8rem;background-color:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border);border-radius:.375rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out}.regenerate-cover-btn{display:none;justify-content:center;align-items:center;padding:.5rem 1rem;border:none;color:var(--text-muted);background-color:var(--bg);cursor:pointer;transition:background-color .15s ease-in-out;border-radius:.5rem;font-size:.875rem;position:absolute}.generate-cover-btn:hover,.regenerate-cover-btn:hover{background-color:var(--text)}.cover-view-image:hover~.regenerate-cover-btn{display:inline-flex}@media (max-width: 768px){.loading-overlay{position:fixed;top:8rem;bottom:11rem}.split-view:has(.empty) .loading-overlay{position:fixed;top:0;bottom:0}.player-view .header{position:fixed;top:calc(4.6rem + env(safe-area-inset-top));left:0;right:0;height:3.3rem;z-index:10;border-top:1px solid var(--border)}.player-view .name-container{margin-bottom:3.3rem}.player-view .name-input{max-width:calc(100% - 8rem);text-overflow:ellipsis}.player-view .menu-btn{display:inline-flex}.player-view .waveforms{height:calc(100% - 300px)}.player-view .timeline-canvas{display:flex;width:100%;height:40px;flex-shrink:0}}@media (prefers-color-scheme: dark){.player-view .waveform-canvas,.recording-capture-view .waveform canvas{filter:invert(1)}}.transcription-view-container{position:relative;height:calc(100% - 7.4rem);display:flex;flex-direction:column}.transcription-toolbar{display:flex;height:2.5rem;justify-content:center;align-items:center;gap:.5rem;margin-top:.3rem;padding:.5rem 1rem;box-sizing:border-box}.transcription-toolbar .toolbar-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:none;background:transparent;color:var(--text-muted);font-size:.75rem;cursor:pointer;border-radius:.25rem;transition:all .15s ease-in-out}.transcription-toolbar .toolbar-btn:hover{background:var(--bg-subtle);color:var(--text)}.transcription-toolbar .toolbar-btn svg{width:16px;height:16px}.transcription-toolbar .toolbar-btn.language-btn.manual{background:var(--color-primary);color:var(--text-on-dark)}.transcription-toolbar .toolbar-btn.language-btn.manual:hover{background:var(--color-primary-hover)}.transcription-container{width:100%;height:calc(100% - 1.5rem);padding:0 1rem;margin:0 auto}.transcription-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:18px;line-height:1.5rem;color:var(--text);max-width:600px;height:100%;margin:auto;padding:1rem;overflow-y:auto;text-align:left;position:relative}.transcription-text .word{display:inline;padding:2px 0;cursor:pointer;color:var(--text-muted);font-weight:500;border-radius:.3rem;background-color:transparent;-webkit-user-select:none;user-select:none}.transcription-text .word:hover{background-color:var(--bg-subtle)}.transcription-text .punctuation{color:var(--text-muted);-webkit-user-select:none;user-select:none}.transcription-text .word.current-word{color:var(--bg-subtle);background-color:var(--text)}.transcription-text .word.search-match{background-color:var(--color-highlight);padding:2px 4px;border-radius:2px;transition:background-color .15s ease}.transcription-text .word.search-match:hover{background-color:var(--color-highlight-hover)}.transcription-text .word.current-word.search-match{background-color:var(--color-highlight);color:var(--text);font-weight:500}.transcription-text .no-transcription{color:var(--text-subtle);text-align:center;font-style:italic;margin:0}.transcription-text::-webkit-scrollbar{width:8px}.transcription-text::-webkit-scrollbar-track{background:var(--bg-subtle);border-radius:4px}.transcription-text::-webkit-scrollbar-thumb{background:var(--text-subtle);border-radius:4px}.transcription-text::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.transcription-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;color:var(--text-muted);gap:1rem;height:100%}.transcription-loading .start-transcription-btn{display:inline-flex;justify-content:center;align-items:center;padding:.5rem 1rem;color:var(--text-on-dark);border:none;background-color:var(--text-muted);margin:1rem;cursor:pointer;transition:background-color .15s ease-in-out;border-radius:.5rem}.transcription-loading .start-transcription-btn:hover{background-color:var(--text-muted)}.transcription-loading .spinner{width:40px;height:40px;border:4px solid var(--bg-subtle);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.transcription-loading p{margin:0;font-size:14px}.transcription-error{padding:24px;text-align:center;color:var(--color-error-dark)}.transcription-error p{margin:0 0 16px}.transcription-error button{padding:8px 16px;background:var(--color-primary);color:var(--text-on-dark);border:none;border-radius:4px;cursor:pointer;font-size:14px}.transcription-error button:hover{background:var(--color-primary-hover)}@media (max-width: 768px){.transcription-container{width:100%}}.update-notification{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.875rem 1rem;background:var(--color-primary);color:var(--text-on-dark);font-size:.875rem;font-weight:500;transform:translateY(100%);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out;z-index:10001}.update-notification-visible{transform:translateY(0);opacity:1}.update-notification-text{flex:0 1 auto}.update-notification-button{flex:0 0 auto;padding:.375rem .75rem;border:none;border-radius:.25rem;background:var(--text-on-dark);color:var(--color-primary);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.update-notification-button:hover{background:var(--bg-subtle)}.update-notification-button:active{background:var(--border)}.update-notification-dismiss{flex:0 0 auto;padding:.25rem .5rem;border:none;background:transparent;color:var(--text-on-dark);font-size:1.25rem;line-height:1;cursor:pointer;opacity:.7;transition:opacity .15s ease}.update-notification-dismiss:hover{opacity:1}.toast-notification{position:absolute;bottom:1.6rem;right:1.6rem;transform:translateY(3rem);padding:.75rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--text-on-dark);background:var(--text-muted);box-shadow:0 4px 12px var(--shadow-md);opacity:0;transition:all .618s ease-in-out;z-index:10000;pointer-events:none}.toast-notification.toast-visible{opacity:1;transform:translateY(0)}.toast-notification.toast-success{background:var(--color-success)}.toast-notification.toast-error{background:var(--color-error)}.toast-notification.toast-info{background:var(--color-primary)}@media (pointer: coarse) and (hover: none){.toast-notification{left:50%;right:auto;transform:translate(-50%) translateY(3rem);max-width:calc(100% - 2rem);text-align:center}.toast-notification.toast-visible{transform:translate(-50%) translateY(0)}}
