.cache-refresh-status{color:#61dafb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box;background:#61dafb1a;border:1px solid #61dafb4d;border-radius:8px;flex-shrink:0;width:320px;height:32px;margin:0 12px;padding:4px 8px;font-size:.85rem;transition:opacity .3s,transform .3s;overflow:hidden}.cache-refresh-status.fade-in{opacity:0;animation:.3s forwards slideIn;transform:translateY(-10px)scale(.95)}.cache-refresh-status.visible{opacity:1;transform:translateY(0)scale(1)}.cache-refresh-status.fade-out{opacity:1;animation:.3s forwards slideOut}@keyframes slideIn{to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideOut{to{opacity:0;transform:translateY(-10px)scale(.95)}}.cache-status-content{align-items:center;gap:4px;width:100%;height:100%;min-height:0;font-weight:500;display:flex}.progress-indicator{background:#61dafb1a;border:1px solid #61dafb4d;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:16px;display:flex;position:relative;overflow:hidden}.pulsating-bar{background:linear-gradient(90deg,#61dafb33 0%,#61dafb99 50%,#61dafb33 100%);animation:2s ease-in-out infinite pulse-sweep;position:absolute;inset:0}.progress-time{color:#61dafbf2;z-index:1;text-align:center;white-space:nowrap;text-shadow:0 1px 2px #00000080;font-size:.6rem;font-weight:600;line-height:1}@keyframes pulse-sweep{0%{opacity:.4;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1)}to{opacity:.4;transform:scaleX(.8)}}.cache-status-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex;overflow:hidden}.cache-status-label{white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1.2;overflow:hidden}.cache-progress-bar{background:#61dafb33;border-radius:2px;height:4px;position:relative;overflow:hidden}.cache-progress-fill{background:linear-gradient(90deg,#61dafb,#4fa8d8);border-radius:2px;height:100%;transition:width .3s;position:relative;overflow:hidden}.cache-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{to{left:100%}}.cache-progress-text{color:#61dafb;text-shadow:0 1px 2px #00000080;font-size:.75rem;font-weight:600;position:absolute;top:-18px;right:0}.cache-status-details{color:#61dafbcc;flex-direction:column;flex:1;justify-content:center;gap:1px;height:100%;min-height:0;max-height:24px;font-size:.75rem;display:flex;overflow:hidden}.directory-progress-row{white-space:nowrap;align-items:center;gap:6px;display:flex}.progress-stats-row,.progress-info-row{white-space:nowrap;text-overflow:ellipsis;color:#61dafb99;align-items:center;gap:4px;font-size:.7rem;display:flex;overflow:hidden}.directory-counts{color:#61dafbe6;background:#61dafb26;border:1px solid #61dafb40;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:.65rem;font-weight:500}.current-directory{cursor:help;white-space:nowrap;text-overflow:ellipsis;color:#61dafbf2;background:#61dafb1a;border:1px solid #61dafb33;border-radius:3px;flex:1;min-width:0;padding:1px 4px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.75rem;line-height:1.3;transition:all .2s;overflow:hidden}.current-directory:hover{background:#61dafb33;border-color:#61dafb66;transform:scale(1.02)}.cache-elapsed-time{opacity:.7;font-size:.7rem;font-style:italic;line-height:1.2}@media (width<=768px){.cache-refresh-status{width:240px;height:28px;margin:0 6px;padding:3px 6px;font-size:.75rem}.cache-status-details{max-height:20px;font-size:.7rem}.current-directory{padding:1px 3px;font-size:.65rem}.directory-counts{padding:0 3px;font-size:.6rem}.progress-stats-row,.progress-info-row{font-size:.65rem}.progress-indicator{width:20px;height:14px}.progress-time{font-size:.5rem}}@media (prefers-contrast:high){.cache-refresh-status{background:#61dafb33;border:2px solid #61dafb}.cache-progress-fill{background:#61dafb}.progress-indicator{background:#61dafb33;border:2px solid #61dafb}.pulsating-bar{background:linear-gradient(90deg,#61dafb66 0%,#61dafb 50%,#61dafb66 100%)}}@media (prefers-reduced-motion:reduce){.cache-refresh-status,.cache-progress-fill{transition:none}.pulsating-bar{opacity:.6;animation:none;transform:none}.cache-progress-fill:after{display:none}@keyframes slideIn{to{opacity:1;transform:none}}@keyframes slideOut{to{opacity:0;transform:none}}}.tauri-settings.modal-overlay{background:var(--color-bg-primary);z-index:100000;width:100vw;height:100vh;margin:0;padding:0;position:fixed;inset:0!important}.tauri-settings .modal-content{background:var(--color-bg-primary);border:none;flex-direction:column;width:100%;height:100%;margin:0;padding:0;display:flex;position:absolute;top:0;left:0;overflow-y:auto}.tauri-settings .modal-header{border-bottom:1px solid var(--color-border-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 3rem;display:flex}.tauri-settings .modal-header h2{color:var(--color-primary);margin:0;font-size:24px}.tauri-settings .close-button{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;transition:all .2s;display:flex}.tauri-settings .close-button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.tauri-settings .modal-body{box-sizing:border-box;flex:1;width:100%;max-width:1400px;margin:0 auto;padding:3rem;overflow-y:auto}.tauri-settings .welcome-message{background:linear-gradient(135deg, var(--color-bg-elevated) 0%, var(--color-bg-quaternary) 100%);border:1px solid var(--color-border-secondary);color:var(--color-text-primary);border-radius:8px;margin-bottom:24px;padding:20px;position:relative}.tauri-settings .welcome-message h3{color:var(--color-primary);margin:0 0 12px;font-size:20px}.tauri-settings .welcome-message p{margin:0 0 12px;line-height:1.5}.tauri-settings .welcome-message ul{margin:0;padding-left:20px}.tauri-settings .welcome-message li{margin-bottom:8px;line-height:1.4}.tauri-settings .settings-section{margin-bottom:32px}.tauri-settings .settings-section h3{color:var(--color-text-primary);margin:0 0 16px;font-size:18px;font-weight:600}.tauri-settings .settings-section p{color:var(--color-text-secondary);margin:0 0 16px;line-height:1.5}.tauri-settings .detecting-database{background-color:var(--color-primary-alpha-10);border:1px solid var(--color-primary-alpha-30);color:var(--color-primary);border-radius:4px;align-items:center;gap:8px;margin-bottom:16px;padding:12px;display:flex}.tauri-settings .database-config label{color:var(--color-text-primary);margin-bottom:8px;font-weight:500;display:block}.tauri-settings .file-input-group{gap:8px;margin-bottom:8px;display:flex}.tauri-settings .file-path-input{border:1px solid var(--color-border-secondary);background:var(--color-bg-input);color:var(--color-text-primary);border-radius:4px;flex:1;padding:8px 12px;font-size:14px}.tauri-settings .file-path-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha-30);outline:none}.tauri-settings .browse-button{background-color:var(--color-bg-button);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.tauri-settings .browse-button:hover{background-color:var(--color-bg-hover)}.tauri-settings .path-info{color:var(--color-text-muted);background-color:var(--color-bg-tertiary);word-break:break-all;border-radius:4px;padding:8px;font-size:12px}.tauri-settings .add-directory-button{background-color:var(--color-success);color:var(--color-text-primary);cursor:pointer;border:none;border-radius:4px;margin-bottom:16px;padding:10px 16px;font-size:14px}.tauri-settings .add-directory-button:hover{background-color:var(--color-success-hover)}.tauri-settings .image-directories{flex-direction:column;gap:8px;display:flex}.tauri-settings .image-directory-item{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.tauri-settings .image-directory-item span{color:var(--color-text-primary);word-break:break-all;font-size:14px}.tauri-settings .remove-button{color:var(--color-error);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;margin-left:8px;padding:2px 6px;font-size:16px}.tauri-settings .remove-button:hover{background-color:var(--color-error);color:var(--color-text-primary)}.tauri-settings .no-directories{background-color:var(--color-bg-tertiary);color:var(--color-text-muted);text-align:center;border-radius:4px;padding:16px;font-style:italic}.tauri-settings .modal-footer{border-top:1px solid var(--color-border-secondary);background-color:var(--color-bg-secondary);flex-shrink:0;padding:1.5rem 3rem}.tauri-settings .save-message{text-align:center;border-radius:4px;margin-bottom:12px;padding:10px;font-size:14px}.tauri-settings .save-message.success{background-color:var(--color-success-alpha-20);border:1px solid var(--color-border-success);color:var(--color-success)}.tauri-settings .save-message.error{background-color:var(--color-error-alpha-20);border:1px solid var(--color-border-error);color:var(--color-error)}.tauri-settings .modal-buttons{justify-content:flex-end;gap:12px;display:flex}.tauri-settings .cancel-button{background-color:var(--color-bg-button);color:var(--color-text-primary);cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px}.tauri-settings .cancel-button:hover{background-color:var(--color-bg-hover)}.tauri-settings .save-button{background-color:var(--color-success);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500}.tauri-settings .save-button:hover:not(:disabled){background-color:var(--color-success-hover)}.tauri-settings .save-button:disabled{background-color:var(--color-bg-button);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.tauri-settings .restart-prompt{text-align:center}.tauri-settings .restart-prompt p{color:var(--color-warning);background-color:var(--color-warning-alpha-20);border:1px solid var(--color-border-warning);border-radius:4px;margin:0 0 16px;padding:12px;font-size:14px}.tauri-settings .restart-button{background-color:var(--color-success);color:var(--color-text-primary);cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500}.tauri-settings .restart-button:hover{background-color:var(--color-success-hover)}.tauri-settings .db-row{border:1px solid var(--color-border,#444);background-color:var(--color-bg-input,#ffffff05);border-radius:4px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;padding:10px 12px;display:flex}.tauri-settings .db-row-main{overflow-wrap:anywhere;flex:1;min-width:0}.tauri-settings .db-row-title{margin-bottom:4px}.tauri-settings .db-row-slug{color:var(--color-text-secondary,#999);background:var(--color-bg-button,#ffffff0d);border-radius:3px;margin-left:6px;padding:1px 6px;font-size:11px}.tauri-settings .db-row-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.tauri-settings .db-row-actions .remove-button{width:auto;padding:4px 10px}.tauri-settings .muted{color:var(--color-text-secondary,#999)}.tauri-settings .info-panel-content .db-list{margin:4px 0 0;padding-left:0;list-style:none}.tauri-settings .info-panel-content .db-list li{margin-bottom:8px}.tauri-settings .info-panel-content .db-list code{color:var(--color-text-secondary,#999);font-size:11px}.tauri-settings .info-panel-content .db-list .image-dirs{color:var(--color-text-secondary,#999);font-size:12px}.tauri-settings .db-add-buttons{flex-wrap:wrap;gap:8px;display:flex}.tauri-settings .db-add-buttons .add-directory-button{flex:1;width:auto;min-width:180px}.tauri-settings .import-progress-panel{border:1px solid var(--color-border,#444);background:var(--color-bg-secondary,#ffffff08);border-radius:6px;margin-top:12px;padding:10px 12px;font-size:13px}.tauri-settings .import-progress-line{align-items:center;gap:6px;display:flex}.tauri-settings .import-spinner{animation:1.2s ease-in-out infinite import-pulse}@keyframes import-pulse{0%,to{opacity:1}50%{opacity:.4}}.tauri-settings .import-project-list{color:var(--color-text-secondary,#999);margin:8px 0 0;padding-left:18px}.tauri-settings .import-confirm-buttons{justify-content:flex-start;margin-top:10px}.tauri-settings .import-confirm-content{width:100%}.tauri-settings .import-action-buttons{justify-content:flex-start;margin-top:10px}.tauri-settings .quality-analysis-option{border:1px solid var(--color-border-secondary);background:var(--color-bg-tertiary);color:var(--color-text-primary);cursor:pointer;border-radius:6px;align-items:flex-start;gap:10px;margin:14px 0;padding:12px;display:flex}.tauri-settings .quality-analysis-option input{margin-top:3px}.tauri-settings .quality-analysis-option span,.tauri-settings .quality-analysis-option small{display:block}.tauri-settings .scheduler-sync-empty,.tauri-settings .scheduler-sync-controls{margin-top:10px;font-size:13px}.tauri-settings .scheduler-sync-controls{border-top:1px solid var(--color-border,#444);padding-top:8px}.tauri-settings .scheduler-sync-controls summary{cursor:pointer;color:var(--color-primary);font-weight:600}.tauri-settings .scheduler-sync-body{gap:10px;margin-top:10px;display:grid}.tauri-settings .scheduler-sync-body>label{grid-template-columns:auto minmax(140px,1fr);align-items:center;gap:8px;display:grid}.tauri-settings .scheduler-sync-body select{min-width:0;color:var(--color-text);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:4px;padding:5px 7px}.tauri-settings .scheduler-sync-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tauri-settings .scheduler-sync-actions>div{border:1px solid var(--color-border);border-radius:4px;flex-direction:column;align-items:flex-start;gap:6px;padding:9px;display:flex}.tauri-settings .scheduler-sync-actions small,.tauri-settings .scheduler-sync-preview small{color:var(--color-text-secondary);line-height:1.35;display:block}.tauri-settings .scheduler-sync-check{align-items:center;gap:6px;display:flex}.tauri-settings .scheduler-sync-preview{border:1px solid var(--color-primary);border-radius:4px;padding:9px}.tauri-settings .scheduler-sync-confirm{gap:8px;margin-top:8px;display:flex}.tauri-settings .scheduler-sync-confirm button{width:auto}.tauri-settings .scheduler-sync-status{color:var(--color-primary)}@media (width<=760px){.tauri-settings .scheduler-sync-actions{grid-template-columns:1fr}}.tauri-settings .quality-backfill-controls{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tauri-settings .quality-backfill-status{color:var(--color-primary);margin-top:10px;font-size:13px}.tauri-settings .quality-backfill-error{color:var(--color-error);align-self:center;font-size:12px}.tauri-settings .quality-analysis-option small{color:var(--color-text-secondary);margin-top:4px;font-weight:400;line-height:1.4}.tauri-settings .catalog-settings{border:1px solid var(--color-border-secondary);background:var(--color-bg-secondary);border-radius:8px;padding:18px}.tauri-settings .catalog-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.tauri-settings .catalog-heading p{margin-bottom:0}.tauri-settings .catalog-feature-summary{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.tauri-settings .catalog-feature-summary span{border:1px solid var(--color-border-secondary);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:12px}.tauri-settings .catalog-feature-summary span.ready{border-color:var(--color-border-success);color:var(--color-success)}.tauri-settings .catalog-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.tauri-settings .catalog-resource{border:1px solid var(--color-border-secondary);background:var(--color-bg-tertiary);border-radius:5px;align-items:flex-start;gap:8px;min-width:0;padding:9px;display:flex}.tauri-settings .catalog-resource>span:last-child{min-width:0}.tauri-settings .catalog-resource strong,.tauri-settings .catalog-resource small{display:block}.tauri-settings .catalog-resource strong{font-size:13px}.tauri-settings .catalog-resource small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.tauri-settings .catalog-status-dot{background:var(--color-text-muted);border-radius:50%;flex:none;width:9px;height:9px;margin-top:4px}.tauri-settings .catalog-status-available{background:var(--color-success)}.tauri-settings .catalog-status-invalid{background:var(--color-error)}.tauri-settings .catalog-status-missing{background:var(--color-warning)}.tauri-settings .catalog-install-controls{grid-template-columns:max-content minmax(220px,1fr);align-items:center;gap:8px 12px;display:grid}.tauri-settings .catalog-install-controls label{color:var(--color-text-primary);font-weight:600}.tauri-settings .catalog-install-controls select{min-width:0;color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--color-border-secondary);border-radius:4px;padding:8px 10px}.tauri-settings .catalog-install-controls>small,.tauri-settings .catalog-actions{grid-column:2}.tauri-settings .catalog-install-controls>small,.tauri-settings .catalog-footnote{color:var(--color-text-muted);line-height:1.4}.tauri-settings .catalog-actions{flex-wrap:wrap;gap:8px;display:flex}.tauri-settings .catalog-progress,.tauri-settings .catalog-error,.tauri-settings .catalog-valid{border:1px solid var(--color-border-secondary);border-radius:5px;gap:5px;margin-top:12px;padding:10px 12px;font-size:13px;display:grid}.tauri-settings .catalog-progress-complete,.tauri-settings .catalog-valid{border-color:var(--color-border-success);color:var(--color-success)}.tauri-settings .catalog-progress-error,.tauri-settings .catalog-error{border-color:var(--color-border-error);color:var(--color-error)}.tauri-settings .catalog-progress progress{width:100%}.tauri-settings .catalog-progress code{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:11px}.tauri-settings .catalog-footnote{font-size:12px;margin:12px 0 0!important}@media (width<=820px){.tauri-settings .catalog-heading{display:block}.tauri-settings .catalog-feature-summary{justify-content:flex-start;margin-top:12px}.tauri-settings .catalog-resource-grid,.tauri-settings .catalog-install-controls{grid-template-columns:1fr}.tauri-settings .catalog-install-controls>small,.tauri-settings .catalog-actions{grid-column:1}}:root{--color-bg-primary:#1a1a1a;--color-bg-secondary:#252525;--color-bg-tertiary:#333;--color-bg-quaternary:#444;--color-bg-elevated:#2a2a2a;--color-bg-surface:#202020;--color-bg-hover:#1e1e1e;--color-bg-input:#555;--color-bg-button:#666;--color-bg-slider:#4a5568;--color-bg-slider-hover:#5a6578;--color-text-primary:#e0e0e0;--color-text-secondary:#b0b0b0;--color-text-muted:#999;--color-text-disabled:#777;--color-text-hint:#666;--color-text-light:#aaa;--color-text-lighter:#ccc;--color-text-lightest:#ddd;--color-text-dark:#000;--color-primary:#61dafb;--color-primary-alpha-10:#61dafb1a;--color-primary-alpha-20:#61dafb33;--color-primary-alpha-30:#61dafb4d;--color-primary-alpha-50:#61dafb80;--color-primary-alpha-70:#61dafbb3;--color-primary-alpha-80:#61dafbcc;--color-primary-alpha-90:#61dafbe6;--color-success:#4caf50;--color-success-light:#81c784;--color-success-hover:#45a049;--color-success-alpha-20:#4caf5033;--color-error:#f44336;--color-error-light:#faa;--color-error-dark:#da190b;--color-error-alpha-10:#f443361a;--color-error-alpha-20:#f4433633;--color-warning:#ff9800;--color-warning-light:#ffd54f;--color-warning-alpha-20:#ff980033;--color-warning-alpha-40:#ff980066;--color-border-primary:#333;--color-border-secondary:#444;--color-border-tertiary:#555;--color-border-quaternary:#666;--color-border-success:#4caf50;--color-border-error:#f44336;--color-border-warning:#ff9800;--color-overlay-dark:#000c;--color-overlay-darker:#000000e6;--color-overlay-darkest:#000000f2;--color-overlay-light:#1a1a1acc;--color-overlay-white:#ffffff1a;--color-blue:#2196f3}.app{background:var(--color-bg-primary);height:100vh;color:var(--color-text-primary);flex-direction:column;display:flex}.app-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);grid-template-columns:auto minmax(31rem,1fr) auto auto;grid-template-areas:"brand context views utilities";align-items:center;gap:.45rem .75rem;min-width:0;padding:.6rem 1rem;display:grid}.app-header.compact{padding:.6rem 1rem}.site-banner{color:#ede9fe;background:linear-gradient(90deg, #6d28d959, #2563eb47), var(--color-bg-surface);border-bottom:1px solid #c4b5fd73;flex:none;justify-content:center;align-items:center;gap:.75rem;padding:.65rem 1rem;line-height:1.4;display:flex}.site-banner__title{color:#ddd6fe;white-space:nowrap}.site-banner__message{overflow-wrap:anywhere;min-width:0}.site-banner__link{color:#bfdbfe;text-underline-offset:.18em;white-space:nowrap;flex:none;font-weight:600;text-decoration:underline}.site-banner__link:hover{color:#fff}.header-brand{grid-area:brand}.brand-button{appearance:none;color:var(--color-primary);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:.25rem 0;font-size:1.2rem;font-weight:700}.brand-button:focus-visible,.header-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.header-context{grid-area:context;grid-template-columns:minmax(19rem,1fr) 17rem;align-items:center;gap:.5rem;min-width:0;display:grid}.header-context.header-context--overview{grid-template-columns:17rem;justify-content:end}.header-cache-slot{width:17rem;min-width:0;height:32px;overflow:hidden}.header-cache-slot .cache-refresh-status{width:100%;margin:0}.header-view-tabs,.header-utilities{white-space:nowrap;align-items:center;gap:.3rem;display:flex}.header-view-tabs{border:1px solid var(--color-border-primary);background:var(--color-bg-surface);border-radius:6px;grid-area:views;padding:.18rem}.header-utilities{grid-area:utilities}.help-button,.header-button{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);cursor:pointer;white-space:nowrap;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.header-button{padding:.38rem .62rem;font-size:.8rem}.header-view-tabs .header-button{background:0 0;border-color:#0000}.header-view-tabs .header-button[aria-current=page]{color:var(--color-primary);border-color:var(--color-primary-alpha-30);background:var(--color-primary-alpha-10)}.utility-icon{display:none}.help-button:hover,.header-button:hover{background:var(--color-bg-quaternary);border-color:var(--color-bg-input)}.info-button{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:.5rem;transition:all .2s;display:flex}.info-button:hover{background:var(--color-bg-quaternary);border-color:var(--color-bg-input)}.project-target-selector.compact{flex:1;justify-content:flex-start;align-items:center;gap:.6rem;min-width:0;display:flex}.selector-group.compact{flex:1 1 0;align-items:center;gap:.5rem;min-width:0;display:flex}.selector-group.compact label{color:var(--color-text-secondary);white-space:nowrap;margin:0;font-size:.85rem;font-weight:500}.compact-select{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);border-radius:4px;width:100%;min-width:0;max-width:none;padding:.4rem .8rem;font-size:.85rem}.compact-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha-20);outline:none}.compact-select:disabled{opacity:.5;cursor:not-allowed}.compact-select option:disabled{color:var(--color-text-hint);font-style:italic}.refresh-button.compact{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;min-width:32px;padding:.4rem .6rem;font-size:.9rem;transition:all .2s;display:flex}.refresh-button.compact:hover{background:var(--color-bg-quaternary);border-color:var(--color-bg-input)}.refresh-button.compact:disabled{opacity:.5;cursor:not-allowed}@media (width<=1240px){.app-header,.app-header.compact{grid-template-columns:auto 1fr auto;grid-template-areas:"brand views utilities""context context context";padding:.5rem .8rem}.header-context{grid-template-columns:minmax(19rem,1fr) 17rem}.header-context.header-context--overview{justify-content:end}.app-header.app-header--overview{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"brand context views utilities"}}@media (width<=760px){.site-banner{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:.25rem .6rem;padding:.55rem .75rem;font-size:.85rem}.site-banner__title{white-space:normal}.site-banner__message{flex-basis:calc(100% - 7rem)}.site-banner__link{margin-left:auto}.selector-group.compact label{display:none}.header-context{grid-template-columns:minmax(0,1fr) 2rem}.header-context.header-context--overview{grid-template-columns:2rem}.header-cache-slot{width:2rem;height:28px}.header-cache-slot .cache-refresh-status{height:28px;padding:3px}.header-cache-slot .cache-status-main,.header-cache-slot .cache-status-details{display:none}.header-cache-slot .progress-indicator{width:22px}.utility-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.utility-icon{display:inline}.utility-button{width:32px;height:32px;padding:0}.compact-select{padding:.32rem .4rem;font-size:.75rem}.refresh-button.compact{min-width:28px}}@media (width<=520px){.app-header,.app-header.compact,.app-header.app-header--overview{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand utilities""context context""views views";column-gap:.4rem;padding:.4rem .5rem}.header-context,.header-view-tabs{width:100%;min-width:0}.header-view-tabs .header-button{flex:1 1 0;min-width:0}.brand-button{font-size:.85rem}.header-view-tabs,.header-utilities{gap:.1rem}.header-button{padding:.3rem .38rem;font-size:.7rem}.project-target-selector.compact{gap:.3rem}.info-button{width:30px;height:30px;font-size:.65rem}}.info-panel-overlay{background:var(--color-overlay-dark);z-index:1000;justify-content:flex-end;align-items:flex-start;padding:2rem;display:flex;position:fixed;inset:0}.info-panel{background:var(--color-bg-secondary);border:1px solid var(--color-bg-quaternary);border-radius:8px;width:400px;max-width:90vw;box-shadow:0 4px 16px #0000004d}.info-panel-header{border-bottom:1px solid var(--color-bg-quaternary);justify-content:space-between;align-items:center;padding:1rem;display:flex}.info-panel-header h3{color:var(--color-primary);margin:0}.info-panel-content{padding:1rem}.info-panel-content dl{grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0;display:grid}.info-panel-content dt{color:var(--color-text-light);font-weight:700}.info-panel-content dd{word-break:break-all;margin:0}.info-panel-content dd.path{color:var(--color-text-lightest);cursor:help;font-family:monospace;font-size:.9em}.app-controls{background:var(--color-bg-surface);border-bottom:1px solid var(--color-bg-tertiary);padding:1rem 2rem}.project-target-selector{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.selector-group{align-items:center;gap:.5rem;display:flex}.selector-group label{font-weight:500}.selector-group select{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);border-radius:4px;min-width:200px;padding:.5rem 1rem;font-size:1rem}.selector-group select:focus{border-color:var(--color-primary);outline:none}.selector-group select option:disabled{color:var(--color-text-hint);font-style:italic}.selection-stats{color:var(--color-text-muted);font-size:.9rem}.selector-actions{align-items:center;gap:1rem;display:flex}.refresh-button{background:var(--color-bg-quaternary);color:var(--color-text-primary);border:1px solid var(--color-bg-input);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.refresh-button:hover:not(:disabled){background:var(--color-bg-input);border-color:var(--color-bg-button)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.refresh-status{color:var(--color-primary);font-size:.85rem;animation:.3s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-main{flex:1;padding:0 2rem 2rem;overflow-y:auto}.empty-state{text-align:center;color:var(--color-text-hint);margin-top:4rem;font-size:1.2rem}.loading{text-align:center;color:var(--color-primary);margin-top:4rem;font-size:1.2rem}.grid-toolbar{background:var(--color-bg-secondary);border-radius:8px;justify-content:space-between;align-items:center;max-width:1400px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;padding:1rem 1.5rem;display:flex}.toolbar-info{color:var(--color-text-muted);font-size:.9rem}.toolbar-actions{gap:1rem;display:flex}.toolbar-button{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;transition:all .2s;display:flex}.toolbar-button:hover:not(:disabled){background:var(--color-bg-quaternary);border-color:var(--color-bg-input)}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.toolbar-button svg{width:20px;height:20px}.compare-button{background:var(--color-bg-slider);margin-left:1rem;padding:.4rem .8rem;font-size:.85rem}.compare-button:hover:not(:disabled){background:var(--color-bg-slider-hover)}.image-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;max-width:1400px;margin:0 auto;display:grid}.image-card{background:var(--color-bg-secondary);border:2px solid var(--color-bg-tertiary);cursor:pointer;border-radius:8px;flex-direction:column;transition:all .2s;display:flex;position:relative;overflow:hidden}.image-card:hover{border-color:var(--color-bg-quaternary);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.image-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-30)}.image-card.status-accepted{border-color:var(--color-success)}.image-card.status-rejected{border-color:var(--color-error)}.image-preview{background:var(--color-bg-primary);aspect-ratio:4/3;justify-content:center;align-items:center;width:100%;min-height:200px;display:flex;position:relative}.image-preview:before{content:"";background:linear-gradient(90deg, transparent, var(--color-overlay-white), transparent);opacity:0;transition:opacity .3s;animation:1.5s ease-in-out infinite skeleton-loading;position:absolute;inset:0}@keyframes skeleton-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.image-preview img{object-fit:contain;width:100%;height:auto;transition:opacity .3s;display:block}.image-preview img[src]{opacity:1}.image-preview:before{content:"";border:3px solid var(--color-bg-tertiary);border-top-color:var(--color-primary);opacity:0;pointer-events:none;border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;transition:opacity .3s;animation:1s linear infinite spin;position:absolute;top:50%;left:50%}.image-preview.loading:before{opacity:1}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-info{padding:1rem}.image-info h3{color:var(--color-primary);margin:0 0 .5rem;font-size:1.1rem}.image-filter{color:var(--color-text-muted);margin:.25rem 0;font-size:.9rem}.image-date{color:var(--color-text-hint);margin:.25rem 0;font-size:.85rem}.image-status{text-overflow:ellipsis;white-space:nowrap;border-radius:4px;margin-top:.5rem;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:block;overflow:hidden}.image-status.status-accepted{background:var(--color-success);color:#fff}.image-status.status-rejected{background:var(--color-error);color:#fff}.image-status.status-pending{background:var(--color-bg-input);color:var(--color-text-lighter)}.reject-reason-inline{color:var(--color-error-light);font-size:.85rem;font-style:italic;font-weight:400}.image-stats{gap:1rem;margin:.5rem 0;font-size:.85rem;display:flex}.stat-hfr{color:var(--color-success-light);font-weight:500}.stat-stars{color:var(--color-warning-light);font-weight:500}.image-detail-overlay{background:var(--color-overlay-darker);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-detail{background:var(--color-bg-secondary);flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.detail-header{border-bottom:1px solid var(--color-bg-tertiary);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:relative}.status-banner{text-align:center;border:2px solid;border-radius:20px;min-width:120px;padding:.5rem 1.5rem;font-size:.9rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.panel-title-row .status-banner{border-radius:12px;min-width:80px;padding:.25rem .75rem;font-size:.75rem;position:static;transform:none}.status-banner.status-accepted{background:var(--color-success-alpha-20);border-color:var(--color-success);color:var(--color-success)}.status-banner.status-rejected{background:var(--color-error-alpha-20);border-color:var(--color-error);color:var(--color-error)}.status-banner.status-pending{background:var(--color-warning-alpha-20);border-color:var(--color-warning);color:var(--color-warning)}.detail-header h2{color:var(--color-primary);margin:0;font-size:1.3rem}.close-button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:2rem;transition:all .2s;display:flex}.close-button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.detail-content{flex:1;display:flex;overflow:hidden}.detail-image{background:var(--color-bg-primary);flex:1;justify-content:center;align-items:center;padding:1rem;display:flex;position:relative;overflow:hidden}.image-container{width:100%;height:100%;min-height:0;position:relative}.image-container img{position:absolute;top:0;left:0}.zoom-container{cursor:grab;touch-action:none;border:2px solid #0000;outline:none;transition:border-color .3s;position:relative;overflow:hidden}.zoom-container:active{cursor:grabbing}.zoom-container.has-overflow{border-color:var(--color-primary-alpha-30);box-shadow:inset 0 0 20px var(--color-primary-alpha-10)}.zoom-container img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.zoom-section-bottom{border-top:1px solid var(--color-bg-tertiary);margin-top:1rem;padding-top:.75rem}.zoom-info-compact{justify-content:center;margin-bottom:.5rem;display:flex}.zoom-percentage-compact{background:var(--color-bg-elevated);color:var(--color-primary);text-align:center;border-radius:4px;min-width:40px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.zoom-buttons-compact{grid-template-columns:1fr 1fr 1fr 1fr;gap:.25rem;display:grid}.zoom-btn-compact{background:var(--color-bg-tertiary);border:1px solid var(--color-bg-quaternary);color:var(--color-text-primary);cursor:pointer;text-align:center;border-radius:3px;min-height:24px;padding:.25rem;font-size:.7rem;font-weight:500;transition:all .2s}.zoom-btn-compact:hover{background:var(--color-bg-quaternary);border-color:var(--color-bg-input);color:var(--color-primary)}.zoom-btn-compact:active{background:var(--color-bg-input)}.detail-image img{width:auto;height:auto;transition:opacity .2s ease-in-out;display:block}.zoom-container img{object-fit:none!important;transform-origin:0 0!important;max-width:none!important;max-height:none!important}.detail-image-hidden,.comparison-image-hidden{pointer-events:none;opacity:0!important}.detail-image-preload{opacity:0;pointer-events:none;width:1px!important;height:1px!important}.detail-info{background:var(--color-bg-surface);width:360px;padding:1.25rem;overflow-y:auto}.detail-astrometry-overlay{z-index:2;pointer-events:none;transition:opacity .2s ease-in-out;position:absolute;top:0;left:0;overflow:hidden}.detail-satellite-overlay{z-index:3;pointer-events:none;position:absolute;top:0;left:0;overflow:hidden}.satellite-badge-high{border-color:var(--color-error-light);color:var(--color-error-light);background:var(--color-error-alpha-10)}.satellite-track-fact{border-top:1px solid var(--color-bg-tertiary);color:var(--color-text-muted);justify-content:space-between;gap:.75rem;padding:.42rem 0;font-size:.72rem;display:flex}.satellite-track-fact>:first-child{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.satellite-info-link{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:.18em;text-decoration-thickness:1px}.satellite-info-link:hover{color:var(--color-primary)}.satellite-risk-high{color:var(--color-error-light)!important}.satellite-risk-possible{color:var(--color-warning-light)}.satellite-risk-low{color:var(--color-primary)}.astrometry-section{border-top:1px solid var(--color-bg-tertiary);padding-top:1rem}.astrometry-heading-row,.astrometry-list-heading,.astrometry-object-title{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.astrometry-heading-row h3{margin-bottom:0}.astrometry-badge{border:1px solid var(--color-primary-alpha-30);color:var(--color-primary);background:var(--color-primary-alpha-10);letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.22rem .48rem;font-size:.67rem;font-weight:600}.astrometry-badge-unavailable,.astrometry-badge-failed{border-color:var(--color-bg-input);color:var(--color-text-muted);background:var(--color-bg-elevated)}.astrometry-toggle,.astrometry-solve{border:1px solid var(--color-bg-input);width:100%;color:var(--color-text-primary);background:var(--color-bg-elevated);cursor:pointer;text-align:left;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;margin:.85rem 0;padding:.65rem .75rem;display:grid}.astrometry-toggle:hover,.astrometry-solve:hover:not(:disabled),.astrometry-toggle.active{border-color:var(--color-primary);background:var(--color-primary-alpha-10)}.astrometry-solve{grid-template-columns:auto 1fr}.astrometry-solve:disabled{cursor:wait;opacity:.72}.astrometry-toggle-icon{color:var(--color-primary);font-size:1.1rem}.astrometry-toggle-count{background:var(--color-bg-primary);min-width:1.6rem;color:var(--color-text-muted);text-align:center;border-radius:999px;padding:.08rem .36rem;font-size:.72rem}.info-section dl.astrometry-facts{grid-template-columns:auto 1fr;gap:.35rem .75rem;margin-top:.85rem}.astrometry-facts dd{text-align:right}.target-in-frame{color:var(--color-success-light)!important}.target-out-of-frame{color:var(--color-error-light)!important}.astrometry-objects{margin-top:1rem}.astrometry-list-heading{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:600}.astrometry-objects ol{margin:.45rem 0 0;padding:0;list-style:none}.astrometry-objects li{border-top:1px solid var(--color-bg-tertiary);padding:.58rem 0}.astrometry-object-title>span:first-child{color:var(--color-text-primary);font-size:.83rem;font-weight:600}.astrometry-object-title>span:last-child:not(:first-child){color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.astrometry-object-meta,.astrometry-object-source,.astrometry-more,.astrometry-message{color:var(--color-text-muted);font-size:.72rem}.astrometry-object-meta{text-transform:capitalize;margin-top:.18rem}.astrometry-object-source{opacity:.75;margin-top:.12rem}.astrometry-more{text-align:center;padding-top:.45rem}.astrometry-message{margin:.75rem 0 0;line-height:1.45}.astrometry-message-warning{color:var(--color-warning-light)}.info-section{margin-bottom:1.5rem}.info-section h3{color:var(--color-primary);margin:0 0 1rem;font-size:1.1rem}.reject-reason{background:var(--color-error-alpha-10);border:1px solid var(--color-error);border-radius:4px;margin-top:1rem;padding:.75rem}.reject-reason strong{color:var(--color-error);font-size:.85rem}.reject-reason p{color:var(--color-error-light);margin:.5rem 0 0;font-size:.85rem}.info-section dl{grid-template-columns:auto auto auto auto;align-items:baseline;gap:.25rem .75rem;margin:0;display:grid}.info-section dt{color:var(--color-text-muted);white-space:nowrap;margin:0;font-size:.85rem;font-weight:500}.info-section dd{color:var(--color-text-primary);margin:0;font-size:.85rem}.date-row{border-bottom:1px solid var(--color-bg-tertiary);gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.date-label{color:var(--color-text-muted);white-space:nowrap;font-size:.85rem;font-weight:500}.date-value{color:var(--color-text-primary);flex:1;font-size:.85rem}.detail-actions{gap:.5rem;margin:1.5rem 0;display:flex}.action-button{cursor:pointer;border:none;border-radius:4px;flex:1;padding:.75rem;font-size:.9rem;font-weight:500;transition:all .2s}.action-button.accept{background:var(--color-success);color:#fff}.action-button.accept:hover{background:var(--color-success-hover)}.action-button.reject{background:var(--color-error);color:#fff}.action-button.reject:hover{background:var(--color-error-dark)}.action-button.pending{background:var(--color-bg-button);color:#fff}.action-button.pending:hover{background:var(--color-bg-input)}.detail-shortcuts{background:var(--color-bg-elevated);border-radius:4px;padding:.75rem;font-size:.8rem}.shortcut-grid{color:var(--color-text-muted);grid-template-columns:1fr 1fr;gap:.25rem;display:grid}.shortcut-grid span{padding:.1rem 0}.detail-shortcuts p{color:var(--color-text-muted);margin:.25rem 0}.detail-loading{justify-content:center;align-items:center;min-width:600px;min-height:400px;display:flex}.loading-spinner{border:4px solid var(--color-bg-tertiary);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.image-loading-overlay{background:var(--color-overlay-light);z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-content{flex-direction:column;align-items:center;gap:1rem;display:flex}.loading-text{color:var(--color-text-primary);font-size:.9rem;font-weight:500}.help-overlay{background:var(--color-overlay-dark);z-index:2000;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.help-modal{background:var(--color-bg-secondary);border-radius:8px;flex-direction:column;max-width:600px;max-height:80vh;display:flex;overflow:hidden}.help-header{border-bottom:1px solid var(--color-bg-tertiary);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.help-header h2{color:var(--color-primary);margin:0}.help-content{flex:1;padding:1.5rem;overflow-y:auto}.help-section{margin-bottom:2rem}.help-section h3{color:var(--color-primary);margin-bottom:1rem;font-size:1.1rem}.shortcut-list{gap:.5rem;display:grid}.shortcut-item{align-items:center;gap:1rem;display:flex}.shortcut-item kbd{background:var(--color-bg-tertiary);border:1px solid var(--color-bg-quaternary);text-align:center;border-radius:4px;min-width:60px;padding:.25rem .5rem;font-family:monospace;font-size:.9rem}.shortcut-item span{color:var(--color-text-lighter)}.help-footer{border-top:1px solid var(--color-bg-tertiary);text-align:center;color:var(--color-text-hint);padding:1rem 1.5rem}.help-footer kbd{background:var(--color-bg-tertiary);border:1px solid var(--color-bg-quaternary);border-radius:3px;padding:.2rem .4rem;font-family:monospace;font-size:.85rem}.load-more{text-align:center;color:var(--color-text-hint);grid-column:1/-1;padding:2rem}.comparison-overlay{background:var(--color-overlay-darkest);z-index:2000;justify-content:stretch;align-items:stretch;padding:0;display:flex;position:fixed;inset:0}.comparison-container{background:var(--color-bg-primary);border-radius:0;flex-direction:column;width:100%;height:100vh;display:flex;overflow:hidden}.comparison-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-bg-tertiary);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.comparison-header h2{color:var(--color-primary);margin:0;font-size:1.3rem}.comparison-controls{align-items:center;gap:1.5rem;display:flex}.comparison-controls label{color:var(--color-text-lighter);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.comparison-controls input[type=checkbox]{cursor:pointer}.swap-button{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;transition:all .2s;display:flex}.swap-button:hover:not(:disabled){background:var(--color-bg-quaternary);border-color:var(--color-bg-input);color:var(--color-primary)}.swap-button:disabled{opacity:.4;cursor:not-allowed;background:var(--color-bg-elevated);border-color:var(--color-bg-tertiary)}.comparison-content{flex:1;gap:1rem;min-height:0;padding:1rem;display:flex;overflow:hidden}.comparison-panel{background:var(--color-bg-secondary);border:1px solid var(--color-bg-tertiary);border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.panel-header{background:var(--color-bg-surface);border-bottom:1px solid var(--color-bg-tertiary);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem;display:flex}.panel-title-row{justify-content:space-between;align-items:center;width:100%;display:flex}.panel-header h3{color:var(--color-text-primary);margin:0;font-size:1.1rem}.panel-image{background:var(--color-bg-primary);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.panel-image .zoom-container{cursor:default;pointer-events:auto;box-sizing:border-box;border:2px solid #0000;width:100%;height:100%;transition:border-color .2s;position:relative;overflow:hidden}.panel-image .zoom-container.zoomed{border-color:var(--color-primary)}.panel-image img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform-origin:0 0;width:auto;max-width:none;height:auto;max-height:none;position:absolute;top:0;left:0}.panel-info{background:var(--color-bg-surface);border-top:1px solid var(--color-bg-tertiary);flex-shrink:0;padding:1rem}.panel-info .info-row{color:var(--color-text-lighter);gap:.5rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.panel-info .info-row:last-child{margin-bottom:0}.panel-info .info-row strong{color:var(--color-text-muted)}.panel-actions{background:var(--color-bg-surface);border-top:1px solid var(--color-bg-tertiary);flex-shrink:0;gap:.5rem;padding:1rem;display:flex}.panel-actions .action-button{border:1px solid var(--color-bg-quaternary);background:var(--color-bg-tertiary);color:var(--color-text-primary);cursor:pointer;border-radius:4px;flex:1;padding:.75rem;font-size:.9rem;transition:all .2s}.panel-actions .action-button.accept{border-color:var(--color-success)}.panel-actions .action-button.accept:hover{background:var(--color-success);color:#fff}.panel-actions .action-button.reject{border-color:var(--color-error)}.panel-actions .action-button.reject:hover{background:var(--color-error);color:#fff}.panel-actions .action-button.pending{border-color:var(--color-warning)}.panel-actions .action-button.pending:hover{background:var(--color-warning);color:#fff}.panel-empty{color:var(--color-text-hint);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.panel-empty p{margin-bottom:1.5rem;font-size:1.1rem}.select-button{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);cursor:pointer;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;transition:all .2s}.select-button:hover{background:var(--color-bg-quaternary);border-color:var(--color-bg-input)}.comparison-shortcuts{background:var(--color-bg-surface);border-top:1px solid var(--color-bg-tertiary);flex-shrink:0;justify-content:center;gap:3rem;padding:1rem 1.5rem;display:flex}.shortcut-section{align-items:center;gap:1.5rem;display:flex}.shortcut-section h4{color:var(--color-primary);margin:0;font-size:.9rem}.shortcut-section span{color:var(--color-text-muted);font-family:monospace;font-size:.85rem}.stats-dashboard{background:var(--color-bg-secondary);border-radius:8px;margin:2rem 0;padding:2rem}.stats-dashboard h2{color:var(--color-primary);margin:0 0 2rem;font-size:1.5rem}.stats-summary{margin-bottom:3rem}.stats-summary h3{color:var(--color-primary);margin:0 0 1rem;font-size:1.2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{background:var(--color-bg-hover);border:2px solid var(--color-bg-tertiary);text-align:center;border-radius:8px;padding:1.5rem;transition:all .2s}.stat-card.accepted{border-color:var(--color-success)}.stat-card.rejected{border-color:var(--color-error)}.stat-card.pending{border-color:var(--color-warning)}.stat-value{color:var(--color-text-primary);margin-bottom:.5rem;font-size:2rem;font-weight:700}.stat-card.accepted .stat-value{color:var(--color-success)}.stat-card.rejected .stat-value{color:var(--color-error)}.stat-card.pending .stat-value{color:var(--color-warning)}.stat-label{color:var(--color-text-muted);font-size:.9rem;font-weight:500}.stat-percentage{color:var(--color-text-lighter);margin-top:.25rem;font-size:.8rem}.target-stats{flex-direction:column;gap:2rem;display:flex}.target-stats h3{color:var(--color-primary);margin:0 0 1.5rem;font-size:1.2rem}.target-section{background:var(--color-bg-hover);border:1px solid var(--color-bg-tertiary);border-radius:8px;padding:1.5rem}.target-section h4{color:var(--color-primary);margin:0 0 1rem;font-size:1.1rem}.target-summary{flex-wrap:wrap;gap:2rem;margin-bottom:1.5rem;display:flex}.stat-item{font-size:.9rem}.stat-item.accepted{color:var(--color-success)}.stat-item.rejected{color:var(--color-error)}.stat-item.pending{color:var(--color-warning)}.filter-stats h5{color:var(--color-text-muted);margin:0 0 1rem;font-size:1rem}.filter-table{border-collapse:collapse;width:100%;font-size:.9rem}.filter-table th,.filter-table td{text-align:left;border-bottom:1px solid var(--color-bg-tertiary);padding:.5rem}.filter-table th{color:var(--color-text-muted);background:var(--color-bg-elevated);font-weight:500}.filter-table td{color:var(--color-text-primary)}.filter-table td.accepted{color:var(--color-success)}.filter-table td.rejected{color:var(--color-error)}.filter-table td.pending{color:var(--color-warning)}.grouped-image-container{width:100%;margin:0;padding:0}.image-controls{background:var(--color-bg-secondary);border-radius:0;flex-direction:column;gap:.35rem;margin:0;padding:.45rem .75rem;display:flex}.image-controls.sticky{z-index:100;border-bottom:1px solid var(--color-bg-tertiary);border-radius:0;margin:0;position:sticky;top:0}.controls-row-combined{grid-template-columns:minmax(28rem,1fr) auto auto;grid-template-areas:"filters view tools""summary summary summary";align-items:center;gap:.35rem .75rem;min-width:0;display:grid}.controls-section{grid-area:view;align-items:center;gap:1rem;display:flex}.toolbar-section{grid-area:tools;align-items:center;gap:.5rem;display:flex}.controls-row-combined>.stats-section{min-height:2rem;color:var(--color-text-muted);grid-area:summary;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;font-size:.85rem;display:flex}.grid-stats{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.toolbar-button.compact,.compare-button.compact{padding:.3rem .6rem;font-size:.8rem}@media (width<=1200px){.controls-row-combined{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"filters filters""view tools""summary summary"}}@media (width<=768px){.controls-row-combined{grid-template-columns:minmax(0,1fr);grid-template-areas:"filters""view""tools""summary";gap:.35rem}.controls-section,.toolbar-section{justify-content:space-between}.controls-row-combined>.stats-section{text-align:left;min-height:2rem;margin:0;padding:0;font-size:.8rem}.size-control.compact input[type=range]{width:min(150px,30vw)}}.filter-controls{flex:1;grid-area:filters;min-width:0;max-width:100%}.filter-controls.compact{flex:1}.filter-row{flex-wrap:wrap;align-items:center;gap:.75rem;min-height:36px;display:flex}.filter-row.compact{gap:.5rem;min-height:32px}.filter-secondary-row{border-top:1px solid var(--color-border-primary);margin-top:.35rem;padding-top:.35rem}.more-filters-button.active{color:var(--color-primary);border-color:var(--color-primary-alpha-50)}.filter-input-group{align-items:center;gap:.4rem;display:flex}.filter-input-group.date-range{align-items:center;gap:.3rem;display:flex}.date-separator{color:var(--color-text-muted);margin:0 .2rem;font-size:.8rem}.filter-input-group label{color:var(--color-text-muted);white-space:nowrap;min-width:fit-content;font-size:.85rem;font-weight:500}.filter-input-group select,.filter-input-group input[type=date],.filter-input-group input[type=text]{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);border-radius:3px;padding:.3rem .6rem;font-size:.85rem;transition:all .2s}.compact-date{width:120px!important;min-width:120px!important;padding:.25rem .4rem!important;font-size:.8rem!important}.filter-input-group select:hover,.filter-input-group input[type=date]:hover,.filter-input-group input[type=text]:hover{border-color:var(--color-bg-input)}.filter-input-group select:focus,.filter-input-group input[type=date]:focus,.filter-input-group input[type=text]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha-20);outline:none}.filter-input-group input[type=text]{min-width:160px;max-width:200px}.filter-input-group input[type=date]{min-width:130px;max-width:150px}.reset-button{background:var(--color-bg-quaternary);color:var(--color-text-primary);border:1px solid var(--color-bg-input);cursor:pointer;white-space:nowrap;border-radius:4px;padding:.4rem 1rem;font-size:.95rem;font-weight:500;transition:all .2s}.reset-button.compact{padding:.25rem .6rem;font-size:.8rem}.reset-button:hover{background:var(--color-bg-input);border-color:var(--color-bg-button)}.reset-button:active{background:var(--color-bg-tertiary)}.reset-button:disabled{opacity:.45;cursor:not-allowed}.selection-action-bar{background:var(--color-primary-alpha-10);border:1px solid var(--color-primary-alpha-50);border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.3rem .5rem;display:flex}.controls-row-combined .selection-action-bar{opacity:0;visibility:hidden;pointer-events:none;justify-content:flex-end;min-width:21rem;padding:.2rem .4rem}.controls-row-combined .selection-action-bar.active{opacity:1;visibility:visible;pointer-events:auto}.selection-count{color:var(--color-primary);white-space:nowrap;font-size:.82rem;font-weight:600}.batch-buttons{flex-wrap:nowrap;justify-content:center;gap:.35rem;display:flex}.batch-buttons .action-button{flex:none;min-width:0;padding:.32rem .65rem;font-size:.8rem}.toolbar-section .undo-redo-toolbar.compact,.sequence-history-actions .undo-redo-toolbar.compact{background:0 0;border:0;padding:0}.toolbar-section .undo-redo-toolbar.compact .undo-button,.toolbar-section .undo-redo-toolbar.compact .redo-button{min-width:34px;padding:.3rem .45rem}.toolbar-section .undo-redo-toolbar.compact .button-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=768px){.filter-primary-row .filter-input-group label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.filter-primary-row .filter-input-group select{max-width:6.5rem}.filter-primary-row .search-filter{flex:9rem}.filter-primary-row .search-filter input[type=text]{width:100%;min-width:7rem;max-width:none}.controls-row-combined .selection-action-bar{min-width:19rem;overflow-x:auto}}.image-card-wrapper{position:relative}.image-card-wrapper.multi-selected .image-card{border-color:var(--color-warning);box-shadow:0 0 0 2px var(--color-warning-alpha-40);transform:scale(.98)}.image-card-wrapper.current-selection .image-card{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-50);transform:scale(1.02)}.grouped-image-container,.image-groups{scroll-behavior:smooth;scroll-behavior:auto}.stack-preview-panel{color:var(--color-text-primary);background:radial-gradient(circle at 100% 0%, var(--color-primary-alpha-10), transparent 36%), var(--color-bg-secondary);border:1px solid var(--color-bg-tertiary);border-radius:10px;margin:1rem;padding:1.1rem;box-shadow:0 8px 24px #0000002e}.stack-preview-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.stack-preview-heading h2{margin:.1rem 0 .25rem;font-size:1.25rem}.stack-preview-heading p{max-width:750px;color:var(--color-text-muted);margin:0;font-size:.88rem}.stack-preview-eyebrow{color:var(--color-primary);letter-spacing:.13em;text-transform:uppercase;font-size:.68rem;font-weight:700}.stack-preview-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.stack-preview-checkbox{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.stack-preview-build,.stack-preview-rebuild{border-radius:5px;padding:.48rem .8rem;font-size:.82rem}.stack-preview-build{color:var(--color-bg-primary);background:var(--color-primary);border-color:var(--color-primary);font-weight:700}.stack-preview-rebuild{color:var(--color-text-primary);background:var(--color-bg-tertiary);border-color:var(--color-bg-quaternary)}.stack-preview-message{color:var(--color-text-muted);background:var(--color-bg-primary);border-left:3px solid var(--color-warning);border-radius:4px;margin-top:.8rem;padding:.65rem .75rem;font-size:.82rem}.stack-preview-message.error{color:var(--color-error);border-left-color:var(--color-error)}.stack-preview-results{margin-top:1rem}.stack-preview-statusline{color:var(--color-text-muted);align-items:center;gap:.7rem;margin-bottom:.8rem;font-size:.78rem;display:flex}.stack-preview-state,.stack-group-state,.stack-preview-channel{border:1px solid var(--color-bg-quaternary);background:var(--color-bg-tertiary);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.15rem .45rem;font-size:.69rem;font-weight:700;display:inline-block}.stack-preview-state.completed,.stack-group-state.ready,.stack-group-state.completed{color:var(--color-success);border-color:var(--color-success-alpha-20)}.stack-preview-state.remembered,.stack-group-state.not-built{color:var(--color-text-muted)}.stack-preview-state.failed,.stack-group-state.error,.stack-group-state.failed{color:var(--color-error);border-color:var(--color-error-alpha-20)}.stack-preview-state.running,.stack-group-state.running,.stack-group-state.queued{color:var(--color-primary);border-color:var(--color-primary-alpha-50)}.stack-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;max-width:1600px;margin:0 auto;display:grid}.stack-preview-card{background:var(--color-bg-primary);border:1px solid var(--color-bg-tertiary);border-radius:8px;overflow:hidden}.stack-preview-card:only-child{grid-column:1/-1;justify-self:center;width:calc(50% - .5rem)}.stack-preview-card.outdated{border-color:var(--color-warning)}.stack-preview-card>header{justify-content:space-between;align-items:center;gap:.65rem;min-height:40px;padding:.5rem .7rem;display:flex}.stack-preview-card-title{align-items:center;gap:.4rem;min-width:0;display:flex}.stack-preview-card-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.stack-preview-card-actions .stack-group-state{padding:.12rem .35rem;font-size:.61rem}.stack-preview-card-action{box-sizing:border-box;border:1px solid var(--color-primary-alpha-50);min-height:26px;color:var(--color-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:.25rem .45rem;font-size:.68rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.stack-preview-card-action:hover:not(:disabled){color:var(--color-bg-primary);background:var(--color-primary)}.stack-preview-card-action:disabled{cursor:not-allowed;opacity:.5}.stack-preview-download{color:var(--color-primary);font-size:.72rem;font-weight:650;text-decoration:none}.stack-preview-download:hover{text-decoration:underline}.stack-preview-outdated-count{border:1px solid var(--color-warning);color:var(--color-warning-light);border-radius:999px;padding:.15rem .45rem;font-weight:700}.stack-preview-outdated{border-top:1px solid var(--color-warning);color:var(--color-warning-light);background:var(--color-warning-alpha-20);padding:.48rem .9rem;font-size:.74rem;font-weight:650}.stack-preview-card h3{margin:0 .45rem 0 0;font-size:1rem;display:inline}.stack-preview-card-title h3{text-overflow:ellipsis;white-space:nowrap;margin-right:0;overflow:hidden}.stack-preview-channel{color:var(--color-primary);flex-shrink:0}.stack-preview-image,.stack-preview-placeholder{aspect-ratio:3/2;background:#07090c;width:100%;display:block}.stack-preview-image{overflow:hidden}.stack-preview-image>img{object-fit:contain;width:100%;height:100%;display:block}.stack-preview-placeholder{color:var(--color-text-muted);justify-content:center;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.stack-preview-placeholder.error{box-sizing:border-box;color:var(--color-error);text-align:center;padding:1rem}.stack-preview-spinner{border:2px solid var(--color-bg-quaternary);border-top-color:var(--color-primary);border-radius:50%;width:15px;height:15px;animation:.8s linear infinite stack-preview-spin}@keyframes stack-preview-spin{to{transform:rotate(360deg)}}.stack-preview-progress{border-top:1px solid var(--color-bg-tertiary);border-bottom:1px solid var(--color-bg-tertiary);background:var(--color-bg-secondary);padding:.4rem .65rem .45rem}.stack-preview-progress-copy{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.32rem;font-size:.69rem;font-weight:650;display:flex}.stack-preview-progress.running .stack-preview-progress-copy,.stack-preview-progress.queued .stack-preview-progress-copy{color:var(--color-primary)}.stack-preview-progress.ready .stack-preview-progress-copy,.stack-preview-progress.completed .stack-preview-progress-copy{color:var(--color-success)}.stack-preview-progress.error .stack-preview-progress-copy,.stack-preview-progress.failed .stack-preview-progress-copy{color:var(--color-error)}.stack-preview-progress-track{background:var(--color-bg-quaternary);border-radius:999px;height:4px;overflow:hidden}.stack-preview-progress-track>span{background:var(--color-primary);border-radius:inherit;min-width:0;height:100%;transition:width .18s ease-out;display:block}.stack-preview-progress.ready .stack-preview-progress-track>span,.stack-preview-progress.completed .stack-preview-progress-track>span{background:var(--color-success)}.stack-preview-progress.error .stack-preview-progress-track>span,.stack-preview-progress.failed .stack-preview-progress-track>span{background:var(--color-error)}.stack-preview-metrics{border-top:1px solid var(--color-bg-tertiary);border-bottom:1px solid var(--color-bg-tertiary);grid-template-columns:repeat(4,1fr);display:grid}.stack-preview-metrics>div{text-align:center;border-right:1px solid var(--color-bg-tertiary);padding:.65rem .5rem}.stack-preview-metrics>div:last-child{border-right:0}.stack-preview-metrics strong,.stack-preview-metrics span{display:block}.stack-preview-metrics strong{font-size:.92rem}.stack-preview-metrics span{color:var(--color-text-muted);text-transform:uppercase;margin-top:.08rem;font-size:.63rem}.stack-preview-details{color:var(--color-text-muted);padding:.65rem .9rem;font-size:.76rem}.stack-preview-details summary{cursor:pointer;-webkit-user-select:none;user-select:none}.stack-frame-table-wrap{margin-top:.6rem;overflow-x:auto}.stack-frame-table-wrap table{border-collapse:collapse;width:100%;color:var(--color-text-primary)}.stack-frame-table-wrap th,.stack-frame-table-wrap td{border-top:1px solid var(--color-bg-tertiary);text-align:left;vertical-align:top;padding:.35rem .45rem}.stack-frame-table-wrap th{color:var(--color-text-muted);text-transform:uppercase;font-size:.65rem}.stack-color-section{background:color-mix(in srgb, var(--color-bg-primary) 72%, transparent);border:1px solid var(--color-primary-alpha-20);border-radius:8px;margin-top:1rem;padding:.8rem}.stack-color-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.stack-color-heading h3{margin:.08rem 0 .15rem;font-size:1rem}.stack-color-heading p,.stack-color-heading>span{color:var(--color-text-muted);margin:0;font-size:.74rem}.stack-color-heading>span{white-space:nowrap}.stack-color-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;max-width:1600px;margin:0 auto;display:grid}.stack-color-card{background:var(--color-bg-primary);border:1px solid var(--color-bg-tertiary);border-radius:8px;overflow:hidden}.stack-color-card.outdated{border-color:var(--color-warning)}.stack-color-card>header{justify-content:space-between;align-items:center;gap:.65rem;min-height:42px;padding:.48rem .7rem;display:flex}.stack-color-card>header>div:first-child{align-items:center;gap:.45rem;min-width:0;display:flex}.stack-color-card h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;overflow:hidden}.stack-color-palette{align-items:center;gap:.35rem;display:flex}.stack-color-palette>span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.stack-color-palette select{max-width:210px;min-height:27px;color:var(--color-text-primary);background:var(--color-bg-tertiary);border:1px solid var(--color-bg-quaternary);border-radius:4px;padding:.2rem 1.6rem .2rem .45rem;font-size:.68rem}.stack-color-image{background-color:#05070a;background-image:linear-gradient(45deg,#ffffff08 25%,#0000 25% 75%,#ffffff08 75%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.stack-color-sources{border-top:1px solid var(--color-bg-tertiary);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.stack-color-sources>span{min-width:0;color:var(--color-text-muted);border-right:1px solid var(--color-bg-tertiary);grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.1rem .35rem;padding:.45rem .55rem;font-size:.66rem;display:grid}.stack-color-sources strong{color:var(--color-primary)}.stack-color-sources small{color:var(--color-text-muted);opacity:.72;grid-column:2;font-size:.58rem}.stack-color-sources .stack-color-source-total{border-right:0;align-items:center;gap:.3rem;display:flex}.stack-stretch-controls{border-top:1px solid var(--color-bg-tertiary);background:color-mix(in srgb, var(--color-bg-secondary) 72%, transparent)}.stack-stretch-controls>summary{color:var(--color-text-secondary);cursor:pointer;justify-content:space-between;align-items:center;gap:.6rem;padding:.42rem .65rem;font-size:.69rem;font-weight:700;list-style-position:inside;display:flex}.stack-stretch-controls>summary small{color:var(--color-primary);font-size:.62rem;font-weight:650}.stack-stretch-body{gap:.48rem;padding:.2rem .65rem .65rem;display:grid}.stack-stretch-fields{grid-template-columns:repeat(3,minmax(90px,1fr));gap:.42rem;display:grid}.stack-stretch-field{min-width:0;color:var(--color-text-muted);gap:.18rem;font-size:.6rem;font-weight:650;display:grid}.stack-stretch-field input,.stack-stretch-field select{box-sizing:border-box;width:100%;min-width:0;min-height:28px;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-bg-quaternary);font:inherit;border-radius:4px;padding:.25rem .38rem;font-size:.68rem}.stack-stretch-model,.stack-stretch-strategy{grid-column:span 1}.stack-stretch-note,.stack-stretch-stats,.stack-stretch-error{color:var(--color-text-muted);margin:0;font-size:.62rem}.stack-stretch-error{color:var(--color-error)}.stack-stretch-actions{justify-content:flex-end;gap:.38rem;display:flex}.stack-stretch-actions button{min-height:28px;color:var(--color-primary);border:1px solid var(--color-primary-alpha-50);cursor:pointer;background:0 0;border-radius:4px;padding:.28rem .55rem;font-size:.66rem;font-weight:700}.stack-stretch-actions button:hover:not(:disabled){color:var(--color-bg-primary);background:var(--color-primary)}.stack-stretch-actions button:disabled{cursor:not-allowed;opacity:.45}.stack-color-phase-details,.stack-color-processing{border-bottom:1px solid var(--color-bg-tertiary);background:color-mix(in srgb, var(--color-bg-secondary) 72%, transparent)}.stack-color-phase-details>summary,.stack-color-processing>summary{color:var(--color-text-secondary);cursor:pointer;justify-content:space-between;align-items:center;gap:.6rem;padding:.42rem .65rem;font-size:.69rem;font-weight:700;list-style-position:inside;display:flex}.stack-color-processing>summary small{color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.stack-color-phase-details ol{color:var(--color-text-muted);gap:.22rem;margin:0;padding:0 .65rem .6rem 1.8rem;font-size:.64rem;display:grid}.stack-color-phase-details li{padding-left:.15rem}.stack-color-phase-details li::marker{color:var(--color-bg-input)}.stack-color-phase-details li[data-phase-state=running]{color:var(--color-primary)}.stack-color-phase-details li[data-phase-state=running]::marker{color:var(--color-primary)}.stack-color-phase-details li[data-phase-state=completed]{color:var(--color-success)}.stack-color-phase-details li[data-phase-state=completed]::marker{color:var(--color-success)}.stack-color-phase-details li[data-phase-state=failed]{color:var(--color-error)}.stack-color-phase-details li[data-phase-state=failed]::marker{color:var(--color-error)}.stack-color-phase-details li[data-phase-state=skipped]{opacity:.65}.stack-color-phase-details li span{width:calc(100% - 4.5rem);display:inline-block}.stack-color-phase-details li small{float:right;text-transform:capitalize}.stack-color-processing-body{gap:.55rem;padding:0 .65rem .65rem;display:grid}.stack-background-controls{border:1px solid var(--color-bg-tertiary);background:color-mix(in srgb, var(--color-bg-primary) 88%, var(--color-primary));border-radius:6px;min-width:0;padding:.55rem}.stack-background-controls>header,.stack-background-controls>header label{align-items:center;gap:.42rem;display:flex}.stack-background-controls>header{color:var(--color-primary);justify-content:space-between;font-size:.68rem}.stack-background-controls>header input{accent-color:var(--color-primary)}.stack-background-controls>header span,.stack-background-controls>p{color:var(--color-text-muted);font-size:.59rem}.stack-background-controls>p{margin:.35rem 0 0}.stack-background-fields{grid-template-columns:repeat(5,minmax(80px,1fr));gap:.42rem;margin-top:.5rem;display:grid}.stack-background-diagnostics{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.35rem;margin-top:.5rem;display:grid}.stack-background-diagnostics span{color:var(--color-text-secondary);border-left:2px solid var(--color-success);background:var(--color-bg-secondary);gap:.12rem;padding:.32rem .4rem;font-size:.58rem;display:grid}.stack-background-diagnostics strong{color:var(--color-primary)}.stack-background-diagnostics small{color:var(--color-text-muted);font-size:.54rem}.stack-deconvolution-controls{border:1px solid var(--color-bg-tertiary);background:color-mix(in srgb, var(--color-bg-primary) 90%, var(--color-primary));border-radius:6px;min-width:0;padding:.52rem}.stack-deconvolution-controls>header,.stack-deconvolution-controls>header label{align-items:center;gap:.42rem;display:flex}.stack-deconvolution-controls>header{color:var(--color-primary);justify-content:space-between;font-size:.68rem}.stack-deconvolution-controls>header input{accent-color:var(--color-primary)}.stack-deconvolution-controls>header span,.stack-deconvolution-controls>p{color:var(--color-text-muted);font-size:.59rem}.stack-deconvolution-controls>p{margin:.35rem 0 0}.stack-deconvolution-fields{grid-template-columns:repeat(5,minmax(75px,1fr));gap:.42rem;margin-top:.5rem;display:grid}.stack-deconvolution-diagnostics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.35rem;margin-top:.5rem;display:grid}.stack-deconvolution-diagnostics span{color:var(--color-text-secondary);border-left:2px solid var(--color-success);background:var(--color-bg-secondary);gap:.1rem;padding:.3rem .38rem;font-size:.58rem;display:grid}.stack-deconvolution-diagnostics small{color:var(--color-text-muted);font-size:.54rem}.stack-color-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.stack-color-stage-lane{border:1px solid var(--color-bg-tertiary);background:var(--color-bg-primary);border-radius:6px;min-width:0;padding:.5rem}.stack-color-stage-lane>header,.stack-color-stage-heading{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.stack-color-stage-lane>header{color:var(--color-primary);margin-bottom:.4rem;font-size:.68rem}.stack-color-stage-lane>.stack-deconvolution-controls{margin-bottom:.42rem}.stack-color-stage-lane .stack-deconvolution-fields{grid-template-columns:repeat(2,minmax(75px,1fr))}.stack-color-stage-lane>header span,.stack-color-stage-lane>p{color:var(--color-text-muted);margin:0;font-size:.58rem}.stack-color-stage{border-top:1px solid var(--color-bg-tertiary);gap:.35rem;margin-top:.4rem;padding-top:.4rem;display:grid}.stack-color-stage-heading{color:var(--color-text-secondary);font-size:.61rem;font-weight:700}.stack-color-stage-heading>div{gap:.2rem;display:flex}.stack-color-stage-heading button,.stack-color-add-stage{min-height:24px;color:var(--color-primary);border:1px solid var(--color-primary-alpha-50);cursor:pointer;background:0 0;border-radius:4px;padding:.2rem .38rem;font-size:.58rem}.stack-color-stage-heading button:disabled,.stack-color-add-stage:disabled{cursor:not-allowed;opacity:.42}.stack-color-add-stage{width:100%;margin-top:.45rem}.stack-color-stage-lane .stack-stretch-fields{grid-template-columns:repeat(2,minmax(75px,1fr))}@media (width<=1050px){.stack-color-stage-grid{grid-template-columns:1fr}.stack-background-fields,.stack-deconvolution-fields{grid-template-columns:repeat(2,minmax(90px,1fr))}}.stack-inspector-overlay{z-index:2000;box-sizing:border-box;background:var(--color-overlay-darker);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.stack-inspector{background:var(--color-bg-secondary);border:1px solid var(--color-bg-quaternary);border-radius:10px;flex-direction:column;width:min(1600px,100%);height:min(1000px,100%);min-height:0;display:flex;overflow:hidden;box-shadow:0 24px 80px #000000a6}.stack-inspector-header{border-bottom:1px solid var(--color-bg-tertiary);grid-template-columns:minmax(0,1fr) auto 40px;align-items:center;gap:1rem;padding:.8rem 1rem;display:grid}.stack-inspector-header h2{color:var(--color-primary);margin:.1rem 0 0;font-size:1.1rem}.stack-inspector-header h2 span{color:var(--color-text-muted);margin-left:.35rem;font-size:.8rem;font-weight:650}.stack-inspector-summary{color:var(--color-text-muted);align-items:center;gap:.7rem;font-size:.75rem;display:flex}.stack-inspector-summary span+span:before{color:var(--color-bg-input);content:"•";margin-right:.7rem}.stack-inspector-canvas{background:#05070a;flex:1;min-height:0}.stack-inspector-canvas>img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;max-height:none;display:block;position:absolute;top:0;left:0}.stack-inspector-loading{z-index:1;color:var(--color-text-muted);background:#05070a;justify-content:center;align-items:center;gap:.65rem;display:flex;position:absolute;inset:0}.stack-inspector-loading.error{color:var(--color-error)}.stack-inspector-toolbar{border-top:1px solid var(--color-bg-tertiary);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.8rem;padding:.65rem 1rem;display:grid}.stack-inspector-hint{color:var(--color-text-muted);font-size:.72rem}.stack-inspector-toolbar .zoom-info-compact{margin:0}.stack-inspector-zoom-buttons{width:220px}@media (width<=760px){.stack-preview-heading{flex-direction:column}.stack-preview-actions{justify-content:flex-start}.stack-color-heading{flex-direction:column}.stack-color-card>header{flex-direction:column;align-items:flex-start}.stack-preview-metrics{grid-template-columns:repeat(2,1fr)}.stack-stretch-fields{grid-template-columns:repeat(2,minmax(90px,1fr))}.stack-inspector-overlay{padding:0}.stack-inspector{border:0;border-radius:0;width:100vw;height:100vh}.stack-inspector-header{grid-template-columns:minmax(0,1fr) 40px}.stack-inspector-summary{display:none}.stack-inspector-toolbar{grid-template-columns:1fr auto}.stack-inspector-hint,.stack-inspector-toolbar .stack-preview-download{display:none}}@media (width<=980px){.stack-preview-grid,.stack-color-grid{grid-template-columns:minmax(0,1fr)}.stack-preview-card:only-child{grid-column:auto;width:100%}}.image-card-wrapper.scroll-target .image-card{animation:.8s ease-out returnHighlight}@keyframes returnHighlight{0%{box-shadow:0 0 0 3px var(--color-primary-alpha-50), 0 0 20px var(--color-primary-alpha-80);transform:scale(1.05)}50%{box-shadow:0 0 0 5px var(--color-primary-alpha-70), 0 0 30px var(--color-primary-alpha-90);transform:scale(1.08)}to{box-shadow:0 0 0 3px var(--color-primary-alpha-50);transform:scale(1.02)}}.image-card-wrapper.multi-selected:after{content:"✓";background:var(--color-warning);color:#fff;z-index:10;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 4px #0000004d}.control-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;display:flex}.size-control{align-items:center;gap:1rem;display:flex}.size-control.compact{gap:.5rem}.size-control label{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.size-control input[type=range]{appearance:none;background:var(--color-bg-tertiary);cursor:pointer;border-radius:3px;outline:none;width:300px;height:6px}.size-control.compact input[type=range]{width:200px;height:4px}.size-control input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-primary);cursor:pointer;border-radius:50%;width:18px;height:18px}.size-control input[type=range]::-moz-range-thumb{background:var(--color-primary);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px}.size-control span{color:var(--color-primary);min-width:50px;font-size:.8rem;font-weight:500}.size-control .size-value{min-width:40px;font-size:.75rem}.grouping-control{align-items:center;gap:.75rem;display:flex}.grouping-control.compact{gap:.5rem}.grouping-control.compact label{font-size:.85rem}.grouping-control.compact select{padding:.25rem .5rem;font-size:.8rem}.grouping-control label{color:var(--color-text-muted);font-weight:500}.grouping-control select{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);cursor:pointer;border-radius:4px;outline:none;padding:.4rem .8rem;font-size:.95rem}.grouping-control select:hover{border-color:var(--color-bg-input)}.grouping-control select:focus{border-color:var(--color-primary)}.group-stats{color:var(--color-text-muted);text-align:center}.image-groups{flex-direction:column;gap:2rem;padding-top:1rem;display:flex}.filter-group{background:var(--color-bg-hover);border-radius:8px;overflow:hidden}.filter-header{background:var(--color-bg-secondary);cursor:pointer;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:background .2s;display:flex}.filter-header:hover{background:var(--color-bg-elevated)}.filter-toggle{color:var(--color-primary);-webkit-user-select:none;user-select:none;font-size:.9rem}.filter-header h3{color:var(--color-primary);flex:1;margin:0;font-size:1.2rem}.filter-stats{gap:1.5rem;font-size:.9rem;display:flex}.filter-stats span{align-items:center;gap:.25rem;display:flex}.stat-total{color:var(--color-text-muted)}.stat-accepted{color:var(--color-success)}.stat-rejected{color:var(--color-error)}.stat-pending{color:var(--color-warning)}.filter-images{align-items:start;gap:1rem;padding:1.5rem;transition:grid-template-columns .3s;display:grid}.image-card-placeholder{background:var(--color-bg-elevated);border:2px solid var(--color-bg-tertiary);border-radius:8px;position:relative;overflow:hidden}.image-card-placeholder:before{content:"";background:linear-gradient(90deg, transparent, var(--color-bg-tertiary), transparent);width:100%;height:100%;animation:1.5s infinite shimmer;position:absolute;top:0;left:-100%}.undo-redo-toolbar{background:var(--color-bg-elevated);border:1px solid var(--color-bg-tertiary);border-radius:6px;align-items:center;gap:1rem;padding:.5rem;transition:all .2s;display:flex;position:relative}.undo-redo-buttons{gap:.5rem;display:flex}.undo-button,.redo-button{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;min-width:70px;padding:.4rem .8rem;font-size:.9rem;transition:all .2s;display:flex;position:relative}.undo-button:hover:not(.disabled),.redo-button:hover:not(.disabled){background:var(--color-bg-quaternary);border-color:var(--color-bg-input);transform:translateY(-1px)}.undo-button.disabled,.redo-button.disabled{opacity:.4;cursor:not-allowed;background:var(--color-bg-elevated);border-color:var(--color-bg-tertiary)}.undo-icon,.redo-icon{font-size:1.1rem;font-weight:700}.button-text{font-weight:500}.stack-count{background:var(--color-primary);color:var(--color-text-dark);text-align:center;border-radius:10px;min-width:16px;margin-left:.2rem;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.action-descriptions{flex:1;min-width:0}.last-action{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.action-label{color:var(--color-text-disabled);font-weight:500}.action-desc{color:var(--color-text-lighter);font-weight:500}.action-time{color:var(--color-text-hint);font-style:italic}.feedback-message{background:var(--color-success);color:#fff;white-space:nowrap;z-index:1000;border-radius:4px;padding:.4rem .8rem;font-size:.8rem;font-weight:500;animation:2s ease-in-out forwards fadeInOut;position:absolute;top:-2.5rem;left:50%;transform:translate(-50%)}.feedback-message.redo{background:var(--color-blue)}.processing-indicator{color:var(--color-primary);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.spinner{border:2px solid var(--color-bg-tertiary);border-top:2px solid var(--color-primary);border-radius:50%;width:14px;height:14px;animation:1s linear infinite spin}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%)translateY(10px)}20%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-10px)}}.undo-redo-toolbar.compact{gap:.5rem;padding:.3rem}.undo-redo-toolbar.compact .undo-button,.undo-redo-toolbar.compact .redo-button{min-width:60px;padding:.3rem .6rem}.undo-redo-toolbar.compact .action-descriptions{display:none}@media (width<=768px){.undo-redo-toolbar{gap:.5rem;padding:.3rem}.undo-button,.redo-button{min-width:55px;padding:.3rem .5rem;font-size:.8rem}.button-text,.action-descriptions{display:none}}.image-error-placeholder,.image-error-container,.detail-image-error,.comparison-image-error{background:var(--color-bg-primary);color:var(--color-text-hint);border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.image-error-placeholder svg,.image-error-container svg,.detail-image-error svg,.comparison-image-error svg{opacity:.5}.image-error-placeholder .error-icon,.image-error-container .error-icon{margin-bottom:.5rem}.image-error-placeholder .error-message,.image-error-container .error-message{color:var(--color-text-hint);margin:0;font-size:.9rem}.image-error-placeholder .retry-button,.image-error-container .retry-button{background:var(--color-bg-tertiary);color:var(--color-text-light);border:1px solid var(--color-bg-quaternary);cursor:pointer;border-radius:4px;margin-top:.5rem;padding:.25rem .75rem;font-size:.85rem;transition:all .2s}.image-error-placeholder .retry-button:hover,.image-error-container .retry-button:hover{background:var(--color-bg-quaternary);color:var(--color-text-lighter);border-color:var(--color-bg-input)}.image-loading-placeholder{background:var(--color-bg-elevated);justify-content:center;align-items:center;min-height:100px;display:flex}.image-card .image-error-placeholder{width:100%;padding-bottom:100%;position:relative}.image-card .image-error-placeholder>div{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.main-view{width:100%;min-height:100vh;position:relative}.overlay-container{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.detail-overlay{background:var(--color-overlay-darkest);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.comparison-overlay{background:var(--color-overlay-darker);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-preview{aspect-ratio:3/2;background:var(--color-bg-elevated);border-radius:4px;justify-content:center;align-items:center;min-height:200px;display:flex;overflow:hidden}.image-preview img{object-fit:contain;width:100%;height:100%}.quality-dot{z-index:5;pointer-events:none;border:2px solid #00000080;border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:6px}.sequence-view{width:100%;padding:0}.sequence-header{padding:1.5rem}.sequence-header h2{color:var(--color-primary);margin:0;font-size:1.3rem}.sequence-target-list{padding:0 1.5rem 1.5rem}.sequence-target-list h3{color:var(--color-primary);margin:0 0 1rem}.target-cards{flex-wrap:wrap;gap:.75rem;display:flex}.target-card-btn{background:var(--color-bg-secondary);border:1px solid var(--color-bg-quaternary);cursor:pointer;color:var(--color-text-primary);border-radius:6px;flex-direction:column;gap:.25rem;padding:.75rem 1.25rem;transition:all .2s;display:flex}.target-card-btn:hover{border-color:var(--color-primary);background:var(--color-bg-elevated)}.target-card-name{color:var(--color-primary);font-weight:500}.target-card-count{color:var(--color-text-muted);font-size:.8rem}.sequence-controls{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-bg-tertiary);padding:.45rem .75rem}.sequence-controls.sticky{z-index:100;position:sticky;top:0}.sequence-primary-row{grid-template-columns:auto auto minmax(7rem,1fr) auto;align-items:center;gap:.5rem .75rem;min-width:0;display:grid}.sequence-primary-actions{align-items:center;gap:.5rem;min-width:0;display:flex}.sequence-primary-row h2{color:var(--color-primary);white-space:nowrap;margin:0;font-size:1.1rem}.sequence-job-status{min-width:0;min-height:1rem;color:var(--color-text-muted);font-size:.8rem;overflow:hidden}.sequence-job-status>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sequence-job-status .spatial-scan-errors{color:var(--color-warning)}.sequence-review-row{border-top:1px solid var(--color-border-primary);grid-template-columns:auto auto minmax(12rem,1fr);align-items:center;gap:.5rem .9rem;min-width:0;margin-top:.35rem;padding-top:.35rem;display:grid}.selection-preset-control{align-items:center;gap:.4rem;display:flex}.selection-preset-control label{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.selection-preset-control select{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-bg-quaternary);border-radius:3px;padding:.3rem .45rem;font-size:.82rem}.sequence-selection-slot{min-width:0}.sequence-selection-bar{justify-content:flex-start;width:fit-content;max-width:100%;margin-left:auto}.sequence-selection-bar .action-button{flex:none;padding:.38rem .65rem;font-size:.82rem}.threshold-control{align-items:center;gap:.5rem;display:flex}.threshold-control label{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.threshold-control input[type=range]{appearance:none;background:var(--color-bg-tertiary);cursor:pointer;border-radius:3px;outline:none;width:100px;height:4px}.threshold-control input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-warning);cursor:pointer;border-radius:50%;width:14px;height:14px}.threshold-control input[type=range]::-moz-range-thumb{background:var(--color-warning);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.threshold-value{color:var(--color-warning);min-width:30px;font-size:.85rem;font-weight:500}@media (width<=900px){.sequence-primary-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"title actions history""status status status"}.sequence-primary-row h2{grid-area:title}.sequence-primary-actions{grid-area:actions}.sequence-job-status{grid-area:status}.sequence-history-actions{grid-area:history}}@media (width<=620px){.controls-section{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.size-control.compact{gap:.3rem;min-width:0}.size-control.compact input[type=range]{width:min(96px,20vw)}.size-control .size-value{min-width:36px}.grouping-control.compact{gap:.35rem;min-width:0}.grouping-control.compact select{width:6.75rem;max-width:100%}.sequence-primary-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title history""actions actions""status status"}.sequence-primary-actions{flex-wrap:wrap}.sequence-review-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sequence-selection-slot{grid-column:1/-1}.sequence-selection-bar{margin-left:0}.threshold-control input[type=range]{width:min(100px,20vw)}.selection-preset-control label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.selection-preset-control select{width:100%}}@media (width<=400px){.grouping-control.compact label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.dialog-backdrop{z-index:1200;background:var(--color-overlay-dark);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog-panel{width:min(42rem,100%);max-height:min(80vh,48rem);color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border-tertiary);border-radius:8px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000080}.dialog-header,.dialog-footer{flex:none;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.dialog-header{border-bottom:1px solid var(--color-border-primary);justify-content:space-between}.dialog-header h2{color:var(--color-primary);margin:0;font-size:1.05rem}.dialog-close{width:2rem;height:2rem;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0;font-size:1.5rem}.dialog-close:hover,.dialog-close:focus-visible{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.dialog-body{padding:.75rem 1rem;overflow:auto}.dialog-footer{border-top:1px solid var(--color-border-primary);justify-content:flex-end}.dialog-footer .action-button{flex:none;padding:.45rem .8rem}.dialog-intro{color:var(--color-text-muted);margin:0 0 .75rem}.reject-review-list{gap:.6rem;display:grid}.reject-review-item{border-top:1px solid var(--color-border-primary);padding-top:.6rem}.reject-review-reason,.reject-review-warning{margin-top:.2rem;font-size:.85rem}.reject-review-reason{color:var(--color-error)}.reject-review-warning{color:var(--color-warning)}.reject-review-details{color:var(--color-text-muted);margin-top:.2rem;font-size:.8rem}.sequence-error{background:var(--color-error-alpha-10);border:1px solid var(--color-error);color:var(--color-error-light);border-radius:6px;margin:1rem;padding:1rem 1.5rem}.sequence-tabs{flex-wrap:wrap;gap:.25rem;padding:.75rem 1rem 0;display:flex}.sequence-tab{background:var(--color-bg-tertiary);border:1px solid var(--color-bg-quaternary);cursor:pointer;color:var(--color-text-secondary);border-bottom:none;border-radius:6px 6px 0 0;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.sequence-tab.active{background:var(--color-bg-secondary);color:var(--color-primary);border-color:var(--color-primary)}.sequence-tab:hover:not(.active){background:var(--color-bg-quaternary)}.sequence-summary-bar{background:var(--color-bg-secondary);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 1rem 0;padding:.75rem 1rem;display:flex}.summary-stats{gap:1rem;font-size:.85rem;display:flex}.summary-item{font-weight:500}.summary-item.excellent{color:var(--color-success)}.summary-item.good{color:var(--color-success-light)}.summary-item.fair{color:var(--color-warning)}.summary-item.poor{color:var(--color-warning-light)}.summary-item.bad{color:var(--color-error)}.summary-issues{gap:.5rem;display:flex}.issue-badge{border-radius:12px;padding:.2rem .6rem;font-size:.8rem;font-weight:500}.issue-badge.clouds{background:var(--color-error-alpha-20);color:var(--color-error-light)}.issue-badge.focus{background:var(--color-warning-alpha-20);color:var(--color-warning-light)}.issue-badge.tracking{background:var(--color-primary-alpha-20);color:var(--color-primary)}.sequence-timeline{background:var(--color-bg-secondary);border-radius:6px;margin:.5rem 1rem;padding:.5rem;overflow:hidden}.sequence-timeline-scroll{width:100%;overflow-x:auto}.sequence-timeline svg{display:block}.sequence-strip{grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));align-items:flex-start;gap:.5rem;padding:.75rem 1rem;display:grid}.sequence-image-card{content-visibility:auto;contain-intrinsic-size:auto 190px;width:100%;min-width:0;transition:border-color .2s,box-shadow .2s,transform .2s}.sequence-image-card:hover{border-color:var(--color-bg-quaternary);transform:translateY(-2px)}.sequence-image-card.selected{border-color:var(--color-warning);box-shadow:0 0 0 2px var(--color-warning-alpha-40)}.sequence-image-card.current-selection{outline:2px solid var(--color-primary);outline-offset:2px}.sequence-image-card.below-threshold{opacity:.7}.sequence-image-card.below-threshold:not(.selected){border-color:var(--color-error)}.sequence-strip .image-preview{min-height:0}.image-preview-deferred{background:var(--color-bg-elevated);width:100%;height:100%}.quality-badge{color:#fff;text-shadow:0 1px 2px #00000080;z-index:5;border-radius:10px;padding:2px 6px;font-size:.7rem;font-weight:700;position:absolute;top:4px;right:4px}.category-label{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;z-index:5;background:#f44336cc;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:600;position:absolute;bottom:4px;left:4px;right:4px;overflow:hidden}.analysis-signal,.sequence-image-coverage,.sequence-image-details{color:var(--color-text-hint);font-size:.7rem}.analysis-signal.warning,.sequence-image-coverage{color:var(--color-warning)}.analysis-signal.danger{color:var(--color-error)}.sequence-image-details{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.preview-status-box{text-align:center;color:var(--color-text-secondary,#888);background:var(--color-bg-primary,#1a1a1a);z-index:20;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:8px;display:flex;position:absolute;inset:0}.preview-image-hidden{pointer-events:none;opacity:0!important}.preview-status-label{font-size:.8rem}.preview-status-error{color:#666}.scheduler-dialog{width:min(72rem,100%);max-height:92vh}.scheduler-content,.scheduler-section,.scheduler-target-body{gap:.85rem;display:grid}.scheduler-section,.scheduler-target{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;padding:.85rem}.scheduler-section-heading,.scheduler-targets-heading,.scheduler-plans-heading,.scheduler-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.scheduler-section h3,.scheduler-targets-heading h3,.scheduler-plans-heading h4,.scheduler-new-plan h5{margin:0}.scheduler-muted,.scheduler-targets-heading span,.scheduler-actions span,.scheduler-plans small,.scheduler-empty{color:var(--color-text-secondary);font-size:.8rem}.scheduler-fields{grid-template-columns:repeat(4,minmax(8rem,1fr));gap:.65rem;display:grid}.scheduler-fields-main{grid-template-columns:minmax(14rem,2fr) repeat(2,minmax(8rem,1fr))}.scheduler-fields label{color:var(--color-text-secondary);align-content:end;gap:.25rem;font-size:.78rem;display:grid}.scheduler-fields input,.scheduler-fields select,.scheduler-fields textarea,.scheduler-plans input{min-width:0;color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:4px;padding:.4rem .5rem}.scheduler-fields input:disabled,.scheduler-fields select:disabled,.scheduler-fields textarea:disabled,.scheduler-plans input:disabled{opacity:.8}.scheduler-wide{grid-column:1/-1}.scheduler-options summary,.scheduler-target>summary{cursor:pointer}.scheduler-options[open] summary{margin-bottom:.75rem}.scheduler-checks{flex-wrap:wrap;gap:1rem;margin-top:.65rem;display:flex}.scheduler-check,.scheduler-checks label{align-items:center;align-content:center!important;gap:.4rem!important;display:flex!important}.scheduler-target>summary{color:var(--color-text-primary);justify-content:space-between;gap:1rem;font-weight:600;display:flex}.scheduler-target>summary span:last-child{color:var(--color-text-secondary);text-align:right;font-size:.78rem;font-weight:400}.scheduler-target-body{margin-top:.85rem}.scheduler-table-wrap{overflow-x:auto}.scheduler-plans{border-collapse:collapse;width:100%;font-size:.82rem}.scheduler-plans th,.scheduler-plans td{text-align:left;border-bottom:1px solid var(--color-border-primary);white-space:nowrap;padding:.45rem}.scheduler-plans td:first-child{display:grid}.scheduler-plans input[type=number]{width:5.5rem}.scheduler-small-button{padding:.3rem .55rem}.scheduler-plans td:last-child small{margin-top:.2rem;display:block}.scheduler-new-plan{background:var(--color-bg-tertiary);border-radius:5px;gap:.65rem;padding:.75rem;display:grid}.scheduler-readonly,.scheduler-error{border-radius:4px;padding:.65rem .75rem}.scheduler-readonly{background:var(--color-bg-tertiary)}.scheduler-error{color:var(--color-error);background:var(--color-error-alpha-10)}@media (width<=760px){.scheduler-fields,.scheduler-fields-main{grid-template-columns:repeat(2,minmax(7rem,1fr))}.scheduler-target>summary{display:grid}.scheduler-target>summary span:last-child{text-align:left}}@media (width<=460px){.scheduler-fields,.scheduler-fields-main{grid-template-columns:1fr}}.overview{background:var(--color-bg-primary);max-width:1400px;color:var(--color-text-primary);box-sizing:border-box;width:100%;min-height:100vh;margin:0 auto;padding:20px;font-family:inherit;overflow-x:hidden}.overview-loading{height:200px;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:1.2em;display:flex}.overview-header{text-align:center;margin-bottom:30px}.overview-header h1{color:var(--color-primary);margin:0 0 10px;font-size:2.5em}.overview-header p{color:var(--color-text-secondary);margin:0;font-size:1.1em}.overview .stats-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:12px;margin-bottom:30px;padding:30px}.overview .stats-section h2{color:var(--color-primary);margin:0 0 20px;font-size:1.8em}.overview .stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px;display:grid}.overview .stat-card{background:var(--color-bg-surface);border:1px solid var(--color-border-secondary);text-align:center;box-sizing:border-box;border-radius:8px;width:100%;min-width:0;padding:20px;transition:all .2s}.overview .stat-card:hover{border-color:var(--color-border-tertiary);background:var(--color-bg-elevated)}.overview .stat-card h3{color:var(--color-text-secondary);margin:0 0 10px;font-size:1.1em;font-weight:600}.overview .stat-main{color:var(--color-primary);margin-bottom:5px;font-size:2.2em;font-weight:700}.overview .stat-sub{color:var(--color-text-muted);font-size:.9em}.overall-progress{margin-top:20px}.overall-progress h4{color:var(--color-text-primary);margin:0 0 15px}.overview .progress-bar{background:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-radius:10px;height:20px;margin-bottom:10px;display:flex;overflow:hidden}.overview .progress-accepted{background:var(--color-success);transition:width .3s}.overview .progress-rejected{background:var(--color-error);transition:width .3s}.overview .progress-pending{background:var(--color-warning);transition:width .3s}.overview .progress-legend{flex-wrap:wrap;gap:20px;font-size:.9em;display:flex}.overview .legend-accepted{color:var(--color-success)}.overview .legend-rejected{color:var(--color-error)}.overview .legend-pending{color:var(--color-warning)}.quick-actions{text-align:center;margin-top:20px}.overview .action-button{background:var(--color-primary);color:var(--color-text-dark);border:1px solid var(--color-primary);cursor:pointer;border-radius:8px;padding:12px 24px;font-size:1.1em;font-weight:500;transition:all .2s}.overview .action-button:hover{background:var(--color-primary-alpha-80);border-color:var(--color-primary-alpha-80);transform:translateY(-1px)}.overview .action-button.primary{background:var(--color-success);border-color:var(--color-success);color:#fff}.overview .action-button.primary:hover{background:var(--color-success-hover);border-color:var(--color-success-hover)}.overview .content-grid{display:block}.projects-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:12px;padding:25px}.projects-section h2{color:var(--color-primary);margin:0 0 20px;font-size:1.5em}.projects-list{flex-direction:column;gap:20px;display:flex}.project-card{border:1px solid var(--color-border-secondary);background:var(--color-bg-surface);border-radius:8px;padding:20px;transition:all .2s}.project-card:hover{border-color:var(--color-border-tertiary);background:var(--color-bg-elevated)}.project-card.no-files{opacity:.6;background:var(--color-bg-hover)}.project-card.no-files:hover{background:var(--color-bg-hover)}.project-header{cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.project-header h3{color:var(--color-primary);margin:0;font-size:1.2em;font-weight:600}.no-files-badge{background:var(--color-error);color:#fff;border-radius:4px;padding:2px 8px;font-size:.75em;font-weight:700}.expand-toggle{color:var(--color-text-muted);margin-left:10px;font-size:1.2em;transition:transform .2s}.expand-toggle.expanded{transform:rotate(90deg)}.project-description{color:var(--color-text-secondary);margin:0 0 15px;font-size:.9em;font-style:italic}.targets-nested{border-left:3px solid var(--color-border-secondary);margin-top:15px;padding-left:20px}.targets-nested.collapsed{display:none}.target-card{border:1px solid var(--color-border-tertiary);background:var(--color-bg-hover);cursor:pointer;border-radius:6px;margin-bottom:10px;padding:12px;transition:all .2s}.target-card:hover{border-color:var(--color-border-quaternary);background:var(--color-bg-elevated);transform:translate(5px)}.target-card.no-files{opacity:.6;cursor:default}.target-card.no-files:hover{transform:none}.target-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.target-header h4{color:var(--color-text-primary);margin:0;font-size:1em;font-weight:500}.target-coordinates{color:var(--color-text-muted);margin:0 0 8px;font-family:monospace;font-size:.8em}.project-stats,.target-stats{margin-bottom:12px}.overview .stat-row{flex-wrap:wrap;gap:15px;margin-bottom:6px;font-size:.85em;display:flex}.overview .stat-row span{color:var(--color-text-lighter)}.overview .stat-row .active{color:var(--color-success);font-weight:500}.overview .stat-row .inactive{color:var(--color-error);font-weight:500}.target-stat-row{flex-wrap:wrap;gap:12px;margin-bottom:4px;font-size:.8em;display:flex}.target-stat-row span{color:var(--color-text-light)}.project-desired-progress{margin-bottom:8px}.overview .progress-label{color:var(--color-text-muted);margin-bottom:4px;font-size:.75em;font-weight:500}.desired-progress-bar{background:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-radius:4px;height:8px;overflow:hidden}.desired-progress-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-success));border-radius:3px;height:100%;transition:width .3s}.project-mini-progress,.target-mini-progress{background:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-radius:3px;height:6px;margin-top:4px;margin-bottom:10px;display:flex;overflow:hidden}.target-mini-progress{height:4px;margin-bottom:8px}.mini-progress-accepted{background:var(--color-success);transition:width .3s}.mini-progress-rejected{background:var(--color-error);transition:width .3s}.mini-progress-pending{background:var(--color-warning);transition:width .3s}.project-meta,.target-meta{color:var(--color-text-hint);flex-direction:column;gap:4px;font-size:.8em;display:flex}.target-meta{font-size:.75em}.project-meta span,.target-meta span{word-break:break-word}.target-count{background:var(--color-primary-alpha-20);color:var(--color-primary);border-radius:4px;margin-left:10px;padding:2px 8px;font-size:.75em;font-weight:500}.completion-badge{background:var(--color-success-alpha-20);color:var(--color-success);border:1px solid var(--color-success);border-radius:4px;padding:2px 6px;font-size:.7em;font-weight:600}.completion-badge[data-completion="100"]{background:var(--color-success);color:#fff}.completion-badge[data-completion="0"]{background:var(--color-warning-alpha-20);color:var(--color-warning);border-color:var(--color-warning)}.files-missing{font-weight:600;color:var(--color-error)!important}.overview-footer{border-top:1px solid var(--color-border-secondary);margin-top:40px;padding:20px 0}.footer-content{text-align:center}.footer-content p{color:var(--color-text-muted);margin:5px 0;font-size:.9em}.github-link{color:var(--color-primary);font-weight:500;text-decoration:none;transition:color .2s}.github-link:hover{color:var(--color-primary-alpha-80);text-decoration:underline}.license-info{color:var(--color-text-hint);font-size:.85em!important}@media (width<=1200px){.overview{padding:15px}.overview .stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (width<=768px){.overview-header h1{font-size:2em}.overview .stats-section{margin-bottom:20px;padding:15px}.overview .stats-section h2{margin-bottom:15px;font-size:1.5em}.projects-section,.targets-section{padding:15px}.overview .progress-legend{flex-direction:column;gap:8px}.overview .stat-row{flex-wrap:wrap}.overview .stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:15px;margin-bottom:20px}.overview .stat-card{min-height:auto;padding:15px}.overview .stat-main{font-size:1.8em}}@media (width<=600px){.overview .stats-section{margin-bottom:15px;padding:12px}.overview .stats-section h2{margin-bottom:12px;font-size:1.3em}.overview .stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:15px}.overview .stat-card{min-height:auto;padding:12px}.overview .stat-card h3{margin-bottom:8px;font-size:1em}.overview .stat-main{margin-bottom:4px;font-size:1.6em}.overview .stat-sub{font-size:.8em;line-height:1.2}}@media (width<=480px){.overview{padding:10px}.overview .stats-section{margin-bottom:15px;padding:10px}.overview .stats-section h2{margin-bottom:10px;font-size:1.2em}.overview .stats-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.overview .stat-card{min-height:auto;padding:8px}.overview .stat-card h3{margin-bottom:6px;font-size:.85em}.overview .stat-main{margin-bottom:3px;font-size:1.3em}.overview .stat-sub{font-size:.75em;line-height:1.1}}@media (width<=360px){.overview .stats-section{padding:8px}.overview .stats-grid{grid-template-columns:1fr;gap:6px}.overview .stat-card{min-height:auto;padding:10px}.overview .stat-card h3{font-size:.9em}.overview .stat-main{font-size:1.4em}.overview .stat-sub{font-size:.8em}}.organize-button{cursor:pointer;opacity:.55;background:0 0;border:none;padding:2px 6px;font-size:13px;transition:opacity .15s}.organize-button:hover{opacity:1}.organize-panel{border:1px solid var(--color-border,#444);background:var(--color-bg-secondary,#ffffff0a);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;padding:8px;display:flex}.organize-input{border:1px solid var(--color-border,#555);background:var(--color-bg-primary,#1a1a1a);min-width:140px;color:inherit;border-radius:4px;flex:1;padding:4px 8px;font-size:13px}.organize-select{border:1px solid var(--color-border,#555);background:var(--color-bg-primary,#1a1a1a);color:inherit;border-radius:4px;max-width:220px;padding:4px 6px;font-size:12px}.organize-save,.organize-cancel{border:1px solid var(--color-border,#555);cursor:pointer;background:var(--color-bg-primary,#222);color:inherit;border-radius:4px;padding:4px 10px;font-size:12px}.organize-save{background:var(--color-primary,#2d6cdf);border-color:var(--color-primary,#2d6cdf);color:#fff}.organize-save:disabled,.organize-cancel:disabled{opacity:.5;cursor:default}.organize-error{color:var(--color-error,#e66);flex-basis:100%;font-size:12px}.export-link{color:var(--color-primary,#2d6cdf);cursor:pointer;text-decoration:none}.export-link:hover{text-decoration:underline}.project-meta-link{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0}#root{width:100%;height:100vh}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
