.compression-panel{min-height:100%}.compression-panel .batch-heading{justify-content:space-between;align-items:flex-start;display:flex}.compression-panel .panel-kicker{align-items:center;gap:6px;display:inline-flex}.compression-check{align-items:center;gap:9px;margin:0 0 18px;font-size:12px;display:flex}.compression-check input{accent-color:#2563eb}.compression-selection{color:var(--muted,#68736f);margin:4px 0 20px;font-size:11px}.compression-report{border-top:1px solid var(--line,#dfe3e1);margin-top:20px}.compression-report h3{margin:16px 0 8px;font-size:13px}.compression-result{border-bottom:1px solid var(--line,#dfe3e1);justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-size:11px;display:flex}.compression-result strong,.compression-result small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.compression-result strong{max-width:180px}.compression-result small{color:var(--muted,#68736f);margin-top:3px}.compression-ok,.compression-fail{flex:none;align-items:center;gap:4px;font-size:10px;font-weight:700;display:inline-flex}.compression-ok{color:#23734f}.compression-fail{color:#963c30}.rename-panel{min-height:100%}.rename-panel .batch-heading{justify-content:space-between;align-items:flex-start;display:flex}.rename-number-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.rename-panel code{background:#eef1f4;border-radius:4px;padding:1px 4px;font-size:11px}.rename-preview{border-top:1px solid var(--line,#dfe3e1);margin:4px 0 20px}.rename-preview h3{margin:14px 0 8px;font-size:13px}.rename-preview>div{border-bottom:1px solid var(--line,#dfe3e1);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:7px;padding:8px 0;font-size:10px;display:grid}.rename-preview span,.rename-preview strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rename-preview span,.rename-preview b{color:var(--muted,#68736f)}.workflow-panel{min-height:100%}.workflow-panel .batch-heading{justify-content:space-between;align-items:flex-start;display:flex}.workflow-saved,.workflow-add,.workflow-save{gap:7px;margin-bottom:13px;display:flex}.workflow-saved select,.workflow-add select,.workflow-save input{border:1px solid var(--line,#dfe3e1);background:#f7f8fa;border-radius:8px;flex:1;min-width:0;min-height:42px;padding:0 9px}.workflow-steps{gap:8px;margin-bottom:14px;display:grid}.workflow-step{border:1px solid var(--line,#dfe3e1);background:#fff;border-radius:9px;padding:9px}.workflow-step-heading{justify-content:space-between;align-items:center;font-size:11px;display:flex}.workflow-step-heading span{gap:2px;display:inline-flex}.workflow-step-heading button{background:0 0;border:0;padding:3px}.workflow-step label{color:var(--muted,#68736f);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:10px;display:flex}.workflow-step input,.workflow-step select{border:1px solid var(--line,#dfe3e1);border-radius:6px;width:55%;min-height:30px;padding:0 6px}.workflow-help{color:var(--muted,#68736f);flex-wrap:wrap;align-items:center;gap:4px;margin-top:7px;font-size:9px;display:flex}.workflow-help input{width:48px;min-height:26px}.print-sheet-panel{min-height:100%}.print-sheet-panel .batch-heading{justify-content:space-between;align-items:flex-start;display:flex}.print-preview{background:#edf0f2;border-radius:10px;place-items:center;margin:12px 0;padding:10px;display:grid}.print-page{background:#fff;width:150px;height:212px;position:relative;box-shadow:0 2px 8px #17202a2b}.print-page.landscape{width:212px;height:150px}.print-page>strong{z-index:1;text-overflow:ellipsis;white-space:nowrap;height:10px;font-size:6px;position:absolute;overflow:hidden}.print-thumb{border:1px solid #e0e4e6;flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:absolute;overflow:hidden}.print-thumb img{object-fit:contain;width:100%;height:calc(100% - 12px)}.print-thumb small{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:5px;line-height:12px;display:block;overflow:hidden}.print-pagination{justify-content:space-between;align-items:center;gap:6px;margin-bottom:16px;font-size:11px;display:flex}.print-number-grid{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.print-number-grid .text-field{margin-bottom:14px}.print-check{align-items:center;gap:8px;margin:0 0 16px;font-size:12px;display:flex}:root{color:#20242c;font-synthesis:none;--paper:#eef1f4;--paper-bright:#fff;--ink:#20242c;--muted:#596273;--green:#dc2635;--green-dark:#bd1726;--coral:#2563eb;--line:#dce1e8;--focus:#2563eb;--shadow:0 24px 60px -24px #0f172a52, 0 8px 20px -12px #0f172a2e;background:#eef1f4;font-family:Segoe UI Variable,Aptos,Segoe UI,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}.canvas-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.canvas-panel fieldset{border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:10px}.canvas-panel legend{font-size:12px;font-weight:650}.canvas-alignment-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.canvas-alignment-grid button{border:1px solid var(--line);background:#fff;border-radius:6px;min-height:38px}.canvas-alignment-grid button.active{color:var(--green-dark);border-color:var(--green);background:#fff1f2}.canvas-background-options{gap:8px;font-size:13px;display:grid}.annotation-tools{flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.annotation-tools .toolbar-button{min-height:38px;padding:0 10px}.annotation-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;display:grid}.annotation-fields .text-field{min-width:0}.canvas-wrap:has(.before-after){border:0;width:100%;max-width:800px}.before-after{width:100%;min-width:0}.before-after-labels,.before-after-slider{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:12px;display:flex}.before-after-stage{height:min(50dvh,480px)}.before-after-slider input[type=range]{flex:1;min-width:0;height:44px;min-height:44px;margin:0}.before-after-meta{color:var(--muted);font-size:12px;line-height:1.7}.gallery-side-panel .error-message{margin-top:12px;position:static}.gallery-notice{flex:none;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;display:flex;position:static}.gallery-notice .icon-button{flex:none;width:30px;height:30px}@media (width<=700px){.gallery-shell .brand-copy,.home-shell .privacy-label{display:none}.gallery-shell .site-header{gap:6px;padding-inline:10px}.gallery-shell .gallery-header-actions .toolbar-button{width:38px;min-width:38px}.gallery-header-actions .header-action-group{gap:2px}}.batch-dialog{border:1px solid var(--line);width:min(520px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:24px;overflow-y:auto}.batch-dialog::backdrop{background:#20242c75}.batch-heading{justify-content:space-between;gap:16px;margin-bottom:24px;display:flex}.batch-heading h2{margin:0 0 6px;font-size:22px}.batch-heading p,.batch-hint{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.batch-heading .icon-button{flex:0 0 44px;height:44px}.batch-fields{border:0;min-width:0;margin:0;padding:0}.batch-fields .panel-header,.batch-fields .estimated-size{display:none}.batch-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:24px;display:flex}.batch-footer>span{width:100%;color:var(--muted);margin-bottom:8px;font-size:12px}.batch-footer .primary-button{margin:0}.batch-footer .toolbar-button{width:auto;min-height:44px;padding:0 14px;font-size:12px}html{scroll-behavior:smooth}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--paper);min-width:320px;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit;text-underline-offset:4px}::selection{color:#172554;background:#dbeafe}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:3px solid var(--paper);background:#aeb7c3;border-radius:999px}::-webkit-scrollbar-track{background:var(--paper)}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.home-shell{background:var(--paper);flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.site-header,.editor-header{border-bottom:1px solid var(--line);align-items:center;height:82px;display:flex}.site-header{background:#fff;flex:none;justify-content:space-between;height:66px;padding:0 12px;box-shadow:0 1px 2px #0f172a0f,0 2px 6px #0f172a08}.brand-mark{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.brand-icon{color:#fff;background:var(--green);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 6px 14px -7px #dc2635bf}.brand-icon svg{stroke-width:2px;width:21px;height:21px}.brand-copy{flex-direction:column;line-height:1.12;display:flex}.brand-copy strong{color:var(--ink);letter-spacing:-.025em;font-size:18px;font-weight:740}.brand-copy small{color:var(--muted);margin-top:3px;font-size:10px}.home-actions{align-items:center;gap:10px;display:flex}.privacy-label,.local-chip{color:#445065;align-items:center;gap:7px;display:inline-flex}.privacy-label{padding:0 10px;font-size:12px;font-weight:600}.toolbar-button{min-height:42px;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:650;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.toolbar-button:hover{color:var(--ink);background:#f7f8fa;border-color:#c8d0da}.toolbar-button svg{width:18px}.empty-workspace{flex:1;min-height:0;padding:32px}.workspace-dropzone{background:#ffffffb8;border:1px dashed #c8d0da;border-radius:16px;place-items:center;width:100%;height:100%;min-height:440px;transition:border-color .18s,background .18s;display:grid;position:relative}.workspace-dropzone:has(.is-dragging){border-color:var(--green);background:snow}.workspace-dropzone .upload-zone{width:100%;min-height:100%;position:absolute;inset:0}h1,h2,p{margin-top:0}.upload-zone{z-index:1;text-align:center;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;width:min(560px,90%);min-height:340px;padding:36px;transition:transform .18s;display:flex;position:relative}.upload-zone.is-dragging{transform:scale(1.015)}.upload-icon{width:68px;height:68px;color:var(--green);border:1px solid var(--line);background:#fff;border-radius:16px;place-items:center;margin-bottom:24px;display:grid;box-shadow:0 6px 18px -8px #0f172a2e,0 2px 5px #0f172a0d}.upload-title{letter-spacing:-.025em;margin-bottom:4px;font-size:24px;font-weight:740}.upload-copy{color:var(--muted);margin-bottom:0;font-size:15px}.primary-button,.export-button{color:#fff;background:var(--green);border:0;border-radius:10px;min-height:44px;font-weight:720;transition:background .16s,transform .16s,box-shadow .16s;box-shadow:0 8px 18px -10px #dc2635e6}.primary-button{margin-top:22px;padding:0 22px}.primary-button:hover,.export-button:hover{background:var(--green-dark);transform:translateY(-1px);box-shadow:0 10px 22px -10px #dc2635f2}.format-note{color:#7b837e;margin:16px 0 0;font-size:12px}.error-message{color:#9f1723;background:#fff0f1;border-radius:10px;margin:0;padding:10px 14px;font-size:12px;font-weight:700;position:absolute;bottom:22px}.welcome-dialog{width:min(512px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:var(--shadow);background:#fff;border:0;border-radius:18px;padding:34px 32px 24px;overflow-y:auto}.welcome-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#20242c75}.welcome-heading{align-items:center;gap:14px;margin-bottom:16px;display:flex}.welcome-heading h2{letter-spacing:-.025em;margin:0;font-size:24px;line-height:1.25}.welcome-dialog>p{max-width:48ch;color:var(--muted);margin-bottom:24px;font-size:14px;line-height:1.7}.welcome-features{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.welcome-features div{background:#f7f8fa;border-radius:12px;align-items:flex-start;gap:12px;min-height:76px;padding:14px;display:flex}.welcome-features div:last-child{grid-column:1/-1;min-height:56px}.welcome-features svg{width:18px;color:var(--green);flex:none}.welcome-features strong{color:#3d4759;font-size:13px;line-height:1.45}.welcome-preference{border-top:1px solid var(--line);min-height:62px;color:var(--muted);align-items:center;gap:10px;margin-top:22px;padding-top:18px;font-size:13px;display:flex}.welcome-preference input{width:18px;height:18px;accent-color:var(--green)}.welcome-actions{justify-content:flex-end;padding-top:10px;display:flex}.welcome-actions .primary-button{min-width:92px;margin-top:0}.gallery-shell{background:var(--paper);flex-direction:column;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.gallery-header-actions{align-items:center;gap:10px;display:flex}.header-action-group{border:1px solid var(--line);background:#f7f8fa;border-radius:12px;align-items:center;gap:4px;padding:3px;display:flex}.header-action-group .toolbar-button{box-shadow:none;border-color:#0000}.gallery-header-actions svg{width:18px}.gallery-workspace{flex-direction:column;flex:1;min-height:0;padding:22px 32px 32px;display:flex;position:relative;overflow:hidden}.gallery-toolbar{flex:none;height:0;margin:0;display:block}.gallery-toolbar h1{display:none}.gallery-toolbar p{color:var(--muted);margin:0;font-size:12px}.preview-zoom{border:1px solid var(--line);background:#fff;border-radius:12px;flex:none;align-items:center;gap:2px;padding:3px;display:flex}.preview-zoom button{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.preview-zoom button:hover:not(:disabled){color:#1d4ed8;background:#eff6ff}.preview-zoom svg{width:19px;height:19px}.preview-zoom-value{font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.gallery-toolbar .preview-zoom{z-index:7;flex-direction:column;gap:4px;padding:4px;position:absolute;top:50%;right:314px;transform:translateY(-50%);box-shadow:0 6px 18px -8px #0f172a3d}.gallery-toolbar .preview-zoom button{border:1px solid var(--line);width:40px;height:40px}.gallery-workspace .image-grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, calc(var(--preview-base,180px) * var(--preview-scale,1))), 1fr))}.gallery-content-layout{flex:1;grid-template-columns:minmax(0,1fr) 300px;gap:14px;min-height:0;display:grid;overflow:hidden}.image-grid{border:1px solid var(--line);overscroll-behavior:contain;background:#ffffffb3;border-radius:16px;flex:1;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-rows:max-content;align-content:start;gap:14px;min-width:0;min-height:0;padding:16px 16px 94px;display:grid;overflow:auto}.gallery-side-panel{border:1px solid var(--line);background:var(--paper-bright);overscroll-behavior:contain;border-radius:14px;min-width:0;min-height:0;padding:20px 18px 86px;overflow-y:auto;box-shadow:0 1px 2px #0f172a0a}.gallery-side-panel .batch-panel,.gallery-side-panel .metadata-panel{min-width:0}.gallery-side-panel .batch-heading{margin-bottom:20px}.gallery-side-panel .batch-heading h2,.gallery-side-panel .metadata-panel h2{overflow-wrap:anywhere}.gallery-side-panel .batch-footer{justify-content:stretch}.gallery-side-panel .batch-footer .toolbar-button,.gallery-side-panel .batch-footer .primary-button{flex:1 1 0}.gallery-side-panel .batch-footer>span{order:-1}.metadata-panel .panel-kicker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:750}.metadata-panel h2{margin:0 0 20px;font-size:16px;line-height:1.35}.metadata-panel dl{border-top:1px solid var(--line);margin:0}.metadata-panel dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:13px 0;display:flex}.metadata-panel dt{color:var(--muted);font-size:11px}.metadata-panel dd{color:var(--ink);text-align:right;overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:700}.batch-panel-empty{min-height:150px;color:var(--muted);text-align:center;background:#f7f8fa;border-radius:10px;place-items:center;padding:18px;font-size:12px;line-height:1.5;display:grid}.image-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;min-width:0;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px -5px #0f172a26}.image-card:hover{border-color:#aeb7c3;transform:translateY(-1px);box-shadow:0 6px 18px -8px #0f172a33}.image-card.selected{border-color:#2563eb;box-shadow:0 0 0 2px #bfdbfe,0 6px 18px -8px #2563eb40}.image-card-select{text-align:left;background:0 0;border:0;flex-direction:column;width:100%;min-width:0;padding:7px;display:flex}.image-thumb{aspect-ratio:4/3;background:#fff;border-radius:8px;place-items:center;width:100%;display:grid;overflow:hidden}.image-thumb img{object-fit:contain;background:#fff;border:1px solid #c8d0da;width:auto;min-width:0;max-width:100%;height:auto;min-height:0;max-height:100%}.selection-order{color:#fff;font-variant-numeric:tabular-nums;background:#2563eb;border:2px solid #fff;border-radius:999px;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:11px;font-weight:800;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 2px 6px #0f172a2e}.selection-order:empty{background:#fff;box-shadow:inset 0 0 0 1px #c8d0da,0 1px 3px #0f172a1f}.image-card-actions{flex-direction:column;gap:4px;display:flex;position:absolute;top:12px;right:12px}.image-card-action{color:#485163;border:1px solid var(--line);background:#fff;border-radius:9px;place-items:center;width:44px;height:44px;padding:0;display:grid}.image-card-action:hover:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.image-card-action svg{width:16px}.comparison-dialog{border:1px solid var(--line);width:min(1100px,100vw - 24px);max-width:none;height:min(900px,100dvh - 24px);max-height:none;color:var(--ink);background:#fff;border-radius:14px;padding:0;overflow:hidden}.comparison-dialog::backdrop{background:#20242c75}.comparison-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px;display:flex}.comparison-header h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:16px;overflow:hidden}.comparison-header>button,.comparison-header .header-action-group{flex-shrink:0}.comparison-content{height:calc(100% - 78px);padding:16px;overflow:auto}.comparison-content .before-after-stage{height:min(62dvh,620px)}@media (width<=600px){.comparison-header{flex-wrap:wrap}.comparison-header h2{flex-basis:calc(100% - 60px);order:0}.comparison-header>button{order:1}.comparison-header .header-action-group{order:2;margin-inline:auto}.comparison-content{height:calc(100% - 132px);padding:10px}.comparison-content .before-after-stage{height:44dvh}}.image-card-meta{grid-template-columns:1fr auto;align-items:center;gap:8px;min-width:0;padding:11px 4px 3px;display:grid}.image-card-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.image-card-meta small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.add-image-card{min-height:190px;color:var(--muted);box-shadow:none;text-align:center;border-style:dashed;justify-content:center;align-items:center;gap:8px;padding:16px}.add-image-card svg{width:28px;height:28px;color:var(--green);margin-bottom:4px}.add-image-card small{font-size:10px;font-weight:500}.selection-toolbar-dock{z-index:8;border:1px solid var(--line);background:#fffffff7;border-radius:14px;align-items:center;gap:6px;min-width:0;max-width:calc(100% - 338px);padding:6px;display:flex;position:absolute;bottom:12px;right:calc(50% + 157px);transform:translate(50%);box-shadow:0 18px 38px -18px #0f172a6b,0 5px 14px -8px #0f172a3d}.selection-toolbar-count{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;flex:none;align-items:center;gap:6px;height:44px;padding:0 12px;font-size:12px;font-weight:650;display:inline-flex}.selection-toolbar-count strong{font-variant-numeric:tabular-nums}.selection-toolbar-actions{overscroll-behavior-inline:contain;scrollbar-width:thin;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.selection-action-button{color:#485163;border:1px solid var(--line);background:#fff;border-radius:10px;flex:none;place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.selection-action-button:hover:not(:disabled){color:var(--ink);background:#f7f8fa;border-color:#c8d0da}.selection-action-button-danger{color:var(--green)}.selection-action-button-danger:hover:not(:disabled){color:var(--green-dark);background:#fff1f2;border-color:#fecdd3}.selection-action-button svg{width:17px}.editor-shell{background:var(--paper);flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.editor-header{z-index:5;background:var(--paper-bright);gap:10px;height:66px;padding:0 12px;position:relative;box-shadow:0 1px 2px #0f172a0f,0 2px 6px #0f172a08}.editor-header .brand-mark{margin-right:12px}.icon-button{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;width:42px;height:42px;padding:0;display:inline-grid}.icon-button:hover:not(:disabled){background:#f7f8fa;border-color:#c8d0da}.icon-button svg{width:19px}.history-controls{margin-left:auto;display:flex}.local-chip{border:1px solid var(--line);background:#f7f8fa;border-radius:999px;margin:0 8px;padding:8px 12px;font-size:11px;font-weight:650}.export-button{align-items:center;gap:9px;min-height:42px;padding:0 16px;display:inline-flex}.editor-layout{flex:1;grid-template-columns:88px minmax(0,1fr) 330px;gap:12px;min-height:0;padding:12px;display:grid;overflow:hidden}.tool-rail{border:1px solid var(--line);background:var(--paper-bright);border-radius:14px;padding:8px;overflow-y:auto;box-shadow:0 1px 2px #0f172a0a}.tool-rail button{width:100%;min-height:68px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 3px;font-size:10px;font-weight:700;display:flex}.tool-rail button svg{width:21px}.tool-rail button:hover{color:#1d4ed8;background:#f1f5ff}.tool-rail button.active{color:#1d4ed8;background:#dbeafe;box-shadow:inset 0 0 0 1px #bfdbfe}.canvas-workspace{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-rows:42px 42px minmax(330px,1fr) 92px;min-width:0;padding:0 16px;display:grid;position:relative;overflow:hidden}.workspace-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;font-size:12px;display:flex}.workspace-meta span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;min-width:0;display:inline-flex;overflow:hidden}.process-trail{color:var(--muted);border-top:1px solid var(--line);background:#f7f8fa;justify-content:center;align-items:center;gap:14px;margin:0 -16px;padding:0 20px;display:flex}.process-trail span{white-space:nowrap;align-items:baseline;gap:7px;display:inline-flex}.process-trail small{color:#7a837e;text-transform:uppercase;letter-spacing:.06em;font-size:9px}.process-trail strong{font-size:11px;font-weight:760}.process-trail i{color:#9aa19d;font-style:normal}.process-trail .status-ready strong,.process-trail .status-success strong{color:#1d4ed8}.process-trail .status-processing strong{color:#8a5914}.process-trail .status-error strong{color:#963c30}.canvas-stage{background-color:#e8ecf1;background-image:linear-gradient(45deg,#dfe4ea 25%,#0000 25%),linear-gradient(-45deg,#dfe4ea 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#dfe4ea 75%),linear-gradient(-45deg,#0000 75%,#dfe4ea 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;border-radius:12px;place-items:center;min-height:0;padding:25px;display:grid;overflow:hidden}.canvas-wrap{-webkit-user-select:none;user-select:none;border-radius:8px;max-width:100%;max-height:100%;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 6px 18px -8px #0f172a47,0 2px 5px #0f172a14}.canvas-stage{background:#fff}.canvas-wrap{box-shadow:none;border:1px solid #c8d0da;border-radius:0}.canvas-wrap canvas{object-fit:contain;background:#fff;max-width:100%;max-height:calc(100vh - 260px);display:block}.privacy-active .canvas-wrap{cursor:crosshair}.drawing-area{pointer-events:none;background:#2563eb38;border:2px solid #fff;outline:2px solid #2563eb;position:absolute}.file-strip{align-items:center;gap:9px;padding:12px 0 14px;display:flex;overflow-x:auto}.file-strip>div{border:1px solid var(--line);background:#f7f8fa;border-radius:10px;align-items:center;min-width:150px;max-width:190px;display:flex;position:relative;overflow:hidden}.file-strip>div.active{background:#eff6ff;border-color:#2563eb;box-shadow:inset 0 0 0 1px #bfdbfe}.file-strip>div>button:first-child{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:9px;min-width:0;min-height:54px;padding:6px 30px 6px 6px;display:flex}.file-strip img{object-fit:cover;width:42px;height:42px}.file-strip span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.remove-file{background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:5px;right:0}.remove-file svg{width:14px}.add-file{min-width:90px;min-height:54px;color:var(--muted);background:#fff;border:1px dashed #c8d0da;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.settings-panel{border:1px solid var(--line);background:var(--paper-bright);border-radius:14px;min-height:0;padding:24px 22px 20px;overflow-y:auto;box-shadow:0 1px 2px #0f172a0a}.panel-content{animation:.26s cubic-bezier(.16,1,.3,1) panel-reveal}@keyframes panel-reveal{0%{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel-header{margin-bottom:30px}.panel-header h2{letter-spacing:-.025em;margin-bottom:7px;font-size:22px;font-weight:740;line-height:1.25}.panel-header p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.range-control{margin-bottom:22px;display:block}.range-control>span{justify-content:space-between;margin-bottom:10px;font-size:12px;display:flex}.range-control output{color:var(--muted);font-variant-numeric:tabular-nums}input[type=range]{accent-color:#2563eb;width:100%;height:44px;margin:-16px 0}.preset-grid,.ratio-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.preset-grid button,.ratio-grid button{border:1px solid var(--line);background:#f7f8fa;border-radius:10px;min-height:46px;font-size:12px;font-weight:700}.preset-grid button.active,.ratio-grid button:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.dimension-row{grid-template-columns:1fr 44px 1fr;align-items:end;gap:7px;margin-bottom:24px;display:grid}.number-field>span,.text-field>span,.select-field>span{margin-bottom:8px;font-size:12px;font-weight:700;display:block}.number-field>div{border:1px solid var(--line);background:#f7f8fa;border-radius:10px;align-items:center;min-height:46px;display:flex}.number-field input{font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0 3px 0 10px;font-size:13px}.number-field>div span{color:#89908c;padding-right:8px;font-size:10px}.lock-button{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;width:44px;height:46px;display:grid}.lock-button.active{color:#fff;background:#2563eb;border-color:#2563eb}.quick-size-list{border-top:1px solid var(--line)}.quick-size-list button{border:0;border-bottom:1px solid var(--line);background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:62px;padding:0 3px;font-size:12px;display:flex}.quick-size-list button:hover{color:#1d4ed8}.quick-size-list button span{color:var(--muted);font-variant-numeric:tabular-nums}.ratio-grid{margin-bottom:28px}.large-action-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.large-action-grid button{border:1px solid var(--line);background:#f7f8fa;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:96px;font-size:12px;font-weight:700;display:flex}.large-action-grid button:hover,.large-action-grid button.active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.privacy-help{color:#1e40af;background:#eff6ff;border-radius:12px;gap:15px;padding:18px;display:flex}.privacy-help>svg{flex:none}.privacy-help p{margin:0}.privacy-help strong,.privacy-help span{display:block}.privacy-help strong{margin-bottom:6px;font-size:13px}.privacy-help span{color:#52627a;font-size:11px;line-height:1.5}.new-area-button{color:#fff;background:#2563eb;border:0;border-radius:10px;width:100%;min-height:46px;margin-top:12px;font-size:12px;font-weight:720}.privacy-area-tabs{gap:6px;margin-top:18px;padding-bottom:5px;display:flex;overflow-x:auto}.privacy-area-tabs button{border:1px solid var(--line);background:#f7f8fa;border-radius:10px;min-width:70px;min-height:44px;padding:0 11px;font-size:11px;font-weight:700}.privacy-area-tabs button.active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.area-controls{border:1px solid var(--line);border-radius:12px;margin:16px 0 0;padding:16px 12px 0}.area-controls legend{color:#535e58;padding:0 6px;font-size:10px;font-weight:700}.area-count{justify-content:space-between;align-items:center;margin-top:20px;font-size:12px;display:flex}.area-count button{color:#963c30;background:0 0;border:0;align-items:center;gap:6px;min-height:44px;padding:0 7px;font-size:11px;font-weight:720;display:inline-flex}.text-field,.select-field{margin-bottom:22px;display:block}.text-field input,.select-field select{width:100%;min-height:48px;color:var(--ink);border:1px solid var(--line);background:#f7f8fa;border-radius:10px;padding:0 12px}.select-field{position:relative}.select-field select{appearance:none}.select-field svg{pointer-events:none;width:18px;position:absolute;bottom:13px;right:11px}.format-options{border:0;margin:0 0 25px;padding:0}.format-options legend{margin-bottom:10px;font-size:12px;font-weight:700}.format-options label{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:18px 1fr 22px;align-items:center;gap:10px;min-height:66px;margin-bottom:8px;padding:10px;display:grid}.format-options label:last-child{border-bottom:1px solid var(--line)}.format-options label.active{background:#eff6ff;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #bfdbfe}.format-options input{accent-color:var(--green)}.format-options strong,.format-options small{display:block}.format-options strong{margin-bottom:3px;font-size:12px}.format-options small{color:var(--muted);font-size:10px}.format-options svg{color:#2563eb;opacity:0}.format-options label.active svg{opacity:1}.estimated-size{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:16px 0;font-size:12px;display:flex}.estimated-size strong{color:#1d4ed8;font-variant-numeric:tabular-nums;font-size:18px}.reset-button{border:1px solid var(--line);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:32px;font-size:12px;font-weight:700;display:inline-flex}.reset-button:hover{background:#f7f8fa}.workspace-error{z-index:3;color:#7f2f27;background:#fff0ea;border:1px solid #e2a796;width:min(520px,100% - 40px);padding:16px 18px;font-size:13px;font-weight:680;position:absolute;top:98px;left:50%;transform:translate(-50%)}.export-feedback{z-index:10;color:#fff;max-width:360px;min-height:0;box-shadow:var(--shadow);background:#1d4ed8;border-radius:10px;align-items:center;gap:9px;padding:0;font-size:12px;font-weight:720;display:flex;position:fixed;bottom:22px;right:22px}.export-feedback:not(:empty){min-height:48px;padding:10px 16px}@media (width<=1050px){.editor-layout{grid-template-columns:80px minmax(0,1fr) 300px}.canvas-workspace{padding:0 14px}.process-trail{margin-inline:-14px}}@media (width<=780px){.site-header{height:64px;padding:0 8px}.site-header .brand-copy small,.privacy-label{display:none}.site-header .brand-copy strong{font-size:16px}.toolbar-button{justify-content:center;width:44px;min-height:44px;padding:0;font-size:0}.empty-workspace{padding:12px}.workspace-dropzone{border-radius:14px;min-height:360px}.upload-zone{min-height:320px;padding:20px 8px}.upload-title{font-size:20px}.upload-copy{font-size:13px}.welcome-dialog{padding:28px 24px 20px}.welcome-heading{align-items:flex-start}.welcome-heading h2{font-size:21px}.welcome-features{grid-template-columns:1fr}.welcome-features div,.welcome-features div:last-child{grid-column:auto;align-items:center;min-height:62px}.welcome-actions .primary-button{width:100%}.gallery-header-actions{gap:6px}.gallery-header-actions .toolbar-button{justify-content:center;width:44px;padding:0;font-size:0}.gallery-workspace{padding:14px 10px 10px}.gallery-toolbar{margin:0}.gallery-content-layout{overscroll-behavior:contain;flex-direction:column;gap:10px;display:flex;overflow-y:auto}.gallery-content-layout .image-grid{flex:1 1 0;min-height:260px}.gallery-side-panel{border-radius:12px;flex:none;max-height:min(42dvh,360px);padding:16px 14px 88px}.gallery-side-panel .batch-heading{gap:10px;margin-bottom:16px}.gallery-side-panel .batch-heading h2{font-size:18px}.gallery-toolbar p{font-size:11px}.image-grid{--preview-base:140px;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 10px 88px}.image-card{border-radius:10px}.image-card-select{padding:6px}.image-card-meta{padding-top:8px;display:block}.image-card-meta strong,.image-card-meta small{display:block}.image-card-meta small{margin-top:3px}.selection-order{top:10px;left:10px}.image-card-actions{top:10px;right:10px}.add-image-card{min-height:170px}.selection-toolbar-dock{right:8px;bottom:max(8px, env(safe-area-inset-bottom));gap:4px;max-width:none;left:8px;transform:none}.selection-toolbar-count{flex-direction:column;justify-content:center;gap:0;height:44px;padding:0 7px;font-size:11px;line-height:1.1}.selection-toolbar-actions{flex:auto;gap:2px}.editor-header{padding:0 10px}.editor-header .icon-button{width:44px;height:44px}.editor-header .brand-copy,.local-chip{display:none}.editor-header .brand-mark{margin-right:0}.history-controls{margin-left:auto}.editor-layout{overscroll-behavior:contain;flex-direction:column;gap:10px;padding:10px;display:flex;overflow-y:auto}.tool-rail{z-index:4;flex:none;order:1;min-height:70px;padding:5px 7px;display:flex;position:sticky;top:0;overflow:auto hidden}.tool-rail button{flex:0 0 66px;min-height:58px}.canvas-workspace{border-radius:12px;order:2;grid-template-rows:38px 58px 330px 74px;min-height:510px;padding:0 12px}.process-trail{justify-content:flex-start;gap:7px;margin:0 -12px;padding:0 8px;overflow-x:auto}.process-trail span{min-width:max-content;display:block}.process-trail small,.process-trail strong{display:block}.process-trail strong{margin-top:2px;font-size:10px}.canvas-stage{padding:14px}.canvas-wrap canvas{max-height:300px}.file-strip{padding:9px 0}.file-strip>div{min-width:125px}.settings-panel{border-radius:12px;order:3;min-height:430px;padding:26px 20px 90px}.export-button{padding:0 13px}.export-feedback{max-width:none;bottom:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.individual-editor{max-width:none;max-height:none;color:var(--ink);border:0;margin:0;padding:0;position:fixed;inset:0}.individual-editor .editor-header{flex:0 0 66px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;display:grid}.individual-editor .editor-header h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.editor-navigation span{font-variant-numeric:tabular-nums;padding:0 6px;font-size:12px}.editor-completion{justify-self:end}.save-image-button{place-items:center;width:44px;height:44px;margin:0;padding:0;display:grid}.save-image-button svg{width:19px}.individual-editor .editor-layout{grid-template-columns:58px minmax(0,1fr) 290px}.individual-editor .tool-rail{border-radius:10px;align-self:start;max-height:100%;padding:5px;overflow-y:auto}.individual-editor .tool-rail button{border:1px solid var(--line);border-radius:8px;width:44px;min-height:44px;margin-bottom:4px;padding:0}.individual-editor .tool-rail button.active{color:#fff;background:#2563eb}.individual-editor .tool-rail svg{width:18px}.individual-editor .canvas-workspace{grid-template-rows:38px minmax(0,1fr);padding-bottom:12px}.individual-editor .process-trail,.individual-editor .file-strip{display:none}@media (width<=780px){.gallery-toolbar .preview-zoom{top:140px;bottom:auto;right:12px;transform:none}.gallery-toolbar .preview-zoom button{width:44px;height:44px}.individual-editor .editor-header{grid-template-columns:minmax(0,1fr) auto}.individual-editor .editor-header h2{font-size:12px}.individual-editor .editor-navigation{z-index:10;box-shadow:var(--shadow);background:#fff;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.individual-editor .editor-layout{padding-left:70px}.individual-editor .tool-rail{flex-direction:column;min-height:0;max-height:calc(100dvh - 160px);display:flex;position:fixed;top:76px;left:8px;overflow-y:auto}.individual-editor .tool-rail button{flex:0 0 44px}.individual-editor .canvas-workspace{grid-template-rows:38px minmax(0,1fr);min-height:400px}.individual-editor .settings-panel{padding:18px 12px 90px}}
