@import "https://fonts.googleapis.com/css2?family=Libertinus+Serif+Display&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Devanagari:wght@400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap";:root{--background-color:#f0f0f0;--primary-color:#000572;--secondary-color:#004a99;--btn-background-color:#ececf0;--card-surface:#f6f6f6;--nav-surface:#fff;--bg:var(--background-color);--surface:#fff;--surface-2:var(--btn-background-color);--input-background:#fff;--border:#0000001f;--text:#1a1a1a;--text-dim:#5e5e5f;--heading:var(--primary-color);--accent:var(--secondary-color);--accent-hover:#003d7a;--accent-dim:#004a9924;--brand-tint:#0005721a;--focus-ring:var(--primary-color);--radius:8px;--btn-gray-bg:#f5f5f5;--btn-gray-border:#d1d1d1;--btn-gray-text:#4a4a4a;--btn-gray-hover-bg:#ebebeb;--btn-gray-hover-border:#c6c6c6;--btn-gray-active-bg:#e5e5e5;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Open Sans,Noto Sans Devanagari,system-ui,-apple-system,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-height:100dvh;margin:0}#root{flex-direction:column;min-height:100dvh;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.editor-root{flex:1;align-items:stretch;max-width:100%;min-height:0;display:flex}.editor-sidebar{background:var(--card-surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:20px;width:280px;min-height:0;padding:24px 20px;display:flex;overflow-y:auto}.sidebar-page-clear{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.sidebar-page-clear .btn{width:100%}.sidebar-background-section{flex-direction:column;gap:20px;margin-top:auto;display:flex}.sidebar-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:13px;font-weight:600}.theme-toggle-row{margin-top:-8px}.theme-toggle{color:var(--text);justify-content:space-between;align-items:center;gap:10px;font-size:.85rem;display:flex}.theme-toggle-label{color:var(--text-dim);font-weight:500}.theme-switch{appearance:none;border:1px solid var(--border);cursor:pointer;background:#2d3140;border-radius:999px;align-items:center;width:44px;height:24px;padding:2px;transition:background-color .15s;display:inline-flex}.theme-switch.on{background:var(--accent)}.theme-switch.off{background:#2d3140}.theme-switch-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;transform:translate(0);box-shadow:0 1px 2px #00000040}.theme-switch.on .theme-switch-thumb{transform:translate(20px)}.theme-switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.theme-switch:active .theme-switch-thumb{width:20px}.editor-main{background:var(--card-surface);flex-direction:column;flex:1;align-items:stretch;width:100%;min-width:0;max-width:100%;min-height:0;padding:16px 28px;display:flex;overflow:visible}.editor-main:has(.canvas-shell.empty){padding-bottom:28px}.editor-header{flex-shrink:0;margin-bottom:12px}.editor-header h1{color:var(--heading);letter-spacing:-.02em;margin:0 0 8px;font-family:Libertinus Serif Display,Noto Sans Devanagari,serif;font-size:1.75rem;font-weight:700}.editor-sub{color:var(--text-dim);max-width:52ch;margin:0;font-size:.95rem}.canvas-shell{border-radius:var(--radius);background:var(--surface-2);border:none;justify-content:center;align-items:flex-start;width:100%;min-width:0;display:flex;position:relative;overflow:visible}.canvas-shell.empty{background:0 0;flex:1 1 0;place-items:center;width:100%;min-width:0;min-height:0;display:grid;overflow:visible}.canvas-shell.empty.compose-empty{flex:1 1 0;min-width:0;min-height:0}.canvas-shell:not(.empty){flex:none;align-items:flex-start;padding:8px 8px 10px}.drop-hint{text-align:center;pointer-events:none;z-index:1;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.canvas-shell.empty .drop-hint{pointer-events:auto;cursor:pointer}.dropzone-empty-state{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.dropzone-empty-state__title{color:var(--heading);margin:0;font-weight:600}.dropzone-empty-state__desc{color:var(--text-dim);margin:0}.dropzone-empty-state__icon{color:var(--text-dim);opacity:.9;flex-shrink:0}.dropzone-empty-state--editor .dropzone-empty-state__title{margin-bottom:8px;font-size:1.15rem}.dropzone-empty-state--editor .dropzone-empty-state__desc{max-width:36ch;margin-bottom:14px;font-size:.9rem}.dropzone-empty-state--batch{color:var(--text-dim)}.dropzone-empty-state--batch .dropzone-empty-state__title{margin-bottom:4px;font-size:1rem;display:block}.dropzone-empty-state--batch .dropzone-empty-state__desc{margin-bottom:12px;font-size:.85rem;display:block}.editor-canvas{border-radius:calc(var(--radius) - 2px);width:100%;max-width:min(100%,1500px);height:auto;display:block;box-shadow:0 1px 2px #0f172a0d,0 4px 20px #0f172a12,0 12px 48px #0f172a17}@media (width<=1600px){.canvas-shell.empty{box-sizing:border-box;padding:22px}}@media (width<=900px){.canvas-shell.empty{box-sizing:border-box;padding:12px}}.canvas-shell.empty .editor-canvas{place-self:center;width:auto;min-width:0;max-width:min(100%,1500px);height:auto;max-height:100%}.editor-footer{color:var(--text-dim);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;margin-top:10px;font-size:.85rem;display:flex}.editor-footer .sep{opacity:.5}.canvas-size-row{align-items:flex-end;gap:10px;display:flex}.canvas-size-field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.canvas-size-label{color:var(--text-dim);font-size:11px;font-weight:600}.canvas-size-divider{color:var(--text-dim);opacity:.8;align-self:center;margin-bottom:7px;font-size:12px;font-weight:700}.canvas-size-field input[type=text]{letter-spacing:.02em;border:1px solid var(--border);background:var(--input-background);width:100%;height:34px;color:var(--text);text-align:right;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;transition:border-color .12s,box-shadow .12s,background-color .12s}.canvas-size-field input[type=text]::placeholder{color:var(--text-dim)}.canvas-size-field input[type=text]:hover{border-color:color-mix(in srgb, var(--border) 60%, var(--accent))}.canvas-size-field input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);background:var(--input-background);outline:none}.tool-group{flex-direction:column;gap:8px;display:flex}.tool-group .label{color:var(--text-dim);font-size:.8rem;font-weight:500}.tool-group .hint{opacity:.75;font-weight:400}.tool-group input[type=range]{width:100%;accent-color:var(--accent)}.tool-group .watermark-position-select{border:1px solid var(--border);background:var(--input-background);width:100%;height:34px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:0 10px;font-size:.875rem}.tool-group .batch-watermark-upload-row{flex-direction:row;align-items:center;gap:8px;min-width:0}.tool-group .batch-watermark-upload-row .btn{box-sizing:border-box;border-radius:8px;flex:1;justify-content:flex-start;align-items:center;width:auto;min-width:0;height:36px;min-height:36px;padding:6px 12px;font-size:.875rem;line-height:1.25}.tool-group .batch-watermark-upload-row .btn .watermark-upload-btn-content{flex-wrap:nowrap;align-items:center;gap:10px}.tool-group .batch-watermark-upload-row .btn .watermark-upload-btn-text:not(.watermark-upload-btn-text--stacked){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tool-group .batch-watermark-upload-row .btn .watermark-upload-btn-content--replace-stacked{gap:10px}.tool-group .batch-watermark-preview-frame{width:76px;height:36px}.tool-group.actions{gap:10px;margin-top:auto;padding-top:8px}.undo-btn{z-index:5;border:1px solid var(--btn-gray-border);background:var(--btn-gray-bg);width:34px;height:34px;color:var(--btn-gray-text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:background .2s,border-color .2s;display:flex;position:absolute;top:12px;right:212px}.undo-btn:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border)}.undo-btn:disabled{opacity:.35;cursor:not-allowed}.redo-btn{z-index:5;border:1px solid var(--btn-gray-border);background:var(--btn-gray-bg);width:34px;height:34px;color:var(--btn-gray-text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:background .2s,border-color .2s;display:flex;position:absolute;top:12px;right:172px}.redo-btn:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border)}.redo-btn:disabled{opacity:.35;cursor:not-allowed}.rotate-left-btn{z-index:5;border:1px solid var(--btn-gray-border);background:var(--btn-gray-bg);width:34px;height:34px;color:var(--btn-gray-text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:background .2s,border-color .2s;display:flex;position:absolute;top:12px;right:132px}.rotate-left-btn:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border)}.rotate-left-btn:disabled{opacity:.35;cursor:not-allowed}.rotate-right-btn{z-index:5;border:1px solid var(--btn-gray-border);background:var(--btn-gray-bg);width:34px;height:34px;color:var(--btn-gray-text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:background .2s,border-color .2s;display:flex;position:absolute;top:12px;right:92px}.rotate-right-btn:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border)}.rotate-right-btn:disabled{opacity:.35;cursor:not-allowed}.reset-image-btn{z-index:5;border:1px solid var(--btn-gray-border);background:var(--btn-gray-bg);width:34px;height:34px;color:var(--btn-gray-text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:background .2s,border-color .2s;display:flex;position:absolute;top:12px;right:12px}.reset-image-btn:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border)}.download-image-btn{z-index:5;border:1px solid var(--btn-gray-border);background:var(--btn-gray-bg);width:34px;height:34px;color:var(--btn-gray-text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:background .2s,border-color .2s;display:flex;position:relative;top:auto;left:auto;right:auto}.download-image-btn:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border)}.download-menu-wrap{z-index:6;position:absolute;top:12px;right:52px}.icon-tooltip{z-index:10;color:#e5e7eb;white-space:nowrap;pointer-events:none;opacity:0;background:#0f172af2;border-radius:10px;padding:6px 10px;font-size:.75rem;font-weight:600;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px)}.reset-image-btn:hover .icon-tooltip,.download-image-btn:hover .icon-tooltip,.rotate-left-btn:hover:not(:disabled) .icon-tooltip,.rotate-right-btn:hover:not(:disabled) .icon-tooltip,.undo-btn:hover:not(:disabled) .icon-tooltip,.redo-btn:hover:not(:disabled) .icon-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.effects-reset-icon-btn{position:relative}.effects-reset-icon-btn .icon-tooltip{color:#e5e7eb;background:#0f172af2;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.effects-reset-icon-btn:hover .icon-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.effects-reset-row{align-items:center;gap:10px;margin-top:-4px;display:flex}.download-menu{border:1px solid var(--btn-gray-border);background:#fff;border-radius:5px;flex-direction:column;gap:4px;min-width:140px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 1px 3px #00000014}.download-menu-item{appearance:none;font:inherit;text-align:left;color:var(--btn-gray-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:background .2s}.download-menu-item:hover{background:var(--btn-gray-hover-bg)}.effects-reset-icon-btn{border:1px solid var(--btn-gray-border);background:var(--btn-gray-bg);width:34px;height:34px;color:var(--btn-gray-text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:background .2s,border-color .2s;display:flex}.effects-reset-icon-btn:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border)}.btn-row{align-items:center;gap:10px;display:flex}.btn{appearance:none;font:inherit;border:1px solid var(--btn-gray-border);background:var(--btn-gray-bg);color:var(--btn-gray-text);cursor:pointer;border-radius:5px;padding:9px 20px;font-size:.9375rem;font-weight:600;transition:background .2s,border-color .2s,color .2s}.btn:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border);color:var(--btn-gray-text)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.active{background:var(--btn-gray-active-bg);border-color:var(--btn-gray-hover-border);color:#333}.btn-primary{background:var(--accent);border:1px solid var(--accent-hover);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn:focus-visible,.btn-primary:focus-visible{outline:1px solid color-mix(in srgb, var(--focus-ring) 65%, transparent);outline-offset:1px}.btn:focus:not(:focus-visible),.btn-primary:focus:not(:focus-visible){outline:none}.compose-bg-row{align-items:center}.compose-color-input{border:1px solid var(--border);background:var(--input-background);cursor:pointer;border-radius:6px;width:48px;height:32px;padding:2px}.compose-bg-hint{color:var(--text-dim);margin:0;font-size:11px;line-height:1.4}.compose-bg-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:12px;padding:14px 12px}.compose-bg-panel-header{flex-direction:column;gap:4px;margin-bottom:4px;display:flex}.compose-bg-sub{color:var(--text-dim);font-size:12px;line-height:1.35}.compose-bg-custom-row{align-items:center;gap:10px;margin-bottom:4px;display:flex}.compose-bg-hex-input{border:1px solid var(--border);background:var(--input-background);min-width:0;color:var(--text);border-radius:6px;flex:1;padding:6px 10px;font-family:ui-monospace,monospace;font-size:13px}.compose-bg-hex-input::placeholder{color:var(--text-dim)}.compose-bg-swatches-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin-top:8px;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.compose-bg-swatches{grid-template-columns:repeat(8,1fr);gap:6px;margin-bottom:12px;display:grid}.compose-bg-swatch{aspect-ratio:1;border:1px solid var(--border);cursor:pointer;border-radius:4px;width:100%;min-height:0;padding:0;transition:transform .1s,box-shadow .1s}.compose-bg-swatch:hover{box-shadow:0 0 0 2px var(--accent);transform:scale(1.06)}.compose-bg-image-block{flex-direction:column;gap:8px;display:flex}.compose-bg-upload-btn{width:100%}.compose-bg-filename{color:var(--text-dim);word-break:break-all;font-size:12px}.compose-bg-blur{margin-top:4px;margin-bottom:0}.compose-bg-blur-hint{color:var(--text-dim);margin-top:4px;font-size:11px;display:block}@media (width<=900px){.compose-bg-swatches{grid-template-columns:repeat(8,minmax(0,1fr))}.editor-root{flex-direction:column}.editor-sidebar{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:flex-end;width:100%}.sidebar-title{width:100%}.tool-group.actions{flex-flow:wrap;width:100%}.tool-group.actions .btn{flex:auto}.editor-main{padding:20px 16px}}@media (width>=901px){.editor-main{padding:16px clamp(32px,5vw,80px) 18px}}.app-shell{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.app-route-panels,.app-route-panel{flex-direction:column;flex:1;min-height:0;display:flex}.app-route-panel[hidden]{display:none!important}.app-route-panel>.editor-root,.app-route-panel>.batch-page{flex:1;min-height:0}.top-nav{background:var(--nav-surface);z-index:20;border-bottom:1px solid #00000014;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex;position:sticky;top:0}.top-nav-links{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.top-nav-link{color:var(--text);background:var(--brand-tint);border:none;border-radius:4px;padding:12px 16px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color .3s,color .2s,box-shadow .2s}.top-nav-link:hover{background:var(--accent-hover);color:#fff;box-shadow:0 1px 4px #0000001a}.top-nav-link.is-active{background:var(--accent);color:#fff;box-shadow:0 1px 4px #0000001a}.top-nav-link.is-active:hover{background:var(--accent-hover);color:#fff}.top-nav-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (width<=640px){.top-nav{padding:10px 12px}.top-nav-links{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.top-nav-links .top-nav-link:last-child{grid-column:1/-1}.top-nav-link{text-align:center;box-sizing:border-box;padding:10px 12px;font-size:.875rem}}.batch-page{padding:20px}@media (width>=901px){.batch-page{padding:22px clamp(28px,5vw,72px) 26px}}.batch-card{background:var(--card-surface);border:1px solid var(--border);border-radius:var(--radius);max-width:1200px;margin:0 auto;padding:16px}.batch-card>h2{color:var(--heading);letter-spacing:-.02em;margin:0 0 4px;font-family:Libertinus Serif Display,Noto Sans Devanagari,serif;font-size:1.5rem;font-weight:700}.batch-sub{color:var(--text-dim);margin:4px 0 12px}.batch-page-clear-row{margin-bottom:12px}.batch-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}@media (width<=900px){.batch-strip{grid-template-columns:minmax(0,1fr)}.batch-strip .batch-field-output-inline{grid-column:auto}.batch-page,.batch-card{padding:12px}.batch-field-slider-with-apply .toggle-check-btn-below-select,.batch-field-output-inline .batch-output-inline-row .toggle-check-btn-below-select,.batch-field-preset-fit-inline .batch-preset-fit-stack .toggle-check-btn-below-select,.batch-field-position-inline .toggle-check-btn-below-select,.batch-field-background-inline .batch-bg-stack .toggle-check-btn-below-select{justify-content:flex-start;align-self:flex-end}}@media (width<=480px){.batch-field-background-inline .batch-bg-stack{min-width:0}}.batch-field-background-inline .batch-bg-stack{flex-direction:column;align-items:stretch;gap:8px;min-width:0;display:flex}.batch-field-background-inline .batch-bg-stack .toggle-check-btn-below-select{flex-shrink:0;align-self:flex-end}.batch-bg-custom-row{align-items:center;gap:10px;width:100%;min-width:0;display:flex}.batch-bg-swatch-shell{border:1px solid var(--border);background:var(--input-background);box-sizing:border-box;border-radius:8px;flex-shrink:0;padding:4px}.batch-bg-swatch-shell .batch-bg-color-input{border:1px solid var(--btn-gray-border);background:var(--input-background);cursor:pointer;box-sizing:border-box;border-radius:4px;width:44px;height:28px;margin:0;padding:0;display:block}.batch-field-background-inline .batch-bg-hex-input{border:1px solid var(--border);background:var(--input-background);width:auto;min-width:0;height:36px;color:var(--text);box-sizing:border-box;border-radius:999px;flex:1;padding:0 14px;font-family:ui-monospace,monospace;font-size:13px}.batch-field-background-inline .batch-bg-hex-input::placeholder{color:var(--text-dim)}.batch-strip .batch-field-output-inline{grid-column:span 1}.batch-field-output-inline{min-width:0;position:relative}.batch-field-output-inline>label:first-of-type{padding-right:32px}.batch-field-preset-fit-inline .batch-preset-fit-stack{flex-direction:column;align-items:stretch;gap:8px;min-width:0;display:flex}.batch-field-preset-fit-inline .batch-preset-fit-stack .toggle-check-btn-below-select{flex-shrink:0;align-self:flex-end}.batch-field-nested-select{width:100%;min-width:0}.batch-field-slider-with-apply{flex-direction:column;align-items:stretch;gap:8px;min-width:0;display:flex}.batch-field-output-quality-inline{position:relative}.batch-field-output-quality-inline>label:first-of-type{padding-right:32px}.batch-field-slider-with-apply .toggle-check-btn-below-select{flex-shrink:0;align-self:flex-end}.batch-field-output-inline .batch-output-inline-row{flex-direction:column;align-items:stretch;gap:8px;min-width:0;display:flex}.batch-field-output-inline .batch-output-inline-row .toggle-check-btn-below-select{flex-shrink:0;align-self:flex-end}.batch-size-divider{color:var(--text-dim);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 2px}.batch-field-position-inline{position:relative}.batch-field-position-inline>label:first-of-type{padding-right:32px}.batch-position-help-btn{z-index:2;width:26px;height:26px;color:var(--text-dim);cursor:help;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s,border-color .12s;display:flex;position:absolute;top:0;left:auto;right:0}.batch-position-help-btn:hover,.batch-position-help-btn:focus-visible{color:var(--text);background:var(--surface-2);border-color:var(--border)}.batch-position-help-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.batch-position-help-tooltip{z-index:20;color:#0f172a;border:1px solid var(--border);text-align:left;pointer-events:none;opacity:0;background:#fff;border-radius:8px;min-width:200px;max-width:min(280px,70vw);padding:8px 10px;font-size:.75rem;font-weight:500;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:auto;right:0;transform:translateY(4px);box-shadow:0 8px 24px #0f172a1f}.batch-position-help-btn:hover .batch-position-help-tooltip,.batch-position-help-btn:focus-visible .batch-position-help-tooltip{opacity:1;transform:translateY(0)}.batch-field-position-inline .batch-position-stack{flex-direction:column;align-items:stretch;gap:8px;min-width:0;display:flex}.batch-field-position-inline .batch-position-select{border:1px solid var(--border);background:var(--input-background);width:100%;min-width:0;max-width:100%;height:34px;color:var(--text);font:inherit;cursor:pointer;box-sizing:border-box;border-radius:8px;padding:0 10px;font-size:.875rem}.batch-field-position-inline .toggle-check-btn-below-select,.batch-field-enable-watermark .batch-enable-stack .toggle-check-btn-below-select{flex-shrink:0;align-self:flex-end}.toggle-check-btn{border:1px solid var(--btn-gray-border);background:var(--btn-gray-bg);min-height:34px;color:var(--btn-gray-text);font:inherit;cursor:pointer;box-sizing:border-box;border-radius:5px;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.toggle-check-btn:disabled{opacity:.45;cursor:not-allowed}.toggle-check-btn-block{justify-content:flex-start;width:100%}.batch-field .toggle-check-btn-below-select{justify-content:flex-start}.toggle-check-btn:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border);color:var(--btn-gray-text)}.toggle-check-btn.is-on{background:var(--btn-gray-active-bg);border-color:var(--btn-gray-hover-border);color:var(--btn-gray-text)}.toggle-check-btn.is-on .toggle-check-icon{color:var(--accent)}.toggle-check-check{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.toggle-check-icon{flex-shrink:0;display:block}.toggle-check-empty{opacity:.4;border:2px solid;border-radius:3px;width:14px;height:14px;display:block}.batch-field{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.batch-field label{color:var(--text-dim);font-size:.82rem}.batch-field select,.batch-field input[type=number],.batch-field input[type=text]{border:1px solid var(--border);background:var(--input-background);width:100%;height:34px;color:var(--text);border-radius:8px;padding:0 10px}.batch-field-slider label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.batch-slider-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:.82rem;font-weight:600}.batch-field input[type=range]{width:100%;height:28px;accent-color:var(--accent);cursor:pointer}.batch-field input[type=color]{border:1px solid var(--border);background:var(--input-background);border-radius:8px;width:48px;height:34px}.batch-size-pair{align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;display:flex}.batch-size-pair input[type=text]{text-align:right;flex:1;width:0;min-width:0;max-width:100%}.batch-field-enable-watermark{min-width:0}.batch-field-enable-watermark .batch-enable-stack{flex-direction:column;flex:auto;align-items:stretch;gap:8px;min-width:0;display:flex}.batch-field.batch-field-watermark-inline{min-width:0}.batch-field-watermark-inline .batch-watermark-upload-row{flex-flow:row;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.batch-field-watermark-inline .batch-watermark-upload-row .btn{box-sizing:border-box;background:var(--input-background);border:1px solid var(--border);width:auto;min-width:0;max-width:none;height:36px;min-height:36px;color:var(--text);border-radius:8px;flex:1;justify-content:flex-start;align-items:center;padding:5px 10px;font-size:.8125rem;font-weight:600;line-height:1.2;display:inline-flex}.batch-field-watermark-inline .batch-watermark-upload-row .btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--btn-gray-hover-border);color:var(--text)}.batch-field-watermark-inline .batch-watermark-upload-row .btn .watermark-upload-btn-content{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.batch-field-watermark-inline .batch-watermark-upload-row .btn svg{flex-shrink:0;width:15px;height:15px}.batch-field-watermark-inline .batch-watermark-upload-row .btn .watermark-upload-btn-text--stacked{font-size:.68rem;line-height:1.08}.batch-field-watermark-inline .batch-watermark-upload-row .btn .watermark-upload-btn-text:not(.watermark-upload-btn-text--stacked){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.watermark-upload-btn-content.watermark-upload-btn-content--replace-stacked{gap:10px}.watermark-upload-btn-text--stacked{text-align:left;white-space:normal;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;font-size:.72rem;font-weight:600;line-height:1.12;display:flex}.watermark-upload-btn-text--stacked .watermark-upload-btn-line{display:block}.batch-field-watermark-inline .batch-watermark-preview-wrap{flex-shrink:0;align-self:center}.batch-field-watermark-inline .batch-watermark-preview-frame{border-radius:8px;width:72px;height:36px}.watermark-upload-btn-content{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.watermark-replace-icon,.watermark-upload-icon{flex-shrink:0}.btn-upload-inner{justify-content:center;align-items:center;gap:8px;display:inline-flex}.upload-glyph{color:inherit;flex-shrink:0}.crop-apply-icon{color:inherit}.destructive-glyph{color:#ef4444}.batch-watermark-upload-row{flex-flow:row;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.batch-watermark-preview-wrap{box-sizing:border-box;outline:none;flex:none;align-self:center;width:auto;max-width:none;position:relative;overflow:visible}.batch-watermark-preview-frame{background:var(--surface);border:1px solid var(--border);box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;width:80px;height:40px;display:flex;overflow:hidden}.batch-watermark-preview-wrap:focus-visible{box-shadow:0 0 0 2px #2dd4bf73}.batch-watermark-preview-remove{z-index:2;border:1px solid var(--border);width:20px;height:20px;color:var(--text);cursor:pointer;opacity:0;background:#0000001f;border-radius:50%;place-items:center;padding:0;font-size:13px;font-weight:700;line-height:1;transition:opacity .12s,background .15s,border-color .15s;display:grid;position:absolute;top:-7px;right:-7px;box-shadow:0 1px 3px #00000059}.batch-watermark-preview-wrap:hover .batch-watermark-preview-remove,.batch-watermark-preview-remove:focus-visible{opacity:1}.batch-watermark-preview-remove:hover{border-color:var(--text-dim);background:#0003}.batch-watermark-preview{object-fit:contain;object-position:center;box-sizing:border-box;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.batch-tip,.batch-error{margin:8px 0;font-size:.85rem}.batch-tip{background:#4f46e514;border:1px dashed #4f46e5;border-radius:8px;padding:8px 10px}.batch-error{color:#ef4444}.batch-add-images-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.batch-add-images-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:inline-flex}.batch-add-images-cap{color:var(--text-dim);font-size:.8rem}@media (width<=900px){.batch-add-images-actions{width:100%;margin-left:0}}.batch-preview-wrap{background:var(--surface-2);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;min-height:260px;margin-top:8px;padding:12px;display:flex;box-shadow:0 1px 2px #0f172a0d,0 4px 20px #0f172a12,0 12px 48px #0f172a17}.batch-preview-wrap--editing{cursor:default}.batch-preview-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.batch-preview-canvas{cursor:default;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:60vh}.batch-preview-canvas--grab{cursor:grab}.batch-preview-canvas--grabbing{cursor:grabbing}.batch-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}@media (width<=1100px){.batch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.batch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.batch-thumb{border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;border-radius:10px;outline:none;flex-direction:column;padding:8px;transition:border-color .15s;display:flex}.batch-thumb:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px #2dd4bf40}.batch-thumb.active{border-color:var(--accent)}.batch-thumb-preview{z-index:0;isolation:isolate;background:var(--surface);border-radius:8px;position:relative}.batch-thumb-preview-image-wrap{z-index:0;border-radius:8px;position:relative;overflow:hidden}.batch-thumb-preview-image-wrap img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.batch-thumb-download-ui{z-index:5;pointer-events:auto;position:absolute;top:6px;left:6px}.batch-thumb-download{color:#f8fafc;cursor:pointer;background:#0f172ab8;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;transition:background .15s,border-color .15s;display:grid;box-shadow:0 1px 2px #00000059,0 0 0 1px #0000001f}.batch-thumb-download:hover:not(:disabled){background:#0f172ae0;border-color:#ffffff73}.batch-thumb-download:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.batch-thumb-download:disabled{opacity:.72;cursor:not-allowed}.batch-thumb-download-menu{border:1px solid var(--btn-gray-border);background:var(--surface);z-index:30;border-radius:5px;gap:4px;min-width:148px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 1px 3px #00000014}.batch-thumb-download-menu-item{appearance:none;color:var(--btn-gray-text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:5px;padding:8px 12px;font-size:.82rem;font-weight:600;transition:background .2s}.batch-thumb-download-menu-item:hover{background:var(--btn-gray-hover-bg)}.batch-thumb-download-menu-item.active{background:var(--btn-gray-active-bg)}.batch-thumb-meta{min-height:1.2em;margin-top:8px}.batch-thumb-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text);text-align:left;font-size:.78rem;display:block;overflow:hidden}.batch-thumb-remove{z-index:5;color:#f8fafc;cursor:pointer;pointer-events:auto;background:#0f172ab8;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;font-size:14px;font-weight:700;line-height:1;transition:background .15s,border-color .15s;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 1px 2px #00000059,0 0 0 1px #0000001f}.batch-thumb-remove:hover{background:#0f172ae0;border-color:#ffffff73}.batch-thumb-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.batch-footer{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.batch-count-badge{color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;padding:7px 16px;font-size:.82rem;font-weight:600;display:inline-flex}.batch-btn-secondary{appearance:none;font:inherit;border:1px solid var(--btn-gray-border);background:var(--btn-gray-bg);color:var(--btn-gray-text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:9px 20px;font-size:.9375rem;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.batch-btn-secondary-icon{flex-shrink:0}.batch-btn-secondary:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border);color:var(--btn-gray-text)}.batch-btn-secondary:disabled{opacity:.45;cursor:not-allowed}.batch-btn-zip{appearance:none;font:inherit;border:1px solid var(--btn-gray-border);cursor:pointer;background:var(--btn-gray-bg);color:var(--btn-gray-text);border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:9px 20px;font-size:.9375rem;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.batch-btn-zip:hover:not(:disabled){background:var(--btn-gray-hover-bg);border-color:var(--btn-gray-hover-border)}.batch-btn-zip:disabled{opacity:.55;cursor:not-allowed}.batch-btn-zip-icon{flex-shrink:0}.batch-zip-menu-wrap{position:relative}.batch-zip-menu{border:1px solid var(--btn-gray-border);background:var(--surface);z-index:20;border-radius:5px;gap:4px;min-width:170px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 1px 3px #00000014}.batch-zip-menu-item{appearance:none;color:var(--btn-gray-text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:5px;padding:8px 12px;font-size:.88rem;font-weight:600;transition:background .2s}.batch-zip-menu-item:hover{background:var(--btn-gray-hover-bg)}.batch-zip-menu-item.active{background:var(--btn-gray-active-bg)}
