:root,[data-theme=light]{--qd-bg:#f8f9fa;--qd-surface:#fff;--qd-surface-2:#f5f5f5;--qd-surface-3:#eef0f2;--qd-overlay:#00000080;--qd-text:#202124;--qd-text-muted:#5f6368;--qd-text-subtle:#80868b;--qd-text-on-accent:#fff;--qd-border:#e0e0e0;--qd-border-strong:#ccced2;--qd-accent:#1a73e8;--qd-accent-hover:#1565c0;--qd-accent-active:#0d47a1;--qd-accent-text:#1a73e8;--qd-accent-subtle:#e8f0fe;--qd-danger:#dc3545;--qd-danger-hover:#c62828;--qd-danger-subtle:#fff5f5;--qd-success:#28a745;--qd-success-subtle:#e6f4ea;--qd-warning:#f59e0b;--qd-warning-subtle:#fff8e1;--qd-shadow-sm:0 1px 2px #00000014;--qd-shadow-md:0 4px 12px #0000001f;--qd-shadow-lg:0 10px 30px #0000002e;color-scheme:light}[data-theme=dark]{--qd-bg:#0f1115;--qd-surface:#1a1d23;--qd-surface-2:#22262e;--qd-surface-3:#2b3039;--qd-overlay:#000000a6;--qd-text:#e6e8eb;--qd-text-muted:#a8aeb8;--qd-text-subtle:#7d838d;--qd-text-on-accent:#fff;--qd-border:#2e333b;--qd-border-strong:#3c424c;--qd-accent:#3b82f6;--qd-accent-hover:#60a5fa;--qd-accent-active:#93c5fd;--qd-accent-text:#6ba5f5;--qd-accent-subtle:#1c2740;--qd-danger:#f87171;--qd-danger-hover:#ef4444;--qd-danger-subtle:#2a1719;--qd-success:#4ade80;--qd-success-subtle:#16271c;--qd-warning:#fbbf24;--qd-warning-subtle:#2a2310;--qd-shadow-sm:0 1px 2px #00000080;--qd-shadow-md:0 4px 12px #0000008c;--qd-shadow-lg:0 10px 30px #0009;color-scheme:dark}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.cwm-overlay{align-items:center;animation:cwm-fade-in .15s ease-out;background:var(--qd-overlay);display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.cwm-panel{animation:cwm-slide-up .18s ease-out;background:var(--qd-surface);border-radius:12px;box-shadow:var(--qd-shadow-lg);margin:16px;max-width:440px;overflow:hidden;width:100%}.cwm-header{align-items:center;display:flex;justify-content:space-between;padding:20px 24px 0}.cwm-title{color:var(--qd-text);font-size:1.1rem;font-weight:650;margin:0}.cwm-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--qd-text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .12s,color .12s;width:32px}.cwm-close:hover{background:var(--qd-surface-3);color:var(--qd-text)}.cwm-form{gap:20px;padding:20px 24px 24px}.cwm-field,.cwm-form{display:flex;flex-direction:column}.cwm-field{gap:6px}.cwm-label{color:var(--qd-text-muted);font-size:.875rem;font-weight:600}.cwm-input{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;color:var(--qd-text);font-size:.95rem;height:40px;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s}.cwm-input:focus{border-color:var(--qd-accent);box-shadow:0 0 0 3px #1a73e826}.cwm-input--error{border-color:var(--qd-danger);box-shadow:none}.cwm-input--error:focus{box-shadow:0 0 0 3px #d9302526}.cwm-input:disabled{background:var(--qd-surface-2);color:var(--qd-text-subtle)}.cwm-char-count{align-self:flex-end;color:var(--qd-text-subtle);font-size:.78rem;margin-top:-2px;transition:color .15s}.cwm-char-count--warn{color:var(--qd-warning)}.cwm-error{color:var(--qd-danger);font-size:.83rem;margin:0}.cwm-footer{display:flex;gap:10px;justify-content:flex-end}.cwm-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:8px;height:38px;padding:0 18px;transition:background .15s,box-shadow .15s,opacity .15s}.cwm-btn:disabled{cursor:not-allowed;opacity:.55}.cwm-btn--secondary{background:var(--qd-surface-3);color:var(--qd-text-muted)}.cwm-btn--secondary:hover:not(:disabled){background:var(--qd-border)}.cwm-btn--primary{background:var(--qd-accent);box-shadow:0 1px 3px #1a73e859;color:var(--qd-text-on-accent)}.cwm-btn--primary:hover:not(:disabled){background:var(--qd-accent-hover);box-shadow:0 2px 6px #1a73e866}.cwm-spinner{animation:cwm-spin .65s linear infinite;border:2px solid #fff6;border-radius:50%;border-top:2px solid var(--qd-text-on-accent);display:inline-block;flex-shrink:0;height:14px;width:14px}@keyframes cwm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cwm-slide-up{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cwm-spin{to{transform:rotate(1turn)}}.navbar{align-items:center;background-color:var(--qd-surface);border-bottom:1px solid var(--qd-border);box-shadow:var(--qd-shadow-sm);display:flex;height:60px;justify-content:space-between;padding:0 20px}.navbar-logo{color:var(--qd-text);font-size:1.2rem;font-weight:700}.navbar-right{align-items:center;display:flex;gap:12px}.workspace-switcher{position:relative}.workspace-trigger{align-items:center;background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:8px;color:var(--qd-text);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;height:36px;max-width:220px;padding:0 10px 0 8px;transition:background .15s,border-color .15s,box-shadow .15s}.workspace-trigger:hover:not(:disabled){background:var(--qd-surface-3);border-color:var(--qd-border-strong);box-shadow:var(--qd-shadow-sm)}.workspace-trigger:disabled{cursor:default;opacity:.6}.workspace-trigger-name{flex:1 1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.workspace-icon-initials{align-items:center;background-color:var(--qd-accent);color:var(--qd-text-on-accent);display:flex;font-size:.75rem;font-weight:600;justify-content:center}.workspace-icon-img,.workspace-icon-initials{border-radius:6px;flex-shrink:0;height:22px;width:22px}.workspace-icon-img{object-fit:cover}.workspace-chevron{color:var(--qd-text-muted);flex-shrink:0;transition:transform .2s ease}.workspace-chevron.open{transform:rotate(180deg)}.workspace-dropdown{animation:fadeIn .1s ease-out;background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:10px;box-shadow:var(--qd-shadow-md);max-width:320px;min-width:240px;padding:6px 0;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.workspace-dropdown-label{color:var(--qd-text-subtle);font-size:.75rem;font-weight:600;letter-spacing:.04em;margin:0;padding:6px 14px 8px;text-transform:uppercase}.workspace-dropdown-item{align-items:center;background:none;border:none;color:var(--qd-text);cursor:pointer;display:flex;font-size:.92rem;gap:10px;padding:8px 14px;text-align:left;transition:background .1s;width:100%}.workspace-dropdown-item:hover{background:var(--qd-surface-3)}.workspace-dropdown-item.active{background:var(--qd-accent-subtle);color:var(--qd-accent-text);font-weight:500}.workspace-dropdown-item.active .workspace-icon-initials{background-color:var(--qd-accent)}.workspace-item-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-item-check{color:var(--qd-accent-text);flex-shrink:0}.profile-circle-wrapper{position:relative}.profile-circle{align-items:center;background-color:var(--qd-accent);border-radius:50%;color:var(--qd-text-on-accent);cursor:pointer;display:flex;height:40px;justify-content:center;overflow:hidden;transition:box-shadow .2s ease;-webkit-user-select:none;user-select:none;width:40px}.profile-circle:hover{box-shadow:0 0 0 4px #0056b326}.profile-img{height:100%;object-fit:cover;width:100%}.profile-initials{font-size:1.1rem;font-weight:500}.profile-dropdown{animation:fadeIn .1s ease-out;background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;box-shadow:var(--qd-shadow-md);display:flex;flex-direction:column;padding:8px 0;position:absolute;right:0;top:55px;width:260px;z-index:1000}.dropdown-header{padding:10px 16px}.user-name{color:var(--qd-text);font-size:.95rem;font-weight:600;margin:0}.user-email{color:var(--qd-text-muted);font-size:.85rem;margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-divider{background-color:var(--qd-border);height:1px;margin:8px 0}.dropdown-item{background:none;border:none;text-align:left;transition:background-color .1s;width:100%}.dropdown-icon{color:var(--qd-text-muted);margin-right:12px}.workspace-dropdown-divider{background:var(--qd-border);height:1px;margin:6px 0}.workspace-new-btn{color:var(--qd-accent-text);font-weight:500}.workspace-new-btn:hover{background:var(--qd-accent-subtle)}.workspace-new-icon{background:var(--qd-accent-subtle);border-radius:6px;color:var(--qd-accent-text);height:22px;width:22px}.navbar-settings-btn,.workspace-new-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.navbar-settings-btn{background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:8px;color:var(--qd-text-muted);cursor:pointer;height:36px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;width:36px}.navbar-settings-btn:hover{background:var(--qd-surface-3);border-color:var(--qd-border-strong);box-shadow:var(--qd-shadow-sm);color:var(--qd-text)}.navbar-theme-btn{align-items:center;background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:8px;color:var(--qd-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;width:36px}.navbar-theme-btn:hover{background:var(--qd-surface-3);border-color:var(--qd-border-strong);box-shadow:var(--qd-shadow-sm);color:var(--qd-text)}.appearance-options{display:flex;flex-wrap:wrap;gap:10px}.appearance-option{align-items:center;background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:8px;color:var(--qd-text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:500;justify-content:center;min-width:96px;padding:9px 16px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.appearance-option:hover{background:var(--qd-surface-3);border-color:var(--qd-border-strong);color:var(--qd-text)}.appearance-option.active{background:var(--qd-accent-subtle);border-color:var(--qd-accent);color:var(--qd-accent-text);font-weight:600}.appearance-option:focus-visible{border-color:var(--qd-accent);box-shadow:0 0 0 3px var(--qd-accent-subtle);outline:none}.modalbackdrop{background-color:var(--qd-overlay);height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal{background-color:var(--qd-surface);border-radius:5px;box-shadow:var(--qd-shadow-md);left:50%;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1001}.modal>.closingX{border:none;border-radius:5px;font-size:20px;height:30px;padding:5px;position:absolute;right:10px;top:10px;transition:background-color .2s;width:30px}.closingX,.modal>.closingX{background-color:initial;cursor:pointer}.closingX{align-items:center;border:none;border-radius:50%;color:var(--qd-text-muted);display:inline-flex;height:36px;justify-content:center;padding:6px;transition:all .2s cubic-bezier(.4,0,.2,1);width:36px}.closingX svg{height:100%;width:100%}.closingX:hover{background-color:var(--qd-surface-3);color:var(--qd-text)}.closingX:active{transform:scale(.92)}.closingX:focus-visible{outline:2px solid var(--qd-accent);outline-offset:2px}.bbutton{background-color:var(--qd-surface-2);border:none;border-radius:5px;cursor:pointer;display:inline-block;font-size:18px;margin:4px 2px;padding:10px;text-align:center}.bbutton:hover{filter:brightness(85%)}.spinner-container{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.spinner{animation:spin 1.2s linear infinite;aspect-ratio:1/1;border:8px solid var(--qd-border);border-left-color:var(--qd-text);border-radius:50%;height:50%;transform:translate(-50%,-50%)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.tag-selector{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;width:100%}.tag-selector h3{color:var(--qd-text-muted);font-size:.8rem;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.input-wrapper{align-items:center;display:flex;position:relative}.tag-input{background-color:var(--qd-surface);border:2px solid var(--qd-border);border-radius:6px;color:var(--qd-text);font-size:.95rem;outline:none;padding:10px 12px 10px 34px;transition:all .2s ease;width:100%}.tag-input::placeholder{color:var(--qd-text-subtle)}.tag-input:focus{border-color:var(--qd-border-strong)}.search-icon{color:var(--qd-text-subtle);font-size:1.1rem;left:10px;pointer-events:none;position:absolute}.tag-dropdown{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:6px;box-shadow:var(--qd-shadow-md);left:0;list-style:none;margin-top:4px;max-height:250px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:1000}.dropdown-item{border-bottom:1px solid var(--qd-border);color:var(--qd-text);font-size:.95rem;padding:10px 14px}.dropdown-item:last-child{border-bottom:none}.dropdown-item.highlighted{background-color:var(--qd-surface-3)}.tag-name{font-weight:500}.create-item{color:var(--qd-success)}.create-item.highlighted{background-color:var(--qd-success-subtle)}.plus-icon{font-size:1.1rem;font-weight:700;margin-right:8px}.no-results{color:var(--qd-text-subtle);font-size:.85rem;font-style:italic;margin-top:8px;padding-left:4px}.uploadFileModal{background-color:var(--qd-surface);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-height:85vh;max-width:95vw;width:600px}.modal-header{align-items:center;border-bottom:1px solid var(--qd-border);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.modal-header h1{color:var(--qd-text);font-size:1.5rem;margin:0}.modal-body-scroll{flex-grow:1;overflow-y:auto;padding:24px}.modal-footer{border-top:1px solid var(--qd-border);display:flex;flex-direction:column;flex-shrink:0;gap:16px;padding:20px 24px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.drop-zone{background-color:var(--qd-surface-2);border:2px dashed var(--qd-border-strong);border-radius:12px;cursor:pointer;padding:30px 20px;text-align:center;transition:all .2s}.drop-zone.dragging,.drop-zone:hover{background-color:var(--qd-accent-subtle);border-color:var(--qd-accent)}.dz-icon{display:block;font-size:2.5rem;margin-bottom:12px}.dz-content p{color:var(--qd-text-muted);font-size:1rem;margin:0}.upload-queue-list{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;margin-top:20px;max-height:250px;overflow-y:auto;padding:0}.upload-queue-list h4{color:var(--qd-text-muted);font-size:.9rem;font-weight:600;margin:12px 12px 6px}.queue-item{grid-gap:12px;align-items:center;border-bottom:1px solid var(--qd-border);display:grid;gap:12px;grid-template-columns:1fr auto;padding:12px;transition:background-color .2s}.queue-item:hover{background-color:var(--qd-surface-3)}.queue-item:last-child{border-bottom:none}.qi-content{display:flex;flex-direction:column;gap:6px;min-width:0}.qi-header{align-items:center;display:flex;gap:10px}.qi-name{color:var(--qd-text);font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duplicate-badge{align-items:center;background-color:var(--qd-warning-subtle);border:1px solid var(--qd-warning-subtle);border-radius:4px;color:var(--qd-warning);display:inline-flex;font-size:.75rem;font-weight:600;padding:1px 6px;white-space:nowrap}.qi-progress-track{background-color:var(--qd-surface-3);border-radius:3px;height:6px;overflow:hidden;width:100%}.qi-progress-fill{background-color:var(--qd-accent);height:100%;transition:width .3s ease}.qi-status-label{color:var(--qd-text-subtle);font-size:.75rem}.status-success .qi-progress-fill{background-color:var(--qd-success)}.status-error .qi-progress-fill{background-color:var(--qd-danger)}.status-success .qi-status-label{color:var(--qd-success)}.status-error .qi-status-label{color:var(--qd-danger)}.qi-actions,.qi-btn{align-items:center;display:flex}.qi-btn{background:none;border:none;border-radius:4px;color:var(--qd-text-subtle);cursor:pointer;font-size:1.2rem;justify-content:center;line-height:1;padding:6px;transition:all .2s}.qi-btn:hover{background-color:var(--qd-surface-3);color:var(--qd-text)}.qi-btn.retry{color:var(--qd-accent);font-size:1rem}.qi-btn.remove:hover{background-color:var(--qd-danger-subtle);color:var(--qd-danger)}.divider{background-color:var(--qd-border);border:none;filter:drop-shadow(1px 1px 2px var(--qd-border));height:1px;margin:24px 0;outline:none}.config-section.disabled{opacity:.5;pointer-events:none}.config-section h3{color:var(--qd-text);margin-bottom:20px;margin-top:0}.config-row{margin-bottom:24px}.config-row h4{color:var(--qd-text-muted);font-size:.9rem;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.checkbox-container{align-items:center;cursor:pointer;display:flex;font-size:1rem;padding-left:30px;position:relative;-webkit-user-select:none;user-select:none}.checkbox-container input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark{background-color:var(--qd-surface);border:2px solid var(--qd-border-strong);border-radius:4px;height:20px;left:0;position:absolute;top:0;transition:all .2s;width:20px}.checkbox-container:hover input~.checkmark{border-color:var(--qd-accent)}.checkbox-container input:checked~.checkmark{background-color:var(--qd-accent);border-color:var(--qd-accent)}.checkmark:after{content:"";display:none;position:absolute}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{border:solid var(--qd-text-on-accent);border-width:0 2px 2px 0;height:10px;left:6px;top:2px;transform:rotate(45deg);width:5px}.meta-table-container,.tag-config-wrapper{background-color:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;padding:16px}.meta-table-container{padding:0}.selected-tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-pill{border-radius:16px;display:inline-flex;font-weight:500;padding:4px 10px}.tag-remove{background:none;color:var(--qd-text-muted);margin-left:6px;padding:0}.meta-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.meta-header h4{margin:0}.btn-small{background-color:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:6px;cursor:pointer;font-size:.85rem;padding:6px 12px}.btn-small:hover{background-color:var(--qd-surface-3)}.meta-table{border-collapse:collapse;width:100%}.meta-table td,.meta-table th{border-bottom:1px solid var(--qd-border);padding:10px 14px;text-align:left}.meta-table th{background-color:var(--qd-surface-2);color:var(--qd-text-muted);font-size:.9rem;font-weight:600}.meta-table tr:last-child td{border-bottom:none}.meta-table input{border:1px solid #0000;border-radius:4px;padding:6px;transition:border-color .2s;width:100%}.meta-table input:focus{background-color:var(--qd-surface-2);border-color:var(--qd-accent);outline:none}.btn-remove-row{background:none;border:none;color:var(--qd-danger);cursor:pointer;font-size:1.2rem}.btn-remove-row:hover{color:var(--qd-danger-hover)}.progress-container{background-color:var(--qd-surface-3);border-radius:4px;height:6px;overflow:hidden;position:relative;width:100%}.progress-bar{background-color:var(--qd-success);height:100%;transition:width .3s ease}.status-msg{border-radius:6px;font-size:.9rem;margin-bottom:10px;padding:10px;text-align:center}.status-msg.success{background-color:var(--qd-success-subtle);color:var(--qd-success)}.status-msg.error{background-color:var(--qd-danger-subtle);color:var(--qd-danger)}.metadata-editor-component{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;font-size:.9rem;overflow:hidden}.metadata-editor-component.disabled{opacity:.6;pointer-events:none}.me-table{border-collapse:collapse;width:100%}.me-table td{border-bottom:1px solid var(--qd-border);padding:10px 15px}.me-key{background-color:var(--qd-surface-2);border-right:1px solid var(--qd-border);color:var(--qd-text-muted);font-weight:600;width:30%}.me-val{color:var(--qd-text);word-break:break-all}.me-muted{color:var(--qd-text-subtle);font-style:italic}.me-val-content{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.me-val-text{flex:1 1}.me-row-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.me-row.editable-row:hover .me-row-actions{opacity:1}.me-icon-btn{background:none;border:none;border-radius:4px;color:var(--qd-text-subtle);cursor:pointer;font-size:1rem;padding:4px 6px}.me-icon-btn:hover{background-color:var(--qd-surface-3);color:var(--qd-accent)}.me-icon-btn.me-delete-icon:hover{background-color:var(--qd-danger-subtle);color:var(--qd-danger)}.me-list-display{list-style-type:disc;margin:0;padding-left:18px}.me-list-display li{margin-bottom:4px}.me-inline-editor{display:flex;flex-direction:column;gap:10px}.me-inline-editor>input{border:1px solid var(--qd-border);border-radius:4px;font-family:inherit;padding:8px;width:100%}.me-save-actions{display:flex;gap:8px}.me-custom-key-form button,.me-save-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 14px}.me-save-btn{background-color:var(--qd-accent);color:var(--qd-text-on-accent)}.me-save-btn:hover{background-color:var(--qd-accent-hover)}.me-cancel-btn{color:var(--qd-text-muted)}.me-cancel-btn,.me-cancel-btn:hover{background-color:var(--qd-surface-3)}.me-list-editor{background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:12px}.me-list-item-row{align-items:center;display:flex;gap:8px}.me-list-item-row input{border:1px solid var(--qd-border);border-radius:4px;flex:1 1;padding:6px 10px}.me-list-item-actions{display:flex;gap:4px}.me-list-item-actions button{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:4px;color:var(--qd-text-muted);cursor:pointer;height:28px;width:28px}.me-list-item-actions button:hover:not(:disabled){background:var(--qd-surface-3)}.me-list-item-actions button:disabled{cursor:not-allowed;opacity:.4}.me-list-item-actions button.me-remove-btn{color:var(--qd-danger)}.me-add-list-item-btn{align-self:flex-start;background:none;border:1px dashed var(--qd-border-strong);border-radius:4px;color:var(--qd-text-muted);cursor:pointer;font-weight:600;padding:6px 12px}.me-add-list-item-btn:hover{background:var(--qd-accent-subtle);border-color:var(--qd-accent);color:var(--qd-accent)}.me-footer{background-color:var(--qd-surface-2);border-top:1px solid var(--qd-border);padding:12px 15px}.me-add-custom-btn{background:none;border:none;color:var(--qd-accent-text);cursor:pointer;font-weight:600}.me-add-custom-btn:hover:not(:disabled){text-decoration:underline}.me-add-custom-btn:disabled{color:var(--qd-text-subtle);cursor:not-allowed}.me-custom-key-form{align-items:center;display:flex;gap:8px}.me-custom-key-form input{border:1px solid var(--qd-border);border-radius:4px;flex:1 1;padding:6px 10px}.me-list-display{display:flex;flex-direction:column;gap:6px;list-style-type:none;margin:4px 0;padding-left:0}.me-list-display li{background-color:var(--qd-surface-2);border-left:3px solid var(--qd-accent);border-radius:6px;color:var(--qd-text);font-size:.95em;line-height:1.4;padding:6px 10px;word-break:break-word}.me-link{align-items:center;color:var(--qd-accent-text);display:inline-flex;font-weight:500;gap:4px;text-decoration:none;transition:color .2s ease,-webkit-text-decoration .2s ease;transition:color .2s ease,text-decoration .2s ease;transition:color .2s ease,text-decoration .2s ease,-webkit-text-decoration .2s ease}.me-link:focus,.me-link:hover{color:var(--qd-accent-hover);text-decoration:underline}.me-link:after{content:"↗";font-size:.8em;margin-left:2px;opacity:.7}.fb-toolbar{background-color:var(--qd-surface);border-bottom:1px solid var(--qd-border);box-sizing:border-box;gap:20px;height:70px;justify-content:space-between;padding:0 24px}.fb-toolbar,.fb-toolbar-group{align-items:center;display:flex}.fb-toolbar-group{flex:1 1;gap:12px}.fb-toolbar-search{align-items:center;display:flex;flex:2 1;justify-content:center;max-width:600px}.fb-toolbar-group.right{justify-content:flex-end}.view-toggle{background:var(--qd-surface-3);border:1px solid var(--qd-border);border-radius:8px;display:flex;padding:3px}.vt-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--qd-text-subtle);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.vt-btn:hover{background-color:#0000000d;color:var(--qd-text-muted)}.vt-btn.active{background-color:var(--qd-surface);box-shadow:var(--qd-shadow-sm);color:var(--qd-accent)}.dropdown-wrapper{position:relative}.dropdown-wrapper,.icon-btn{align-items:center;display:flex}.icon-btn{background:#0000;border:1px solid #0000;border-radius:6px;color:var(--qd-text-muted);cursor:pointer;font-size:.9rem;gap:6px;height:38px;padding:6px 10px;transition:all .2s}.icon-btn:hover{background-color:var(--qd-surface-2);border-color:var(--qd-border)}.dropdown-menu{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;box-shadow:var(--qd-shadow-md);display:flex;flex-direction:column;margin-top:8px;min-width:200px;padding:8px 0;position:absolute;right:0;top:100%;z-index:1000}.dropdown-menu h4{border-bottom:1px solid var(--qd-border);color:var(--qd-text-subtle);font-size:.75rem;letter-spacing:.5px;margin:0;padding:8px 16px;text-transform:uppercase}.dropdown-item{align-items:center;color:var(--qd-text-muted);cursor:pointer;display:flex;font-size:.9rem;padding:10px 16px;transition:background .1s;-webkit-user-select:none;user-select:none}.dropdown-item:hover{background-color:var(--qd-surface-3);color:var(--qd-text)}.dropdown-item input{accent-color:var(--qd-accent);height:16px;margin-right:12px;width:16px}.dropdown-backdrop{cursor:default;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:999}.dm-section{margin-bottom:24px}.dm-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.dm-section h3{align-items:center;color:var(--qd-text);display:flex;font-size:1rem;gap:8px;margin:0}.dm-list-container{background-color:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;overflow:hidden}.dm-row{align-items:center;border-bottom:1px solid var(--qd-border);display:flex;justify-content:space-between;padding:12px 16px;transition:background-color .2s}.dm-row:last-child{border-bottom:none}.dm-row:hover{background-color:var(--qd-surface-3)}.dm-info{display:flex;flex-direction:column;gap:4px}.dm-name{color:var(--qd-text);font-size:.9rem;font-weight:500}.dm-meta{color:var(--qd-text-subtle);font-size:.75rem}.dm-groups-container{display:flex;flex-direction:column;gap:16px}.dm-card{background-color:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;overflow:hidden}.dm-card-header{align-items:center;background-color:var(--qd-surface-2);border-bottom:1px solid var(--qd-border);display:flex;font-size:.85rem;gap:10px;padding:8px 16px}.dm-hash-label{color:var(--qd-text-muted);font-weight:600}.dm-hash-val{background:var(--qd-surface-3);border-radius:4px;color:var(--qd-text-muted);font-family:Courier New,monospace;padding:2px 6px}.dm-action-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:all .2s}.dm-action-btn.primary{background-color:var(--qd-accent-subtle);color:var(--qd-accent);font-weight:500}.dm-action-btn.primary:hover{background-color:var(--qd-accent);color:var(--qd-text-on-accent)}.dm-action-btn.danger{align-items:center;background-color:var(--qd-danger-subtle);color:var(--qd-danger);display:flex;font-size:1rem;height:32px;justify-content:center;padding:0;width:32px}.dm-action-btn.danger:hover{background-color:var(--qd-danger);color:var(--qd-text-on-accent)}.dm-action-btn:disabled{cursor:not-allowed;filter:grayscale(100%);opacity:.5}.empty-state-success{align-items:center;background-color:var(--qd-success-subtle);border:1px dashed var(--qd-success);border-radius:8px;color:var(--qd-success);display:flex;flex-direction:column;font-size:.95rem;gap:8px;padding:24px;text-align:center}.empty-state-success svg{font-size:1.5rem}.badge-warning{color:var(--qd-warning);margin-right:4px}.badge-danger{color:var(--qd-danger);margin-right:4px}.dm-toolbar{gap:10px;padding:12px 0 4px}.dm-search,.dm-toolbar{align-items:center;display:flex}.dm-search{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;color:var(--qd-text-subtle);flex:1 1;gap:8px;padding:8px 12px}.dm-search input{background:#0000;border:none;color:var(--qd-text);flex:1 1;font-size:.9rem;outline:none}.dm-icon-btn{align-items:center;background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;color:var(--qd-text-muted);cursor:pointer;display:flex;height:38px;justify-content:center;margin-left:auto;transition:all .2s;width:38px}.dm-icon-btn:hover:not(:disabled){background:var(--qd-surface-3);color:var(--qd-text)}.dm-icon-btn:disabled{cursor:not-allowed;opacity:.5}.dm-tabs{border-bottom:1px solid var(--qd-border);display:flex;gap:4px;margin-bottom:16px;overflow-x:auto}.dm-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--qd-text-muted);cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 14px;transition:color .2s,border-color .2s;white-space:nowrap}.dm-tab:hover{color:var(--qd-text)}.dm-tab.active{border-bottom-color:var(--qd-accent);color:var(--qd-accent);font-weight:600}.dm-tab-badge{background:var(--qd-surface-3);border-radius:999px;color:var(--qd-text-muted);font-size:.7rem;font-weight:700;min-width:18px;padding:1px 7px;text-align:center}.dm-tab-badge.danger{background:var(--qd-danger-subtle);color:var(--qd-danger)}.dm-stat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.dm-stat{align-items:flex-start;background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:10px;color:var(--qd-text);display:flex;flex-direction:column;gap:4px;padding:14px;text-align:left}.dm-stat.clickable{cursor:pointer;transition:border-color .2s,transform .1s}.dm-stat.clickable:hover{border-color:var(--qd-accent);transform:translateY(-1px)}.dm-stat:disabled{cursor:default}.dm-stat-icon{color:var(--qd-text-subtle);font-size:1.1rem}.dm-stat.ok .dm-stat-icon{color:var(--qd-success)}.dm-stat.warn .dm-stat-icon{color:var(--qd-warning)}.dm-stat-value{font-size:1.4rem;font-weight:700;line-height:1.1}.dm-stat-label{color:var(--qd-text-subtle);font-size:.78rem}.dm-subsection{margin-top:24px}.dm-subsection h4{align-items:center;color:var(--qd-text);display:flex;font-size:.9rem;gap:6px;margin:0 0 10px}.dm-hint{color:var(--qd-text-subtle);font-size:.78rem;margin:-4px 0 12px}.dm-bar{background:var(--qd-surface-3);border-radius:7px;display:flex;height:14px;overflow:hidden}.dm-bar-seg{height:100%;min-width:2px}.dm-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.dm-legend-item{align-items:center;color:var(--qd-text-muted);display:flex;font-size:.78rem;gap:6px}.dm-legend-dot{border-radius:3px;height:10px;width:10px}.dm-size-pill{background:var(--qd-surface-3);border-radius:999px;color:var(--qd-text-muted);font-size:.8rem;font-weight:600;padding:3px 10px;white-space:nowrap}.dm-progress{padding:8px 0 4px}.dm-progress-label{color:var(--qd-text-muted);font-size:.8rem;margin-bottom:6px}.dm-progress-track{background:var(--qd-surface-3);border-radius:3px;height:6px;overflow:hidden}.dm-progress-fill{background:var(--qd-accent);height:100%;transition:width .2s ease}.dm-error-state{align-items:center;background:var(--qd-danger-subtle);border:1px dashed var(--qd-danger);border-radius:8px;color:var(--qd-text);display:flex;gap:14px;padding:20px}.dm-error-state>svg{color:var(--qd-danger);font-size:1.6rem}.dm-error-state p{color:var(--qd-text-subtle);font-size:.82rem;margin:4px 0 0}.dm-error-state .bbutton{margin-left:auto}.dm-row--note{color:var(--qd-text-subtle);font-size:.8rem;font-style:italic;justify-content:center}.dm-card-spacer{flex:1 1}.dm-resolve-btn{font-size:.8rem!important;font-weight:600;height:auto!important;padding:4px 12px!important;width:auto!important}.dm-keeper-pick{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:12px;min-width:0}.dm-keeper-pick input[type=radio]{accent-color:var(--qd-accent);cursor:pointer}.dm-row--keeper{background:var(--qd-success-subtle)}.dm-keeper-tag{background:var(--qd-surface);border:1px solid var(--qd-success);border-radius:4px;color:var(--qd-success);font-size:.68rem;font-weight:700;letter-spacing:.04em;margin-left:8px;padding:1px 6px;text-transform:uppercase}.dm-footer-stat{color:var(--qd-text-subtle);font-size:.8rem;margin-right:auto}.fileMaintenanceModal .modal-footer{align-items:center;display:flex}.contextmenu{background-color:var(--qd-surface);border:1px solid var(--qd-border);border-radius:3px;border-radius:10px;box-shadow:var(--qd-shadow-md);display:flex;flex-direction:column;justify-content:left;left:10px;list-style:none;margin:0;min-height:10px;min-width:160px;padding:0;position:absolute;text-align:left;top:10px;z-index:1000}.contextmenu>button{background-color:initial;border:none;cursor:pointer;padding:10px;text-align:left;width:100%}.contextmenu>button:hover{background-color:var(--qd-surface-3)}.file{align-items:center;background-color:var(--qd-surface-2);box-shadow:var(--qd-shadow-sm);cursor:pointer;display:flex;flex-direction:column;height:170px;justify-content:space-between;margin:10px;padding:10px;position:relative;transition:background-color .2s;width:130px}.file,.file>img{border-radius:5px}.file>img{background-color:initial;height:100px;object-fit:cover;width:100%}.file>p{font-size:1.2em;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin:10px 0;overflow:hidden;text-align:center;text-overflow:ellipsis;width:100%}.file:hover{background-color:var(--qd-surface-3)}.file>.selectionCheckbox{left:10px;position:absolute;top:10px}.file-card{transition:transform .2s,box-shadow .2s,border-color .2s}.file-card.playing-audio{border-color:var(--qd-success);box-shadow:0 0 8px #28a74566}.file-thumb-wrapper{position:relative}.audio-playing-overlay{align-items:center;animation:fadeIn .2s ease-in;background-color:#0006;border-radius:4px;display:flex;height:100%;justify-content:center;left:0;pointer-events:none;position:absolute;top:0;width:100%}.audio-playing-overlay span{animation:pulseAudio 1s infinite;color:var(--qd-text-on-accent);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));font-size:2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulseAudio{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.file-progress-overlay{background-color:var(--qd-accent-subtle);border-radius:4px 0 0 4px;border-right:1px solid var(--qd-accent);height:100%;left:0;opacity:.55;pointer-events:none;position:absolute;top:0;transition:width .05s linear;width:0;z-index:1}.file-note-indicator{align-items:center;background-color:var(--qd-accent);border-radius:999px;box-shadow:0 1px 3px #0000004d;color:var(--qd-text-on-accent);display:inline-flex;font-size:.62rem;font-weight:600;gap:2px;line-height:1.4;padding:1px 5px 1px 4px;pointer-events:none;position:absolute;right:4px;top:4px;z-index:2}.file-note-indicator svg{display:block}.file-note-indicator-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.file-badges{align-content:flex-start;display:flex;flex-wrap:wrap;gap:4px;justify-content:center;min-height:0;overflow:hidden;width:100%}.file-badge{background-color:var(--qd-surface-3);border:1px solid var(--qd-border);border-radius:999px;color:var(--qd-text-muted);display:inline-block;flex:0 1 auto;font-size:.62rem;line-height:1.45;max-width:100%;min-width:0;overflow:hidden;padding:1px 7px;text-overflow:ellipsis;white-space:nowrap}.fileDetailsModal{background:var(--qd-surface);border-radius:12px;box-shadow:var(--qd-shadow-lg);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:85vh;max-width:1400px;overflow:hidden;width:80vw}.fd-header{align-items:center;background-color:var(--qd-surface-2);border-bottom:1px solid var(--qd-border);display:flex;justify-content:space-between;padding:16px 24px}.fd-title h1{color:var(--qd-text);font-size:1.4rem;font-weight:700;margin:0}.fd-id{color:var(--qd-text-subtle);font-family:monospace;font-size:.75rem}.fd-toolbar{background:var(--qd-surface);border-bottom:1px solid var(--qd-border);flex-wrap:wrap;justify-content:space-between;padding:12px 24px}.fd-toolbar,.primary-actions,.secondary-actions{display:flex;gap:10px}.btn-danger{background-color:var(--qd-danger-subtle)!important;color:var(--qd-danger-hover)!important}.btn-danger:hover{background-color:#ffcdd2!important}.fd-body{background-color:var(--qd-bg);display:flex;flex:1 1;overflow:hidden}.fd-panel{display:flex;flex-direction:column;gap:24px;overflow-y:auto;padding:24px}.preview-panel{background-color:var(--qd-surface-3);border-right:1px solid var(--qd-border);flex:1.2 1}.preview-container,.preview-panel{align-items:center;display:flex;justify-content:center}.preview-container{height:100%;width:100%}.bimage-container,.content img,.media-player{border-radius:8px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1));max-height:100%;max-width:100%}.pdf-preview{height:100%}.pdf-preview,.text-preview{border-radius:8px;width:100%}.text-preview{background:var(--qd-surface);font-family:monospace;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding:20px;white-space:pre-wrap}.details-panel{background-color:var(--qd-surface);flex:1 1;min-width:350px}.detail-section h3{border-bottom:2px solid var(--qd-border);color:var(--qd-text-muted);font-size:.95rem;font-weight:700;letter-spacing:.5px;margin:0 0 12px;padding-bottom:6px;text-transform:uppercase}.metadata-table-wrapper{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;overflow:hidden}.metadata-table{border-collapse:collapse;font-size:.9rem;width:100%}.metadata-table td{border-bottom:1px solid var(--qd-border);padding:10px 15px}.metadata-table tr:last-child td{border-bottom:none}.meta-key{background-color:var(--qd-surface-2);border-right:1px solid var(--qd-border);color:var(--qd-text-muted);font-weight:600;width:30%}.meta-val{color:var(--qd-text);word-break:break-all}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-header h3{border:none;margin:0;padding:0}.add-tag-btn{border:none;border-radius:4px;color:var(--qd-accent);cursor:pointer;font-size:.8rem;font-weight:600;padding:4px 10px}.add-tag-btn,.add-tag-btn:hover{background:var(--qd-accent-subtle)}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-pill{background-color:var(--qd-surface-3);border:1px solid var(--qd-border);border-radius:20px;color:var(--qd-text);font-size:.85rem;padding:6px 12px}.tag-pill,.tag-remove{align-items:center;display:flex}.tag-remove{background:#0000;border:none;color:var(--qd-text-subtle);cursor:pointer;font-size:1.1rem;line-height:1;margin-left:8px}.tag-remove:hover{color:var(--qd-danger)}.transcription-box{background-color:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:8px;color:var(--qd-text);font-size:.95rem;line-height:1.6;max-height:400px;min-height:150px;overflow-y:auto;padding:15px}.empty-transcription{color:var(--qd-text-subtle);font-style:italic;padding:20px;text-align:center}.text-link{background:none;border:none;color:var(--qd-accent-text);cursor:pointer;font-weight:600;text-decoration:underline}@media (max-width:900px){.fd-body{flex-direction:column;overflow-y:auto}.fd-panel{flex:none;overflow:visible}.preview-panel{border-bottom:1px solid var(--qd-border);border-right:none;min-height:300px}.metadata-table-wrapper{overflow-x:auto}}.detail-section:has(.fvh-root){flex-shrink:0}.muted-text{color:var(--qd-text-subtle);font-style:italic}.meta-row.editable-row .meta-val-content{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.val-text{flex:1 1}.edit-icon-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--qd-text-subtle);cursor:pointer;display:flex;justify-content:center;opacity:0;padding:4px;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.meta-row.editable-row:hover .edit-icon-btn{opacity:1}.edit-icon-btn:hover{background-color:var(--qd-surface-3);color:var(--qd-accent)}.meta-list-display{list-style-type:disc;margin:0;padding-left:18px}.meta-list-display li{margin-bottom:4px}.inline-editor-container{display:flex;flex-direction:column;gap:10px}.inline-editor-container>input[type=number],.inline-editor-container>input[type=text]{border:1px solid var(--qd-border);border-radius:4px;font-family:inherit;font-size:.9rem;padding:8px;width:100%}.list-editor{background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:12px}.list-item-row{align-items:center;display:flex;gap:8px}.list-item-row input{border:1px solid var(--qd-border);border-radius:4px;flex:1 1;font-size:.9rem;padding:6px 10px}.list-item-actions{display:flex;gap:4px}.list-item-actions button{align-items:center;background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:4px;color:var(--qd-text-muted);cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:background .1s;width:28px}.list-item-actions button:disabled{cursor:not-allowed;opacity:.4}.list-item-actions button:not(:disabled):hover{background:var(--qd-surface-3)}.list-item-actions button.remove-btn{color:var(--qd-danger)}.list-item-actions button.remove-btn:hover{background:var(--qd-danger-subtle);border-color:#ffcdd2}.add-list-item-btn{align-self:flex-start;background:none;border:1px dashed var(--qd-border-strong);border-radius:4px;color:var(--qd-text-muted);cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 12px;transition:all .2s}.add-list-item-btn:hover{background:var(--qd-accent-subtle);border-color:var(--qd-accent);color:var(--qd-accent)}.inline-save-actions{display:flex;gap:8px;margin-top:4px}.inline-save-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 14px}.save-btn{background-color:var(--qd-accent);color:var(--qd-text-on-accent)}.save-btn:hover{background-color:var(--qd-accent-hover)}.cancel-btn{color:var(--qd-text-muted)}.cancel-btn,.cancel-btn:hover{background-color:var(--qd-surface-3)}.read-only-row .meta-key,.read-only-row .meta-val{background-color:var(--qd-surface-2);color:var(--qd-text-subtle)}.bimage-container{align-items:center;border-radius:5px;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.bimage{display:block;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.bimage.hidden{display:none}.bimage-hover-icons{background:#0006;border-radius:20px;display:flex;gap:10px;opacity:0;padding:5px;position:absolute;right:10px;top:10px;transition:opacity .2s ease-in-out}.bimage-container:hover .bimage-hover-icons{opacity:1}.icon{color:var(--qd-text-on-accent);cursor:pointer;font-size:1rem;padding:5px;transition:transform .2s}.icon:hover{color:var(--qd-accent);transform:scale(1.2)}.fullscreen-overlay{align-items:center;background:#000000f2;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.fullscreen-image{box-shadow:0 0 20px #00000080;max-height:90%;max-width:90%;object-fit:contain}.fullscreen-close{background:none;border:none;color:var(--qd-text-on-accent);cursor:pointer;font-size:2rem;position:absolute;right:30px;top:20px}.fvh-root,.fvh-timeline{display:flex;flex-direction:column}.fvh-commit,.fvh-timeline{position:relative}.fvh-commit{align-items:flex-start;display:flex;gap:0}.fvh-commit-spine{align-items:center;display:flex;flex-direction:column;flex-shrink:0;padding-top:14px;width:28px}.fvh-commit-line{background-color:var(--qd-border);flex:1 1;min-height:12px;width:2px}.fvh-commit-dot{border:2px solid #0000;border-radius:50%;flex-shrink:0;height:12px;position:relative;width:12px;z-index:1}.fvh-commit-dot--head{animation:fvh-pulse 2.4s ease-in-out infinite;background-color:var(--qd-accent);border-color:var(--qd-surface);box-shadow:0 0 0 2px #1976d2,0 0 0 5px #1976d233}.fvh-commit-dot--old{background-color:var(--qd-surface);border-color:var(--qd-text-subtle);box-shadow:0 0 0 1px var(--qd-border)}.fvh-commit-dot--ghost{background-color:var(--qd-surface-3);border-color:var(--qd-border)}@keyframes fvh-pulse{0%,to{box-shadow:0 0 0 2px #1976d2,0 0 0 5px #1976d233}50%{box-shadow:0 0 0 2px #1976d2,0 0 0 7px #1976d214}}.fvh-commit-card{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;flex:1 1;margin-bottom:10px;margin-left:4px;min-width:0;overflow:hidden;transition:border-color .15s,box-shadow .15s}.fvh-commit-card:hover{border-color:var(--qd-border-strong);box-shadow:var(--qd-shadow-sm)}.fvh-commit-card--head{background:linear-gradient(135deg,var(--qd-accent-subtle) 0,var(--qd-surface) 100%);border-color:var(--qd-accent)}.fvh-commit-card--head:hover{border-color:var(--qd-accent-hover);box-shadow:0 2px 10px #1976d224}.fvh-commit-card-top{align-items:center;display:flex;gap:10px;justify-content:space-between;padding:10px 12px}.fvh-commit-info{display:flex;flex-direction:column;gap:4px;min-width:0}.fvh-commit-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.fvh-commit-name{color:var(--qd-text);font-size:.875rem;font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fvh-commit-sub{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.fvh-commit-sha{background:var(--qd-accent-subtle);border-radius:4px;color:var(--qd-accent-text);cursor:default;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem;letter-spacing:.03em;padding:1px 5px}.fvh-commit-sep{color:var(--qd-border-strong);font-size:.75rem;-webkit-user-select:none;user-select:none}.fvh-commit-date,.fvh-commit-size{color:var(--qd-text-muted);font-size:.75rem}.fvh-commit-date{cursor:default}.fvh-commit-author{color:var(--qd-text-subtle);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fvh-head-tag{background:var(--qd-accent);border-radius:4px;color:var(--qd-text-on-accent);text-transform:uppercase}.fvh-head-tag,.fvh-version-tag{flex-shrink:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:2px 6px}.fvh-version-tag{background:var(--qd-accent-subtle);border:1px solid var(--qd-border);border-radius:4px;color:var(--qd-accent-hover)}.fvh-version-tag--old{background:var(--qd-surface-2);border-color:var(--qd-border);color:var(--qd-text-muted)}.fvh-commit-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.fvh-btn{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:5px;line-height:1;padding:5px 10px;transition:background-color .15s,border-color .15s,transform .1s;white-space:nowrap}.fvh-btn-icon{font-size:.9rem;line-height:1}.fvh-btn--upload{background-color:var(--qd-accent);border:1px solid var(--qd-accent-hover);color:var(--qd-text-on-accent)}.fvh-btn--upload:hover:not(:disabled){background-color:var(--qd-accent-hover);transform:translateY(-1px)}.fvh-btn--upload:disabled{background-color:#90caf9;border-color:#90caf9;cursor:not-allowed;transform:none}.fvh-btn--ghost{background:#0000;border:1px solid var(--qd-border);color:var(--qd-text-muted)}.fvh-btn--ghost:hover:not(:disabled){background-color:var(--qd-surface-3);border-color:var(--qd-border-strong);color:var(--qd-text)}.fvh-btn--ghost:disabled{cursor:not-allowed;opacity:.45}.fvh-btn--restore{background:#0000;border:1px solid var(--qd-border);color:var(--qd-accent)}.fvh-btn--restore:hover:not(:disabled){background-color:var(--qd-accent-subtle);border-color:var(--qd-accent)}.fvh-btn--restore:disabled{cursor:not-allowed;opacity:.5}.fvh-spinner{animation:fvh-spin .6s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid #0000;display:inline-block;height:10px;width:10px}.fvh-spin{animation:fvh-spin .8s linear infinite;display:inline-block}@keyframes fvh-spin{to{transform:rotate(1turn)}}.fvh-progress-track{background-color:var(--qd-accent-subtle);height:3px;overflow:hidden}.fvh-progress-fill{background:linear-gradient(90deg,var(--qd-accent),#42a5f5);height:100%;transition:width .25s ease}.fvh-msg{border-top:1px solid #0000;font-size:.78rem;margin:0;padding:5px 12px}.fvh-msg--success{background-color:var(--qd-success-subtle);border-top-color:#bbf7d0;color:var(--qd-success)}.fvh-msg--error{background-color:var(--qd-danger-subtle);border-top-color:#fecaca;color:var(--qd-danger)}.fvh-expand-btn{align-items:center;background:none;border:1px dashed var(--qd-border);border-radius:6px;color:var(--qd-text-muted);cursor:pointer;display:flex;font-size:.78rem;font-weight:600;gap:8px;margin-bottom:10px;margin-left:32px;padding:7px 12px;text-align:left;transition:background-color .15s,color .15s,border-color .15s;width:100%;width:calc(100% - 32px)}.fvh-expand-btn:hover{background-color:var(--qd-surface-2);border-color:var(--qd-accent);color:var(--qd-accent)}.fvh-expand-btn--collapse{border-color:var(--qd-border);border-style:solid;color:var(--qd-text-muted);margin-top:2px}.fvh-expand-btn--collapse:hover{background-color:var(--qd-danger-subtle);border-color:var(--qd-danger);color:var(--qd-danger-hover)}.fvh-expand-dots{color:var(--qd-text-subtle);font-size:1rem;letter-spacing:2px}.fvh-loading{font-size:.82rem;margin:0;padding:6px 0 6px 4px}.fvh-empty-hint,.fvh-loading{color:var(--qd-text-subtle);font-style:italic}.fvh-empty-hint{font-size:.8rem;margin-left:32px;padding:4px 0 4px 4px}.notes-panel{gap:12px}.notes-list,.notes-panel{display:flex;flex-direction:column}.notes-list{gap:6px}.notes-state{font-size:.85rem;margin:0;padding:8px 2px}.notes-state--muted{color:var(--qd-text-subtle)}.notes-state--error{color:var(--qd-danger)}.note-row{align-items:flex-start;background-color:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;display:flex;gap:10px;padding:8px 10px;transition:background-color .15s ease,opacity .15s ease}.note-row:hover{background-color:var(--qd-surface-3)}.note-row--busy{opacity:.6;pointer-events:none}.note-check{align-items:center;cursor:pointer;display:flex;margin:0;padding-top:1px}.note-check input{accent-color:var(--qd-accent);cursor:pointer;height:15px;width:15px}.note-body{flex:1 1;min-width:0}.note-text{color:var(--qd-text);font-size:.9rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.note-meta{align-items:center;color:var(--qd-text-subtle);display:flex;font-size:.75rem;gap:6px;margin-top:4px}.note-author{color:var(--qd-text-muted);font-weight:600}.note-sep{color:var(--qd-border-strong)}.note-row--done{background-color:var(--qd-surface-2)}.note-row--done .note-text{color:var(--qd-text-subtle);text-decoration:line-through}.note-delete{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--qd-text-subtle);cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:background-color .15s ease,color .15s ease;width:28px}.note-delete:hover:not(:disabled){background-color:var(--qd-danger-subtle);color:var(--qd-danger)}.note-delete:disabled{cursor:default;opacity:.5}.notes-add{background-color:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:10px}.notes-add-input{background-color:var(--qd-surface);border:1px solid var(--qd-border);border-radius:6px;box-sizing:border-box;color:var(--qd-text);font-family:inherit;font-size:.9rem;line-height:1.4;min-height:44px;padding:8px 10px;resize:vertical;width:100%}.notes-add-input::placeholder{color:var(--qd-text-subtle)}.notes-add-input:focus{border-color:var(--qd-accent);box-shadow:0 0 0 2px var(--qd-accent-subtle);outline:none}.notes-add-input:disabled{opacity:.7}.notes-add-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}.notes-add-hint{color:var(--qd-text-subtle);font-size:.75rem}.notes-add-btn{background-color:var(--qd-accent);border:1px solid #0000;border-radius:6px;color:var(--qd-text-on-accent);cursor:pointer;flex-shrink:0;font-size:.85rem;font-weight:600;padding:6px 14px;transition:background-color .15s ease}.notes-add-btn:hover:not(:disabled){background-color:var(--qd-accent-hover)}.notes-add-btn:disabled{background-color:var(--qd-surface-3);color:var(--qd-text-subtle);cursor:default}.asp-root{background:var(--qd-surface);border-right:1px solid var(--qd-border);display:flex;flex-direction:column;font-size:13px;gap:4px;height:-webkit-fill-available;max-width:300px;min-width:260px;overflow-y:auto;padding:12px}.asp-search-box{align-items:center;border:1px solid var(--qd-border);border-radius:8px;display:flex;gap:6px;margin-bottom:6px;padding:6px 10px}.asp-search-icon{color:var(--qd-text-subtle);flex-shrink:0}.asp-search-input{background:#0000;border:none;color:inherit;flex:1 1;font-size:13px;outline:none}.asp-search-input::placeholder{color:var(--qd-text-muted)}.asp-clear-input{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.asp-clear-input:hover{color:var(--qd-danger-hover)}.asp-spinner{animation:asp-spin .7s linear infinite;border:2px solid var(--qd-border-strong);border-radius:50%;border-top:2px solid #9c7ee8;display:inline-block;flex-shrink:0;height:12px;width:12px}@keyframes asp-spin{to{transform:rotate(1turn)}}.asp-stats{font-size:11px;padding:0 2px 6px}.asp-active-filters,.asp-stats{border-bottom:1px solid var(--qd-border);margin-bottom:4px}.asp-active-filters{display:flex;flex-wrap:wrap;gap:4px;padding-bottom:8px}.asp-chip{align-items:center;background:var(--qd-accent);border:1px solid var(--qd-border);border-radius:12px;display:inline-flex;font-size:11px;gap:3px;max-width:200px;padding:2px 6px 2px 8px;white-space:nowrap}.asp-chip-field{color:var(--qd-text-on-accent)}.asp-chip-value{color:#d8c9ff;max-width:100px;overflow:hidden;text-overflow:ellipsis}.asp-chip button{background:none;border:none;color:var(--qd-text-subtle);cursor:pointer;font-size:14px;line-height:1;margin-left:2px;padding:0}.asp-chip button:hover{color:var(--qd-text-on-accent)}.asp-clear-all{align-self:center;background:none;border:none;color:var(--qd-text-subtle);cursor:pointer;font-size:11px;padding:2px 4px;text-decoration:underline}.asp-clear-all:hover{color:var(--qd-text)}.asp-facet-section{border-bottom:1px solid var(--qd-border);padding-bottom:4px}.asp-facet-header{align-items:center;background:none;border:none;color:var(--qd-text-muted);color:var(--text,var(--qd-text-muted));cursor:pointer;display:flex;font-size:12px;font-weight:600;justify-content:space-between;letter-spacing:.04em;padding:8px 2px 6px;text-transform:uppercase;-webkit-user-select:none;user-select:none;width:100%}.asp-chevron{display:inline-block;font-size:18px;line-height:1;transform:rotate(0deg);transition:transform .2s}.asp-chevron.open{transform:rotate(90deg)}.asp-facet-body{display:flex;flex-direction:column;gap:2px;padding-bottom:6px}.asp-facet-item{align-items:center;border-radius:5px;cursor:pointer;display:flex;gap:7px;padding:4px;transition:.1s}.asp-facet-item:hover{border-color:var(--qd-border-strong);box-shadow:var(--qd-shadow-sm);transform:translateY(-1px)}.asp-facet-item.checked{background:var(--qd-accent)}.asp-facet-item input[type=checkbox]{accent-color:var(--qd-accent);cursor:pointer;flex-shrink:0;height:13px;width:13px}.asp-facet-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asp-facet-item.checked .asp-facet-label{color:var(--qd-text-on-accent)}.asp-facet-count{color:var(--qd-text-muted);flex-shrink:0;font-size:11px}.asp-facet-item.checked .asp-facet-count,.asp-show-more{color:var(--qd-accent)}.asp-show-more{background:none;border:none;cursor:pointer;font-size:11px;padding:2px 4px;text-align:left}.asp-show-more:hover{text-decoration:underline}.asp-pagination{align-items:center;color:var(--qd-text-subtle);display:flex;font-size:12px;justify-content:space-between;padding:10px 2px 4px}.asp-pagination button{background:var(--qd-surface-2);background:var(--surface-2,var(--qd-surface-2));border:1px solid var(--border,var(--qd-border));border-radius:5px;color:var(--qd-text-muted);cursor:pointer;font-size:12px;padding:4px 10px;transition:background .15s}.asp-pagination button:hover:not(:disabled){background:var(--qd-surface-3);color:var(--qd-text)}.asp-pagination button:disabled{cursor:default;opacity:.4}.asp-slider-readout{color:var(--qd-text-muted);display:flex;font-size:.85em;font-weight:500;justify-content:space-between;margin-bottom:12px}.asp-fancy-slider{align-items:center;display:flex;height:20px;margin-bottom:10px;position:relative;width:100%}.asp-slider-track{background-color:var(--qd-surface-2);width:100%}.asp-slider-fill,.asp-slider-track{border-radius:4px;height:6px;position:absolute}.asp-slider-fill{background-color:var(--qd-accent);pointer-events:none}.asp-slider-input{-webkit-appearance:none;appearance:none;background:#0000;margin:0;outline:none;pointer-events:none;position:absolute;width:100%}.asp-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:var(--qd-surface);border:2px solid var(--qd-accent);border-radius:50%;box-shadow:var(--qd-shadow-sm);cursor:grab;height:18px;pointer-events:auto;-webkit-transition:transform .1s ease,box-shadow .1s ease;transition:transform .1s ease,box-shadow .1s ease;width:18px}.asp-slider-input::-webkit-slider-thumb:hover{box-shadow:var(--qd-shadow-md);transform:scale(1.15)}.asp-slider-input::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.asp-slider-input::-moz-range-thumb{background-color:var(--qd-surface);border:2px solid var(--qd-accent);border-radius:50%;box-shadow:var(--qd-shadow-sm);cursor:grab;height:14px;pointer-events:auto;-moz-transition:transform .1s ease,box-shadow .1s ease;transition:transform .1s ease,box-shadow .1s ease;width:14px}.asp-slider-input::-moz-range-thumb:hover{transform:scale(1.15)}.asp-slider-input::-moz-range-thumb:active{cursor:grabbing}.asp-slider-unit{color:var(--qd-text-subtle);font-size:.8em;margin-top:4px;text-align:right}.asp-slider-readout-inputs{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.asp-input-wrapper{flex:1 1}.asp-input-separator{color:var(--qd-text-subtle);font-size:.85em;margin:0 8px}.asp-input-wrapper input{background-color:var(--qd-surface-2);border:1px solid #0000;border-radius:4px;box-sizing:border-box;color:var(--qd-text-muted);font-family:inherit;font-size:.85em;padding:4px 6px;text-align:center;transition:all .2s ease;width:100%}.asp-input-wrapper input:hover{background-color:var(--qd-surface-3);border-color:var(--qd-border)}.asp-input-wrapper input:focus{background-color:var(--qd-surface);border-color:var(--qd-accent);box-shadow:0 0 0 2px #3b82f633;outline:none}.asp-input-wrapper input[type=number]::-webkit-inner-spin-button,.asp-input-wrapper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.asp-input-wrapper input[type=number]{-moz-appearance:textfield}.file-browser-container{background-color:var(--qd-surface);display:flex;flex-direction:column;height:100%;position:relative}.fb-drop-overlay{background-color:var(--qd-accent-subtle);border:3px dashed var(--qd-accent);border-radius:8px;inset:0;justify-content:center;padding:16px;pointer-events:none;position:absolute;z-index:50}.fb-drop-hint,.fb-drop-overlay{align-items:center;display:flex}.fb-drop-hint{background-color:var(--qd-surface);border-radius:12px;box-shadow:var(--qd-shadow-lg);flex-direction:column;gap:12px;padding:24px 36px}.fb-drop-hint,.fb-drop-icon{color:var(--qd-accent)}.fb-drop-hint p{color:var(--qd-text);font-size:1.05rem;font-weight:600;margin:0}.file-browser-content{background-color:var(--qd-bg);padding:20px;position:relative}.file-grid-view{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.file-list-view-container{background:var(--qd-surface);border-radius:8px;box-shadow:var(--qd-shadow-sm);overflow:hidden}.file-list-table{border-collapse:collapse;font-size:.9rem;width:100%}.file-list-table th{background-color:var(--qd-surface-3);border-bottom:2px solid var(--qd-border);color:var(--qd-text-muted);font-weight:600;padding:12px 15px;text-align:left}.file-list-table td{border-bottom:1px solid var(--qd-border);padding:10px 15px;vertical-align:middle}.file-list-table tr:hover{background-color:var(--qd-surface-3);cursor:pointer}.file-list-table tr.selected{background-color:var(--qd-accent-subtle)}.file-list-row{cursor:pointer}.file-list-row:hover{background-color:var(--qd-surface-3)}.file-list-row.selected{background-color:var(--qd-accent-subtle)}.table-thumb{border-radius:4px;height:30px;object-fit:cover;width:30px}.file-card{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;height:192px;overflow:hidden;position:relative;transition:all .2s ease}.file-card:hover{border-color:var(--qd-border-strong);box-shadow:var(--qd-shadow-md);transform:translateY(-2px)}.file-card.selected{background-color:var(--qd-accent-subtle);border-color:var(--qd-accent);box-shadow:0 0 0 2px #2196f34d}.file-thumb-wrapper{align-items:center;background-color:var(--qd-surface-2);display:flex;flex-shrink:0;height:116px;justify-content:center;width:100%}.file-thumb-wrapper img{height:100%;object-fit:cover;width:100%}.file-info{align-items:center;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;font-size:.9rem;gap:4px;min-height:0;overflow:hidden;padding:6px 8px;text-align:center}.file-name{flex-shrink:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.file-select-checkbox{left:8px;opacity:0;position:absolute;top:8px;transition:opacity .2s}.file-card.selected .file-select-checkbox,.file-card:hover .file-select-checkbox{opacity:1}.empty-state{align-items:center;color:var(--qd-text-subtle);display:flex;flex-direction:column;height:100%;justify-content:center}.empty-icon{font-size:3rem;margin-bottom:10px;opacity:.5}.file-browser-filegroups-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:20px}.file-browser-main{display:flex;flex:1 1;max-height:calc(96vh - 94px);min-height:0;overflow:hidden}.file-browser-content{flex:1 1;min-height:0;overflow-y:auto;padding:12px}.qdex-auth-wrapper{align-items:center;background-color:var(--qd-bg);background-image:radial-gradient(circle at 50% 0,var(--qd-surface) 0,var(--qd-bg) 70%);color:var(--qd-text);display:flex;font-family:Inter,system-ui,-apple-system,sans-serif;justify-content:center;min-height:100vh;padding:20px}.qdex-auth-card{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:12px;box-shadow:var(--qd-shadow-lg);max-width:420px;padding:40px;transition:transform .3s ease;width:100%}.qdex-brand{margin-bottom:30px;text-align:center}.qdex-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0ea5e9,#2563eb);-webkit-background-clip:text;font-size:2.5rem;font-weight:800;letter-spacing:-1.5px;margin:0}.qdex-subtitle{color:var(--qd-text-muted);font-size:.85rem;font-weight:600;letter-spacing:1px;margin:4px 0 0;text-transform:uppercase}.qdex-auth-card h2{color:var(--qd-text);font-size:1.25rem;font-weight:600;margin-bottom:24px;text-align:center}.qdex-error-message{align-items:center;background:var(--qd-danger-subtle);border:1px solid var(--qd-danger);border-radius:6px;color:var(--qd-danger);display:flex;font-size:.875rem;gap:8px;margin-bottom:20px;padding:12px}.qdex-error-message svg{height:16px;width:16px}.qdex-form{display:flex;flex-direction:column;gap:16px}.qdex-input{background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:6px;box-sizing:border-box;color:var(--qd-text);font-size:.95rem;padding:12px 16px;transition:all .2s ease;width:100%}.qdex-input::placeholder{color:var(--qd-text-subtle)}.qdex-input:focus{border-color:var(--qd-accent);box-shadow:0 0 0 3px #3b82f626;outline:none}.qdex-input:disabled{background:var(--qd-surface-2);color:var(--qd-text-subtle);cursor:not-allowed}.qdex-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:10px;justify-content:center;padding:12px;transition:all .2s ease;width:100%}.qdex-btn:disabled{cursor:not-allowed;opacity:.7}.qdex-btn-primary{background:var(--qd-accent);box-shadow:0 4px 6px -1px #0ea5e933,0 2px 4px -1px #0ea5e91a;color:var(--qd-text-on-accent)}.qdex-btn-primary:hover:not(:disabled){background:var(--qd-accent-hover);box-shadow:0 4px 6px -1px #0ea5e94d,0 2px 4px -1px #0ea5e933}.qdex-divider{margin:24px 0;position:relative;text-align:center}.qdex-divider:before{background:var(--qd-border);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.qdex-divider span{background:var(--qd-surface);color:var(--qd-text-muted);font-size:.8rem;font-weight:600;padding:0 12px;position:relative}.qdex-btn-google{background:var(--qd-surface);border:1px solid var(--qd-border);color:var(--qd-text)}.qdex-btn-google:hover:not(:disabled){background:var(--qd-surface-3);border-color:var(--qd-border-strong)}.qdex-footer-text{color:var(--qd-text-muted);font-size:.875rem;margin-top:24px;text-align:center}.qdex-text-btn{background:none;border:none;color:var(--qd-accent-text);cursor:pointer;font-size:inherit;font-weight:600;margin-left:6px;padding:0}.qdex-text-btn:hover:not(:disabled){color:var(--qd-accent-hover);text-decoration:underline}.App{text-align:center}#root{height:100vh;overflow:hidden}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.container{height:-webkit-fill-available;height:96vh;margin:0;padding:0}.settings-root{background:var(--qd-bg);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden}.settings-topbar{align-items:center;background:var(--qd-surface);border-bottom:1px solid var(--qd-border);box-shadow:var(--qd-shadow-sm);display:flex;flex-shrink:0;gap:16px;height:60px;padding:0 24px}.settings-back-btn{align-items:center;background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:8px;color:var(--qd-text-muted);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:6px;line-height:1;padding:6px 12px;transition:background .15s,border-color .15s,box-shadow .15s}.settings-back-btn:hover{background:var(--qd-surface-3);border-color:var(--qd-border-strong);box-shadow:var(--qd-shadow-sm)}.settings-topbar-title{color:var(--qd-text);font-size:1rem;font-weight:600}.settings-body{display:flex;flex:1 1;overflow:hidden}.settings-sidebar{background:var(--qd-surface);border-right:1px solid var(--qd-border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;padding:20px 10px;width:220px}.settings-sidebar nav{display:flex;flex-direction:column;gap:2px}.settings-sidebar-section-label{color:var(--qd-text-subtle);font-size:.7rem;font-weight:700;letter-spacing:.06em;margin:0 0 4px 10px;text-transform:uppercase}.settings-sidebar-divider{background:var(--qd-border);height:1px;margin:14px 4px}.settings-tab-btn{align-items:center;background:#0000;border:none;border-radius:7px;color:var(--qd-text-muted);cursor:pointer;display:flex;font-size:.9rem;font-weight:450;gap:9px;padding:8px 10px;text-align:left;transition:background .12s,color .12s;width:100%}.settings-tab-btn:hover{background:var(--qd-surface-3)}.settings-tab-btn.active{background:var(--qd-accent-subtle);color:var(--qd-accent);font-weight:600}.settings-tab-btn.active .settings-tab-icon svg{stroke:var(--qd-accent)}.settings-tab-icon{align-items:center;color:inherit;display:flex;flex-shrink:0}.settings-content{flex:1 1;overflow-y:auto;padding:36px 48px}.settings-panel h2{color:var(--qd-text);font-size:1.3rem;font-weight:700;margin:0 0 6px}.settings-panel .settings-panel-subtitle{color:var(--qd-text-muted);font-size:.9rem;margin:0 0 28px}.settings-section{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:10px;margin-bottom:20px;padding:24px}.settings-section h3{border-bottom:1px solid var(--qd-border);color:var(--qd-text);font-size:.95rem;font-weight:700;margin:0 0 16px;padding-bottom:10px}.settings-field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.settings-field:last-child{margin-bottom:0}.settings-field label{color:var(--qd-text-muted);font-size:.85rem;font-weight:600}.settings-field input,.settings-field select,.settings-field textarea{background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:7px;color:var(--qd-text);font-family:inherit;font-size:.9rem;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{background:var(--qd-surface);border-color:var(--qd-accent);box-shadow:0 0 0 3px #1a73e81f}.settings-field .field-hint{color:var(--qd-text-subtle);font-size:.8rem}.settings-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.btn-settings-primary{background:var(--qd-accent);border:none;border-radius:7px;color:var(--qd-text-on-accent);cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 20px;transition:background .15s,box-shadow .15s}.btn-settings-primary:hover{background:var(--qd-accent-hover);box-shadow:0 2px 6px #1a73e84d}.btn-settings-secondary{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:7px;color:var(--qd-text-muted);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 20px;transition:background .15s,border-color .15s}.btn-settings-secondary:hover{background:var(--qd-surface-2);border-color:var(--qd-border-strong)}.btn-settings-danger{border:1px solid var(--qd-danger);border-radius:7px;color:var(--qd-danger);cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 20px;transition:background .15s}.btn-settings-danger,.btn-settings-danger:hover{background:var(--qd-danger-subtle)}.settings-usage-bar-wrap{margin-bottom:8px}.settings-usage-bar-label{color:var(--qd-text-muted);display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:6px}.settings-usage-bar{background:var(--qd-surface-3);border-radius:99px;height:8px;overflow:hidden}.settings-usage-bar-fill{background:var(--qd-accent);border-radius:99px;height:100%;transition:width .4s ease}.settings-usage-bar-fill.warn{background:var(--qd-warning)}.settings-usage-bar-fill.danger{background:var(--qd-danger)}.settings-stat-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.settings-stat-card{background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:8px;padding:16px}.settings-stat-card .stat-value{color:var(--qd-text);font-size:1.5rem;font-weight:700;line-height:1}.settings-stat-card .stat-label{color:var(--qd-text-muted);font-size:.8rem;margin-top:4px}.settings-muted-text{color:var(--qd-text-subtle);font-size:.875rem}.settings-error-banner{background:var(--qd-danger-subtle);border:1px solid var(--qd-danger);border-radius:8px;color:var(--qd-danger);font-size:.875rem;margin-bottom:16px;padding:10px 14px}.settings-error-banner button{color:var(--qd-danger)}.settings-error-banner button,.settings-link-btn{background:none;border:none;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.settings-link-btn{color:var(--qd-accent-text)}.settings-notice-banner{background:var(--qd-success-subtle);border:1px solid var(--qd-success);border-radius:8px;color:var(--qd-success);font-size:.875rem;margin-bottom:16px;padding:10px 14px}.settings-plan-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.settings-plan-card{background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:10px;display:flex;flex-direction:column;padding:20px;position:relative}.settings-plan-card.current{border-color:var(--qd-accent);box-shadow:0 0 0 1px var(--qd-accent)}.settings-plan-badge{background:var(--qd-accent-subtle);border-radius:99px;color:var(--qd-accent);font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:2px 10px;position:absolute;right:12px;text-transform:uppercase;top:12px}.settings-plan-name{color:var(--qd-text);font-size:1.05rem;font-weight:700;margin:0 0 6px}.settings-plan-price{align-items:baseline;display:flex;gap:4px;margin-bottom:14px}.settings-plan-price-amount{color:var(--qd-text);font-size:1.6rem;font-weight:700;line-height:1}.settings-plan-price-period{color:var(--qd-text-subtle);font-size:.85rem}.settings-plan-features{display:flex;flex:1 1;flex-direction:column;gap:7px;list-style:none;margin:0 0 16px;padding:0}.settings-plan-features li{color:var(--qd-text-muted);font-size:.85rem;padding-left:20px;position:relative}.settings-plan-features li:before{color:var(--qd-success);content:"✓";font-weight:700;left:0;position:absolute}.settings-plan-pending-note{color:var(--qd-warning);font-size:.78rem;margin:0 0 12px}.settings-plan-btn{text-align:center;width:100%}.settings-plan-confirm{display:flex;flex-direction:column;gap:8px}.settings-plan-confirm-text{color:var(--qd-text);font-size:.85rem;font-weight:600;margin:0}.settings-plan-confirm-actions{display:flex;gap:8px}.settings-plan-confirm-actions .settings-plan-btn{flex:1 1;width:auto}.settings-plan-warning{background:var(--qd-warning-subtle);border:1px solid var(--qd-warning);border-radius:6px;color:var(--qd-text-muted);font-size:.78rem;margin:0;padding:8px 10px}.settings-members-table{border-collapse:collapse;font-size:.9rem;width:100%}.settings-members-table th{border-bottom:1px solid var(--qd-border);color:var(--qd-text-subtle);font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:8px 12px;text-align:left;text-transform:uppercase}.settings-members-table td{border-bottom:1px solid var(--qd-border);color:var(--qd-text-muted);padding:12px;vertical-align:middle}.settings-members-table tr:last-child td{border-bottom:none}.member-avatar{align-items:center;background:var(--qd-accent);border-radius:50%;color:var(--qd-text-on-accent);display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:30px;justify-content:center;margin-right:10px;vertical-align:middle;width:30px}.member-name-cell{align-items:center;display:flex}.role-badge{background:var(--qd-accent-subtle);border-radius:99px;color:var(--qd-accent);display:inline-block;font-size:.78rem;font-weight:600;padding:2px 10px}.role-badge.owner{background:var(--qd-warning-subtle);color:var(--qd-warning)}.badge-pref-category{align-items:center;border-bottom:1px solid var(--qd-border);display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px 0}.badge-pref-category:first-of-type{padding-top:0}.badge-pref-category-label{color:var(--qd-text);flex:0 0 110px;font-size:.85rem;font-weight:600}.badge-pref-options{display:flex;flex-wrap:wrap;gap:8px 18px}.badge-pref-option{align-items:center;color:var(--qd-text-muted);cursor:pointer;display:inline-flex;font-size:.85rem;gap:7px;-webkit-user-select:none;user-select:none}.badge-pref-option input{accent-color:var(--qd-accent);cursor:pointer;height:15px;width:15px}.loading-screen{align-items:center;background:var(--qd-bg);color:var(--qd-text-muted);display:flex;font-size:1rem;gap:.75rem;height:100vh;justify-content:center;width:100%}.loading-screen:before{animation:qd-spin .7s linear infinite;border:2.5px solid var(--qd-border-strong);border-radius:50%;border-top-color:var(--qd-accent);content:"";height:20px;width:20px}@keyframes qd-spin{to{transform:rotate(1turn)}}.app-error-boundary,.app-notfound{align-items:center;background:var(--qd-bg);box-sizing:border-box;color:var(--qd-text);display:flex;flex-direction:column;height:100vh;justify-content:center;padding:24px;text-align:center;width:100%}.app-error-card{background:var(--qd-surface);border:1px solid var(--qd-border);border-radius:12px;box-shadow:var(--qd-shadow-md);max-width:460px;padding:32px 28px}.app-error-icon{font-size:2.5rem;margin-bottom:8px}.app-error-boundary h1,.app-notfound h1{color:var(--qd-text);font-size:1.4rem;margin:8px 0}.app-error-boundary p,.app-error-detail,.app-notfound p{color:var(--qd-text-muted);margin:0 0 20px}.app-error-detail{background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:8px;font-size:.8rem;max-height:140px;overflow:auto;padding:10px 12px;text-align:left;white-space:pre-wrap;word-break:break-word}.app-error-btn{background:var(--qd-accent);border:none;border-radius:8px;color:var(--qd-text-on-accent);cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:background .15s ease}.app-error-btn:hover{background:var(--qd-accent-hover)}.app-error-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.app-error-btn--ghost{background:var(--qd-surface-2);border:1px solid var(--qd-border);color:var(--qd-text)}.app-error-btn--ghost:hover{background:var(--qd-surface-3)}.app-error-trace{margin-top:16px;text-align:left}.app-error-trace .app-error-detail{max-height:220px}.app-notfound-code{color:var(--qd-accent);font-size:4rem;font-weight:800;line-height:1}.qd-notif-region{align-items:flex-end;display:flex;flex-direction:column;max-width:min(420px,calc(100vw - 32px));pointer-events:none;position:fixed;right:16px;top:16px;width:-webkit-max-content;width:max-content;z-index:100000}.qd-notif-toolbar{margin-bottom:8px;pointer-events:auto}.qd-notif-stack:not(:empty)~.qd-notif-stack:not(:empty){margin-top:8px}.qd-notif-clear{background:var(--qd-surface-2);border:1px solid var(--qd-border);border-radius:6px;color:var(--qd-text-muted);cursor:pointer;font-size:.75rem;padding:3px 10px;transition:background .15s ease,color .15s ease}.qd-notif-clear:hover{background:var(--qd-surface-3);color:var(--qd-text)}.qd-notif-stack{align-items:stretch;display:flex;flex-direction:column;gap:8px;width:100%}.qd-notif{animation:qd-notif-in .18s ease-out;background:var(--qd-surface);border:1px solid var(--qd-border);border-left:4px solid var(--qd-text-subtle);border-radius:10px;box-shadow:var(--qd-shadow-lg);overflow:hidden;pointer-events:auto;width:100%}@keyframes qd-notif-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.qd-notif{animation:none}}.qd-notif--error{border-left-color:var(--qd-danger)}.qd-notif--warning{border-left-color:var(--qd-warning)}.qd-notif--info{border-left-color:var(--qd-accent)}.qd-notif--success{border-left-color:var(--qd-success)}.qd-notif-head{align-items:stretch;display:flex}.qd-notif-main{align-items:flex-start;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;flex:1 1 auto;font:inherit;gap:10px;min-width:0;padding:12px 8px 12px 14px;text-align:left}.qd-notif-main--static{cursor:default}.qd-notif-main:focus-visible{border-radius:8px;outline:2px solid var(--qd-accent);outline-offset:-2px}.qd-notif-icon{border-radius:50%;color:var(--qd-text-on-accent);display:grid;flex:0 0 auto;font-size:.8rem;font-weight:700;height:20px;line-height:1;margin-top:1px;place-items:center;width:20px}.qd-notif--error .qd-notif-icon{background:var(--qd-danger)}.qd-notif--warning .qd-notif-icon{background:var(--qd-warning)}.qd-notif--info .qd-notif-icon{background:var(--qd-accent)}.qd-notif--success .qd-notif-icon{background:var(--qd-success)}.qd-notif-text{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.qd-notif-title{align-items:center;color:var(--qd-text);display:flex;font-size:.88rem;font-weight:600;gap:6px}.qd-notif-count{background:var(--qd-surface-3);border-radius:999px;color:var(--qd-text-muted);font-size:.7rem;font-weight:700;padding:0 6px}.qd-notif-message{color:var(--qd-text-muted);display:block;font-size:.8rem;margin-top:2px;overflow-wrap:anywhere;word-break:break-word}.qd-notif:not(.qd-notif--expanded) .qd-notif-message{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.qd-notif-chevron{color:var(--qd-text-subtle);flex:0 0 auto;font-size:.8rem;margin-top:2px;transition:transform .15s ease}.qd-notif-chevron.open{transform:rotate(180deg)}.qd-notif-close{align-self:flex-start;background:#0000;border:none;border-radius:4px;color:var(--qd-text-subtle);cursor:pointer;flex:0 0 auto;font-size:1.2rem;line-height:1;padding:12px 12px 8px 6px}.qd-notif-close:hover{color:var(--qd-text)}.qd-notif-details{background:var(--qd-surface-2);border-top:1px solid var(--qd-border);padding:10px 14px 12px}.qd-notif-meta{grid-gap:2px 12px;display:grid;font-size:.76rem;gap:2px 12px;grid-template-columns:auto 1fr;margin:0 0 8px}.qd-notif-meta dt{color:var(--qd-text-subtle);font-weight:600}.qd-notif-meta dd{color:var(--qd-text);margin:0;overflow-wrap:anywhere;word-break:break-word}.qd-notif-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.qd-notif-section-label{color:var(--qd-text-subtle);font-size:.7rem;font-weight:700;letter-spacing:.04em;margin:8px 0 4px;text-transform:uppercase}.qd-notif-pre{background:var(--qd-bg);border:1px solid var(--qd-border);border-radius:6px;color:var(--qd-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.45;margin:0;max-height:220px;overflow:auto;padding:8px 10px;white-space:pre-wrap;word-break:break-word}.qd-notif-trace{max-height:200px}.qd-notif-actions{display:flex;justify-content:flex-end;margin-top:10px}.qd-notif-copy{background:var(--qd-accent);border:none;border-radius:6px;color:var(--qd-text-on-accent);cursor:pointer;font-size:.76rem;font-weight:600;padding:5px 12px;transition:background .15s ease}.qd-notif-copy:hover{background:var(--qd-accent-hover)}
/*# sourceMappingURL=main.6095e719.css.map*/