:root{--bg:#1e1e1e;--surface:#2c2c2c;--surface2:#333;--border:#3a3a3a;--border-hover:#505050;--accent:#18a0fb;--accent-hover:#3ab0ff;--accent-muted:#18a0fb1f;--green:#22c55e;--red:#ef4444;--radius:8px;--radius-sm:4px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", monospace;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--leading-tight:1.3;--leading-snug:1.4;--color-heading:#fff;--color-body:#a0a0a0;--color-muted:#6e6e6e;--color-data:#fff}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--color-heading);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--text-base);line-height:var(--leading-tight)}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.app-header-inner{align-items:center;gap:6px;display:flex}.app-logo{flex-shrink:0}.app-title{letter-spacing:-.2px;color:var(--color-heading);font-size:15px;font-weight:700}.app-subtitle{font-size:var(--text-sm);color:var(--color-muted)}.app-main{flex:1;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-main.landing{background-image:radial-gradient(#ffffff0a 1px,#0000 1px);background-size:24px 24px;justify-content:center;align-items:center;padding:48px 16px}.landing-container{flex-direction:column;justify-content:center;align-items:center;gap:32px;width:100%;max-width:896px;margin:0 auto;display:flex}.landing-container>*{animation:.5s both fadeUp}.landing-container>:first-child{animation-delay:0s}.landing-container>:nth-child(2){animation-delay:.1s}.landing-container>:nth-child(3){animation-delay:.2s}.landing-footer{animation:.5s .3s both fadeUp}.app-main.workspace{flex-direction:row;height:calc(100vh - 45px);overflow:hidden}.app-sidebar{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:0;display:flex;overflow-y:auto}.app-sidebar>*+*{border-top:1px solid var(--border)}.app-content{background:#1a1a1a;flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.resize-handle{z-index:10;flex-shrink:0;position:relative}.resize-handle-vertical{cursor:col-resize;background:0 0;width:5px;margin:0 -1px;transition:background .12s}.resize-handle-vertical:hover,.resize-handle-vertical:active{background:var(--accent)}.resize-handle-horizontal{cursor:row-resize;background:0 0;height:5px;margin:-1px 0;transition:background .12s}.resize-handle-horizontal:hover,.resize-handle-horizontal:active{background:var(--accent)}.app-controls{background:var(--bg);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.app-controls>*+*{border-top:1px solid var(--border)}.panel-section{flex-direction:column;display:flex}.panel-section-toggle{width:100%;color:var(--color-body);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:10px 12px;font-weight:600;transition:background .1s;display:flex}.panel-section-toggle:hover{background:var(--border)}.panel-section-body{opacity:0;max-height:0;padding:0 12px;transition:max-height .3s,padding .3s,opacity .3s;overflow:hidden}.panel-section-body.open{opacity:1;max-height:300px;padding:8px 12px 12px}.ls{flex-direction:column;gap:4px;display:flex}.ls-header{justify-content:space-between;align-items:center;display:flex}.ls-label{font-size:var(--text-base);color:var(--color-body)}.ls-value{font-size:var(--text-base);color:var(--color-heading);font-variant-numeric:tabular-nums;font-weight:600;font-family:var(--font-mono)}.ls-track-wrap{align-items:center;height:20px;display:flex;position:relative}.ls-input{appearance:none;cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.ls-input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:1px solid var(--bg);cursor:pointer;border-radius:50%;width:12px;height:12px;transition:box-shadow .15s}.ls-input::-webkit-slider-thumb:hover{box-shadow:0 0 0 3px var(--accent-muted)}.ls-input::-moz-range-thumb{background:var(--accent);border:1px solid var(--bg);cursor:pointer;border-radius:50%;width:12px;height:12px}.pill-group{flex-direction:column;gap:6px;display:flex}.pill-group-label{font-size:var(--text-sm);color:var(--color-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:600}.pill-group-btns{background:var(--surface2);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.pill-btn{color:var(--color-body);font-size:var(--text-sm);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:3px;flex:1;padding:5px 8px;font-weight:600;transition:all .12s}.pill-btn:hover{color:var(--color-heading)}.pill-btn.active{background:var(--accent);color:#fff}.landing .uploader{border:2px dashed var(--border);border-radius:var(--radius);cursor:default;background:0 0;width:100%;max-width:480px;padding:48px 32px;transition:all .2s}.landing .uploader:hover{border-color:var(--border-hover);background:#ffffff05}.landing .uploader.drag-active{border-color:var(--accent);background:#18a0fb0a;transform:scale(1.02)}.landing .uploader-content{color:var(--color-body);flex-direction:column;align-items:center;gap:12px;display:flex}.landing .uploader-icon{width:56px;height:56px;color:var(--color-muted);transition:color .2s}.landing .uploader.drag-active .uploader-icon{color:var(--accent)}.landing .uploader-title{font-size:var(--text-lg);color:var(--color-heading);font-weight:700}.landing .uploader-hint{font-size:var(--text-base);color:var(--color-muted)}.landing .uploader-actions{gap:8px;margin-top:4px;display:flex}.landing .uploader-formats{font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.2px}.app-sidebar .uploader{text-align:center;padding:20px 16px}.app-sidebar .uploader-content{color:var(--color-body);flex-direction:column;align-items:center;gap:8px;display:flex}.app-sidebar .uploader-title{font-size:var(--text-base);color:var(--color-heading);font-weight:600}.app-sidebar .uploader-hint{font-size:var(--text-sm)}.app-sidebar .uploader-actions{gap:6px;margin-top:2px;display:flex}.app-sidebar .uploader-formats{color:var(--color-muted);font-size:10px}.app-sidebar .uploader svg{width:28px;height:28px;color:var(--color-muted)}.btn-sample{color:var(--color-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer;background:0 0;padding:8px 20px;font-weight:500;transition:all .2s}.btn-sample:hover:not(:disabled){color:var(--color-heading);border-color:var(--border-hover);transform:scale(1.05)}.btn-sample:disabled{opacity:.4;cursor:default}.features{grid-template-columns:repeat(3,1fr);gap:32px;width:100%;max-width:640px;display:grid}.feature-card{text-align:center;transition:transform .2s}.feature-card:hover{transform:translateY(-3px)}.feature-title{text-transform:uppercase;letter-spacing:.5px;color:var(--color-heading);margin-bottom:6px;font-size:13px;font-weight:700}.feature-desc{color:var(--color-muted);font-size:13px;line-height:1.6}@media (width<=640px){.features{grid-template-columns:1fr;gap:24px}}.landing-footer{font-size:var(--text-xs);color:var(--color-muted);justify-content:center;align-items:center;gap:16px;padding:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.landing-footer a{color:var(--color-muted);text-decoration:none;transition:color .12s}.landing-footer a:hover{color:var(--color-heading)}.btn{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:5px;padding:6px 12px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:scale(1.02)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-secondary{color:var(--color-body);border-color:var(--border);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--border);color:var(--color-heading);transform:scale(1.02)}.btn-secondary:active:not(:disabled),.btn-done{transform:scale(.98)}.btn-ghost{color:var(--color-muted);font-size:var(--text-sm);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--color-heading);background:var(--border)}.btn:disabled{opacity:.35;cursor:default}.export-actions{flex-direction:column;gap:6px;padding:12px;display:flex}.export-actions .btn{width:100%}.asset-list{flex-direction:column;display:flex}.asset-list-header{font-size:var(--text-sm);color:var(--color-body);text-transform:uppercase;letter-spacing:.4px;justify-content:space-between;align-items:center;gap:6px;padding:10px 12px;font-weight:600;display:flex}.asset-sort-group{gap:1px;display:flex}.asset-sort-btn{color:var(--color-muted);cursor:pointer;letter-spacing:.2px;text-transform:uppercase;background:0 0;border:none;border-radius:3px;padding:2px 5px;font-size:10px;font-weight:600;transition:all .12s}.asset-sort-btn:hover{color:var(--color-heading);background:var(--border)}.asset-sort-btn.active{color:var(--accent)}.asset-list-items{max-height:var(--asset-list-height,200px);overflow-y:auto}.asset-item{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:8px;padding:7px 12px;transition:background .1s;display:flex}.asset-item:hover{background:var(--border)}.asset-item.selected{background:var(--accent-muted);border-left-color:var(--accent)}.asset-thumb{background:var(--surface2);border-radius:4px;flex-shrink:0;width:32px;height:32px;overflow:hidden}.asset-thumb img{object-fit:cover;width:100%;height:100%}.asset-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.asset-name{font-size:var(--text-base);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.asset-size{color:var(--color-muted);font-size:10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.asset-savings{font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:700;font-family:var(--font-mono)}.asset-savings.positive{color:var(--green)}.asset-savings.negative{color:var(--red)}.asset-remove{color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px;font-size:16px;line-height:1}.asset-remove:hover{color:var(--red);background:#e74c3c1f}.sidebar-footer{text-align:center;padding:10px 12px}.sidebar-bottom{margin-top:auto}.compare-container{flex-direction:column;width:100%;height:100%;max-height:60dvh;display:flex;position:relative}.compare-slider-wrapper{user-select:none;border-radius:var(--radius);flex:1;min-height:0;position:relative;overflow:hidden}.compare-empty{height:100%;color:var(--color-muted);font-size:var(--text-md);justify-content:center;align-items:center;display:flex}.compare-slider{border-radius:var(--radius);width:100%;height:100%;overflow:hidden}.compare-single{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.compare-labels{justify-content:space-between;width:100%;padding:4px 8px 0;display:flex}.compare-label{text-transform:uppercase;letter-spacing:.4px;color:var(--color-muted);font-size:10px;font-weight:600}.compare-label.right{text-align:right}.zoom-toolbar{background:var(--surface);border:1px solid var(--border);z-index:20;opacity:.6;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;transition:opacity .15s;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.zoom-toolbar:hover{opacity:1}.zoom-btn{color:var(--color-body);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;transition:background .12s;display:flex}.zoom-btn:hover:not(:disabled){background:var(--border)}.zoom-btn:disabled{opacity:.25;cursor:default}.zoom-pct{color:var(--color-body);text-align:center;font-variant-numeric:tabular-nums;min-width:32px;font-size:10px;font-weight:600;font-family:var(--font-mono)}.zoom-reset{width:auto;color:var(--accent);border-radius:3px;padding:0 6px;font-size:10px;font-weight:600}.quality-slider{flex-direction:column;gap:8px;padding:12px;display:flex}.quality-compare{grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;display:grid}.qc-lbl{white-space:nowrap;color:var(--color-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:600}.qc-bar{align-items:center;gap:6px;display:flex}.qc-track{background:var(--border);border-radius:3px;flex:1;min-width:16px;height:6px;overflow:hidden}.qc-fill{border-radius:3px;height:100%;transition:width .2s}.qc-fill-orig{background:#18a0fb26;width:100%}.qc-fill-comp{background:var(--accent);width:100%}.qc-val{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;color:var(--color-body);font-size:10px;font-weight:600;font-family:var(--font-mono)}.qc-savings{text-align:center;font-size:var(--text-base);grid-column:1/-1;font-weight:700}.qc-savings .positive{color:var(--green)}.qc-savings .negative{color:var(--red)}.metrics-badge{padding:12px;position:relative;overflow:hidden}.metrics-loading-bar{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;animation:1s ease-in-out infinite metrics-pulse;position:absolute;top:0;left:0;right:0}@keyframes metrics-pulse{0%{transform:translate(-100%)}to{transform:translate(100%)}}.metrics-list-dimmed{opacity:.45;transition:opacity .15s}.metrics-dims{font-size:var(--text-sm);color:var(--color-muted);text-align:center;border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:8px}.metrics-list{flex-direction:column;gap:6px;display:flex}.metrics-row-item{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.metrics-row-label{font-size:var(--text-sm);color:var(--color-muted);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.metrics-row-value{font-size:var(--text-base);font-variant-numeric:tabular-nums;color:var(--color-heading);font-weight:700;font-family:var(--font-mono);white-space:nowrap;flex-shrink:0}.metrics-row-value.positive{color:var(--green)}.metrics-row-value.negative{color:var(--red)}.metrics-row-value.dims{font-size:11px}.metrics-sep{background:var(--border);height:1px;margin:2px 0}.metrics-presets{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:10px;padding-top:8px;display:flex}.metrics-presets-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:600}.metrics-presets-btns{gap:3px;display:flex}.metrics-preset-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--color-body);text-align:center;cursor:pointer;background:0 0;flex:1;padding:5px 4px;font-size:10px;font-weight:600;line-height:1.2;transition:all .12s}.metrics-preset-btn:hover{border-color:var(--border-hover);color:var(--color-heading)}.metrics-preset-btn.active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.advanced-field{flex-direction:column;gap:6px;display:flex}.advanced-field.checkbox label{cursor:pointer;font-size:var(--text-base);color:var(--color-body);align-items:center;gap:6px;display:flex}.advanced-field.checkbox input{accent-color:var(--accent)}.advanced-dim-row{gap:6px;display:flex}.advanced-dim-field{flex-direction:column;flex:1;gap:4px;display:flex}.advanced-dim-field label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:600}.advanced-dim-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--color-heading);font-size:var(--text-base);font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;outline:none;padding:5px 8px;transition:border-color .12s}.advanced-dim-input:focus{border-color:var(--accent)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}
