.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:10000}.modal-dialog{background:var(--bg-secondary);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-heavy);max-width:380px;width:90%;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:var(--font-size-lg)}.modal-close-btn{background:0 0;border:0;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.modal-close-btn:hover,.modal-header h2{color:var(--text-primary)}.modal-body{padding:12px}#formatSelectDialog .modal-body>p,.dual-file-section{margin-bottom:12px}.dual-file-label{display:inline-block;padding:7px var(--spacing-lg);background:var(--accent-green);color:#fff;border-radius:5px;cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-fast);font-weight:500}.dual-file-label:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px rgba(76,175,80,.4)}.file-name-display{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:5px;min-height:16px;padding:5px;word-break:break-all}#formatSelectDialog .modal-dialog{max-width:480px}.format-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:15px}.format-option{display:flex;flex-direction:column;padding:var(--spacing-md) 12px;background:rgba(60,60,60,.7);border:2px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);min-height:auto}.format-option:hover{background:rgba(80,80,80,.9);border-color:var(--accent-blue)}.format-option input[type=radio]{margin-right:var(--spacing-lg);cursor:pointer;flex-shrink:0}.format-option input[type=radio]:checked~.format-label{color:var(--accent-blue);font-weight:600}.format-label{font-size:var(--font-size-md);font-weight:500;color:var(--text-primary);margin-bottom:2px;display:flex;align-items:center}.format-desc{font-size:var(--font-size-xs);color:var(--text-secondary);margin-left:22px;line-height:1.3}.modal-buttons{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-xl)}.btn{padding:7px var(--spacing-lg);border:0;border-radius:5px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary{background:rgba(72,72,72,.78);color:var(--text-primary);border:1px solid rgba(130,130,130,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.btn-secondary:hover{background:rgba(92,92,92,.88);border-color:rgba(185,185,185,.9)}.btn-primary{background:var(--accent-blue);color:#fff}.btn-primary:hover{background:var(--accent-blue-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(33,150,243,.4)}.btn-primary:disabled{background:var(--bg-hover);color:var(--text-tertiary);cursor:not-allowed;opacity:.6;transform:none}.help-section{padding:var(--spacing-sm)0}.help-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-card);border-radius:var(--border-radius-sm);margin-bottom:5px}.help-desc,.help-key{font-size:var(--font-size-sm)}.help-key{font-weight:600;color:var(--accent-blue)}.help-desc{color:var(--text-secondary)}.help-note{font-size:var(--font-size-xs);color:var(--text-tertiary);padding:var(--spacing-sm) var(--spacing-md);font-style:italic}.open-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.open-option-card{display:flex;align-items:center;padding:var(--spacing-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;color:var(--text-primary);text-align:left}.open-option-card:hover{background:var(--bg-hover);border-color:var(--accent-blue);transform:translateY(-2px)}.open-option-card .option-icon{font-size:28px;margin-right:var(--spacing-lg);flex-shrink:0}.open-option-card .option-content{flex:1}.open-option-card .option-title{font-size:13px;font-weight:600;color:var(--text-primary)}.open-option-separator{margin-top:var(--spacing-md);border-top:1px solid var(--border-color);padding-top:var(--spacing-md)}.viewer-url-separator{text-align:center;margin:var(--spacing-xl)0;color:var(--text-secondary);font-size:var(--font-size-md);position:relative}.viewer-url-separator::after,.viewer-url-separator::before{content:"";position:absolute;top:50%;width:calc(50% - 20px);height:1px;background:var(--border-color)}.viewer-url-separator::before{left:0}.viewer-url-separator::after{right:0}.viewer-url-textarea{width:100%;resize:vertical;min-height:60px;max-height:200px;margin-top:var(--spacing-sm);margin-bottom:var(--spacing-lg);font-family:monospace;font-size:var(--font-size-md);line-height:1.4}.viewer-selected-info{margin-top:12px;padding:var(--spacing-lg) 12px;background:rgba(74,158,255,.1);border-radius:var(--border-radius-sm);font-size:var(--font-size-md);color:var(--text-secondary)}.viewer-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.viewer-source-card{border:1px solid rgba(110,110,110,.75);border-radius:var(--border-radius-md);background:var(--bg-card);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);text-align:center;cursor:pointer;transition:background-color .2s,border-color .2s}.viewer-source-card:hover{background:var(--bg-hover);border-color:var(--accent-blue)}.viewer-source-card-compact{padding:10px}.viewer-source-icon{font-size:22px;margin-bottom:6px}.viewer-group-title,.viewer-source-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.viewer-source-title{white-space:nowrap}.viewer-group-card{border:1px solid rgba(110,110,110,.75);border-radius:var(--border-radius-md);background:var(--bg-card);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);padding:16px;margin-bottom:16px}.viewer-group-title{margin-bottom:12px}.exif-modal{max-width:600px;width:95%;max-height:85vh}.exif-eye-tabs{display:flex;gap:0;margin-bottom:12px;justify-content:center;align-items:center}.exif-eye-label{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-right:var(--spacing-lg)}.exif-eye-tab{padding:var(--spacing-lg) 24px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--font-size-md);cursor:pointer;transition:all var(--transition-fast)}.exif-eye-tab#exifEyeTabLeft{border-radius:var(--border-radius-sm)0 0 var(--border-radius-sm);border-right:none}.exif-eye-tab:last-child{border-radius:0 var(--border-radius-sm) var(--border-radius-sm)0}.exif-eye-tab:hover:not(.active):not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.exif-eye-tab.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.exif-eye-tab:disabled{opacity:.4;cursor:not-allowed}.exif-eye-tab.no-data{opacity:.5}.exif-eye-tab.no-data::after{content:" (-)";font-size:var(--font-size-xs)}.exif-table td,.exif-table th,.exif-tabs{border-bottom:1px solid var(--border-color)}.exif-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:12px;padding-bottom:var(--spacing-lg)}.exif-tab{padding:var(--spacing-sm) 12px;background:0 0;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.exif-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.exif-tab.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.exif-tab-content{display:none}.exif-tab-content.active{display:block}.exif-table-container{max-height:400px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.exif-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.exif-table td,.exif-table th{padding:var(--spacing-sm) var(--spacing-lg);text-align:left}.exif-table th{background:var(--bg-card);color:var(--text-secondary);font-weight:600;position:sticky;top:0;z-index:1}.exif-table td{color:var(--text-primary)}.exif-table td:first-child{color:var(--accent-blue);font-weight:500;white-space:nowrap}.exif-table td:nth-child(2){color:var(--text-secondary);white-space:nowrap}.exif-table td:last-child{word-break:break-all;max-width:250px}.exif-table tbody tr:hover{background:var(--bg-hover)}.exif-thumbnail-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:var(--spacing-xl);background:var(--bg-card);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.exif-thumbnail-container img{max-width:100%;max-height:300px;border-radius:var(--border-radius-sm);box-shadow:var(--shadow)}.exif-thumbnail-container p{color:var(--text-tertiary);font-size:var(--font-size-md)}.exif-actions{display:flex;gap:var(--spacing-lg);margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.exif-actions .btn{flex:1}.exif-table-container::-webkit-scrollbar{width:6px}.exif-table-container::-webkit-scrollbar-track{background:var(--bg-card)}.exif-table-container::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.exif-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}