:root{--primary-color: #334155;--primary-dark: #1e293b;--success-color: #2563eb;--error-color: #dc2626;--warning-color: #d97706;--bg-light: #f3f4f6;--bg-white: #ffffff;--text-dark: #1f2937;--text-gray: #6b7280;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-light);color:var(--text-dark)}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-white);color:var(--text-dark);padding:.9rem 1rem;text-align:center;box-shadow:none;border-bottom:1px solid var(--border-color)}.header h1{font-size:1.1rem;font-weight:600;margin-bottom:.2rem}.header p{font-size:.8rem;color:var(--text-gray)}.container{flex:1;max-width:1060px;margin:0 auto;padding:1.5rem;width:min(1060px,calc(100% - 2.5rem))}.layout-grid{display:grid;grid-template-columns:1fr;gap:2rem}.layout-two-column{display:grid;grid-template-columns:55% 45%;gap:1.25rem;margin-top:1.25rem}.layout-two-column-cmyk{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1.25rem;align-items:start;width:100%;box-sizing:border-box}.layout-two-column-cmyk .preview-section.section{padding:1.5rem}.layout-two-column-cmyk .side-panel{gap:0;width:100%;box-sizing:border-box}.layout-two-column-cmyk .panel-section{padding:1.5rem}.layout-two-column-cmyk .preview-section h2,.layout-two-column-cmyk .panel-section h3{margin-bottom:1rem}.side-panel{display:flex;flex-direction:column;gap:2rem;min-width:0;overflow-x:hidden}.main-content{display:flex;flex-direction:column;gap:1.25rem}.panel-section{background:var(--bg-white);border-radius:.5rem;padding:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);min-width:0}.info-panel{padding:1.25rem}.upload-row{display:flex;justify-content:flex-end;width:100%;margin-bottom:1.25rem}.info-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.info-title{margin:0;font-size:1.125rem}.upload-new-button{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;background-color:var(--bg-white);cursor:pointer;color:var(--text-dark);font-weight:600;transition:all .2s ease;white-space:nowrap}.upload-new-button:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.panel-section h3{font-size:1rem;margin-top:0;margin-bottom:1rem;color:var(--text-dark);display:flex;align-items:center;gap:.5rem}.section{background:var(--bg-white);border-radius:.5rem;padding:1.2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.section h2{font-size:1rem;margin-top:0;margin-bottom:1.5rem;color:var(--text-dark);display:flex;align-items:center;gap:.5rem}.upload-section,.preview-section,.pixel-preview-section,.action-buttons-section,.result-section{background:var(--bg-white);border-radius:.5rem;padding:1.2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.upload-section h2,.preview-section h2,.pixel-preview-section h2,.action-buttons-section h2,.result-section h2{font-size:1rem;margin-bottom:1.5rem;color:var(--text-dark);display:flex;align-items:center;gap:.5rem}.action-buttons-section{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.settings-column-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.cmyk-hint{margin-top:.75rem;font-size:.9rem;color:var(--text-gray);line-height:1.4}.preview-button-main,.convert-button-main{width:100%;padding:1rem 1.5rem;font-size:.9rem;font-weight:600;border:none;border-radius:.5rem;cursor:pointer;transition:all .3s ease;background-color:var(--primary-color);color:#fff}.preview-button-main:hover:not(:disabled),.convert-button-main:hover:not(:disabled){background-color:var(--primary-dark);transform:none;box-shadow:none}.convert-button-main{background-color:var(--success-color)}.convert-button-main:hover:not(:disabled){background-color:#059669}.preview-button-main:disabled,.convert-button-main:disabled{opacity:.6;cursor:not-allowed}.footer{background-color:var(--bg-light);border-top:1px solid var(--border-color);padding:2rem;text-align:center;color:var(--text-gray);font-size:.875rem;margin-top:2rem}@media (max-width: 1024px){.layout-two-column,.layout-two-column-cmyk{grid-template-columns:1fr}}@media (max-width: 768px){.layout-two-column{grid-template-columns:1fr}.side-panel{order:2}.main-content{order:1}.container{padding:1rem}.section{padding:1.5rem}.header h1{font-size:1.2rem}.header p{font-size:.85rem}}.image-uploader{display:flex;flex-direction:column;gap:2rem}.upload-zone{border:2px dashed var(--primary-color);border-radius:.75rem;padding:3rem;text-align:center;cursor:pointer;transition:all .3s ease;background-color:#2563eb05}.upload-zone:hover{border-color:var(--primary-dark);background-color:#2563eb0d}.upload-zone:disabled{opacity:.6;cursor:not-allowed}.upload-icon{font-size:3rem;margin-bottom:1rem}.spinner{display:inline-block;width:2rem;height:2rem;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.main-text{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.sub-text{color:var(--text-gray);font-size:.875rem}.supported-formats{background-color:var(--bg-light);border-radius:.5rem;padding:1rem}.supported-formats h4{margin-bottom:.5rem;font-size:.875rem;color:var(--text-gray);text-transform:uppercase;font-weight:600}.supported-formats ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem}.supported-formats li{padding:.5rem;background-color:var(--bg-white);border-radius:.25rem;border:1px solid var(--border-color);font-size:.875rem;text-align:center}@media (max-width: 768px){.upload-zone{padding:2rem}.upload-icon{font-size:2rem}.main-text{font-size:1rem}}.image-preview-container{width:100%;margin:1rem 0}.preview-comparison{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.preview-panel{display:flex;flex-direction:column;gap:1rem}.preview-panel h3{font-size:1rem;font-weight:600;color:var(--text-dark);margin:0}.preview-box{width:100%;aspect-ratio:auto;height:220px;border:2px solid var(--border-color);border-radius:.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-light) 0%,rgba(59,130,246,.02) 100%);overflow:hidden;position:relative;min-height:180px}.preview-image{width:100%;height:100%;object-fit:contain;padding:.35rem}.no-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-gray);font-size:1rem;text-align:center;padding:1rem}.loading-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-gray)}.spinner{display:inline-block;width:2rem;height:2rem;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.preview-info{padding:1rem;background-color:var(--bg-light);border-radius:.375rem;text-align:center}.preview-info p{margin:.25rem 0;font-size:.875rem;color:var(--text-gray)}.filename{font-weight:600;color:var(--text-dark)!important;word-break:break-all}.filesize{font-family:Courier New,monospace;color:var(--primary-color)!important}.reduction{font-weight:500;color:var(--text-dark)!important}.preview-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.arrow-icon{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.input-panel{order:1}.output-panel{order:3}@media (max-width: 1024px){.preview-comparison{gap:1rem}.preview-divider{margin:.5rem 0}.arrow-icon{font-size:1.2rem}.input-panel{order:1}.preview-divider{order:2}.output-panel{order:3}.preview-box{min-height:200px}}@media (max-width: 768px){.preview-comparison{gap:.5rem}.preview-box{height:170px}.preview-panel h3{font-size:.9rem}.preview-box{min-height:150px}.no-preview{font-size:.9rem}.preview-info{padding:.75rem}.preview-info p{font-size:.75rem}}.color-space-info .info-top-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem;align-items:start}.color-space-info .info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.info-card{background:#f8fafc;border:1px solid var(--border-color);border-radius:.5rem;padding:.8rem;text-align:center}.info-card h3{font-size:.78rem;text-transform:uppercase;color:var(--text-gray);margin-bottom:.5rem;font-weight:600}.info-card .value{font-size:1rem;font-weight:600;color:var(--text-dark);margin-bottom:.5rem}.info-card .meta{font-size:.78rem;color:var(--text-gray)}.recommendation-box{display:flex;gap:1rem;padding:.8rem;background-color:#f8fafc;border:1px solid var(--border-color);border-radius:.5rem;margin-top:.85rem}.recommendation-icon{font-size:1.5rem;flex-shrink:0}.recommendation-text strong{display:block;margin-bottom:.5rem;color:var(--text-dark)}.recommendation-text p{font-size:.8rem;color:var(--text-gray);line-height:1.5}.params-grid{padding:.65rem .85rem;border:1px solid var(--border-color);border-radius:.5rem;background-color:#f9fafbb3}.param-row{display:flex;gap:1rem;padding:.5rem 0;align-items:center;border-bottom:1px solid rgba(229,231,235,.8)}.param-row:last-child{border-bottom:none}.param-key{min-width:130px;font-size:.8rem;color:var(--text-gray);font-weight:600}.param-value{font-size:.86rem;color:var(--text-dark);font-weight:600}@media (max-width: 768px){.color-space-info .info-top-grid{grid-template-columns:1fr}.color-space-info .info-grid{grid-template-columns:1fr 1fr;gap:1rem}.info-card{padding:1rem}.info-card .value{font-size:1.25rem}}.conversion-options{display:flex;flex-direction:column;gap:1rem;max-height:none;overflow-y:visible}.settings-section{border-radius:.5rem;padding:.9rem}.required-section{background:#f8fafc;border:1px solid var(--border-color)}.required-section h3{margin-bottom:.8rem;font-size:.95rem;color:var(--text-dark);display:flex;align-items:center;gap:.5rem}.optional-section{background:#f8fafc;border:1px solid var(--border-color)}.optional-section h3{margin-bottom:.8rem;font-size:.95rem;color:var(--text-gray);display:flex;align-items:center;gap:.5rem}.conversion-options .options-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}.required-options-grid{gap:.55rem}.required-accordion{border:1px solid var(--border-color);border-radius:.75rem;background-color:var(--bg-white)}.required-accordion.is-open{border-color:#cbd5e1;box-shadow:0 0 0 1px #e2e8f0}.required-accordion-trigger{width:100%;border:none;background:transparent;padding:.72rem .85rem;cursor:pointer;font-size:.92rem;font-weight:600;color:#1e293b;display:flex;align-items:center;justify-content:space-between;text-align:left}.required-accordion-arrow{font-size:.85rem;color:#94a3b8}.required-accordion-content{border-top:1px solid #e2e8f0;padding:.72rem .85rem .85rem}.required-accordion .option-group{margin-top:0}.option-group{display:flex;flex-direction:column;gap:.5rem}.option-group label{font-weight:600;color:var(--text-dark);display:flex;flex-direction:column;gap:.25rem}.option-group strong{font-size:.86rem}.help{font-size:.68rem;font-weight:400;color:var(--text-gray);text-transform:uppercase;letter-spacing:.5px}.option-group select,.option-group input[type=range]{padding:.62rem .7rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:.84rem;background-color:var(--bg-white);color:var(--text-dark);cursor:pointer;transition:border-color .2s;width:100%;box-sizing:border-box}.option-group select:hover,.option-group select:focus,.option-group input[type=range]:hover,.option-group input[type=range]:focus{border-color:var(--primary-color);outline:none}.option-description{font-size:.74rem;color:var(--text-gray);line-height:1.4;margin-top:.25rem}.slider-group{display:flex;align-items:center;gap:1rem}.slider-group input[type=range]{flex:1}.quality-value{font-weight:600;min-width:45px;text-align:right;color:var(--text-dark)}.option-group.checkbox label{flex-direction:row;align-items:flex-start;gap:.5rem}.option-group.checkbox input[type=checkbox]{margin-top:.2rem;cursor:pointer}.preset-buttons{margin:0 0 .9rem;padding:.75rem;background-color:#f1f5f9;border-radius:.5rem}.preset-buttons-top{margin:0 0 .8rem}.preset-buttons h4{margin-bottom:.55rem;font-size:.76rem;color:var(--text-gray);text-transform:uppercase;font-weight:600}.button-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.button-group button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.62rem;border:1px solid var(--border-color);background-color:var(--bg-white);border-radius:.375rem;cursor:pointer;font-size:.78rem;font-weight:500;transition:all .2s}.button-group button:hover{background-color:#e2e8f0;color:var(--text-dark);border-color:#cbd5e1}.button-group button.active{background-color:#dbeafe;color:#1e3a8a;border-color:#93c5fd;box-shadow:none}.preset-icon{font-size:.95rem;line-height:1.1;margin-bottom:.25rem}.preset-label{font-size:.74rem;font-weight:600;line-height:1.2;text-align:center}.preview-button{width:100%;padding:1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.preview-button:hover:not(:disabled){background-color:var(--primary-dark)}.preview-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.conversion-options .options-grid{grid-template-columns:1fr;gap:1.5rem}.button-group{grid-template-columns:1fr}}.conversion-options-list{width:100%;box-sizing:border-box}.conversion-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;width:100%;box-sizing:border-box}.conversion-list-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border:1px solid var(--border-color);border-radius:.5rem;background-color:#f9fafbe6;width:100%;box-sizing:border-box;overflow:hidden}.conversion-list-key{color:var(--text-gray);font-weight:600;font-size:.85rem;min-width:0}.conversion-list-value{color:var(--text-dark);font-weight:700;font-size:.95rem;text-align:right;min-width:0;word-break:break-word}.pixel-preview .preview-description{background-color:var(--bg-light);padding:1rem;border-radius:.375rem;margin-bottom:1.5rem;color:var(--text-gray);font-size:.95rem}.pixels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.pixel-item{border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;background-color:var(--bg-light)}.pixel-label{text-transform:uppercase;font-size:.75rem;color:var(--text-gray);font-weight:600;margin-bottom:.75rem;letter-spacing:.5px}.color-swatches{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.swatch-group{flex:1;min-width:100px}.swatch{width:100%;height:60px;border-radius:.375rem;border:1px solid var(--border-color);margin-bottom:.5rem;box-shadow:var(--shadow-sm)}.rgb-swatch{background:linear-gradient(135deg,red,#0f0,#00f)}.cmyk-swatch{border:2px solid var(--text-gray)}.swatch-label{text-align:center;font-size:.75rem;font-weight:600;color:var(--text-gray);text-transform:uppercase;margin-bottom:.25rem}.swatch-value{text-align:center;font-size:.75rem;color:var(--text-dark);font-family:Courier New,monospace;line-height:1.4}.swatch-hex{text-align:center;font-size:.7rem;color:var(--text-gray);font-family:Courier New,monospace}.arrow{font-size:1.5rem;color:var(--primary-color);line-height:1}.preview-info{background-color:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:.5rem;padding:1.5rem}.preview-info h4{margin-bottom:1rem;color:var(--text-dark);font-size:.95rem}.preview-info ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.preview-info li{padding:.5rem;border-radius:.25rem;background-color:#ffffff80;font-size:.875rem;color:var(--text-gray)}@media (max-width: 768px){.pixels-grid{grid-template-columns:1fr}.color-swatches{flex-direction:column}.arrow{transform:rotate(90deg);margin:.5rem 0}.preview-info ul{grid-template-columns:1fr}}.conversion-result{text-align:center}.result-success,.result-ready{padding:2rem;border-radius:.5rem}.result-success{background:linear-gradient(135deg,#10b9810d,#0596690d);border:2px solid rgba(16,185,129,.2)}.result-ready{background:linear-gradient(135deg,#2563eb0d,#3b82f60d);border:2px solid rgba(37,99,235,.2)}.result-icon{font-size:3rem;margin-bottom:1rem}.result-success h3{color:var(--success-color);margin-bottom:.5rem;font-size:1.3rem}.result-filename{font-size:1rem;font-family:Courier New,monospace;color:var(--text-dark);margin:.75rem 0;word-break:break-all}.result-size{font-size:.875rem;color:var(--text-gray);margin-bottom:1.5rem}.download-button,.convert-button{display:inline-block;padding:.875rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:.5rem;cursor:pointer;transition:all .3s;min-width:200px}.download-button{background-color:var(--success-color);color:#fff}.download-button:hover{background-color:#059669;transform:translateY(-2px);box-shadow:var(--shadow-md)}.convert-button{background-color:var(--primary-color);color:#fff}.convert-button:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.convert-button:disabled{opacity:.6;cursor:not-allowed}.spinner-small{display:inline-block;width:1rem;height:1rem;margin-left:.5rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-info{margin-top:2rem;padding:1.5rem;background-color:var(--bg-light);border-radius:.5rem;text-align:left}.result-info h4{margin-bottom:.75rem;color:var(--text-dark);font-size:.95rem}.result-info ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.result-info li{padding:.5rem;background-color:var(--bg-white);border-radius:.25rem;border-left:3px solid var(--success-color);font-size:.875rem;color:var(--text-gray)}@media (max-width: 768px){.result-success,.result-ready{padding:1.5rem}.result-icon{font-size:2rem}.download-button,.convert-button{width:100%;min-width:auto}.result-info ul{grid-template-columns:1fr}}
