.icv{position:relative;overflow:hidden;cursor:row-resize}.icv__icv--vertical{cursor:row-resize}.icv__icv--horizontal{cursor:col-resize}.icv__img{pointer-events:none;-o-user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;max-width:none;width:100%;margin:0 !important;padding:0 !important;border:0 !important;border-radius:0 !important;top:0;display:block}.icv__is--fluid .icv__img{display:none}.icv__img-a{height:auto;position:static;z-index:1;left:0px}.icv__img-b{height:100%;position:absolute;z-index:2;left:auto;right:0px;width:auto}.icv__icv--vertical .icv__img-b{width:100%;height:auto}.icv__imposter{z-index:4;position:absolute;top:0px;left:0px;width:100%;height:100%}.icv__wrapper{position:absolute;width:100%;height:100%;right:0px;top:0px;overflow:hidden;background-size:cover;background-position:center center;z-index:3}.icv__is--fluid .icv__wrapper,.icv__icv--vertical .icv__wrapper{width:100% !important}.icv__is--fluid .icv__wrapper,.icv__icv--horizontal .icv__wrapper{height:100% !important}.icv__fluidwrapper{background-size:cover;background-position:center;position:absolute;top:0;left:0;width:100%;height:100%}.icv__control{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;top:0px;z-index:5}.icv__icv--vertical .icv__control{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;left:0;width:100%}.icv__control-line{height:50%;width:2px;z-index:6}.icv__icv--vertical .icv__control-line{width:50%}.icv__theme-wrapper{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;-webkit-transition:all 0.1s ease-out 0s;transition:all 0.1s ease-out 0s;z-index:5}.icv__icv--vertical .icv__theme-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.icv__arrow-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all 0.1s ease-out 0s;transition:all 0.1s ease-out 0s}.icv__arrow-a{-webkit-transform:scale(1.5) rotateZ(180deg);transform:scale(1.5) rotateZ(180deg);height:20px;width:20px;-webkit-filter:drop-shadow(0px 3px 5px rgba(0,0,0,0.33));filter:drop-shadow(0px -3px 5px rgba(0,0,0,0.33))}.icv__arrow-b{-webkit-transform:scale(1.5) rotateZ(0deg);transform:scale(1.5) rotateZ(0deg);height:20px;width:20px;-webkit-filter:drop-shadow(0px 3px 5px rgba(0,0,0,0.33));filter:drop-shadow(0px 3px 5px rgba(0,0,0,0.33))}.icv__circle{width:50px;height:50px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;border-radius:999px}.icv__label{position:absolute;bottom:1rem;z-index:12;background:rgba(0,0,0,0.33);color:white;border-radius:3px;padding:0.5rem 0.75rem;font-size:0.85rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.icv__label.vertical{bottom:auto;left:1rem}.icv__label.on-hover{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:0.25s cubic-bezier(0.68, 0.26, 0.58, 1.22);transition:0.25s cubic-bezier(0.68, 0.26, 0.58, 1.22)}.icv:hover .icv__label.on-hover{-webkit-transform:scale(1);transform:scale(1)}.icv__label-before{left:1rem}.icv__label-after{right:1rem}.icv__label-before.vertical{top:1rem}.icv__label-after.vertical{bottom:1rem;right:auto}.icv__body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}


.image-comparison-container {
    max-width: 100%;
}

.image-comparison-header {
    text-align: center;
    margin-bottom: 20px;
}

.image-comparison-title {
    font-size: 1.8em;
    margin-bottom: 10px;
    color: var(--text);
}

.image-comparison-desc {
    color: var(--text-light);
    margin-bottom: 20px;
}

.upload-section {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.image-upload-box {
    flex: 1;
    min-width: 300px;
    background-color: var(--card-bg);
    border: 2px dashed var(--border);
    border-radius: 12px;
    padding: 30px;
    text-align: center;
    transition: var(--transition);
    position: relative;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.image-upload-box:hover {
    border-color: var(--primary);
    background-color: var(--primary-light);
}

.image-upload-box.drag-over {
    border-color: var(--primary);
    background-color: var(--primary-light);
    transform: scale(1.02);
}

.image-upload-icon {
    font-size: 3rem;
    color: var(--primary);
    margin-bottom: 15px;
}

.image-upload-text {
    font-size: 1.1em;
    margin-bottom: 10px;
    color: var(--text);
}

.image-upload-subtext {
    color: var(--text-light);
    font-size: 0.9em;
    margin-bottom: 15px;
}

.upload-btn {
    background: linear-gradient(135deg, var(--gradient-from), var(--gradient-to));
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.upload-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 14px rgba(0, 0, 0, 0.2);
}

.image-preview-container {
    display: flex;
    gap: 30px;
    margin-top: 20px;
    flex-wrap: wrap;
    justify-content: center;
}

.image-preview-box {
    flex: 1;
    min-width: 300px;
    background-color: var(--card-bg);
    border-radius: 12px;
    padding: 15px;
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
    text-align: center;
}

.image-preview-title {
    font-size: 1.2em;
    margin-bottom: 15px;
    color: var(--text);
}

.image-preview {
    max-width: 100%;
    max-height: 300px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid var(--border);
}

.comparison-container {
    margin: 30px 0;
    background-color: var(--card-bg);
    border-radius: 12px;
    padding: 20px;
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.comparison-placeholder {
    text-align: center;
    color: var(--text-light);
    padding: 40px;
}

.comparison-controls {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.btn-comparison {
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-primary {
    background: linear-gradient(135deg, var(--gradient-from), var(--gradient-to));
    color: white;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 14px rgba(0, 0, 0, 0.2);
}

.btn-secondary {
    background-color: var(--card-bg);
    color: var(--text);
    border: 1px solid var(--border);
}

.btn-secondary:hover {
    background-color: var(--primary-light);
    border-color: var(--primary);
    color: var(--primary);
}

.file-info {
    margin-top: 10px;
    font-size: 0.9em;
    color: var(--text-light);
}

.image-comparison-actions {
    display: flex;
    gap: 15px;
    margin-top: 20px;
    justify-content: center;
    flex-wrap: wrap;
}


.file-details {
    margin-top: 20px;
    padding: 15px;
    background-color: var(--card-bg);
    border-radius: 8px;
    border: 1px solid var(--border);
}

.file-details h3 {
    margin-top: 0;
    margin-bottom: 15px;
    color: var(--text);
}

.file-detail-item {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    border-bottom: 1px solid var(--border);
}

.file-detail-item:last-child {
    border-bottom: none;
}

.file-detail-label {
    font-weight: bold;
    color: var(--text);
}

.file-detail-value {
    color: var(--text-light);
}

/* Fixed image container */
.fixed-image-container {
    width: 100%;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

/* ... existing code ... */
.icv-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    height: 300px !important;
    max-height: 70vh !important;
    overflow: hidden !important;
}

.icv-slider {
    background: var(--primary) !important;
    border: 2px solid var(--card-bg) !important;
}

.icv-handle {
    background: var(--card-bg) !important;
    border: 2px solid var(--primary) !important;
    color: var(--primary) !important;
}

.icv-button {
    background: var(--card-bg) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
}

.icv-button:hover {
    background: var(--primary) !important;
    color: white !important;
}

/* Additional comparison modes */
.image-comparison-modes {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 15px 0;
    flex-wrap: wrap;
}

.mode-btn {
    padding: 8px 15px;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
    border: 1px solid var(--border);
    background-color: var(--card-bg);
    color: var(--text);
}

.mode-btn.active {
    background: linear-gradient(135deg, var(--gradient-from), var(--gradient-to));
    color: white;
    border-color: var(--gradient-from);
}

.comparison-result {
    width: 100%;
    height: 300px;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid var(--border);
}

.comparison-result img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

.split-view {
    position: relative;
    height: 300px;
    overflow: hidden;
}

.split-view img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.split-divider {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    background: var(--primary);
    z-index: 10;
    cursor: col-resize;
}

.split-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    background: var(--primary);
    border-radius: 50%;
    z-index: 11;
    cursor: col-resize;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.fade-view {
    position: relative;
    height: 300px;
    overflow: hidden;
}

.fade-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    object-fit: contain;
}

.highlight-view {
    position: relative;
    height: 300px;
    overflow: hidden;
}

.highlight-canvas {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.subtract-view {
    position: relative;
    height: 300px;
    overflow: hidden;
}

/* ... existing code ... */


.image-preview-wrapper {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.image-preview {
    max-width: none;
    max-height: none;
    object-fit: contain;
    transition: transform 0.3s ease;
    cursor: grab;
}

.image-preview:active {
    cursor: grabbing;
}

/* Export button */
.btn-comparison {
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
