*{margin:0;padding:0;box-sizing:border-box}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}:root{--spotify-green: #1DB954;--spotify-green-dark: #1aa34a;--bg-primary: #121212;--bg-secondary: #181818;--bg-tertiary: #282828;--bg-elevated: #242424;--bg-hover: #2a2a2a;--text-primary: #fff;--text-secondary: #b3b3b3;--text-muted: #727272;--border-color: #333;--danger: #ff5555;--warning: #ffaa00;--success: #1DB954}body{font-family:Inter Tight,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-secondary);padding:.75rem 1.5rem;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.header-content{max-width:1800px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:.75rem}.logo h1{font-size:1.25rem;font-weight:700}.logo h1 span{color:var(--text-secondary);font-weight:500}.header-right{display:flex;align-items:center;gap:1.5rem}.github-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;background:var(--bg-tertiary);border-radius:20px;color:var(--text-secondary);text-decoration:none;font-size:.85rem;font-weight:500;transition:all .2s;border:1px solid transparent}.github-link:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color)}.github-link svg{transition:transform .2s}.github-link:hover svg{transform:scale(1.1)}.user-section{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem .25rem .25rem;background:var(--bg-tertiary);border-radius:20px}.avatar{width:28px;height:28px;border-radius:50%}.btn{padding:.6rem 1.25rem;border-radius:20px;font-weight:600;cursor:pointer;transition:all .15s ease;border:none;font-size:.85rem;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}.btn:hover:not(:disabled){transform:scale(1.02)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--spotify-green);color:#000}.btn-primary:hover:not(:disabled){background:var(--spotify-green-dark)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--text-muted)}.btn-outline:hover:not(:disabled){border-color:var(--text-primary);background:#ffffff0d}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#f33}.btn-warning{background:var(--warning);color:#000}.btn-warning:hover:not(:disabled){background:#ff9500}.btn-icon{padding:.5rem;border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);display:flex;align-items:center;justify-content:center}.btn-import{width:100%;background:var(--bg-tertiary);color:var(--text-secondary);border:1px dashed var(--border-color);margin-bottom:1rem;justify-content:center}.btn-import:hover:not(:disabled){border-color:var(--spotify-green);color:var(--spotify-green);background:#1db9541a}.landing{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(180deg,rgba(29,185,84,.08) 0%,var(--bg-primary) 50%)}.landing-content{text-align:center;max-width:520px}.landing-brand{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.brand-icon{width:72px;height:72px;background:linear-gradient(135deg,var(--spotify-green) 0%,#17a44a 100%);border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #1db9544d}.brand-icon svg{color:#000!important}.brand-text{text-align:left}.brand-author{display:block;font-size:1rem;font-weight:800;color:var(--spotify-green);text-transform:lowercase;letter-spacing:.5px;margin-bottom:.15rem}.landing h1{font-size:1.85rem;font-weight:800;margin:0;line-height:1.1;background:linear-gradient(135deg,#fff,#b3b3b3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-tagline{color:var(--text-secondary);font-size:1rem;margin-bottom:2rem;line-height:1.6}.features{list-style:none;text-align:left;background:var(--bg-secondary);padding:1.25rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid var(--border-color)}.features li{padding:.5rem 0;color:var(--text-secondary);display:flex;align-items:center;gap:.75rem;font-size:.95rem}.features li svg{color:var(--spotify-green);flex-shrink:0}.landing-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);font-size:.85rem;color:var(--text-muted)}.landing-footer strong{color:var(--spotify-green)}.dashboard{flex:1;display:flex;overflow:hidden}.sidebar{width:300px;background:var(--bg-secondary);border-right:1px solid var(--border-color);overflow:hidden;display:flex;flex-direction:column;flex-shrink:0;max-height:calc(100vh - 57px)}.main-content{flex:1;overflow-y:auto;padding:1.25rem;background:linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-primary) 300px)}.playlist-list{padding:1rem;display:flex;flex-direction:column;height:100%;overflow:hidden}.playlist-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.playlist-header-row h2{font-size:.85rem;color:var(--text-secondary);margin-bottom:0;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.5px}.playlist-header-row .btn-refresh{padding:.35rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .2s ease}.playlist-header-row .btn-refresh:hover{background:var(--bg-tertiary);color:var(--text-primary)}.playlist-header-row .btn-refresh:disabled{opacity:.5;cursor:not-allowed}.playlist-list h2{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.5px}.playlist-search{display:flex;align-items:center;gap:.5rem;background:var(--bg-tertiary);border-radius:8px;padding:.5rem .75rem;margin-bottom:.75rem}.playlist-search input{flex:1;background:none;border:none;color:var(--text-primary);font-size:.9rem;outline:none}.playlist-search input::placeholder{color:var(--text-muted)}.playlist-search svg{color:var(--text-muted)}.playlists{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;margin-right:-.5rem;padding-right:.5rem}.playlists::-webkit-scrollbar{width:6px}.playlists::-webkit-scrollbar-track{background:transparent}.playlists::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.playlists::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.playlist-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:6px;cursor:pointer;transition:background .15s ease}.playlist-item:hover,.playlist-item.selected{background:var(--bg-tertiary)}.playlist-item.readonly{opacity:.8}.playlist-image{width:44px;height:44px;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--bg-tertiary)}.playlist-image img{width:100%;height:100%;object-fit:cover}.no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.playlist-info{flex:1;min-width:0}.playlist-info h3{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.5rem}.playlist-info .lock-icon{color:var(--text-muted);flex-shrink:0}.playlist-info .collab-icon{color:#ff9f43;flex-shrink:0}.playlist-item.collaborative{border-left:2px solid #ff9f43}.playlist-info span{font-size:.75rem;color:var(--text-muted)}.no-results{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-size:.9rem}.import-error{color:var(--danger);font-size:.85rem;margin-bottom:1rem;padding:.5rem;background:#ff55551a;border-radius:6px}.playlist-header{display:flex;gap:1.25rem;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-color)}.playlist-cover{width:160px;height:160px;border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #00000080;flex-shrink:0}.playlist-cover img{width:100%;height:100%;object-fit:cover}.no-cover{width:100%;height:100%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--text-muted)}.playlist-details{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.playlist-details h2{font-size:1.75rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-description{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.playlist-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;color:var(--text-secondary);font-size:.85rem}.playlist-owner{font-weight:600;color:var(--text-primary);text-decoration:none;transition:color .2s}.playlist-owner:hover{color:var(--spotify-green);text-decoration:underline}.playlist-separator{color:var(--text-muted)}.playlist-followers,.playlist-tracks{color:var(--text-secondary)}.playlist-visibility{color:var(--text-muted);font-size:.8rem;background:var(--bg-tertiary);padding:.15rem .5rem;border-radius:12px}.action-panel{background:var(--bg-secondary);padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.25rem;border:1px solid var(--border-color)}.action-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.action-header h3{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.readonly-badge{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--warning);background:#ffaa001a;padding:.35rem .75rem;border-radius:12px}.collaborator-badge{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#ff9f43;background:#ff9f4326;padding:.35rem .75rem;border-radius:12px;border:1px solid rgba(255,159,67,.3)}.btn-mark-collaborator{display:inline-flex;align-items:center;gap:.3rem;margin-left:.5rem;padding:.25rem .5rem;font-size:.7rem;background:#ff9f4333;color:#ff9f43;border:1px solid rgba(255,159,67,.4);border-radius:6px;cursor:pointer;transition:all .2s}.btn-mark-collaborator:hover{background:#ff9f4359;border-color:#ff9f43}.btn-unmark-collaborator{margin-left:auto;padding:.15rem .4rem;font-size:.75rem;background:transparent;color:#ff9f43;border:none;cursor:pointer;opacity:.7;transition:opacity .2s}.btn-unmark-collaborator:hover{opacity:1}.changes-badge{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--spotify-green);background:#1db95426;padding:.35rem .75rem;border-radius:12px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.current-sort-info{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:6px}.current-sort-info strong{color:var(--text-primary)}.current-sort-info .unsaved{color:var(--spotify-green);font-weight:500}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.action-buttons .divider{width:1px;height:28px;background:var(--border-color);margin:0 .25rem}.message{display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border-radius:8px;margin-bottom:.75rem;font-size:.85rem}.message.success{background:#1db95426;color:var(--success);animation:fadeIn .2s ease}.message.error{background:#ff555526;color:var(--danger);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.track-list{background:var(--bg-secondary);border-radius:10px;padding:1rem;border:1px solid var(--border-color)}.track-controls{display:flex;gap:1.5rem;margin-bottom:.75rem;flex-wrap:wrap}.sort-controls,.group-controls{display:flex;align-items:center;gap:.5rem}.sort-controls label,.group-controls label{color:var(--text-muted);font-size:.85rem}.sort-controls select,.group-controls select{background:var(--bg-tertiary);color:var(--text-primary);border:none;padding:.4rem .75rem;border-radius:6px;font-size:.85rem;cursor:pointer}.track-info-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.track-count{color:var(--text-muted);font-size:.85rem}.drag-hint{color:var(--text-muted);font-size:.8rem;display:flex;align-items:center;gap:.35rem}.tracks-table-wrapper{overflow-x:auto}.tracks-table{width:100%;border-collapse:collapse}.tracks-table th{text-align:left;color:var(--text-muted);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;padding:.5rem .75rem;border-bottom:1px solid var(--border-color);white-space:nowrap}.tracks-table .col-drag{width:32px}.tracks-table .col-index{width:40px;text-align:center}.tracks-table .col-duration{width:50px;text-align:right}.track-row{cursor:grab;transition:background .1s ease,transform .1s ease}.track-row:hover{background:var(--bg-tertiary)}.track-row:active{cursor:grabbing}.track-row.dragging{opacity:.4;background:var(--bg-tertiary)}.track-row.drag-over{background:#1db95426;box-shadow:inset 0 -2px 0 0 var(--spotify-green)}.tracks-table td{padding:.5rem .75rem;font-size:.875rem;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle}.drag-handle{color:var(--text-muted);cursor:grab;padding:0 .5rem!important;opacity:.5;transition:opacity .1s}.track-row:hover .drag-handle{opacity:1}.track-index{text-align:center;color:var(--text-muted);font-size:.8rem}.track-title-inner{display:flex;align-items:center;gap:.75rem}.track-thumb{width:40px;height:40px;border-radius:4px;flex-shrink:0}.track-thumb-placeholder{width:40px;height:40px;border-radius:4px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.track-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.track-artist,.track-album{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.track-duration{color:var(--text-muted);text-align:right;font-size:.8rem}.genres{display:flex;gap:.25rem;flex-wrap:wrap}.genre-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:.15rem .5rem;border-radius:10px;font-size:.7rem}.genre-tag.genre-unknown{background:#ff555526;color:#f88;font-style:italic}.track-group{margin-bottom:1.5rem}.track-group:last-child{margin-bottom:0}.group-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem .9rem;background:var(--bg-tertiary);border-radius:6px;margin-bottom:.5rem}.group-name{font-size:.95rem;font-weight:600}.group-count{font-size:.8rem;color:var(--text-muted);font-weight:400}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;width:100%;max-width:420px;border:1px solid var(--border-color)}.modal h3{margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;font-size:1.1rem}.modal-icon{text-align:center;margin-bottom:1rem}.modal-desc{color:var(--text-secondary);margin-bottom:1.25rem;line-height:1.5;font-size:.9rem}.modal-note{font-size:.8rem;color:var(--text-muted);margin-top:.75rem;margin-bottom:1rem}.genre-preview-list{background:var(--bg-tertiary);border-radius:8px;padding:.5rem;max-height:200px;overflow-y:auto;margin-bottom:.5rem}.genre-preview-item{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;border-radius:4px;font-size:.85rem}.genre-preview-item:nth-child(odd){background:var(--bg-secondary)}.genre-preview-item .genre-name{color:var(--text-primary);font-weight:500}.genre-preview-item .genre-count{color:var(--text-muted);font-size:.8rem}.genre-preview-item.more{color:var(--text-muted);font-style:italic;justify-content:center}.modal input{width:100%;padding:.65rem .9rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;margin-bottom:1rem;transition:border-color .15s}.modal input:focus{outline:none;border-color:var(--spotify-green)}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.modal-warning{border-color:var(--warning)}.modal-warning h3{color:var(--warning)}.reorder-preview{background:var(--bg-tertiary);border-radius:8px;padding:1rem;margin-bottom:1rem}.preview-stat{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.9rem}.preview-stat span{color:var(--text-secondary)}.fast-mode-option{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.fast-mode-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.5rem 0}.fast-mode-label{font-weight:500;color:var(--text-primary)}.fast-mode-toggle input[type=checkbox]{display:none}.fast-mode-switch{position:relative;width:44px;height:24px;background:var(--bg-tertiary);border-radius:12px;transition:background .2s ease;flex-shrink:0}.fast-mode-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:all .2s ease}.fast-mode-toggle input:checked+.fast-mode-switch{background:var(--spotify-green)}.fast-mode-toggle input:checked+.fast-mode-switch:after{left:23px;background:#fff}.fast-mode-note{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.job-progress{background:var(--bg-tertiary);border-radius:8px;padding:.75rem 1rem;margin-top:.75rem}.job-progress-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin-bottom:.5rem}.job-progress .progress-bar{width:100%;height:6px}.loading,.empty{text-align:center;padding:3rem;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:.75rem}.empty svg{opacity:.4}.progress-bar{width:200px;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;margin-top:.5rem}.progress-fill{height:100%;background:var(--spotify-green);border-radius:2px;transition:width .3s ease}@media (max-width: 1024px){.track-name{max-width:180px}.track-artist,.track-album{max-width:120px}}@media (max-width: 768px){.dashboard{flex-direction:column}.sidebar{width:100%;max-height:250px;border-right:none;border-bottom:1px solid var(--border-color)}.playlist-header{flex-direction:column;align-items:center;text-align:center}.playlist-cover{width:140px;height:140px}.action-buttons{justify-content:center}.tracks-table .col-album,.tracks-table .col-genre,.track-album,.track-genres{display:none}}.modal-wide{max-width:550px}.unavailable-list{max-height:300px;overflow-y:auto;background:var(--bg-tertiary);border-radius:8px;margin:1rem 0}.unavailable-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.unavailable-item:last-child{border-bottom:none}.unavailable-info{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.unavailable-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unavailable-artist{font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unavailable-reason{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500;flex-shrink:0;margin-left:.75rem}.reason-deleted{background:#f55;color:#fff}.reason-region{background:#fa0;color:#000}.reason-local{background:#55f;color:#fff}.reason-restricted{background:#a5a;color:#fff}.unavailable-more{padding:.75rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem;font-style:italic}.track-info-left{display:flex;align-items:center;gap:.5rem}.btn-refresh{padding:.35rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-refresh:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.extract-playlist-name{margin-bottom:1rem}.extract-playlist-name label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.extract-playlist-name input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:1rem}.extract-playlist-name input:focus{outline:none;border-color:var(--spotify-green)}.genre-select-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.9rem;color:var(--text-secondary)}.genre-select-actions{display:flex;gap:1rem}.btn-link{background:none;border:none;color:var(--spotify-green);cursor:pointer;font-size:.85rem;text-decoration:underline}.btn-link:hover{color:var(--spotify-green-hover)}.genre-select-list{max-height:300px;overflow-y:auto;background:var(--bg-tertiary);border-radius:8px;margin:.5rem 0 1rem;padding:.5rem}.genre-select-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:6px;cursor:pointer;transition:background .15s}.genre-select-item:hover{background:var(--bg-hover)}.genre-select-item input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;flex-shrink:0;margin:0;accent-color:var(--spotify-green);cursor:pointer}.genre-select-item .genre-name{flex:1;font-weight:500}.genre-select-item .genre-count{font-size:.8rem;color:var(--text-muted);background:var(--bg-secondary);padding:.2rem .5rem;border-radius:4px}.extract-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.extract-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:6px;cursor:pointer;transition:background .15s;border:1px solid transparent}.extract-option:hover{background:var(--bg-hover)}.extract-option:has(input:checked){background:#1db9541a;border-color:var(--spotify-green)}.extract-option input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px;flex-shrink:0;margin:2px 0 0;accent-color:var(--spotify-green);cursor:pointer}.extract-option-content{display:flex;flex-direction:column;gap:.25rem}.extract-option-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary)}.extract-option-desc{font-size:.85rem;color:var(--text-muted)}
