@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&family=Pixelify+Sans:wght@400;500;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#f3f1eb;--bg-panel:#fbfaf7;--bg-input:#e9e6de;--border-color:#cfc9bd;--input-border:#8a8172;--primary:#285d88;--primary-hover:#1f496c;--primary-action:#285d88;--primary-action-hover:#1f496c;--accent:#a3442c;--accent-action:#983e28;--accent-action-hover:#7d3320;--text-main:#202426;--text-muted:#525b60;--text-dim:#5f676b;--heading-start:#202426;--logo-start:#285d88;--surface-hover:#2024260f;--surface-hover-strong:#2024261f;--panel-hover-border:#9f988c;--focus-ring:#8a5300;--loading-overlay:#202426d1;--loading-text:#fff;--image-list-bg:#eeebe4;--scrollbar-track:#e9e6de;--scrollbar-thumb:#9f988c;--thumbnail-bg:#fbfaf7;--thumbnail-grid:#d6d0c5;--preview-control-border:#2024263d;--swatch-border:#20242638;--swatch-hover-border:#202426a6;--footer-icon-filter:invert(1);--font-mono:"IBM Plex Mono", monospace;--shadow-sm:0 1px 1px #20242614;--shadow-md:0 2px 8px #2024261a;--shadow-xl:0 12px 32px #20242633;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--bg-checkered-base:#f0f0f0;--bg-checkered-color:#d0d0d0}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#121416;--bg-panel:#1b1e20;--bg-input:#101214;--border-color:#353a3d;--input-border:#666f74;--primary:#82add1;--primary-hover:#a1c4df;--primary-action:#315f87;--primary-action-hover:#3d7099;--accent:#e18a6f;--accent-action:#9a402a;--accent-action-hover:#b34c30;--text-main:#e6e3dc;--text-muted:#aeb5b8;--text-dim:#858e92;--heading-start:#e6e3dc;--logo-start:#8bb6dc;--surface-hover:#ffffff0d;--surface-hover-strong:#ffffff1a;--panel-hover-border:#596166;--focus-ring:#ffbf47;--loading-overlay:#0f1115cc;--loading-text:#e2e8f0;--image-list-bg:#171a1c;--scrollbar-track:#171a1c;--scrollbar-thumb:#596166;--thumbnail-bg:#101214;--thumbnail-grid:#272c2f;--preview-control-border:#ffffff24;--swatch-border:#ffffff26;--swatch-hover-border:#fffc;--footer-icon-filter:none;--shadow-sm:0 1px 1px #0003;--shadow-md:0 2px 8px #0000003d;--shadow-xl:0 12px 32px #0006}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#121416;--bg-panel:#1b1e20;--bg-input:#101214;--border-color:#353a3d;--input-border:#666f74;--primary:#82add1;--primary-hover:#a1c4df;--primary-action:#315f87;--primary-action-hover:#3d7099;--accent:#e18a6f;--accent-action:#9a402a;--accent-action-hover:#b34c30;--text-main:#e6e3dc;--text-muted:#aeb5b8;--text-dim:#858e92;--heading-start:#e6e3dc;--logo-start:#8bb6dc;--surface-hover:#ffffff0d;--surface-hover-strong:#ffffff1a;--panel-hover-border:#596166;--focus-ring:#ffbf47;--loading-overlay:#0f1115cc;--loading-text:#e2e8f0;--image-list-bg:#171a1c;--scrollbar-track:#171a1c;--scrollbar-thumb:#596166;--thumbnail-bg:#101214;--thumbnail-grid:#272c2f;--preview-control-border:#ffffff24;--swatch-border:#ffffff26;--swatch-hover-border:#fffc;--footer-icon-filter:none;--shadow-sm:0 1px 1px #0003;--shadow-md:0 2px 8px #0000003d;--shadow-xl:0 12px 32px #0006}}*{box-sizing:border-box}body{background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;line-height:1.5}body.modal-open{overflow:hidden}.app{flex-direction:column;gap:28px;width:100%;min-width:0;max-width:1320px;margin:0 auto;padding:32px 24px;display:flex}h1{letter-spacing:.02em;color:var(--heading-start);text-align:left;margin:0;font-family:Pixelify Sans,sans-serif;font-size:clamp(2.35rem,6vw,3.1rem);font-weight:700}.logo-p{color:var(--logo-start)}.header-top{justify-content:space-between;align-items:center;width:100%;display:flex}.header-actions{align-items:center;gap:12px;display:flex}.lang-selector{align-items:center;gap:4px;display:flex}.lang-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 4px;font-size:.8rem;font-weight:600;transition:color .15s,background-color .15s}.lang-btn:hover{color:var(--text-muted);background:var(--surface-hover)}.lang-btn.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.theme-toggle{width:34px;height:34px;color:var(--text-muted);background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.theme-toggle:hover{color:var(--primary);border-color:var(--primary);background:var(--surface-hover)}.theme-toggle [hidden]{display:none}@media (width<=760px){.header-top{flex-direction:column;align-items:flex-start;gap:16px}}.app-description{text-align:left;color:var(--text-muted);overflow-wrap:anywhere;max-width:700px;margin:12px 0 0;font-size:1rem;line-height:1.55}.app-guide-link{color:var(--text-dim);text-underline-offset:2px;align-items:center;gap:4px;margin-top:8px;font-size:.85rem;text-decoration:underline;transition:color .2s;display:inline-flex}.app-guide-link:after{content:"↗";font-size:.75em}.app-guide-link:hover{color:var(--primary)}.text-highlight{color:var(--text-main);border-bottom:1px solid color-mix(in srgb, var(--accent) 45%, transparent);font-weight:500}h2{letter-spacing:.02em;color:var(--text-muted);align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;font-weight:600;display:flex}h2:before{content:"";background:var(--accent);width:8px;height:8px;display:block}main{flex-direction:column;gap:24px;display:flex}.panel{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;padding:24px;transition:border-color .2s;display:flex}.settings-group{margin-bottom:40px}.settings-group:last-child{margin-bottom:0}.settings-group-title{color:var(--text-muted);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;margin:0 0 12px;padding-bottom:8px;font-size:.9rem;font-weight:600;display:flex}.settings-group-title:before{content:"";background:var(--primary);width:6px;height:6px;display:block}.panel:hover{border-color:var(--panel-hover-border)}.input-panel.drag-over{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 7%, var(--bg-panel))}.app-grid{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.col-main,.col-preview,.panel,.quick-settings{min-width:0}@media (width>=900px){.app-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}.col-preview{position:sticky;top:24px}}.grid-settings{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:32px;margin-bottom:24px;display:grid}.setting-item{flex-direction:column;gap:8px;display:flex}.setting-item[hidden],.setting-item.disabled{display:none}.setting-item.full-width{grid-column:1/-1}.setting-item.is-disabled-visible{opacity:.62}.processing-mode-notice{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg-panel));color:var(--text-muted);align-self:end;margin:0;padding:10px 12px;font-size:.85rem;line-height:1.45}.processing-mode-notice[hidden]{display:none}.input-with-slider,.input-with-button{align-items:center;gap:12px;display:flex}.input-with-slider input[type=range]{background:var(--bg-input);height:6px;accent-color:var(--primary);cursor:pointer;border-radius:0;flex:1}.input-with-slider input[type=number]{text-align:right;width:70px}.input-unit-wrapper{align-items:center;gap:4px;display:flex}.unit-text{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.canvas-container{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-color);justify-content:center;align-items:center;width:100%;height:400px;display:flex;position:relative;overflow:hidden}#input-canvas-container{cursor:pointer;border-style:dashed}canvas{width:auto;max-width:100%;height:auto;max-height:100%;image-rendering:pixelated;z-index:2;display:none}.compare-modal-content{height:90vh;width:95vw!important;max-width:95vw!important}.compare-modal-body{background:var(--bg-input);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden;padding:0!important}.compare-mode-controls{margin-left:auto;margin-right:8px}.compare-container{width:100%;height:100%;position:relative}.img-comp-container{width:100%;height:100%;position:relative;overflow:hidden}.img-comp-container.bg-checkered,.has-image .canvas-container.bg-checkered,.js-result-canvas-container.has-image.bg-checkered,.guide-figure-output img{--checkered-half:calc(var(--checkered-tile,20px) / 2);background-color:var(--bg-checkered-base);background-image:linear-gradient(45deg, var(--bg-checkered-color) 25%, transparent 25%), linear-gradient(-45deg, var(--bg-checkered-color) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg-checkered-color) 75%), linear-gradient(-45deg, transparent 75%, var(--bg-checkered-color) 75%);background-size:var(--checkered-tile,20px) var(--checkered-tile,20px);background-position:0 0, 0 var(--checkered-half), var(--checkered-half) calc(var(--checkered-half) * -1), calc(var(--checkered-half) * -1) 0}.img-comp-container.bg-white{background-color:#fff}.img-comp-container.bg-black{background-color:#000}.img-comp-container.bg-green{background-color:#0f0}.img-comp-img{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.img-comp-img img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.img-comp-overlay{z-index:1;width:50%}#comp-slider-handle{z-index:9;cursor:col-resize;justify-content:center;align-items:center;width:40px;margin-left:-20px;display:flex;position:absolute;top:0;bottom:0;left:50%}.handle-line{background:#fff;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 10px #00000080}.handle-circle{width:40px;height:40px;color:var(--primary);z-index:10;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 0 10px #00000080}.view-controls{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-color);margin-right:12px;padding:0;display:flex}.view-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:0;padding:6px 12px;font-size:.85rem;font-weight:600;transition:color .15s,background-color .15s}.view-btn:hover{color:var(--text-muted)}.view-btn.active{background:var(--primary-action);color:#fff}#grid-canvas{pointer-events:none;z-index:3;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-container.zoom-enabled canvas{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;position:absolute;top:0;left:0;transform:none}.panel.has-image canvas{display:block}.panel.has-image .js-result-canvas-container,.modal.has-image .js-result-canvas-container{cursor:pointer}.result-modal-body .js-result-canvas-container{border:none;border-radius:0;flex:1;width:100%;min-height:0}.js-result-canvas-container.zoom-enabled .js-result-canvas,.js-result-canvas-container.zoom-enabled .js-grid-canvas{object-fit:contain;width:100%;max-width:none;height:100%;max-height:none}.js-result-canvas-container.zoom-enabled{justify-content:center;align-items:center;overflow:hidden}.panel.has-image #grid-canvas{display:none}.panel.has-image .canvas-container.grid-enabled #grid-canvas{display:block}.panel.has-image .placeholder,.panel.is-processing .placeholder{display:none}.placeholder{color:var(--text-dim);text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;padding:20px;display:flex}.drop-icon{justify-content:center;align-items:center;display:flex}.drop-icon img{width:104px;height:74px;image-rendering:pixelated;opacity:.6}.drop-text{text-align:center;font-size:1rem;font-weight:500}.drop-subtext{color:var(--text-dim);opacity:.8;margin-top:4px;font-size:.85rem;display:block}label{flex-direction:column;gap:8px;display:flex}.label-text{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;display:flex}input[type=number],input[type=text]{background:var(--bg-input);border:1px solid var(--input-border);color:var(--text-main);border-radius:var(--radius-sm);padding:8px 12px;font-family:inherit;font-size:.9rem;transition:border-color .15s,background-color .15s}input[type=number]:focus,input[type=text]:focus{border-color:var(--primary)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}select{background:var(--bg-input);border:1px solid var(--input-border);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;padding:8px 12px;font-family:inherit;font-size:.9rem;transition:border-color .15s,background-color .15s}select:focus{border-color:var(--primary)}.rgb-input-group{align-items:center;gap:8px;display:flex}.rgb-input-group input[type=text]{flex:1}.icon-button{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;padding:8px;transition:color .15s,background-color .15s,border-color .15s;display:flex}.icon-button:hover{background:var(--border-color);color:var(--text-main)}.icon-button.active{background:var(--primary-action);color:#fff;border-color:var(--primary-action)}.modal{z-index:2000;background:#000000d9;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal .modal-content{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:90vh;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.close-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .2s}.close-button:hover{color:var(--text-main)}.modal-body{flex-direction:column;gap:16px;padding:24px;display:flex;overflow:hidden}.modal-instruction{color:var(--text-muted);text-align:center;margin:0;font-size:.9rem}.modal-canvas-container{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-color);flex:1;justify-content:center;align-items:center;min-height:300px;display:flex;overflow:auto}.modal-canvas-container canvas{cursor:crosshair;max-width:none;max-height:none;image-rendering:pixelated;display:block}.process-action-button{width:100%;margin-top:24px}.result-actions{padding:16px 0 0;display:flex}.app{padding-bottom:40px}.quick-settings{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-top:20px;padding:24px}.settings-tabs{border-bottom:1px solid var(--border-color);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:24px;padding:0;display:grid}.settings-tab{min-width:0;color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:10px 12px 9px;font-weight:600}.settings-tab:hover,.settings-tab:focus-visible{color:var(--text-main)}.settings-tab.is-active{border-bottom-color:var(--accent);color:var(--text-main);background:0 0}.settings-tab-panel[hidden]{display:none}.primary-settings-group{margin-bottom:24px}.quick-settings-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;display:grid}.quick-preset-setting{grid-column:1/-1}.quick-background-picker{gap:8px;display:none}.quick-background-picker input[type=color]{flex:1;height:36px}.quick-background-picker .action-button{flex:0 0 44px;padding:8px}.advanced-settings-content{padding-top:4px}.action-button{background:var(--primary-action);color:#fff;border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.01em;white-space:nowrap;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:1.1rem;font-weight:700;transition:background-color .15s,border-color .15s;display:flex}.action-button.download-button{background:var(--accent-action)}.action-button:hover:not(:disabled){background:var(--primary-action-hover)}.action-button.download-button:hover:not(:disabled),.action-button.download-dropdown-button:hover:not(:disabled){background:var(--accent-action-hover)}.action-button:disabled{background:var(--bg-panel);color:var(--text-dim);cursor:not-allowed;border:1px solid var(--border-color);opacity:.6}.download-group{flex:1;display:flex;position:relative}.download-group .download-button{border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.download-dropdown-button{background:var(--accent-action);border-top-left-radius:0;border-bottom-left-radius:0;flex:0 0 50px;min-width:50px;border-left:1px solid #ffffff1a!important;padding:0!important}.download-menu{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;flex-direction:column;min-width:200px;margin-bottom:8px;display:none;position:absolute;bottom:100%;right:0;overflow:hidden}.image-list-panel .download-menu{margin-top:8px;margin-bottom:0;top:100%;bottom:auto}.download-menu.show{display:flex}.download-menu button{color:var(--text-main);text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border-color);background:0 0;padding:12px 16px;font-family:inherit;font-size:.9rem;transition:background .2s}.download-menu button:last-child{border-bottom:none}.download-menu button:hover{background:var(--surface-hover)}.error-toast,.warning-toast{color:#fff;border-radius:var(--radius-sm);z-index:1000;opacity:0;pointer-events:none;background:#ef4444;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 10px 15px -3px #0006}.warning-toast{white-space:pre-line;background:#b45309}.error-toast.show,.warning-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.candidate-strip{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-panel);margin-top:12px;padding:12px}.candidate-strip[hidden]{display:none}.candidate-strip-heading{margin:0;font-size:.92rem}.candidate-strip-reasons{color:var(--text-muted);margin:6px 0 10px;font-size:.82rem}.candidate-strip-reasons:empty{display:none}.candidate-strip-list{gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.candidate-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-panel);width:148px;color:var(--text-main);text-align:left;cursor:pointer;flex-direction:column;flex:none;gap:8px;padding:8px;display:flex}.candidate-card:hover,.candidate-card:focus-visible{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 35%, transparent)}.candidate-card.is-selected{border-color:var(--primary-action);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary-action) 45%, transparent)}.candidate-card-preview{background-color:#fff;background-image:linear-gradient(45deg,#ccc 25%,#0000 25%),linear-gradient(-45deg,#ccc 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ccc 75%),linear-gradient(-45deg,#0000 75%,#ccc 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;justify-content:center;align-items:center;min-height:96px;display:flex;overflow:hidden}.candidate-card-preview canvas{object-fit:contain;width:100%;height:96px;image-rendering:pixelated;display:block}.candidate-card-details,.candidate-card-heading{flex-direction:column;display:flex}.candidate-card-details{justify-content:center;gap:4px}.candidate-card-heading{gap:5px;font-size:.86rem;font-weight:700}.candidate-recommended{background:var(--primary-action);color:#fff;align-self:flex-start;padding:2px 7px;font-size:.72rem}.candidate-card-metadata,.candidate-card-description{color:var(--text-muted);font-size:.74rem;line-height:1.4}.info-toast{background:var(--accent-action);color:#fff;border-radius:var(--radius-sm);z-index:1000;opacity:0;pointer-events:none;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 10px 15px -3px #0006}.info-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.status,.status-text{color:var(--text-dim);font-size:.85rem;font-family:var(--font-mono)}.status-bar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.processing-analysis-row{color:var(--text-muted);align-items:center;gap:4px;margin-top:4px;font-family:inherit;display:flex}.processing-analysis:empty{display:none}.processing-warning{cursor:help;font-family:sans-serif;font-size:.9rem;line-height:1;color:#b45309!important}.processing-warning:focus-visible{border-radius:2px}.controls-right{align-items:center;gap:12px;display:flex}.bg-selector{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-color);gap:4px;padding:4px;display:flex}.output-panel:not(.has-image) .bg-selector,.output-panel:not(.has-image) .zoom-toggle,.output-panel:not(.has-image) .view-controls{display:none}.bg-btn{border:1px solid var(--preview-control-border);cursor:pointer;border-radius:3px;width:20px;height:20px;padding:0;transition:border-color .15s,box-shadow .15s}.bg-btn:hover{border-color:var(--text-muted)}.bg-btn.active{box-shadow:0 0 0 2px var(--accent);border-color:#fff}.bg-btn.bg-white{background-color:#fff}.bg-btn.bg-black{background-color:#000}.bg-btn.bg-green{background-color:#0f0}.bg-btn.bg-checkered{background-color:#fff;background-image:linear-gradient(45deg,#ccc 25%,#0000 25%),linear-gradient(-45deg,#ccc 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ccc 75%),linear-gradient(-45deg,#0000 75%,#ccc 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.has-image .canvas-container.bg-white{background:#fff}.has-image .canvas-container.bg-black{background:#000}.has-image .canvas-container.bg-green{background:#0f0}.js-result-canvas-container{background-color:var(--bg-input);border-radius:var(--radius-md);border:1px solid var(--border-color);justify-content:center;align-items:center;min-height:300px;display:flex;position:relative;overflow:hidden}.js-result-canvas-container.has-image.bg-white{background-color:#fff!important;background-image:none!important}.js-result-canvas-container.has-image.bg-black{background-color:#000!important;background-image:none!important}.js-result-canvas-container.has-image.bg-green{background-color:#0f0!important;background-image:none!important}.js-result-canvas-container.has-image.bg-checkered{background-color:var(--bg-checkered-base)!important}.js-result-canvas-container .placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.js-result-canvas,.js-grid-canvas{object-fit:contain;max-width:100%;max-height:100%;image-rendering:pixelated}.js-result-canvas-container:not(.has-image) .js-result-canvas,.js-result-canvas-container:not(.has-image) .js-grid-canvas{display:none}.js-grid-canvas{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.status{margin-bottom:12px}.status span,.status-text span{color:var(--accent)}.loading-overlay{background:var(--loading-overlay);z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.loading-overlay[hidden]{display:none}.spinner{border:4px solid color-mix(in srgb, var(--primary) 14%, transparent);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--loading-text);font-size:1rem;font-weight:500}.zoom-toggle{cursor:pointer;color:var(--text-dim);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:4px;transition:color .15s,background-color .15s;display:flex}.zoom-toggle:hover{color:var(--text-main);background:var(--surface-hover)}.zoom-toggle input{display:none}.zoom-toggle:has(input:checked){color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.help{background:var(--border-color);width:16px;height:16px;color:var(--text-muted);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex;position:relative}.app-footer{border-top:1px solid var(--border-color);width:100%;margin-top:auto;padding:32px 0 16px}.footer-content{color:var(--text-dim);flex-direction:row;justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.footer-links{align-items:center;gap:12px;display:flex}.footer-links a{color:var(--text-dim);align-items:center;text-decoration:none;transition:color .2s;display:flex}.footer-links a:hover{color:var(--text-muted)}.footer-links img{filter:var(--footer-icon-filter)}.quality-report-link{color:var(--text-dim);text-underline-offset:2px;margin-left:8px;text-decoration:underline;transition:color .2s}.quality-report-link:hover{color:var(--text-muted)}.separator{color:var(--border-color);opacity:.3}.privacy-note{color:var(--text-dim);opacity:.7;align-items:center;font-size:.8rem;display:flex}.js-output-size{font-family:var(--font-mono);color:var(--text-muted);font-size:.85rem}.app-version{font-family:var(--font-mono);color:var(--text-dim);background:var(--surface-hover);border-radius:var(--radius-md);vertical-align:middle;margin-left:8px;padding:2px 6px;font-size:.75rem}@media (width<=640px){.footer-content{flex-direction:column;gap:12px}}.palette-section{border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px;animation:.3s ease-in-out fadeIn}.palette-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;font-size:.9rem;font-weight:600}.palette-colors{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.color-swatch{border-radius:var(--radius-md);border:1px solid var(--swatch-border);cursor:pointer;width:28px;height:28px;transition:border-color .15s,outline-color .15s;position:relative}.color-swatch:hover{z-index:10;border-color:var(--swatch-hover-border);outline:2px solid var(--bg-panel)}.palette-actions{flex-wrap:wrap;gap:12px;display:flex}.small-button{flex:0 auto;padding:10px 16px;font-size:.85rem}.outline-button{border:1px solid var(--primary);color:var(--primary);background:0 0}.outline-button:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 10%, transparent)}.accent-outline-button{border-color:var(--accent);color:var(--accent)}.accent-outline-button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, transparent)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:3000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-overlay .modal-content{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:80vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-header h3{color:var(--text-main);margin:0;font-size:1.2rem}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background:var(--bg-panel);padding:16px 24px}.palette-actions{justify-content:flex-end;gap:12px;display:flex}.custom-tooltip{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);pointer-events:none;z-index:10000;opacity:0;white-space:pre-wrap;max-width:300px;padding:8px 12px;font-size:12px;line-height:1.4;transition:opacity .15s ease-in-out;position:fixed}.custom-tooltip.show{opacity:1}.result-modal-content{height:90vh;width:95vw!important;max-width:95vw!important}.result-modal-body{background:var(--bg-input);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden;padding:0!important}#result-modal-image{object-fit:contain;max-width:100%;max-height:100%;image-rendering:pixelated;display:block}.panel.has-image #result-canvas-container{cursor:pointer}.image-list-panel{background-color:var(--image-list-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);margin-top:1rem;padding:1rem}.image-list-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.image-list-header h2{color:var(--text-main);margin:0;font-size:1rem}.batch-controls{align-items:center;gap:.5rem;display:flex}.batch-options{color:var(--text-muted);flex-wrap:wrap;gap:.75rem 1rem;margin-top:.75rem;font-size:.8rem;display:flex}.batch-option{align-items:center;gap:.4rem;display:inline-flex}.batch-shared-palette-settings{flex-wrap:wrap;gap:.75rem;width:100%;padding-left:1.5rem;display:flex}.batch-shared-palette-settings.disabled{display:none}.batch-shared-palette-settings .setting-item{min-width:140px}.settings-common-controls{border-top:1px solid var(--border-color);margin-top:28px;padding-top:20px}.batch-options label{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.text-button{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;padding:.25rem .5rem;font-size:.875rem}.text-button:hover{background-color:var(--surface-hover);color:var(--text-main)}.text-button.danger-text{color:#ff6b6b}.text-button.danger-text:hover{background-color:#ff6b6b1a}.image-list-container{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);gap:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.image-list-container::-webkit-scrollbar{height:8px}.image-list-container::-webkit-scrollbar-track{background:var(--scrollbar-track)}.image-list-container::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--radius-md)}.image-item{border-radius:var(--radius-lg);background-color:var(--thumbnail-bg);cursor:pointer;background-image:linear-gradient(45deg, var(--thumbnail-grid) 25%, transparent 25%), linear-gradient(-45deg, var(--thumbnail-grid) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--thumbnail-grid) 75%), linear-gradient(-45deg, transparent 75%, var(--thumbnail-grid) 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border:2px solid #0000;flex:0 0 80px;width:80px;height:84px;transition:border-color .2s;position:relative;overflow:hidden}.image-item.active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f680}.image-item img{object-fit:contain;width:100%;height:80px;image-rendering:pixelated;pointer-events:none}.image-item .remove-btn{color:#fff;cursor:pointer;opacity:0;z-index:10;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;line-height:1;transition:opacity .2s;display:flex;position:absolute;top:2px;right:2px}.image-item:hover .remove-btn,.image-item:focus-within .remove-btn{opacity:1}.image-item .remove-btn:hover{background:#ff4757}.image-item .status-indicator{z-index:5;border:1px solid #00000080;border-radius:50%;width:10px;height:10px;position:absolute;bottom:4px;right:4px}.image-item[data-status=done] .status-indicator{background-color:#2ed573}.image-item[data-status=processing] .status-indicator{background-color:#ffa502;animation:1s infinite pulse}.image-item[data-status=error] .status-indicator{background-color:#ff4757}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}:where(button,a,input,select,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (width<=640px){.app{gap:24px;padding:24px 16px}.panel,.quick-settings{padding:18px}#input-canvas-container,.js-result-canvas-container{height:clamp(280px,90vw,400px);min-height:280px}.settings-tabs{display:flex;overflow-x:auto}.settings-tab{flex:1 0 max-content}.image-list-header,.batch-controls,.status-bar,.result-actions{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
