:root{--bg: #f3efe7;--surface-recessed: #f7f3ec;--surface: #faf8f3;--panel: #ffffff;--panel-head: var(--surface);--hover: var(--bg);--image-mat: #e6ddd0;--ink: #2b2620;--muted: #877f72;--accent: #7b5230;--accent-ink: #f6efe2;--border: #e3ddd1;--error: #b3261e;--radius: 6px;--shadow: none;--app-header-height: 56px;--panel-gap: 20px;--font-ui: "Fraunces", Georgia, "Times New Roman", serif;--font-brand: "Pinyon Script", "Segoe Script", cursive}*{box-sizing:border-box}html,body,#root{height:100%;max-width:100%;overflow-x:hidden}html{touch-action:manipulation}html,body{overscroll-behavior:none}body{margin:0;font-family:var(--font-ui);font-weight:500;font-optical-sizing:auto;background:var(--bg);color:var(--ink)}h1,h2,h3,h4,h5,h6,button,label,select,input,textarea{font-family:inherit}.app{width:100%;max-width:100%;min-width:0;margin:0;padding:0;box-sizing:border-box;min-height:100dvh;display:flex;flex-direction:column}.app:has(.workbench-page){height:100dvh;max-height:100dvh;overflow:hidden}.app:has(.workbench-page) .app-main{overflow:hidden;gap:var(--panel-gap)}.app-header{position:sticky;top:0;z-index:50;flex:0 0 var(--app-header-height);height:var(--app-header-height);background:var(--panel);border:none;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none;padding:0 20px;margin:0;display:flex;align-items:center}.app-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;width:100%;max-width:100%;min-width:0}.app-header-brand{display:flex;align-items:center;text-decoration:none;color:inherit;justify-self:start}.brand-name{font-family:var(--font-brand);font-weight:400;letter-spacing:.02em;line-height:1;text-rendering:optimizeLegibility}.app-header-name{font-size:28px;letter-spacing:.01em;color:var(--accent);text-shadow:none}.app-header-nav{display:flex;align-items:center;gap:6px;justify-content:center;justify-self:center;min-width:0}.app-header-nav>nav{display:flex;align-items:center;gap:6px}.app-header-slot-center{display:flex;align-items:center;justify-content:center;min-width:0}.app-header-slot-center[hidden]{display:none}.app-header-slot-actions{display:flex;align-items:center;gap:8px}.app-header .app-header-switchers{justify-content:center;max-width:min(720px,70vw)}.app-header .app-header-switchers .project-switcher-trigger{font-size:18px}.app-header-user{display:flex;align-items:center;gap:10px;justify-self:end}.user-avatar-btn{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--accent);color:var(--accent-ink);font:inherit;font-size:13px;font-weight:600;line-height:1;letter-spacing:.02em;cursor:pointer;transition:border-color .12s ease,opacity .12s ease}.user-avatar-btn:hover{opacity:.9;border-color:var(--accent)}.app-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--panel-gap);align-items:stretch;width:100%;background:var(--bg)}.app-main>*{width:100%;max-width:100%;min-width:0}.app-main>.workbench-page{flex:1 1 auto;min-height:0;height:100%}.workbench-page{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;overflow:hidden}.workbench-page>.workspace-shell{flex:1 1 auto;min-height:0;height:100%}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 20px;margin:0;background:var(--panel);border:none}.screen-header-title{margin:0;font-size:26px;font-weight:600;letter-spacing:.01em}.screen-header-subtitle{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.screen-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.screen-header.is-centered{flex-direction:column;align-items:center;text-align:center}.screen-header.is-centered .screen-header-main{width:100%}.header-switcher-group{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0}.header-switcher-separator{color:var(--muted);font-size:22px;font-weight:400;line-height:1;-webkit-user-select:none;user-select:none}.project-title-display{display:inline-flex;align-items:center;gap:8px;min-width:0}.project-title-edit-btn{display:grid;place-items:center;flex:none;width:32px;height:32px;margin:0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.project-title-display:hover .project-title-edit-btn,.project-title-display:focus-within .project-title-edit-btn,.project-title-edit-btn:focus-visible{opacity:1}.project-title-edit-btn:hover,.project-title-edit-btn:focus-visible{color:var(--ink);background:var(--hover)}.project-title-edit{display:inline-flex;align-items:center;gap:8px;min-width:0;margin:0}.project-title-edit-prefix{flex:none;font-size:26px;font-weight:600;letter-spacing:.01em;line-height:1.2;color:inherit;white-space:nowrap}.project-title-edit-input{min-width:120px;width:min(320px,40vw);margin:0;padding:4px 10px;border:1px solid var(--accent, #6366f1);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-size:22px;font-weight:600;letter-spacing:.01em;line-height:1.2}.project-title-edit-actions{display:inline-flex;align-items:center;gap:6px;flex:none}.project-switcher{position:relative}.project-switcher .screen-header-title{margin:0}.project-switcher-trigger{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-size:26px;font-weight:600;letter-spacing:.01em;line-height:1.2;cursor:pointer;border-radius:8px;transition:color .12s ease}.project-switcher-name,.project-switcher-caret{margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;line-height:inherit;cursor:pointer;border-radius:8px;transition:color .12s ease}.project-switcher-name:hover,.project-switcher-caret:hover,.project-switcher-trigger:hover,.project-switcher-trigger[aria-expanded=true],.project-switcher-caret[aria-expanded=true]{color:var(--accent)}.project-switcher-caret{display:inline-flex;align-items:center;justify-content:center;padding:2px 4px;font-size:.85em;line-height:1;color:var(--muted);transition:color .12s ease,transform .12s ease}.project-switcher-trigger:hover .project-switcher-caret,.project-switcher-trigger[aria-expanded=true] .project-switcher-caret,.project-switcher-caret:hover,.project-switcher-caret[aria-expanded=true]{color:var(--accent)}.project-switcher-trigger[aria-expanded=true] .project-switcher-caret,.project-switcher-caret[aria-expanded=true]{transform:rotate(180deg)}.project-switcher-list{position:absolute;top:calc(100% + 8px);left:0;z-index:30;min-width:min(320px,80vw);max-width:420px;max-height:min(360px,50dvh);margin:0;padding:6px;list-style:none;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.project-switcher-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.project-switcher-item-name{font-size:15px;font-weight:600;line-height:1.3}.project-switcher-item-meta{font-size:12px;font-weight:500;color:var(--muted);line-height:1.3}.project-switcher-item:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-color:color-mix(in srgb,var(--accent) 28%,transparent);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 12%,transparent)}.project-switcher-item.is-active{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.project-switcher-item.is-active .project-switcher-item-name{color:var(--accent)}.project-switcher-status{padding:10px 12px;color:var(--muted);font-size:14px}.overflow-menu{position:relative}.icon-btn{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;font-size:18px;line-height:1;cursor:pointer;transition:border-color .12s ease,background .12s ease}.icon-btn:hover{border-color:var(--accent);background:var(--surface)}.overflow-menu-list{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:180px;margin:0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:0;box-shadow:none}.overflow-menu-item{display:block;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer}.overflow-menu-item:hover{background:var(--surface-recessed)}.overflow-menu-item.is-danger{color:var(--error)}.overflow-menu-version{margin-top:4px;padding:8px 12px 6px;border-top:1px solid var(--border);color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-user-select:text;user-select:text}.overflow-menu-item.is-danger:hover{background:#fdeceb}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:#1e160c8c}.modal-dialog{width:min(420px,100%);margin:0}.modal-dialog.method-settings-modal{width:min(640px,calc(100vw - 40px));height:min(85dvh,820px);max-height:min(85dvh,820px);display:flex;flex-direction:column;overflow:hidden}.method-settings-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;flex-shrink:0}.method-settings-modal-head .panel-title{margin:0}.method-settings-modal-body{flex:1;min-height:0;overflow-y:auto}.method-settings-modal-foot{flex-shrink:0;margin-top:16px;padding-top:16px;border-top:1px solid var(--border, #e8dfd0)}.settings-bar-embedded{box-shadow:none;padding:0;background:transparent}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.modal-actions--stack{flex-direction:column;align-items:stretch}.header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.new-image-btn{background:var(--accent);color:var(--accent-ink);border:none;border-radius:10px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;transition:filter .15s ease}.new-image-btn:hover{filter:brightness(1.08)}select{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink);width:100%}.settings-page{max-width:520px}.settings-grid{display:grid;gap:14px}.app-footer{margin-top:32px;color:var(--muted);font-size:13px;text-align:center}.panel{background:var(--panel);border:none;border-radius:0;box-shadow:none;padding:16px 20px;margin:0}.panel+.panel{margin-top:var(--panel-gap)}.panel-title{margin:0 0 14px;font-size:16px;font-weight:600;letter-spacing:.02em;line-height:1.35}.panel-subtitle{margin:0 0 12px;font-size:15px;font-weight:600;letter-spacing:.02em;line-height:1.35}.header-row>.panel-title,.mask-dialog-head>.panel-title,.result-head-left>.panel-title{margin:0}.modal-dialog>.panel-title{font-size:18px;margin-bottom:16px}.create-work-dialog>.panel-title{margin-bottom:4px}.panel>h2:not([class]){margin:0 0 14px;font-size:16px;font-weight:600;letter-spacing:.02em;line-height:1.35}.banner{background:#fff;border:none;border-radius:0;padding:12px 20px;margin:0}.banner.error{border-color:var(--error);color:var(--error);background:#fdeceb}.banner.warning{color:#92400e;background:#fff7ed}.settings-section{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.settings-section-title{margin:0;font-size:14px;font-weight:600}.settings-section-hint{margin:0;font-size:13px;line-height:1.4}.settings-storage-link{justify-self:start}.image-tree-storage-warning{display:grid;gap:8px;margin:0 0 12px}.image-tree-storage-warning p{margin:0}.image-tree-storage-warning-actions{display:flex;flex-wrap:wrap;gap:8px}.storage-orphans-screen{display:grid;gap:14px}.storage-orphans-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.storage-orphans-actions{display:flex;flex-wrap:wrap;gap:8px}.storage-orphans-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.storage-orphans-row{display:flex;align-items:center;gap:12px;padding:10px 4px}.storage-orphans-row+.storage-orphans-row{border-top:1px solid var(--border)}.storage-orphans-row--head{padding-bottom:4px}.storage-orphans-check{flex:none;display:flex;align-items:center;gap:8px;font-weight:500;color:var(--ink)}.storage-orphans-thumb{flex:none;width:56px;height:56px;overflow:hidden;background:#f3f4f6}.storage-orphans-thumb img{width:100%;height:100%;object-fit:cover;display:block}.storage-orphans-main{min-width:0;display:grid;gap:2px}.storage-orphans-key{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-orphans-meta{font-size:12px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}input{font:inherit;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink);width:100%}input[type=checkbox],input[type=radio]{width:1.125rem;height:1.125rem;min-width:1.125rem;flex:none;margin:0;padding:0;border-radius:.25rem;accent-color:var(--accent)}input:focus{outline:2px solid rgba(123,82,48,.35);border-color:var(--accent)}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0 0 14px}.accordion-stack{display:flex;flex-direction:column;gap:0;margin-bottom:16px;border-top:1px solid var(--border)}.accordion-stack>.check{padding:10px 0 8px}.accordion{border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;overflow:hidden}.accordion[open],.accordion.is-open{background:var(--surface);overflow:visible}.accordion-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:none;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.accordion-trigger-text{display:inline-flex;align-items:center;gap:8px;min-width:0}.accordion-warning-dot{width:8px;height:8px;border-radius:50%;background:#d97706;flex-shrink:0}.accordion.is-warning,.accordion.is-warning[open],.accordion.is-warning.is-open{background:#f59e0b14}.accordion.is-disabled .accordion-trigger{color:var(--muted);cursor:not-allowed;opacity:.7}.accordion.is-disabled .accordion-trigger:after{opacity:.35}.accordion-trigger::-webkit-details-marker{display:none}.accordion-trigger:after{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s ease;flex-shrink:0;margin-top:-3px}.accordion[open]>.accordion-trigger:after,.accordion.is-open>.accordion-trigger:after{transform:rotate(-135deg);margin-top:3px}.accordion-panel{padding:0 14px 14px}.accordion-panel .option-grid{margin-bottom:12px}.accordion-panel .preserve-area{margin-bottom:0}.accordion-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:4px}.accordion-fields .dimension-fields{display:contents}.accordion-fields .dimension-aspect-row{grid-column:1 / -1}@media (max-width: 880px){.accordion-fields{grid-template-columns:1fr}}.check{display:flex;flex-direction:row;align-items:center;gap:8px;color:var(--ink);flex:0 0 auto;white-space:nowrap}.dimension-fields{display:contents}.dimension-fields--row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto minmax(0,1.4fr);gap:14px;align-items:end}.dimension-fields--row .dimension-aspect-row{display:contents}@media (max-width: 720px){.dimension-fields--row{grid-template-columns:1fr 1fr}.dimension-fields--row .dimension-lock{grid-column:1 / -1}}@media (max-width: 420px){.dimension-fields--row{grid-template-columns:1fr}}.dimension-aspect-row{grid-column:1 / -1;display:flex;flex-direction:row;align-items:center;gap:.75rem;flex-wrap:nowrap}.dimension-aspect-row .dimension-aspect{flex:1 1 auto;min-width:0;width:auto;margin-bottom:0}.dimension-aspect-row .dimension-lock{flex:0 0 auto;margin-bottom:0;white-space:nowrap}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.grid-3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:4px 0 16px}button.primary{background:var(--accent);color:var(--accent-ink);border:none;border-radius:10px;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer;transition:filter .15s ease}button.primary:hover:not(:disabled){filter:brightness(1.08)}button.primary.danger{background:var(--error);color:#fff}button.primary:disabled{opacity:.5;cursor:not-allowed}button.primary.has-spinner{display:inline-flex;align-items:center;gap:8px}.spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.ghost-btn{display:inline-block;background:var(--surface);border:1px solid #d4cdc0;border-radius:10px;padding:9px 14px;font:inherit;font-weight:500;color:var(--ink);text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.ghost-btn:hover{background:#fff;border-color:var(--accent);color:var(--accent)}.ghost-btn.active{border-color:var(--accent);color:var(--accent)}.upload-form{display:flex;flex-direction:column}.upload-form>button{align-self:flex-end;margin-top:14px}.upload-form>button+button{margin-top:10px}.upload-form-fields{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:end;margin:16px 0}.upload-form-max-colors{min-width:7rem}@media (max-width: 720px){.upload-form-fields{grid-template-columns:1fr}.upload-form-max-colors{min-width:0}}.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.auth-form .auth-actions .ghost-btn{flex-shrink:1;min-width:0}.auth-form .auth-actions .primary{flex-shrink:0;margin-left:auto}.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding-top:28px;padding-bottom:28px}.login-screen-inner{width:100%;max-width:420px}.brand-mark--login{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;margin-bottom:28px}.brand-mark-frame{display:flex;align-items:center;gap:14px;width:min(100%,340px)}.brand-mark-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(123,82,48,.55),transparent)}.brand-mark-emblem{font-family:var(--font-ui);font-size:12px;font-weight:500;color:#7b5230b3;letter-spacing:0}.login-app-name{margin:0;width:100%;font-size:clamp(3rem,12vw,4.5rem);letter-spacing:.03em;line-height:1;text-align:center;background:linear-gradient(112deg,#3d2814,#6b4525 18%,#b8894f 38%,#e8c896,#b8894f 62%,#6b4525 82%,#3d2814);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 6px rgba(123,82,48,.18))}@media (max-width: 480px){.login-app-name{font-size:clamp(2.5rem,14vw,3.25rem)}.brand-mark-frame{width:min(100%,280px);gap:10px}}.home-card{transition:transform .12s ease,border-color .12s ease}.home-card:hover{transform:translateY(-2px);border-color:var(--accent)}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);min-height:200px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);background:var(--surface);overflow:hidden}.dropzone.has-image{padding:8px}.dropzone img{max-width:100%;max-height:320px;border-radius:8px;object-fit:contain}.dropzone.has-many{align-items:stretch}.dropzone-multi{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;padding:8px}.dropzone-multi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;width:100%;max-width:480px}.dropzone-multi-grid img{width:100%;aspect-ratio:1;max-height:none;object-fit:cover;border-radius:6px;background:var(--bg)}.dropzone-multi-count{font-size:.9rem;color:var(--muted)}.upload-url{margin-top:14px}.upload-url-or{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.upload-url-or:before,.upload-url-or:after{content:"";flex:1;height:1px;background:var(--border)}.upload-url-row{display:flex;align-items:flex-end;gap:10px}.upload-url-row label{flex:1;min-width:0}.upload-url-row .ghost-btn{margin:0;white-space:nowrap}.upload-url-error{margin-top:10px}@media (max-width: 720px){.upload-url-row{flex-direction:column;align-items:stretch}}.workspace{display:grid;grid-template-columns:380px 1fr;gap:18px;align-items:start}.workspace.full-width{grid-template-columns:1fr}.workspace-shell{display:flex;align-items:stretch;gap:0;min-width:0;width:100%;flex:1 1 auto;min-height:0;height:100%;max-height:100%;overflow:hidden;background:var(--bg)}.workspace-rail{display:flex;flex-direction:column;gap:4px;flex:0 0 48px;padding:10px 6px;border:none;border-right:1px solid var(--border);border-radius:0;background:var(--panel);align-self:stretch;position:relative;top:auto;height:100%;max-height:100%;overflow:hidden;z-index:3}.workspace-rail{will-change:transform}.workspace-side{will-change:opacity}.workspace-shell:not(.has-side) .workspace-rail{margin-right:var(--panel-gap);border-right:none}.workspace-shell.has-side .workspace-rail{margin-right:0}.workspace-rail-btn{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.workspace-rail-btn:hover{color:var(--ink);background:var(--hover);border-color:transparent}.workspace-rail-btn.is-active{color:var(--accent);background:#7b52301f;border-color:transparent}.workspace-rail-btn.has-warning{position:relative}.workspace-rail-warning{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:#d97706;box-shadow:0 0 0 2px var(--panel)}.workspace-rail-glyph{font-family:var(--font-ui);font-size:18px;font-weight:700;line-height:1;letter-spacing:-.02em}.workspace-rail-btn-wrap{display:grid;place-items:center}.workspace-rail-btn:disabled,.workspace-rail-btn.is-disabled{opacity:.35;cursor:not-allowed;color:var(--muted)}.workspace-rail-btn:disabled:hover,.workspace-rail-btn.is-disabled:hover{color:var(--muted);background:transparent}.workspace-side{flex:0 0 auto;margin:0 var(--panel-gap) 0 0;height:100%;max-height:100%;overflow:hidden;align-self:stretch;position:relative;top:auto;display:flex;flex-direction:row;background:var(--panel);border:none;z-index:2}.workspace-side-content{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.workspace-side-stack{display:flex;flex-direction:column;flex:1;min-height:0;height:100%}.workspace-side-scroll{flex:1 1 auto;min-height:0;overflow:auto}.workspace-side-footer{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 12px 16px;border-top:1px solid var(--border);background:var(--panel)}.workspace-side-footer--save{align-items:stretch;gap:8px;padding:8px 12px}.workspace-side-footer--save .primary{padding:8px 14px}.manual-tools-footer-actions{display:grid;grid-template-columns:1fr 2fr;gap:8px}.workspace-side-resize{flex:0 0 8px;width:8px;margin:0;padding:0;border:none;border-radius:0;background:color-mix(in srgb,var(--accent) 22%,var(--panel));transition:background .12s ease;cursor:col-resize;align-self:stretch;position:relative;z-index:3;touch-action:none}.workspace-side-resize:before{content:"";position:absolute;top:0;bottom:0;left:-9px;right:-9px}@media (min-width: 881px) and (max-width: 1100px){.workspace-shell{position:relative}.workspace-shell.has-side .workspace-rail{margin-right:var(--panel-gap)}.workspace-side{position:absolute;top:0;bottom:0;left:48px;z-index:20;margin:0;min-width:0!important;max-width:calc(100% - 88px)!important;border-right:1px solid var(--border);box-shadow:8px 0 24px #0000002e}}.workspace-side-resize:after{content:"";position:absolute;top:50%;left:50%;width:4px;height:48px;border-radius:2px;background:var(--accent);transform:translate(-50%,-50%);transition:background .12s ease}.workspace-side-resize:hover,.workspace-side-resize:focus-visible,.workspace-side-resize:active{background:var(--accent);outline:none}.workspace-side-resize:hover:after,.workspace-side-resize:focus-visible:after,.workspace-side-resize:active:after{background:var(--accent-ink)}@media (pointer: coarse){.workspace-side-resize{flex-basis:12px;width:12px}.workspace-side-resize:after{width:5px;height:64px}}.workspace-side .panel,.workspace-side-panel,.workspace-side .chat-panel,.workspace-side .ai-chat{margin:0;border:none;border-radius:0;box-shadow:none}.workspace-side .settings-bar,.workspace-side .thread-list,.workspace-side .image-tree,.workspace-side .manual-tools-panel,.workspace-side .collection-panel,.workspace-side .report-panel,.workspace-side .notes-panel{flex:1 1 auto;min-height:0;overflow:auto;max-height:100%;border-bottom:none}.workspace-side .image-tree,.workspace-side .report-panel{overflow:hidden}.workspace-side-scroll.workspace-side-scroll--fill{display:flex;flex-direction:column;overflow:hidden}.manual-tools-hint{margin:0 0 16px;font-size:13px;line-height:1.4}.manual-tools-save-hint{margin:0;font-size:12px;line-height:1.4;text-align:center}.manual-tools-method{font-size:12px;font-weight:500}.manual-outlier-level{margin:12px 0;padding:0;border:none}.color-picker-readout{margin:0 0 10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.color-picker-tool{margin:-6px 0 14px}.color-picker-section.is-active{border-color:var(--accent)}.color-picker-body{flex:1 0 100%;min-width:0;display:flex;flex-direction:column;gap:12px}.color-picker-body .color-picker-hint{margin:0}.color-picker-body>.changes-list{margin:0}.manual-tools-panel>.changes-list{margin:0 0 14px}.manual-tools-panel .substitute-grid,.manual-tools-panel .color-picker-thread-list{max-height:none;overflow:visible}.manual-tools-panel .color-picker-thread-list{margin:0 -4px}.substitute-title-codes{margin-left:8px;font-weight:400}.result-view.is-picking{box-shadow:inset 0 0 0 2px var(--accent)}.picker-band-main,.picker-band-actions{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;min-width:0}.picker-band-actions{margin-left:auto;justify-content:flex-end}.picker-band-color{display:inline-flex;align-items:center;gap:8px;min-width:0}.picker-band-hint{font-size:13px}.color-picker-threads-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;flex-wrap:wrap}.color-picker-threads-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.color-picker-threads-count{margin:0;font-size:12px}.color-picker-thread-sort{flex:0 0 auto}.color-picker-thread-sort select{font:inherit;font-size:12px;padding:3px 6px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:inherit}.color-picker-hint{margin:0;font-size:12px;line-height:1.35}.color-picker-sample{display:flex;align-items:flex-start;gap:10px;margin-top:8px}.color-picker-hint+.color-picker-sample{margin-top:8px}.color-picker-sample:first-child{margin-top:0}.color-picker-sample-meta{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px}.color-picker-dmc{font-weight:600;line-height:1.3}.color-picker-rgb{font-size:12px}.color-picker-threads{border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden}.color-picker-threads-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 12px 6px}.color-picker-thread-list{list-style:none;margin:0;padding:0 0 6px;max-height:220px;overflow:auto}.color-picker-thread{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.color-picker-thread:hover:not(:disabled){background:var(--hover)}.color-picker-thread.is-selected{background:color-mix(in srgb,var(--accent) 14%,transparent)}.color-picker-thread:disabled{cursor:default;opacity:.6}.color-picker-thread-check{flex:0 0 1rem;width:1rem;text-align:center;font-size:12px;font-weight:700;color:var(--accent);line-height:1}.color-picker-thread-check.is-on{color:var(--accent)}.color-picker-thread-code{flex:0 0 auto;min-width:2.75rem;font-size:12px}.color-picker-thread-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}.color-picker-thread-usage{display:flex;flex-direction:column;align-items:flex-end;flex:0 0 auto;margin-left:auto;line-height:1.2;font-variant-numeric:tabular-nums}.color-picker-thread-stitches{font-size:11px;font-weight:600}.color-picker-thread-coverage{font-size:10px;color:var(--muted)}.workspace-side .ai-chat{flex:1 1 auto;min-height:0;height:100%}.workspace-side .thread-list{display:flex;flex-direction:column;min-height:0}.workspace-side .thread-list table{display:block;overflow-x:auto;width:100%}.workspace-main{flex:1 1 auto;min-width:0;min-height:0;margin:0;display:flex;flex-direction:column;gap:var(--panel-gap);background:var(--bg);overflow:hidden}.workspace-main>.screen-header,.workspace-main>.banner{flex:0 0 auto}.workspace-save-bar{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.65rem 1rem;border-bottom:1px solid var(--border);background:var(--panel)}.workspace-main-body{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column}.workspace-main-view{flex:0 0 auto;box-sizing:border-box;height:100%;min-height:100%;min-width:0;max-width:100%;display:flex;flex-direction:column}.workspace-main-view>.result-view,.workspace-main-view>.panel{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;margin:0;padding:10px 16px 12px}.workspace-main-view>.result-view{background:var(--image-mat)}.workspace-mouline-panel{flex:0 0 auto;overflow:visible;border-top:1px solid var(--border);background:var(--panel)}.workspace-mouline-panel .thread-list{margin:0;border:none;border-radius:0;box-shadow:none;max-height:none}.workspace-main-body>.result-view,.workspace-main-body>.panel{flex:0 0 auto;overflow:visible;display:flex;flex-direction:column;margin:0}.workspace-main-body .framed-compare{flex:1 1 auto;min-height:0;margin-top:8px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);align-items:stretch;justify-items:stretch;gap:12px}.workspace-main-body .framed-compare.single{grid-template-columns:minmax(0,1fr)}.workspace-main-body .framed-pane{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.workspace-main-body .framed-pane>.result-image-title,.workspace-main-body .framed-pane>.panel-subtitle{flex:0 0 auto}.workspace-main-body .framed-pane-media{flex:1 1 auto;min-width:0;min-height:0;position:relative;overflow:hidden}.workspace-main-body .framed-wrap:not(.editor-zoom-viewport){position:absolute;top:0;right:0;bottom:0;left:0;margin-top:0;max-height:none;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--image-mat)}.workspace-main-body .framed-image-stage{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;max-width:100%;max-height:100%;background:var(--image-mat)}.workspace-main-body .framed-wrap:not(.editor-zoom-viewport) img,.workspace-main-body .framed-image-stage img{display:block;box-sizing:border-box;min-width:0;min-height:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.workspace-main-view>.result-view .result-head,.workspace-main-body .result-head{flex:0 0 auto;margin:-10px -16px 8px;padding:10px 16px;max-width:none}.workspace-mouline-panel .thread-list-head{margin:-16px -20px 14px;padding:12px 20px}.workspace-main-body .changes-list{flex:0 0 auto;overflow:visible}.workspace-main>.panel+.panel{margin-top:0}@media (max-width: 880px){.workspace{grid-template-columns:1fr}.workspace-shell{flex-wrap:wrap;min-height:0;overflow:auto}.workspace-rail{flex-direction:row;flex:1 1 100%;width:100%;height:auto;max-height:none;border-right:none;border-bottom:1px solid var(--border)}.workspace-shell:not(.has-side) .workspace-rail{margin-right:0}.workspace-side{flex:1 1 100%!important;max-width:none!important;min-width:0!important;width:100%!important;height:min(50dvh,420px);max-height:min(50dvh,420px);margin:0 0 var(--panel-gap)}.workspace-side-resize{display:none}.workspace-main{flex:1 1 100%}.grid-3,.option-grid{grid-template-columns:1fr}}.ai-chat{display:flex;flex-direction:column;min-height:0;background:var(--panel);border:none;border-radius:0;box-shadow:none;overflow:hidden}.ai-chat-header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--panel);flex:0 0 auto}.ai-chat-header-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:#7b52301f;color:var(--accent);font-size:16px}.ai-chat-header-text{min-width:0;flex:1 1 auto}.ai-chat-title{margin:0;font-size:16px;font-weight:650;line-height:1.2}.ai-chat-subtitle{margin:2px 0 0;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-header-actions{position:relative;display:flex;align-items:center;gap:6px;flex:0 0 auto}.ai-chat-header-btn{margin:0;padding:5px 9px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font-size:12px;font-weight:550;line-height:1.2;cursor:pointer}.ai-chat-header-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ai-chat-header-btn.is-open,.ai-chat-header-btn:focus-visible{border-color:var(--accent);outline:none}.ai-chat-header-btn:disabled{opacity:.45;cursor:default}.ai-chat-history{position:absolute;top:calc(100% + 6px);right:0;z-index:20;margin:0;padding:4px;list-style:none;min-width:200px;max-width:min(280px,70vw);max-height:240px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 8px 24px #0000001f}.ai-chat-history-row{display:flex;align-items:stretch;gap:2px}.ai-chat-history-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1 1 auto;min-width:0;margin:0;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer}.ai-chat-history-item:hover,.ai-chat-history-item.is-active,.ai-chat-history-row:hover .ai-chat-history-item{background:#7b52301a}.ai-chat-history-delete{flex:0 0 auto;align-self:center;width:28px;height:28px;margin:0 2px 0 0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:18px;line-height:1;cursor:pointer}.ai-chat-history-delete:hover:not(:disabled){background:#fdeceb;color:var(--error)}.ai-chat-history-delete:disabled{opacity:.4;cursor:not-allowed}.ai-chat-history-title{font-size:13px;font-weight:550;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.ai-chat-history-time{font-size:11px;color:var(--muted)}.ai-chat-notice{margin:10px 12px 0;flex:0 0 auto}.ai-chat-waiting{display:flex;align-items:center;gap:8px;margin:0;padding:8px 14px;border-bottom:1px solid var(--border);background:#7b523014;color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.01em;flex:0 0 auto}.ai-chat-waiting-dots{display:inline-flex;align-items:center;gap:3px}.ai-chat-waiting-dots span{width:5px;height:5px;border-radius:999px;background:var(--accent);animation:ai-chat-bounce 1.2s infinite ease-in-out}.ai-chat-waiting-dots span:nth-child(2){animation-delay:.15s}.ai-chat-waiting-dots span:nth-child(3){animation-delay:.3s}.ai-chat-waiting-text{min-width:0}.ai-chat-log{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:14px 12px;background:var(--surface-recessed)}.ai-chat-empty{margin:auto 8px;text-align:center;padding:24px 12px;color:var(--muted)}.ai-chat-empty-title{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--ink)}.ai-chat-empty-hint{margin:0;font-size:13px}.ai-chat-row{display:flex;align-items:flex-end;gap:8px;max-width:100%}.ai-chat-row--user{flex-direction:row-reverse}.ai-chat-avatar{flex:0 0 28px;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:10px;font-weight:700;letter-spacing:.02em}.ai-chat-avatar--user{background:var(--accent);color:var(--accent-ink)}.ai-chat-avatar--assistant{background:#fff;color:var(--accent);border:1px solid var(--border)}.ai-chat-bubble{max-width:calc(100% - 40px);padding:10px 12px;border-radius:8px;font-size:14px;line-height:1.45;box-shadow:none}.ai-chat-bubble--user{background:var(--accent);color:var(--accent-ink)}.ai-chat-bubble--assistant{background:#fff;color:var(--ink);border:1px solid var(--border)}.ai-chat-bubble--pending{min-width:56px}.ai-chat-text{margin:0;white-space:pre-wrap;word-break:break-word}.ai-chat-caret{display:inline-block;width:.55ch;height:1em;margin-left:1px;vertical-align:text-bottom;background:currentColor;animation:ai-chat-caret-blink 1s step-end infinite}@keyframes ai-chat-caret-blink{0%,to{opacity:1}50%{opacity:0}}.ai-chat-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ai-chat-thumb{margin:0;width:96px}.ai-chat-thumb-btn{display:block;padding:0;margin:0;width:96px;height:96px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:#fff6;cursor:pointer;overflow:hidden}.ai-chat-thumb-btn:hover{border-color:var(--accent)}.ai-chat-thumb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ai-chat-thumb img{display:block;width:100%;height:100%;object-fit:cover}.ai-chat-thumb figcaption{margin-top:4px;font-size:11px;line-height:1.2;opacity:.85}.ai-chat-bubble--user .ai-chat-thumb figcaption{color:var(--accent-ink)}.ai-chat-typing{display:inline-flex;align-items:center;gap:4px;height:16px}.ai-chat-typing span{width:6px;height:6px;border-radius:999px;background:var(--muted);animation:ai-chat-bounce 1.2s infinite ease-in-out}.ai-chat-typing span:nth-child(2){animation-delay:.15s}.ai-chat-typing span:nth-child(3){animation-delay:.3s}@keyframes ai-chat-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-3px);opacity:1}}.ai-chat-composer{display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid var(--border);background:var(--panel);flex:0 0 auto}.ai-chat-composer-main{display:flex;align-items:flex-end;gap:8px}.ai-chat-composer textarea{flex:1 1 auto;min-height:40px;max-height:120px;resize:none;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:14px;line-height:1.35}.ai-chat-composer textarea:focus{outline:none;border-color:var(--accent);background:#fff}.ai-chat-composer textarea:disabled{opacity:.65}.ai-chat-send{flex:0 0 auto;min-width:72px}.ai-chat-attach{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.ai-chat-attach-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.ai-chat-attach input{margin:0;accent-color:var(--accent)}.ai-chat-attach.is-on{color:var(--accent)}.ai-chat-attach.is-disabled{opacity:.65;cursor:not-allowed}.ai-chat-opts{margin:0;padding:0;border:0;min-inline-size:0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.ai-chat-opts.is-disabled{opacity:.65}.ai-chat-opts-legend{float:left;width:100%;padding:0;margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.ai-chat-opt{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.ai-chat-opt input{margin:0;accent-color:var(--accent)}.ai-chat-opt.is-on{color:var(--accent)}.ai-chat-ratio{flex:1 0 100%;display:flex;flex-direction:column;gap:6px;padding:6px 0 2px}.ai-chat-ratio-presets,.ai-chat-ratio-orient{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ai-chat-ratio-chip{margin:0;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.ai-chat-ratio-chip.is-on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff)}.ai-chat-ratio-chip:disabled{opacity:.65;cursor:not-allowed}.ai-chat-ratio-custom{width:5.5rem;min-width:0;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.ai-chat-ratio-custom:focus{outline:none;border-color:var(--accent)}.ai-chat-ratio-error{margin:0;font-size:11px;color:#a33}.notice{background:#fdf6e3;border:1px solid #efe3c0;border-radius:0;padding:8px 11px;font-size:13px;color:#6b5b2f}.settings-apply-note{margin:0 0 12px}.settings-apply-note.is-applied{background:#eef7ee;border-color:#cfe5cf;color:#3d5c3d}.settings-apply-note.is-pending{background:#fdf6e3;border-color:#efe3c0;color:#6b5b2f}.result-head{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;min-width:0;max-width:100%;min-height:0;margin:-16px -20px 8px;padding:12px 20px;background:var(--panel-head);border-bottom:1px solid var(--border)}.result-head-left{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0;flex:1 1 auto}.result-head-left .panel-title{margin:0;white-space:nowrap}.result-head-left .result-image-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.result-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px 14px;flex-wrap:wrap;flex:1 0 auto;min-width:0;max-width:100%;margin-left:auto}.result-head-actions .pick-hint{white-space:nowrap;font-size:12px}.result-view-pending .result-head-left{flex-direction:row;align-items:center}.result-view-pending>.primary{align-self:flex-start;margin-top:16px}.generate-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.generate-actions--goblenize{align-items:center;justify-content:center;gap:16px;padding:8px 0 4px}.generate-actions--goblenize .generate-hint{flex:1 1 100%;margin:0;text-align:center}.goblenize-btn{position:relative;width:132px;height:132px;padding:0;border:none;border-radius:50%;background:transparent;cursor:pointer;color:var(--accent-ink);box-shadow:none;transition:transform .18s ease,filter .18s ease}.goblenize-btn:hover:not(:disabled){transform:scale(1.04);filter:brightness(1.05)}.goblenize-btn:hover:not(:disabled) .goblenize-btn-rim-spin{animation-duration:12s}.goblenize-btn:active:not(:disabled){transform:scale(.98)}.goblenize-btn:disabled{cursor:not-allowed;opacity:.55;filter:grayscale(.15)}.goblenize-btn-svg{display:block;width:100%;height:100%;overflow:visible}.goblenize-btn-disc{fill:var(--accent)}.goblenize-btn-ring{fill:none;stroke:color-mix(in srgb,var(--accent-ink) 35%,transparent);stroke-width:1.25}.goblenize-btn-rim-spin{transform-origin:70px 70px;transform-box:view-box;animation:goblenize-rim-spin 22s linear infinite}@media (prefers-reduced-motion: reduce){.goblenize-btn-rim-spin{animation:none}}.goblenize-btn-rim{fill:var(--accent-ink);font-family:var(--font-ui);font-size:9.25px;font-weight:600;text-transform:uppercase}.goblenize-btn-rim-dot{fill:var(--accent-ink);font-family:var(--font-ui);font-size:14px;font-weight:600}.goblenize-btn-glyph{fill:var(--accent-ink);font-family:var(--font-ui);font-size:40px;font-weight:600;pointer-events:none}.goblenize-btn-spinner{fill:none;stroke:var(--accent-ink);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:56 28;transform-origin:70px 70px;transform-box:view-box;animation:goblenize-spin .9s linear infinite}@keyframes goblenize-rim-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes goblenize-spin{to{transform:rotate(360deg)}}.goblenize-btn.is-busy .goblenize-btn-rim-spin{animation-duration:8s;opacity:.85}.download-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mode-toggle{display:flex;gap:6px;flex-wrap:wrap}.mode-toggle--compact{margin-bottom:8px}.mode-toggle--compact .toggle-btn{padding:4px 8px;font-size:12px}.toggle-btn{padding:6px 10px}.toggle-btn.active{border-color:var(--accent);background:#7b52301a}.outlier-level-control{margin:0;padding:12px 20px;border:none;border-top:1px solid var(--border);border-radius:0;background:#faf8f5}.outlier-level-control label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:14px;color:var(--ink)}.outlier-level-value{font-weight:600;color:var(--accent);min-width:1.25rem;text-align:right}.outlier-level-control input[type=range]{width:100%;margin:0;padding:0;border:none;background:transparent;accent-color:var(--accent)}.outlier-level-hints{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--muted)}.outlier-region-level{margin:0 0 12px}.mask-actions.confetti-actions{align-items:center;overflow:visible}.mask-actions.confetti-actions .outlier-level-control.confetti-size-control{flex:1 1 auto;min-width:0;padding:0;border:none;background:transparent}.confetti-actions .confetti-size-control label{margin-bottom:4px}.confetti-actions .confetti-size-control .outlier-level-hints{margin-top:2px}.confetti-actions>button{flex:0 0 auto}@media (max-width: 600px){.mask-actions.confetti-actions{flex-wrap:wrap}.mask-actions.confetti-actions .outlier-level-control.confetti-size-control{flex-basis:100%}}.image-tree{display:flex;flex-direction:column;min-height:0;padding:12px 14px 16px;background:var(--panel)}.image-tree-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px 10px;margin-bottom:12px;flex:0 0 auto}.image-tree-head-start{justify-self:start;min-width:0}.image-tree-head-title{display:flex;align-items:baseline;justify-content:center;gap:6px;min-width:0}.image-tree-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;justify-self:end;min-width:0}.image-tree-head-btn{padding:4px 8px;font-size:11px;line-height:1.2}.image-tree-title{margin:0;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.image-tree-count{font-size:12px}.image-tree-prune-btn{margin:0;padding:3px 7px;border:none;border-radius:6px;background:var(--error);color:#fff;font:inherit;font-size:10px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap}.image-tree-prune-btn:hover:not(:disabled){filter:brightness(1.08)}.image-tree-prune-btn:disabled{opacity:.45;cursor:not-allowed}.image-tree-empty{margin:0;font-size:13px}.image-tree-track{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;min-width:0;flex:1 1 auto;overflow:auto}.image-tree-branch{display:flex;flex-direction:column;align-items:stretch;min-width:min-content;flex:1 1 120px}.image-tree-kids{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0}.image-tree-arrow{align-self:center;color:var(--muted);font-size:16px;line-height:1;-webkit-user-select:none;user-select:none;padding:2px 0}.image-tree-toggle{align-self:center;display:inline-flex;align-items:center;gap:6px;margin:0;padding:2px 8px;border:none;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:600;line-height:1.3;cursor:pointer;border-radius:6px}.image-tree-toggle:hover,.image-tree-toggle:focus-visible{color:var(--accent);background:var(--hover)}.image-tree-more{flex:0 0 auto;align-self:stretch;min-width:64px;min-height:72px;padding:6px;font-size:11px;font-weight:600;line-height:1.3;white-space:normal}.image-tree-row{display:flex;flex-direction:row;align-items:flex-start;gap:8px;padding-bottom:2px}.image-tree-row.is-single{display:block}.image-tree-row.is-single .image-tree-branch{flex:1 1 auto}.image-tree-node{display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--border);background:#fff;contain:inline-size;min-width:64px}.image-tree-node.is-current{border-color:var(--accent);border-width:2px;background:#7b52301f;box-shadow:inset 3px 0 0 var(--accent)}.image-tree-node.is-current .image-tree-type{font-weight:700}.image-tree-node.is-current .image-tree-name{font-weight:600;color:var(--accent)}.image-tree-node.is-path:not(.is-current){border-color:#7b523073}.image-tree-node.is-compare:not(.is-current){box-shadow:inset 0 0 0 1px var(--accent)}.image-tree-node-media{position:relative;display:block;width:100%;margin:0;padding:0;border:none;background:transparent;cursor:pointer;text-align:left}.image-tree-node-media:hover .image-tree-thumb,.image-tree-node-media:focus-visible .image-tree-thumb{outline:2px solid var(--accent);outline-offset:2px}.image-viewer-overlay{z-index:60;padding:8px}.image-viewer{width:min(1680px,100%);max-height:min(98dvh,100%);display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;background:var(--panel);border:1px solid var(--border);overflow:hidden}.image-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;min-height:0}.image-viewer-heading{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.image-viewer-step-badge{flex:0 0 auto;min-width:2rem;height:2rem;padding:0 8px;display:inline-grid;place-items:center;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:1rem;font-weight:700;line-height:1;letter-spacing:.02em;box-shadow:0 1px 4px #1e160c33}.image-viewer-meta{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:0;min-width:0;overflow:hidden;white-space:nowrap;font-size:13px;line-height:1.2}.image-viewer-step{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.04em;text-transform:uppercase}.image-viewer-meta-part{display:inline-flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis}.image-viewer-meta-sep{flex:0 0 auto;margin:0 .4em;color:var(--muted)}.image-viewer-type{font-size:13px;font-weight:600;color:var(--accent)}.image-viewer-detail{font-size:13px;font-weight:600;color:var(--ink);opacity:.78}.image-viewer-name{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-viewer-toolbar{display:flex;align-items:center;gap:6px;flex:0 0 auto}.image-viewer-zoom-btn{min-width:2rem;height:2rem;padding:0 8px;display:inline-grid;place-items:center;font-size:15px;font-weight:700;line-height:1;border-radius:6px}.image-viewer-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.image-viewer-zoom-pct{min-width:3.25rem;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.image-viewer-close{flex:0 0 auto}.image-viewer-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;flex:0 0 auto;position:relative;z-index:1;background:var(--panel);padding-top:2px}.image-viewer-actions-start,.image-viewer-actions-end{display:flex;align-items:center;gap:8px}.image-viewer-actions-end{margin-left:auto}.image-viewer-relation-toggle{margin-bottom:0}.image-viewer-relation-toggle .toggle-btn{min-width:0}.image-viewer-body{display:grid;grid-template-columns:auto 1fr auto;align-items:stretch;gap:8px;min-height:0;flex:1 1 auto;overflow:hidden}.image-viewer-frame{position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;height:min(90dvh,calc(100dvh - 4.5rem));max-height:min(90dvh,calc(100dvh - 4.5rem));overflow:hidden;background:var(--image-mat)}.image-viewer.has-actions .image-viewer-frame{height:min(82dvh,calc(100dvh - 9rem));max-height:min(82dvh,calc(100dvh - 9rem))}.image-viewer-frame.has-loupe{cursor:crosshair}@media (pointer: coarse){.image-viewer-frame.has-loupe{touch-action:none}}.image-zoom-viewport.image-viewer-viewport{touch-action:none}.image-viewer-loupe{position:absolute;z-index:2;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 35%,transparent),0 8px 24px #1e160c59;pointer-events:none;background-color:var(--image-mat)}.image-viewer-corner-order{position:absolute;top:10px;right:10px;z-index:1;min-width:2.5rem;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--ink) 78%,transparent);color:#fff;font-size:.95rem;font-weight:700;line-height:1;letter-spacing:.02em;text-align:center;box-shadow:0 1px 4px #1e160c40;pointer-events:none}.image-viewer-image{max-width:100%;max-height:100%;width:auto;height:auto;min-width:0;min-height:0;object-fit:contain;object-position:center;display:block}.image-viewer-nav{width:40px;height:40px;margin:0;padding:0;align-self:center;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;font-size:20px;line-height:1;cursor:pointer}.image-viewer-nav:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.image-viewer-nav:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 640px){.image-viewer-body{grid-template-columns:1fr;grid-template-rows:1fr auto}.image-viewer-nav{justify-self:center}.image-viewer-prev{order:2;grid-column:1}.image-viewer-frame{order:1;height:min(78dvh,calc(100dvh - 6rem));max-height:min(78dvh,calc(100dvh - 6rem))}.image-viewer.has-actions .image-viewer-frame{height:min(68dvh,calc(100dvh - 10rem));max-height:min(68dvh,calc(100dvh - 10rem))}.image-viewer-next{order:3}.image-viewer-meta-part:not(:last-child){display:none}.image-viewer-loupe{display:none}}.image-tree-thumb{width:100%;height:72px;object-fit:contain;background:var(--image-mat);display:block}.image-tree-thumb--generating{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:color-mix(in srgb,var(--panel) 70%,var(--hover));color:var(--muted);object-fit:unset}.image-tree-generating-label{font-size:11px;font-weight:600;letter-spacing:.02em;text-align:center;padding:0 6px;line-height:1.2}.image-tree-node.is-generating{border-style:dashed;opacity:.95}.image-tree-node-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.image-tree-type{font-size:11px;font-weight:600;color:var(--accent);letter-spacing:.02em;line-height:1.3}.image-tree-name{font-size:12px;line-height:1.3;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-tree-media-wrap{position:relative;min-width:0}.image-tree-menu-trigger{position:absolute;top:4px;right:4px;z-index:2;display:grid;place-items:center;width:22px;height:22px;margin:0;padding:0;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:6px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1;letter-spacing:.04em;cursor:pointer}.image-tree-menu-trigger:hover,.image-tree-node.is-menu-open .image-tree-menu-trigger{border-color:var(--accent);background:var(--panel);color:var(--accent)}.image-tree-menu{position:fixed;z-index:80;box-sizing:border-box;width:200px;margin:0;padding:4px;background:var(--panel);border:1px solid var(--border);box-shadow:0 8px 24px #1e160c2e}.image-tree-menu-item{display:block;width:100%;margin:0;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:500;line-height:1.3;text-align:left;cursor:pointer}.image-tree-menu-item:hover:not(:disabled),.image-tree-menu-item:focus-visible:not(:disabled){background:var(--hover);color:var(--accent)}.image-tree-menu-item:disabled{opacity:.45;cursor:not-allowed}.image-tree-menu-sep{height:1px;margin:4px 8px;background:var(--border)}.image-tree-menu-item.is-danger{color:var(--error)}.image-tree-menu-item.is-danger:hover:not(:disabled),.image-tree-menu-item.is-danger:focus-visible:not(:disabled){background:color-mix(in srgb,var(--error) 12%,transparent);color:var(--error)}.image-tree.is-compact .image-tree-branch{flex:1 1 104px}.image-tree-node.is-mini{flex-direction:row;align-items:center;gap:2px;padding:3px}.image-tree-mini-btn{flex:1 1 auto;display:grid;place-items:center;min-width:26px;height:26px;margin:0;padding:0 2px;border:none;border-radius:4px;background:var(--image-mat);color:var(--accent);font:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer}.image-tree-mini-btn:hover,.image-tree-mini-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.image-tree-mini-btn .spinner{width:12px;height:12px}.image-tree-node.is-mini .image-tree-menu-trigger{position:relative;inset:auto;flex:0 0 auto;width:18px;height:26px;font-size:12px}.image-tree.is-compact .image-tree-node{padding:4px;gap:3px}.image-tree.is-compact .image-tree-thumb{height:52px}.image-tree.is-compact .image-tree-more{min-height:52px;min-width:56px}.work-image-picker{margin:0;padding:10px 20px;background:var(--panel);border:none}.work-image-picker-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:2px 4px 2px 0;font-size:inherit;font-weight:600;color:var(--ink);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.work-image-picker-summary::-webkit-details-marker{display:none}.work-image-picker-summary:after{content:"";width:12px;height:12px;border-right:3px solid var(--muted);border-bottom:3px solid var(--muted);transform:rotate(45deg);transition:transform .15s ease;flex-shrink:0;margin-top:-4px}.work-image-picker[open]>.work-image-picker-summary:after{transform:rotate(-135deg);margin-top:4px}.work-image-picker-empty{margin:0}.work-image-picker-list{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px;list-style:none;margin:12px 0 0;scrollbar-width:thin}.work-image-picker-btn{display:flex;flex-direction:column;gap:6px;width:112px;padding:4px;border:1px solid var(--border);border-radius:0;background:#fff;cursor:pointer;text-align:left}.work-image-picker-btn.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.work-image-picker-btn:disabled{opacity:.65;cursor:not-allowed}.work-image-picker-thumb{position:relative;border-radius:8px;overflow:hidden}.work-image-picker-thumb .gallery-kind-badge{font-size:9px;padding:2px 5px}.work-image-picker-label{font-size:11px;line-height:1.3;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.framed-wrap{position:relative;margin-top:8px;display:flex;align-items:center;justify-content:center;background:var(--image-mat);border-radius:0;padding:0;max-height:min(72dvh,calc(100dvh - 14rem))}.framed-image-stage{position:relative;display:inline-grid;max-width:100%;max-height:100%;background:var(--image-mat)}.framed-image-stage.has-crop{touch-action:none;-webkit-user-select:none;user-select:none;overflow:hidden}.crop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;overflow:hidden}.crop-overlay.is-disabled{opacity:.7}.crop-overlay-shade{position:absolute;background:#00000073;pointer-events:none}.crop-overlay-plane{position:absolute;overflow:hidden;pointer-events:none}.crop-overlay-dim{position:absolute;left:0;right:0;background:#00000073;pointer-events:none}.crop-overlay-dim-top{top:0}.crop-overlay-dim-bottom{left:0;right:0}.crop-overlay-rect{position:absolute;box-sizing:border-box;border:1.5px solid #fff;box-shadow:0 0 0 1px #00000059;cursor:move;pointer-events:auto}.crop-overlay-rect.is-dragging{cursor:grabbing}.crop-overlay-handle{position:absolute;width:12px;height:12px;background:#fff;border:1px solid rgba(0,0,0,.45);border-radius:2px;box-sizing:border-box;pointer-events:auto}.crop-overlay-handle-n{top:0;left:50%;transform:translate(-50%);cursor:ns-resize}.crop-overlay-handle-s{bottom:0;left:50%;transform:translate(-50%);cursor:ns-resize}.crop-overlay-handle-e{right:0;top:50%;transform:translateY(-50%);cursor:ew-resize}.crop-overlay-handle-w{left:0;top:50%;transform:translateY(-50%);cursor:ew-resize}.crop-overlay-handle-nw{top:0;left:0;cursor:nwse-resize}.crop-overlay-handle-se{bottom:0;right:0;cursor:nwse-resize}.crop-overlay-handle-ne{top:0;right:0;cursor:nesw-resize}.crop-overlay-handle-sw{bottom:0;left:0;cursor:nesw-resize}.framed-wrap img,.framed-image-stage img{max-width:100%;max-height:min(72dvh,calc(100dvh - 14rem));width:auto;height:auto;object-fit:contain;box-shadow:none;transition:opacity .15s ease}.framed-wrap.is-loading img{opacity:.45}.image-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}.image-loading-overlay .spinner{width:2rem;height:2rem;border-width:3px}.framed-compare{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.framed-pane{min-width:0}.framed-pane-media{position:relative}.framed-pane-media .framed-wrap{margin-top:0;height:min(72dvh,calc(100dvh - 14rem))}.image-zoom-viewport{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow:auto;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.image-zoom-viewport.is-zoomed{overscroll-behavior:contain;touch-action:none;cursor:grab}.image-zoom-viewport.is-zoomed:active{cursor:grabbing}.image-zoom-viewport>.image-zoom-stage{flex:0 0 auto;margin:auto}.image-zoom-viewport>.image-zoom-stage.is-sized{max-width:none;max-height:none}.image-zoom-viewport .image-zoom-stage.is-sized img{width:100%;height:100%;max-width:none;max-height:none}.image-zoom-viewport img{-webkit-user-drag:none}.framed-zoom-bar{position:absolute;right:10px;bottom:10px;z-index:5;margin:0;padding:2px;border-radius:8px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 1px 4px #0000002e;transition:opacity .12s ease}@media (hover: hover) and (pointer: fine){.framed-zoom-bar{opacity:0;pointer-events:none}.framed-pane-media:hover .framed-zoom-bar,.framed-zoom-bar:focus-within,.framed-wrap.is-zoomed .framed-zoom-bar{opacity:1;pointer-events:auto}}.framed-step-badge{position:absolute;top:10px;left:10px;z-index:3;min-width:1.75rem;height:1.75rem;padding:0 8px;display:inline-grid;place-items:center;border-radius:999px;background:#1e160cd1;color:#fff;font-size:13px;font-weight:700;line-height:1;pointer-events:none;box-shadow:0 1px 4px #00000040}.framed-download{position:absolute;top:10px;right:10px;z-index:5;opacity:1;transition:opacity .12s ease}@media (hover: hover) and (pointer: fine){.framed-download{opacity:0;pointer-events:none}.framed-image-stage:hover .framed-download,.framed-pane-media:hover .framed-download,.framed-download:focus-within,.framed-download.is-open{opacity:1;pointer-events:auto}}.framed-download-ready{position:absolute;top:0;right:calc(100% + 8px);white-space:nowrap}.framed-download-btn{width:34px;height:34px;background:#fffffff0;box-shadow:0 1px 4px #0000002e}.framed-download-btn .spinner{width:1rem;height:1rem;border-width:2px}.framed-download-menu{min-width:200px}.result-image-title{display:flex;flex-wrap:wrap;align-items:center;gap:.35em .55em;margin:0 0 8px}.result-image-label{color:var(--muted)}.panel-title.result-image-title .result-image-label{color:inherit}.result-image-name{color:var(--ink);font-weight:600}.result-image-size,.result-image-ratio{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 auto}.result-head-left .result-image-ratio{padding:.1em .45em;border:1px solid var(--border);border-radius:4px}.framed-pane h3{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--muted)}.framed-compare.single{grid-template-columns:1fr}@media (max-width: 900px){.framed-compare{grid-template-columns:1fr}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.view-options{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px}.view-options .pick-hint{font-size:12px}img.pickable{cursor:crosshair}img.openable{cursor:pointer}.highlight-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-left:10px;padding:2px 8px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:600}.highlight-badge-item{display:inline-flex;align-items:center;gap:6px}.highlight-badge .swatch{width:12px;height:12px;border-radius:3px}.substitute-panel{margin-top:16px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#00000005}.substitute-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.substitute-current{display:flex;align-items:center;gap:12px}.substitute-title{font-weight:700}.substitute-actions{display:flex;gap:8px;flex-wrap:wrap}.substitute-hint{margin:10px 0;font-size:12px}.substitute-search{margin:0 0 12px}.substitute-area{margin-top:10px}.category-chips{display:flex;flex-wrap:wrap;gap:6px}.category-chip{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;overflow:hidden}.category-chip.active{border-color:var(--accent, currentColor);font-weight:600}.category-chip button{background:transparent;border:0;font:inherit;color:inherit;cursor:pointer;padding:4px 10px}.category-chip button:disabled{cursor:default}.category-chip-remove{padding:4px 8px 4px 2px!important;color:var(--muted)!important}.category-add{display:flex;gap:8px;margin-top:12px}.category-add input{flex:1;min-width:0}.category-hint{margin:10px 0 0;font-size:12px}.image-info-list{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.image-info-card{display:flex;flex-direction:column;gap:12px}.image-info-head{display:flex;align-items:center;gap:8px}.image-info-head img{width:40px;height:40px;object-fit:cover;border-radius:4px}.project-info-actions{display:flex;justify-content:flex-end;margin-top:6px}.project-info-field label{display:flex;flex-direction:column;gap:4px}.project-info-label{font-weight:600}.project-info-field textarea{width:100%;box-sizing:border-box;resize:vertical}.project-info-field input{width:100%;box-sizing:border-box}.label-combobox{position:relative}.label-combobox-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:240px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--border)}.label-combobox-option{padding:8px 10px;border-radius:8px;color:var(--ink);font-size:14px;cursor:pointer;overflow-wrap:anywhere}.label-combobox-option.is-active{background:var(--surface-recessed)}.label-combobox-option.is-new{color:var(--accent);font-style:italic}.highlight-dim{display:inline-flex;align-items:center;gap:4px}.highlight-dim.is-idle{visibility:hidden}.highlight-dim-sliders{display:grid;gap:0}.highlight-dim-slider{display:grid;grid-template-columns:auto 72px 3ch;align-items:center;gap:4px;font-size:11px;line-height:14px}.highlight-dim-slider>span{text-align:right}.highlight-dim-slider output{font-variant-numeric:tabular-nums;text-align:right}.highlight-dim-slider input[type=range]{width:72px;height:14px;margin:0}.highlight-dim-reset{padding:2px 6px;font-size:14px;line-height:1}.substitute-area-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.area-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;overflow:hidden}.area-overlay-plane{position:absolute;pointer-events:auto;cursor:crosshair;touch-action:none}.area-overlay.is-disabled .area-overlay-plane{pointer-events:none;opacity:.6}.area-overlay-rect{position:absolute;box-sizing:border-box;pointer-events:none}.area-overlay-rect.is-include{border:2px solid #22c55e;background:#22c55e24}.area-overlay-rect.is-exclude{border:2px dashed #ef4444;background:#ef444433}.area-overlay-rect.is-draft{border-style:dotted}.area-overlay-num{position:absolute;top:2px;left:4px;font-size:11px;font-weight:600;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.9)}.substitute-shade-btns{margin-top:10px}.swatch.lg{width:40px;height:40px;border-radius:8px}.substitute-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;max-height:340px;overflow-y:auto}.shade-swatch{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border:1px solid var(--border);border-radius:8px;background:var(--panel, #fff);cursor:pointer;transition:border-color .15s,transform .1s}.shade-swatch:hover{border-color:var(--accent);transform:translateY(-1px)}.shade-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.shade-color{width:100%;height:28px;border-radius:5px;border:1px solid rgba(0,0,0,.2)}.shade-code{font-size:11px}.thread-row.selectable{cursor:pointer}.thread-row.selectable:hover{background:#0000000a}.thread-row.selected{background:color-mix(in srgb,var(--accent) 16%,transparent)}.thread-orig{margin-left:6px;font-size:10px;font-weight:600;color:var(--muted)}.primary-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:10px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer}.primary-btn:disabled{opacity:.45;cursor:default}.substitute-arrow{font-size:20px;color:var(--muted)}.shade-swatch.is-original{outline:2px dashed var(--muted);outline-offset:-2px}.substitute-expand{margin-top:10px;width:100%}.changes-list{margin-top:16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px}.changes-title{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--muted)}.changes-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.change-row{display:flex;align-items:center;gap:10px}.change-row.off{opacity:.5}.change-toggle{margin:0}.change-color{display:inline-flex;align-items:center;gap:6px}.change-area-tag{font-size:11px;padding:1px 6px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.change-next:disabled{cursor:default}.change-arrow{color:var(--muted)}.change-next{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border);border-radius:8px;padding:4px 8px;font:inherit;cursor:pointer}.change-next:hover{border-color:var(--accent)}.change-next-name{color:var(--muted);font-size:12px}.change-remove{margin-left:auto;padding:2px 10px;line-height:1.2;font-size:16px}.thread-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:-16px -20px 14px;padding:12px 20px;background:var(--panel-head);border-bottom:1px solid var(--border)}.thread-list-heading{min-width:0;display:flex;flex-direction:column;gap:4px}.thread-list-head h2{margin:0}.thread-list-palette{margin:0;font-size:12px;font-weight:500;line-height:1.35}.thread-list-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.totals{display:flex;gap:26px;margin-bottom:14px}.thread-list-note{margin:0 0 14px;padding:8px 12px;border-radius:8px;border:1px solid #f59e0b;background:#f59e0b1f;color:#b45309;font-size:13px;line-height:1.4}.report-panel{padding:12px 12px 14px;container-type:inline-size;box-sizing:border-box;height:100%;display:flex;flex-direction:column}.report-columns{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}@container (min-width: 560px){.report-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:10px;overflow:hidden}.report-col{min-height:0;overflow-y:auto;padding-right:2px}}.report-hint{margin:0 0 8px;font-size:13px;line-height:1.4}.report-accordions{border-top:none;margin-bottom:0;gap:8px}.report-accordions>.accordion{border:1px solid var(--border);border-radius:8px;overflow:hidden}.report-accordions>.accordion.is-open{overflow:visible}.report-accordions>.accordion.is-warning{border-color:#f59e0b}.report-accordions .accordion-trigger{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.report-accordions .accordion-panel{position:relative;z-index:1;padding:0 8px 8px;pointer-events:auto}.report-least{margin-top:8px}.report-least-title{margin:0 0 4px;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.report-least-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.report-least-row{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:4px;border-radius:6px}.report-least-row.is-warning{background:#f59e0b1f}.report-least-row.is-replaced{background:color-mix(in srgb,var(--accent) 8%,transparent)}.report-least-colors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:4px;min-width:0}.report-least-closest{display:flex;align-items:center;gap:4px;min-width:0}.report-least-arrow{color:var(--muted);font-size:14px;line-height:1}.report-least-delta{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap}.report-least-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px}.report-least-actions:empty{display:none}.report-least-actions>*{flex-shrink:0;white-space:nowrap}.report-least-actions .report-new-tag{margin-top:0}.report-replace-btn{padding:2px 8px;font-size:11px;border-radius:8px}.report-least-row .report-undo-btn{margin:0;padding:2px 8px;font-size:11px;border-radius:8px}.report-least-row .report-closest-tick{margin-top:0;font-size:13px}.report-least-row .report-swatch{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;flex:1;min-width:0;padding:2px 4px;gap:6px}.report-least-row .report-swatch-chip{width:18px;height:18px}.report-least-row .report-swatch-label{flex:1;min-width:0}.report-least-mark{flex-shrink:0;font-size:11px;font-weight:700;color:#b45309}.report-section{margin:0 0 18px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface, transparent)}.report-section.is-warning{border-color:#f59e0b;background:#f59e0b14}.report-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}.report-section-head .report-section-title{margin:0}.report-closest-delta .report-undo-btn{display:block;margin:4px auto 0;padding:2px 8px;font-size:11px;border-radius:8px}.report-section-title{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.report-metric{margin:0}.report-metric-value{font-size:24px;font-weight:700;line-height:1;color:var(--accent)}.report-closest-list{display:flex;flex-direction:column;gap:4px}.report-closest{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:start;padding:4px 0}.report-closest+.report-closest{border-top:1px solid var(--border)}.report-closest-side{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.report-closest-side .report-swatch{padding:2px;gap:3px}.report-closest-side .report-swatch-chip{width:22px;height:22px}.report-keep-btn{width:100%;padding:2px 6px;font-size:11px}.report-shade-btns{display:flex;gap:4px;width:100%}.report-shade-btn{flex:1;padding:2px 4px;font-size:11px}.report-shade-btn.is-risky:not(:disabled){color:#b45309;border-color:#f59e0b}.report-current-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:2px}.report-current-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:1px 2px;border-radius:6px}.report-current-row>.report-swatch{flex:1;min-width:0;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;padding:2px 4px;gap:6px}.report-current-row .report-swatch-chip{width:18px;height:18px}.report-current-row .report-swatch-label{flex:1;min-width:0}.report-current-row.is-warning{background:#f59e0b1f}.report-current-row.is-removed{opacity:.6}.report-current-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}.report-current-meta .report-new-tag{margin-top:0}.report-current-share{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.report-new-tag{display:inline-block;margin-top:6px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:#b45309}.report-closest-tick{display:block;margin-top:4px;font-size:16px;font-weight:700;line-height:1;color:var(--accent)}.report-closest.is-edited:not(.is-applied):not(.is-autosolved):not(.is-continue){background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:8px;padding:6px 4px}.report-closest.is-applied{opacity:1;background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:8px;padding:6px 4px}.report-closest.is-autosolved{opacity:.78;background:color-mix(in srgb,var(--muted) 12%,transparent);border-radius:8px;padding:6px 4px}.report-closest.is-continue{background:color-mix(in srgb,#b45309 8%,transparent);border-radius:8px;padding:6px 4px}.report-closest-status{display:block;margin-top:6px;font-size:11px;font-weight:600;color:var(--muted)}.report-closest-status.is-continue{color:#b45309}.report-section.is-warning .report-closest.is-autosolved .report-closest-delta,.report-closest.is-autosolved .report-closest-delta{color:var(--ink)}.report-closest.is-continue .report-closest-delta,.report-section.is-warning .report-closest.is-continue .report-closest-delta{color:#b45309}.report-closest-side.is-dropped,.report-swatch.is-dropped{opacity:.45}.report-swatch.is-dropped .report-swatch-label{text-decoration:line-through}.report-keep-btn.is-kept{border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.report-closest-applied{display:block;margin-top:4px;font-size:11px;font-weight:600;color:var(--accent)}.report-closest.is-warning .report-closest-delta{color:#b45309}.report-closest-delta{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap}.report-section.is-warning .report-closest-delta{color:#b45309}.report-swatch{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:6px 4px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:center}button.report-swatch{cursor:pointer}.report-swatch.is-selectable:hover{background:#0000000a}.report-swatch.is-selected{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.report-swatch-chip{width:28px;height:28px;border-radius:6px;border:1px solid rgba(0,0,0,.16);flex:0 0 auto}.report-swatch-label{font-size:12px;line-height:1.3;word-break:break-word}.report-least-row .report-swatch-label,.report-current-row .report-swatch-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}.report-least-row .report-swatch{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:6px;row-gap:0}.report-least-row .report-swatch-chip{grid-row:span 2}.report-least-row .report-swatch-stitches{font-size:10px;line-height:1.2}.report-least-row .report-swatch-stitches,.report-current-row .report-swatch-stitches{white-space:nowrap;flex-shrink:0}.report-swatch-stitches{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.report-empty-line{margin:0;font-size:13px}.report-warning{margin:10px 0 0;font-size:13px;line-height:1.4;color:#b45309}.report-confetti-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.report-confetti-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px}.report-confetti-count{font-weight:700;font-variant-numeric:tabular-nums}.report-confetti-row.is-warning{color:#b45309;font-weight:600}.totals .big{display:block;font-size:22px;font-weight:700;color:var(--accent)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--border)}th.num,td.num{text-align:right}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.swatch{display:inline-block;width:18px;height:18px;border-radius:4px;border:1px solid rgba(0,0,0,.25)}.preserve-area{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.preserve-area-label{font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px}.preserve-area-badge{color:#2f9e44;font-size:12px}.preserve-area-actions{display:flex;gap:8px;flex-wrap:wrap}.manual-crop-accordion .manual-crop-area{margin:0;padding:0;border:none;background:transparent}.manual-crop-area{flex-direction:column;align-items:stretch;gap:10px}.manual-crop-hint{margin:0;font-size:12px;line-height:1.4}.manual-crop-ratios{display:flex;flex-wrap:wrap;gap:6px}.manual-crop-ratio{min-width:2.75rem;padding:.3rem .55rem;font-variant-numeric:tabular-nums}.manual-crop-orientation{align-self:flex-start}.manual-tool.is-active{border-color:var(--accent)}.manual-tool .preserve-area-actions{align-items:center}.manual-tool.is-startable{cursor:pointer;transition:border-color .15s ease,background .15s ease}.manual-tool.is-startable:not(.is-disabled):hover{border-color:var(--accent);background:var(--panel)}.manual-tool.is-startable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.manual-tool.is-disabled{cursor:not-allowed;opacity:.55}.manual-tool>.preserve-area-label{flex:1 1 auto;min-width:0}.manual-tool .preserve-area-label .manual-tool-info-btn{margin-left:auto;flex:0 0 auto;width:22px;height:22px;min-height:0;font-size:13px}.manual-tool .preserve-area-label .manual-tool-info-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.manual-tool-info{flex:1 0 100%;margin:0;padding:10px 12px;border-radius:8px;background:var(--panel);border:1px solid var(--border);font-size:12.5px;line-height:1.45;color:var(--ink)}.manual-tool-body{flex:1 0 100%;min-width:0;display:flex;flex-direction:column;gap:12px}.manual-tool-body>.changes-list,.manual-changes-accordion .changes-list{margin:0}.manual-changes-accordion .changes-list.is-untitled{padding:0;border:none}.manual-tools-panel>.manual-changes-accordion{margin:0 0 14px}.manual-tool-subtitle{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:700;color:var(--muted)}.manual-confetti-cleaned{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--border);font-size:14px;font-weight:600;color:var(--accent)}.switch-field{display:inline-flex;align-items:center;gap:8px;font-size:13px}.switch-side{color:var(--muted);transition:color .15s ease}.switch-side.is-current{color:var(--ink);font-weight:600}.switch{position:relative;flex:0 0 auto;width:40px;height:22px;padding:0;border:1px solid #d4cdc0;border-radius:999px;background:var(--bg);cursor:pointer;transition:background .15s ease,border-color .15s ease}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--panel);box-shadow:0 1px 3px #1e160c4d;transition:transform .15s ease}.switch.is-on{background:var(--accent);border-color:var(--accent)}.switch.is-on .switch-thumb{transform:translate(18px)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.switch-field.is-disabled{opacity:.5}.switch-field.is-disabled .switch{cursor:not-allowed}.manual-crop-free-ratio{display:flex;align-items:center;gap:6px}.manual-crop-free-ratio input{width:4.5rem;padding:.35rem .45rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:inherit;font-variant-numeric:tabular-nums}.manual-crop-free-colon{font-weight:600;opacity:.7}.mask-blend-style{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600}.mask-blend-style select{flex:0 0 auto}.mask-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1e160c8c;display:flex;align-items:center;justify-content:center;padding:20px}.mask-dialog{width:min(720px,100%);max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;margin:0}.mask-dialog.confetti-dialog,.mask-dialog.brush-dialog,.mask-dialog.areas-dialog{width:min(1400px,98vw);max-height:96dvh;height:min(96dvh,1080px);display:flex;flex-direction:column;overflow:hidden}.mask-dialog.confetti-dialog{width:min(1100px,96vw)}.mask-dialog.confetti-dialog .mask-hint,.mask-dialog.confetti-dialog .mask-dialog-head,.mask-dialog.confetti-dialog .mask-toolbar,.mask-dialog.confetti-dialog .mask-select-status,.mask-dialog.confetti-dialog .outlier-level-control,.mask-dialog.confetti-dialog .mask-actions,.mask-dialog.brush-dialog .mask-hint,.mask-dialog.brush-dialog .mask-dialog-head,.mask-dialog.brush-dialog .mask-toolbar,.mask-dialog.brush-dialog .brush-palette,.mask-dialog.brush-dialog .mask-actions,.mask-dialog.areas-dialog .mask-dialog-head,.mask-dialog.areas-dialog .mask-toolbar,.mask-dialog.areas-dialog .mask-actions{flex:0 0 auto}.mask-dialog.confetti-dialog .editor-zoom-viewport,.mask-dialog.brush-dialog .editor-zoom-viewport,.mask-dialog.areas-dialog .mask-areas-viewport{flex:1 1 auto;height:auto;min-height:0;max-height:none}.mask-areas-viewport{position:relative;display:flex;flex-direction:column;min-height:0}.mask-dialog.areas-dialog .mask-areas-viewport .editor-zoom-viewport{flex:1 1 auto;height:auto;min-height:0;max-height:none;width:100%;margin:0;display:flex;align-items:safe center;justify-content:safe center}.confetti-dialog .outlier-image-stack img{max-height:none;image-rendering:auto}.outlier-draw-canvas.confetti-draw-canvas{image-rendering:auto}.mask-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mask-hint{color:var(--muted);font-size:13px;margin:0 0 12px}.accordion-hint{color:var(--muted);font-size:13px;margin:0 0 10px}label .accordion-hint{font-weight:400;margin:0}.mask-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}.mask-toolbar-label{flex:0 0 auto;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);min-width:5.5rem}.mask-toolbar-areas,.mask-toolbar-tools{margin-bottom:8px;flex-wrap:nowrap;min-width:0;max-width:100%}.mask-toolbar-areas{gap:10px}.mask-area-scroll{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin}.mask-area-group{flex-wrap:nowrap;align-items:stretch;width:max-content;padding-bottom:2px}.mask-area-split{display:inline-flex;align-items:stretch;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--panel) 88%,transparent)}.mask-area-split.is-selected{border-color:color-mix(in srgb,var(--ink) 42%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 18%,transparent)}.mask-area-split.is-hidden-layer{opacity:.72}.mask-area-show{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0 8px;border:none;border-right:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:0;background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:0}.mask-area-show.is-off{color:var(--muted);opacity:.85}.mask-area-show:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.mask-area-select{border:none!important;border-radius:0!important;box-shadow:none!important;margin:0;white-space:nowrap}.mask-area-select.active{background:color-mix(in srgb,var(--ink) 8%,transparent)}.mask-mode-group .toggle-btn.active{font-weight:700}.mask-toolbar-tools{justify-content:space-between;gap:12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin}.mask-toolbar-tools-main,.mask-toolbar-commands{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:nowrap}.mask-toolbar-commands{justify-content:flex-end;margin-left:auto;padding-left:10px;border-left:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.mask-history-actions,.mask-sam-actions{padding-left:0;border-left:none}.mask-clear-btn{color:#b91c1c!important;border-color:color-mix(in srgb,#b91c1c 35%,transparent)!important}.mask-clear-btn:hover:not(:disabled){background:color-mix(in srgb,#b91c1c 10%,transparent)!important;color:#991b1b!important}.mask-clear-selected-btn{color:#b45309!important;border-color:color-mix(in srgb,#b45309 35%,transparent)!important}.mask-clear-selected-btn:hover:not(:disabled){background:color-mix(in srgb,#b45309 10%,transparent)!important}.mask-visibility-bulk{flex:0 0 auto;padding-left:2px}.mask-visibility-bulk .ghost-btn{white-space:nowrap;min-height:38px;box-sizing:border-box}.mask-canvas.is-hidden{visibility:hidden}.mask-tool-group{display:flex;gap:6px}.mask-sam-side{display:flex;gap:4px;margin-right:6px}.mask-swatch-btn{display:inline-flex;align-items:center;gap:6px}.mask-dot{width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.2);display:inline-block}.mask-actions-start{display:flex;align-items:center;gap:8px}.mask-info-wrap{position:relative;display:inline-flex}.mask-info-btn{width:32px;height:32px;padding:0;border-radius:50%;font-weight:700;font-style:italic;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1}.mask-info-tooltip{display:none;position:absolute;left:0;bottom:calc(100% + 8px);width:min(360px,70vw);padding:10px 12px;border-radius:8px;background:var(--panel);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);box-shadow:0 10px 28px #1e160c2e;font-size:12.5px;line-height:1.45;z-index:6;pointer-events:none}.mask-info-tooltip p{margin:0}.mask-info-tooltip p+p{margin-top:8px}.mask-info-shortcuts{color:var(--muted)}.mask-info-wrap:hover .mask-info-tooltip,.mask-info-wrap:focus-within .mask-info-tooltip{display:block}.mask-size{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}.mask-size input[type=range]{flex:1 1 auto;min-width:120px;width:auto;height:1.5rem;margin:0;padding:0;border:none;border-radius:0;background:transparent;accent-color:var(--accent)}.mask-size input[type=range]:focus{outline:none}.brush-size-control{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;flex:0 1 auto;min-width:0;min-height:32px;font-size:13px;color:var(--ink);white-space:nowrap}.brush-size-control.is-grow{flex:1 1 220px}.brush-size-control.is-disabled{opacity:.55}.brush-size-control__label{flex:0 0 auto}.brush-size-control__slider{position:relative;flex:0 1 140px;min-width:88px;max-width:160px;height:1.5rem;display:flex;align-items:center}.brush-size-control.is-grow .brush-size-control__slider{flex:1 1 auto;min-width:140px;max-width:none}.brush-size-control__slider input[type=range]{width:100%;min-width:0;height:1.5rem;margin:0;padding:0;border:none;border-radius:0;background:transparent;accent-color:var(--accent)}.brush-size-control__slider input[type=range]:focus{outline:none}.brush-size-control__preview-slot{flex:0 0 32px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.brush-size-control__preview{box-sizing:border-box;border-radius:50%;border:1.5px solid rgba(0,0,0,.45);box-shadow:0 0 0 1px #ffffffb3;pointer-events:none}.brush-size-control__preview.is-eraser{border-style:dashed;background:transparent!important}.brush-size-marks{position:absolute;left:8px;right:8px;top:0;bottom:0;pointer-events:none;z-index:1}.brush-size-stitch-mark{position:absolute;top:50%;width:14px;height:22px;padding:0;margin:0;border:none;background:transparent;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer}.brush-size-stitch-mark:before{content:"";position:absolute;left:50%;top:1px;bottom:1px;width:2px;background:var(--accent);transform:translate(-50%);border-radius:1px}.brush-size-stitch-tick{position:absolute;left:50%;top:50%;width:8px;height:8px;box-sizing:border-box;border:1.5px solid var(--accent);background:var(--panel);border-radius:1px;box-shadow:0 0 0 1px #ffffffb3;transform:translate(-50%,-50%)}.brush-size-stitch-mark.is-active{pointer-events:none}.brush-size-stitch-mark.is-active .brush-size-stitch-tick,.brush-size-stitch-mark:hover .brush-size-stitch-tick{background:var(--accent)}.brush-size-stitch-btn{flex:0 0 auto;padding:2px 8px;font-size:12px;white-space:nowrap}.mask-canvas-wrap{position:relative;display:flex;justify-content:center;margin:0 auto;max-width:100%;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.mask-canvas-wrap.reviewing{cursor:default}.mask-stage{position:relative;display:inline-block;max-width:100%;line-height:0}.mask-bg,.mask-preview-img{display:block;max-width:100%;max-height:60dvh;width:auto;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.mask-canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.65;pointer-events:none}.mask-preview{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.55;pointer-events:none}.mask-canvas-wrap.selecting{cursor:crosshair}.mask-canvas-wrap.magnifying .mask-stage{cursor:none}@media (hover: none){.mask-loupe{display:none}.mask-canvas-wrap.magnifying .mask-stage{cursor:crosshair}}.editor-zoom-viewport .mask-stage{max-width:none}.editor-zoom-viewport .mask-stage.is-sized .mask-bg{width:100%;height:auto;max-width:none;max-height:none}.mask-loupe{position:absolute;z-index:4;width:180px;height:180px;border-radius:50%;overflow:hidden;pointer-events:none;border:2px solid var(--panel);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 35%,transparent),0 8px 24px #1e160c59;background:var(--surface)}.mask-loupe[hidden]{display:none}.mask-loupe canvas{display:block;width:100%;height:100%}.mask-loupe-crosshair{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mask-loupe-crosshair:before,.mask-loupe-crosshair:after{content:"";position:absolute;background:#ffffffeb;box-shadow:0 0 0 1px #00000073}.mask-loupe-crosshair:before{left:50%;top:14%;bottom:14%;width:1px;transform:translate(-50%)}.mask-loupe-crosshair:after{top:50%;left:14%;right:14%;height:1px;transform:translateY(-50%)}.mask-loupe-crosshair>span{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;border:1.5px solid rgba(255,255,255,.95);box-shadow:0 0 0 1px #00000073}.mask-select-status{color:var(--muted);font-size:13px;margin:0 0 8px}.mask-select-status.error{color:#b91c1c}.mask-canvas-wrap.painting:not(.magnifying),.mask-canvas-wrap.erasing:not(.magnifying){cursor:crosshair}.mask-mode-group .toggle-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;box-sizing:border-box}.mask-mode-group .toggle-btn.has-spinner{gap:6px;min-width:5.5rem}.mask-btn-spinner{width:1em;height:1em;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0}.mask-btn-spinner .spinner{animation:none}.mask-btn-spinner.is-on{opacity:1}.mask-btn-spinner.is-on .spinner{animation:spin .6s linear infinite}.mask-btn-spinner.is-ready{color:#15803d}.mask-btn-spinner:not(.is-ready):not(.is-loading){color:var(--muted)}.mask-toolbar-tools .ghost-btn.toggle-btn,.mask-toolbar-commands .ghost-btn{min-height:38px;box-sizing:border-box}.mask-sam-point{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:2px solid #fff;pointer-events:none;box-shadow:0 0 0 1px #00000059}.mask-sam-point.positive{background:#22c55e}.mask-sam-point.negative{background:#ef4444}.editor-zoom-bar{display:flex;align-items:center;gap:4px;margin-left:auto;-webkit-user-select:none;user-select:none}.editor-zoom-viewport{overflow:auto;width:100%;height:min(52dvh,560px);max-height:min(52dvh,560px);overscroll-behavior:contain;scrollbar-gutter:stable;align-items:flex-start;justify-content:flex-start}.editor-zoom-viewport,.editor-zoom-viewport *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.editor-zoom-viewport img,.editor-zoom-viewport canvas{-webkit-user-drag:none;pointer-events:none}.mask-dialog.confetti-dialog .editor-zoom-viewport{width:100%;margin:0;height:auto;min-height:0;max-height:none}.mask-dialog.confetti-dialog .outlier-region-level{margin-bottom:0}.editor-zoom-stage{position:relative;display:block;line-height:0;flex:0 0 auto}.editor-zoom-viewport>.editor-zoom-stage{margin:auto}.outlier-editor-image{margin-top:0;min-height:180px;touch-action:none;cursor:crosshair}.outlier-editor-image.selecting{cursor:crosshair}.confetti-sam-preview{z-index:1}.outlier-editor-image.is-brush{cursor:none}.outlier-editor-image.is-pick{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%232b2620' stroke-width='1.4' d='M3.5 20.5l5.2-5.2 2.2 2.2-5.2 5.2-2.2-2.2z'/%3E%3Cpath fill='%23fff' stroke='%232b2620' stroke-width='1.4' d='M14.2 3.8l6 6-7.4 7.4-6-6 7.4-7.4z'/%3E%3C/svg%3E") 3 21,crosshair}.brush-cursor{position:fixed;z-index:80;border:1.5px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 0 0 1px #00000080;transform:translate(-50%,-50%);pointer-events:none;background:transparent}.brush-cursor.is-eraser{border-style:dashed;border-color:#ffffffd9}.outlier-editor-image.reviewing{cursor:default}.outlier-image-stack{position:relative;display:inline-block;line-height:0}.outlier-image-stack img{display:block;max-width:100%;max-height:60dvh;width:auto;height:auto}.editor-zoom-viewport .editor-zoom-stage img{max-width:100%;max-height:100%}.editor-zoom-viewport .editor-zoom-stage.is-sized img{width:100%;height:auto;max-width:none;max-height:none;object-fit:contain;object-position:top left}.outlier-draw-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.55;pointer-events:none}.outlier-draw-canvas.brush-canvas{opacity:.92;image-rendering:pixelated}.outlier-draw-canvas.brush-canvas.is-pixel,.outlier-draw-canvas.brush-marker.is-pixel{image-rendering:auto}.brush-palette{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:4px 0 10px}.brush-palette .brush-mark-toggle{margin-left:auto}.brush-palette-label{font-size:.85rem;color:var(--muted, #94a3b8)}.brush-swatches{display:flex;flex-wrap:wrap;gap:4px;max-height:96px;overflow-y:auto;padding:2px}.brush-swatch{width:22px;height:22px;border-radius:5px;border:2px solid rgba(255,255,255,.25);padding:0;cursor:pointer;transition:transform .08s ease,border-color .08s ease}@media (hover: hover) and (pointer: fine){.brush-swatch:hover{transform:scale(1.12)}}.brush-swatch.active{border-color:#fff;box-shadow:0 0 0 3px var(--accent)}.brush-selected{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600}.brush-selected .swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.3)}.brush-replace{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px}.brush-replace-arrow{color:var(--muted, #94a3b8);font-weight:600}.thread-select{display:inline-flex;align-items:center;gap:6px}.thread-select .swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.3);flex:none}.thread-select select{max-width:190px}.outlier-draw-canvas.brush-marker{opacity:1;image-rendering:pixelated;pointer-events:none}.brush-mark-toggle{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-size:.85rem;color:var(--muted, #94a3b8);cursor:pointer}.border-smooth-pair{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;font-size:.85rem}.border-smooth-swatch{display:inline-flex;align-items:center;gap:6px}.border-smooth-swatch .swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.3)}.border-smooth-stage{position:relative;cursor:none;touch-action:none}.border-smooth-cursor{position:absolute;border:1.5px solid rgba(255,255,255,.85);border-radius:50%;box-shadow:0 0 0 1px #00000073;transform:translate(-50%,-50%);pointer-events:none;z-index:3}.brush-swatch.is-extra{border-style:dashed;border-color:#ffffffb3}.brush-work-area{display:flex;gap:8px;flex:1 1 auto;min-height:0}.brush-work-area>.editor-zoom-viewport{flex:1 1 auto;width:auto;min-width:0;height:auto;min-height:0;max-height:none;margin:0}.brush-tool-rail{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--panel);overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-webkit-user-select:none;user-select:none}.brush-tool-rail::-webkit-scrollbar{display:none}.brush-tool-btn{position:relative;flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);cursor:pointer}@media (hover: hover) and (pointer: fine){.brush-tool-btn:hover:not(:disabled){background:var(--hover)}}.brush-tool-stitch-badge{position:absolute;top:2px;right:2px;display:grid;place-items:center;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--accent);color:#fff;font-size:9px;font-weight:700;line-height:1;pointer-events:none}.brush-tool-btn.active{border-color:var(--accent);background:#7b52301a;color:var(--accent)}.brush-tool-btn:disabled{opacity:.35;cursor:default}.brush-rail-wrap{position:relative;display:flex;flex:0 0 auto;min-height:0}.brush-rail-wrap>.brush-tool-rail{flex:1 1 auto;min-height:0}.brush-bottom-controls{flex:0 0 auto;display:flex;align-items:center;gap:2px}.brush-bottom-zoom{display:flex;align-items:center;gap:2px}.brush-bottom-zoom .brush-tool-btn{font-size:22px;line-height:1}.brush-bottom-divider{flex:0 0 auto;width:1px;height:24px;margin:0 4px;background:var(--border)}.brush-tool-btn.is-compact{width:38px;height:38px}.brush-rail-zoom-pct{width:44px;padding:2px 0;border:none;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:600;cursor:pointer}.brush-size-popover{position:absolute;left:calc(100% + 8px);top:0;z-index:20;width:min(440px,70vw);padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 10px 28px #1e160c2e}.brush-size-popover .brush-size-control{display:flex;flex-wrap:wrap;width:100%}.brush-head-actions{display:flex;align-items:center;gap:8px}.mask-info-wrap.is-below .mask-info-tooltip{top:calc(100% + 8px);bottom:auto;left:auto;right:0}.mask-info-wrap.is-below:not(.is-open):hover .mask-info-tooltip,.mask-info-wrap.is-below:not(.is-open):focus-within .mask-info-tooltip{display:none}.mask-info-wrap.is-open .mask-info-tooltip{display:block}@media (hover: hover) and (pointer: fine){.mask-info-wrap.is-below:hover .mask-info-tooltip{display:block}}.brush-palette.brush-palette-bottom{flex-wrap:nowrap;margin:6px 0 0}.brush-palette-bottom .brush-swatches{flex:1 1 auto;min-width:0;flex-wrap:nowrap;max-height:none;overflow-x:auto;overflow-y:hidden;padding:5px 4px;scrollbar-width:thin;overscroll-behavior-x:contain}.brush-palette-bottom .brush-swatch{flex:0 0 auto}.mask-dialog-head.brush-head{flex-wrap:wrap;gap:6px 12px;margin-bottom:8px}.brush-head-tools{display:flex;align-items:center;gap:4px 8px;flex:1 1 auto;min-width:0;flex-wrap:wrap}.brush-head-actions{flex-wrap:wrap;justify-content:flex-end}.workspace-main-view>.editor-inline.brush-dialog{padding:8px}.workspace-shell:not(.has-side):has(.editor-inline.brush-dialog) .workspace-rail{margin-right:0;border-right:1px solid var(--border)}.brush-dialog .editor-zoom-viewport{scrollbar-gutter:auto}.mask-dialog.brush-dialog.is-fullscreen,.workspace-main-view>.editor-inline.brush-dialog.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;width:auto;height:auto;max-width:none;max-height:none;margin:0;border-radius:0;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:var(--panel)}.modal-overlay.is-above-brush-fullscreen{z-index:60}.brush-palette-bottom .brush-selected,.brush-palette-bottom .brush-mark-toggle{flex:0 0 auto;white-space:nowrap}.editor-zoom-viewport .outlier-image-stack.editor-zoom-stage img.brush-overlay-ref,.outlier-image-stack img.brush-overlay-ref{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;image-rendering:auto;pointer-events:none}.brush-overlay-control{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex:1 1 auto;min-width:0}.brush-palette .brush-mark-toggle.brush-overlay-toggle{margin-left:0;white-space:nowrap}.brush-overlay-toggle .spinner{width:12px;height:12px}.brush-overlay-control input.brush-overlay-slider{width:180px;height:1.5rem;margin:0;padding:0;border:none;border-radius:0;background:transparent;accent-color:var(--accent);cursor:pointer}.brush-overlay-control select.brush-overlay-source{width:auto;max-width:220px;padding:4px 8px;font-size:.85rem;text-overflow:ellipsis}.brush-overlay-value{min-width:3.5ch;font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--muted, #94a3b8)}@media (max-width: 640px){.brush-overlay-control input.brush-overlay-slider{width:120px}}.brush-tool-rail-divider{flex:0 0 auto;width:28px;height:1px;margin:2px 0;background:var(--border)}.brush-rail-current{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:3px solid var(--panel);box-shadow:0 0 0 1px var(--border)}.brush-rail-recent{display:flex;flex-direction:column;align-items:center;gap:6px}.brush-swatch.brush-rail-swatch{flex:0 0 auto;width:34px;height:34px;border-radius:7px}.brush-pick-probe{position:fixed;z-index:90;transform:translate(-50%,calc(-100% - 48px));display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid var(--border);border-radius:999px;background:var(--panel);box-shadow:0 4px 14px #0000002e;font-size:13px;font-weight:600;white-space:nowrap;pointer-events:none}.brush-pick-probe-swatch{width:36px;height:36px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}.brush-add{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 12px}.brush-added{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.brush-added-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 4px 2px 6px;border-radius:6px;background:#ffffff12;font-size:.8rem}.brush-added-chip .swatch{width:14px;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.3)}.brush-added-remove{border:none;background:transparent;color:var(--muted, #94a3b8);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.brush-added-remove:hover{color:#fff}.color-dropdown{position:relative;display:inline-flex}.color-dropdown-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;color:inherit;cursor:pointer}.color-dropdown-btn .swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.3);flex:none}.color-dropdown-text{font-size:.85rem}.color-dropdown-caret{font-size:.7rem;color:var(--muted, #94a3b8)}.color-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:220px;max-height:280px;overflow-y:auto;margin:0;padding:4px;list-style:none;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:var(--panel, #0f172a);box-shadow:0 12px 30px #00000073}.color-dropdown-menu ul{margin:0;padding:0;list-style:none}.color-dropdown-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:inherit;cursor:pointer;text-align:left;font-size:.85rem}.color-dropdown-option:hover,.color-dropdown-option.active{background:#ffffff1a}.color-dropdown-option .swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.3);flex:none}.color-dropdown-search{width:100%;box-sizing:border-box;margin-bottom:4px;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;color:inherit}.color-dropdown-empty{padding:8px;font-size:.82rem;color:var(--muted, #94a3b8)}.add-color-menu{min-width:260px}.mask-actions{display:flex;justify-content:flex-end;flex-wrap:nowrap;gap:10px;margin-top:14px;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin}.brush-actions{justify-content:space-between;align-items:center}.brush-actions .editor-zoom-bar{margin-left:0}.brush-actions-end{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;flex-wrap:nowrap;gap:10px;margin-left:auto}.muted{color:var(--muted)}.small{font-size:12px}code{background:#f1ece2;padding:1px 5px;border-radius:5px;font-size:12px}@media print{body{background:#fff}.app>*:not(.workspace),.workspace .col.left,.result-view,.app-footer,.thread-list-print-hide{display:none!important}.app,.workspace,.workspace .col.right{display:block!important;max-width:none;margin:0;padding:0}.thread-list{box-shadow:none;border:none;margin:0;padding:0}}.slider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 14px}.slider{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.slider>span{display:flex;justify-content:space-between;gap:8px}.slider-value{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}.slider-label-text{display:inline-flex;align-items:center;gap:6px;min-width:0}.info-tip{position:relative;display:inline-flex;flex-shrink:0}.info-tip-btn{width:16px;height:16px;padding:0;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--muted);font:inherit;font-size:10px;font-weight:700;line-height:1;cursor:help}.info-tip-btn:hover,.info-tip-btn:focus-visible{color:var(--ink);border-color:var(--accent)}.info-tip-bubble{display:none;position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);width:min(280px,70vw);padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);font-size:12px;font-weight:400;line-height:1.4;box-shadow:0 8px 20px #0000001f;z-index:40;text-align:left;white-space:normal}.info-tip:hover .info-tip-bubble,.info-tip:focus-within .info-tip-bubble{display:block}.slider input[type=range]{width:100%;padding:0}.slider--wide{grid-column:1 / -1}.slider--disabled{opacity:.45}.slider--disabled input[type=range]{cursor:not-allowed}.check-slider-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;align-items:center;margin:0 0 14px}@media (max-width: 720px){.check-slider-row{grid-template-columns:1fr}}.check-slider-row .slider{min-width:0}.settings-full-field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}@media (max-width: 720px){.slider-grid{grid-template-columns:1fr}}.thread-picker{display:flex;flex-direction:column;gap:8px}.thread-picker-chips{display:flex;flex-wrap:wrap;gap:6px}.thread-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;font-size:.8rem}.thread-chip .swatch{width:12px;height:12px;border-radius:3px}.thread-chip-x{color:#a33;font-weight:700}.ghost-btn.tiny{padding:2px 8px;font-size:.78rem}.thread-picker-search{width:100%}.thread-picker-dropdown{position:relative}.thread-picker--compact .thread-picker-results{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:180px;background:#fff;box-shadow:0 8px 20px #0000001f}.thread-picker-results{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:4px;display:flex;flex-direction:column}.thread-picker-row{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:6px;font-size:.82rem;cursor:pointer}.thread-picker-row:hover{background:#f1ece1}.thread-picker-row .swatch{width:14px;height:14px;border-radius:3px;flex:none}.thread-picker-row input{width:auto}.thread-picker-name{color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:12px}.palette-line-picker{display:flex;align-items:center;gap:10px;min-width:0}.palette-line-picker select{max-width:min(100%,280px)}.palette-head h2{margin:0}.palette-hint{margin:6px 0 0;font-size:13px;max-width:60ch}.palette-count{white-space:nowrap;font-size:13px}.palette-search{margin:14px 0 16px}.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.palette-modal{width:min(640px,100%);max-height:92dvh;overflow-y:auto;margin:0}.palette-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.palette-hero{display:flex;align-items:center;gap:16px}.palette-hero-swatch{width:120px;height:120px;border-radius:14px;border:1px solid rgba(0,0,0,.2);box-shadow:var(--shadow);flex:none}.palette-hero-code{font-size:20px}.palette-hero-name{font-size:15px;font-weight:600;margin:2px 0 0}.palette-hero-alt{font-size:13px;margin:0 0 4px}.palette-nearby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;padding-top:3px}@media (max-width: 520px){.palette-hero-swatch{width:84px;height:84px}}.gallery-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 24px;margin-top:14px}.gallery-control{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.gallery-control>span{font-weight:600}.gallery-chip-row{display:flex;flex-wrap:wrap;gap:8px}.gallery-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.gallery-toggle:hover{border-color:var(--accent)}.gallery-toggle.active{border-color:var(--accent);background:#7b52301a;color:var(--accent);font-weight:600}.gallery-size-slider{width:160px;accent-color:var(--accent)}.gallery-focus-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.gallery-focus-banner strong{color:var(--accent)}.gallery-grid-shell{width:100%;max-width:100%;min-width:0;margin-top:18px;contain:inline-size}.gallery-section--spaced{margin-top:28px}.gallery-grid{display:grid;width:100%;max-width:100%;grid-template-columns:repeat(auto-fill,minmax(var(--gallery-card-width, 180px),1fr));gap:16px;align-items:start}.gallery-empty{margin-top:24px;color:var(--muted)}.gallery-item{position:relative;display:block;width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}.gallery-item:hover{transform:translateY(-2px);border-color:var(--accent)}.gallery-item.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.gallery-thumb{position:relative;width:100%;line-height:0;background:var(--image-mat)}.gallery-thumb--clickable{cursor:zoom-in}.gallery-thumb-frame{position:relative;width:100%;overflow:hidden;background:var(--image-mat)}.gallery-thumb-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;background:#e8e2d6;opacity:0;transition:opacity .2s ease;pointer-events:none}.gallery-thumb-placeholder.is-visible{opacity:1}.gallery-thumb-placeholder.is-loading{background:linear-gradient(110deg,#e8e2d6 8%,#f5f0e6 18%,#e8e2d6 33%);background-size:200% 100%;animation:gallery-thumb-shimmer 1.4s ease-in-out infinite}@keyframes gallery-thumb-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.gallery-thumb-frame img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s ease}.gallery-thumb-frame img.is-loaded{opacity:1}.gallery-thumb img{display:block;width:100%;height:auto}.gallery-thumb .gallery-thumb-empty{display:flex;align-items:center;justify-content:center;width:100%;min-height:120px;line-height:normal;color:var(--muted);font-size:12px}.gallery-kind-badge{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff;background:#2b2620b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.gallery-kind-badge.original{background:#7b5230d9}.gallery-kind-badge.pending{background:#4870a8e6}.gallery-item.is-pending .gallery-thumb{position:relative}.gallery-pending-spinner{position:absolute;right:8px;bottom:8px;width:20px;height:20px}.gallery-hover-actions{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:stretch;padding:0;background:linear-gradient(to top,rgba(20,14,8,.82) 0%,rgba(20,14,8,.45) 42%,transparent 72%);opacity:0;transition:opacity .15s ease;pointer-events:none}.gallery-item:hover .gallery-hover-actions{opacity:1;pointer-events:auto}.gallery-hover-actions-bar{display:flex;width:100%;gap:6px;padding:8px}.gallery-hover-btn{flex:1;min-width:0;background:#fffffff5;color:var(--ink);border:none;border-radius:8px;padding:9px 8px;font:inherit;font-size:12px;font-weight:700;line-height:1.1;cursor:pointer;box-shadow:0 2px 10px #00000038;white-space:nowrap}.gallery-hover-btn:not(.gallery-hover-btn--primary):hover:not(:disabled){background:#fff}.gallery-hover-btn--primary{background:var(--accent);color:var(--accent-ink)}.gallery-hover-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,white);color:var(--accent-ink)}.gallery-hover-btn:disabled{opacity:.55;cursor:not-allowed}.gallery-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:48px 72px;background:#1e160cb8}.gallery-lightbox-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:min(1200px,100%);max-height:100%}.gallery-lightbox-work-banner{display:inline-flex;align-items:baseline;gap:10px;max-width:min(720px,90vw);padding:8px 16px;border-radius:999px;background:#fff8ebf2;box-shadow:0 8px 24px #00000038;color:var(--ink, #2b261f)}.gallery-lightbox-banners{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;max-width:min(720px,90vw)}.gallery-lightbox-type-badge{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.02em;color:#fff;background:#2b2620d1;box-shadow:0 8px 24px #00000038}.gallery-lightbox-type-badge--original{background:#7b5230eb}.gallery-lightbox-type-badge--ai{background:#4870a8eb}.gallery-lightbox-type-badge--method1,.gallery-lightbox-type-badge--method2,.gallery-lightbox-type-badge--method3,.gallery-lightbox-type-badge--method4,.gallery-lightbox-type-badge--manual{background:#2b2620d1}.gallery-lightbox-type-badge--draft,.gallery-lightbox-type-badge--pending{background:#4870a8d9}.gallery-lightbox-work-banner-label{flex:none;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent, #6366f1)}.gallery-lightbox-work-banner-name{min-width:0;font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-lightbox-image{display:block;max-width:min(1200px,90vw);max-height:calc(100dvh - 180px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 16px 48px #00000059}.gallery-lightbox-meta{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(720px,100%)}.gallery-lightbox-context{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px}.gallery-lightbox-context-item{display:inline-flex;align-items:baseline;gap:8px;color:#ffffffeb;font-size:14px}.gallery-lightbox-context-label{color:#ffffff9e;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.gallery-lightbox-context-value{font-weight:600}.gallery-lightbox-footer{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.gallery-lightbox-counter{color:#ffffffbf;font-size:13px;font-weight:600}.gallery-lightbox-work-btn{min-width:180px}.gallery-lightbox-close{position:absolute;top:16px;right:16px;z-index:2;width:40px;height:40px;border:none;border-radius:999px;background:#ffffffeb;color:var(--ink);font-size:24px;line-height:1;cursor:pointer}.gallery-lightbox-close:hover{background:#fff}.gallery-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border:none;border-radius:999px;background:#ffffffeb;color:var(--ink);font-size:28px;line-height:1;cursor:pointer}.gallery-lightbox-nav:hover{background:#fff}.gallery-lightbox-nav--prev{left:16px}.gallery-lightbox-nav--next{right:16px}.gallery-item-info{display:flex;flex-direction:column;gap:3px;padding:10px 12px;font-size:13px;line-height:normal}.gallery-item-info .gallery-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-item-info small{color:var(--muted);font-size:12px}.projects-screen{width:100%;max-width:none}.project-create-row{display:flex;gap:10px;flex-wrap:wrap}.project-create-row input{flex:1;min-width:200px}.project-list{display:grid;gap:10px;margin-top:20px}.category-filter{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px}.project-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel);text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:border-color .12s ease,transform .12s ease}.project-card:hover{border-color:var(--accent);transform:translateY(-1px)}.project-card-thumb{position:relative;aspect-ratio:1 / 1;background:var(--image-mat);overflow:hidden}a.project-card-thumb,a.project-card-name{display:block;color:inherit;text-decoration:none}.project-card-collection-badge{position:absolute;top:8px;left:8px;z-index:1;max-width:calc(100% - 16px);padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.4;color:#fff;background:#7b5230eb;pointer-events:none}.project-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-card-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--muted);font-size:13px}.project-card-body{display:flex;flex-direction:column;gap:4px;padding:12px 14px}.project-card-name{font-weight:600;font-size:16px}.project-card-meta{color:var(--muted);font-size:13px}.project-card-labels{display:flex;flex-direction:column;gap:2px;min-width:0}.project-card-label{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-label strong{color:var(--ink);font-weight:600}.project-card-rename input{width:100%;box-sizing:border-box}.project-card-rename-actions{display:flex;justify-content:flex-end;gap:8px}.project-card-rename-error{color:var(--danger, #c0392b);font-size:12px}.collection-artwork-context-menu{position:fixed;top:auto;right:auto;z-index:80;box-shadow:0 8px 24px #1e160c2e}.collection-artwork-card .project-card-thumb{display:block;width:100%;padding:0;border:none;background:var(--image-mat);cursor:pointer;text-align:inherit;font:inherit;color:inherit}.collection-artwork-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.collection-artwork-card-text{display:flex;flex-direction:column;gap:4px;min-width:0}.collection-panel{padding:16px 16px 20px}.collection-panel-form{display:flex;flex-direction:column;gap:12px}.collection-panel-form label{display:flex;flex-direction:column;gap:6px;font-size:13px}.project-work-desk{display:flex;flex-direction:column;gap:24px;width:100%}.project-work-desk-editor{width:100%}.project-work-desk-empty{text-align:center;padding:48px 24px}.project-detail-panels{display:grid;gap:16px}.project-detail-panels>.panel{margin-bottom:0}.project-detail-panels .header-row{margin-bottom:14px}.project-detail-panels .project-grid{margin-top:0}.project-collected-collections{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:2px}.project-collected-collections a{color:var(--accent);font-size:13px;text-decoration:none}.project-collected-collections a:hover{text-decoration:underline}.project-chats-panel{display:flex;flex-direction:column;gap:14px}.project-chats-empty{margin:0}.project-chats-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.project-chats-item{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel) 92%,var(--border))}.project-chats-item-main{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;margin:0;padding:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.project-chats-thumb{flex:0 0 auto;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--image-mat, #efe8df);display:grid;place-items:center}.project-chats-thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-chats-thumb-placeholder{color:var(--accent);font-size:16px}.project-chats-item-text{display:flex;flex-direction:column;gap:2px;min-width:0}.project-chats-title{font-size:14px;font-weight:550;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-chats-meta{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-chats-delete{flex:0 0 auto;color:var(--error)}.work-list-panel .gallery-empty{margin:0}.work-list-header{align-items:center;gap:12px}.work-list-toolbar{display:flex;align-items:center;gap:10px;margin-left:auto}.work-list-sort select,.work-list-page-size select{font:inherit;font-size:13px;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:inherit}.work-list-page-size{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted, inherit)}.work-list-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.notes-panel{display:flex;flex-direction:column;gap:14px}.notes-compose{display:flex;flex-direction:column;gap:10px}.notes-compose label,.notes-edit-form{display:flex;flex-direction:column;gap:6px;font-size:13px}.notes-compose textarea,.notes-edit-form textarea{width:100%;min-height:72px;resize:vertical;font:inherit;line-height:1.4;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:inherit}.notes-empty{margin:0}.notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.notes-item{padding:12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel) 92%,var(--border))}.notes-item-body{margin:0;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.45}.notes-item-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}.notes-item-actions{display:flex;align-items:center;gap:6px}.notes-modal{width:min(520px,100%);max-height:min(80dvh,720px);overflow:auto}.notes-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.notes-modal-head .panel-title{margin:0}.project-card-notes-btn{margin-top:8px}.workspace-side .notes-panel,.collection-panel .notes-panel{padding-top:4px}.collection-panel-notes{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.work-list-page-label{font-size:13px;color:var(--muted)}.work-list-project{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}.work-list-row{display:flex;align-items:stretch;gap:16px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,var(--hover))}.work-list-row--empty{justify-content:center}.work-list-info{flex:0 0 200px;display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:160px;max-width:240px}.work-list-info-link{display:flex;flex-direction:column;gap:4px;min-width:0;text-decoration:none;color:inherit}.work-list-info-static{display:flex;flex-direction:column;gap:4px;min-width:0}.work-list-info-link:hover .work-list-name{color:var(--accent, #6366f1)}.work-list-name{font-weight:600;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-list-meta{color:var(--muted);font-size:12px}.work-list-continue{align-self:flex-start;font-size:13px;font-weight:500;padding:5px 12px;border-radius:6px;background:var(--accent, #6366f1);color:#fff;text-decoration:none}.work-list-continue:hover{filter:brightness(1.05)}.work-list-images{flex:1;min-width:0;display:flex;align-items:flex-start;gap:16px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.work-list-images-empty{margin:0;padding:24px 8px;color:var(--muted);font-size:13px;align-self:center}.work-list-image{flex:0 0 var(--gallery-card-width, 180px);width:var(--gallery-card-width, 180px);padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;-moz-appearance:none;appearance:none;-webkit-appearance:none}.work-list-image:disabled{cursor:default;opacity:.7}.work-list-image:disabled:hover{transform:none;border-color:var(--border)}@media (max-width: 720px){.work-list-row{flex-direction:column}.work-list-info{flex-basis:auto;max-width:none;width:100%}}.gallery-work-label{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent, #6366f1) 14%,transparent);color:var(--accent, #6366f1);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-item-info .gallery-work-label{margin-bottom:2px}.project-work-desk-preview{display:grid;gap:16px;place-items:center;padding:48px 24px;text-align:center}.project-work-desk-preview-img{max-width:100%;max-height:min(60dvh,520px);object-fit:contain;border-radius:8px}.project-work-desk-preview-hint{display:inline-flex;align-items:center;gap:8px;margin:0}.project-work-desk-gallery{width:100%;max-width:none}.project-work-desk-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.project-work-desk-gallery-head h2{margin:0;font-size:18px}.work-desk{display:flex;align-items:stretch;gap:0;width:100%;min-height:calc(100dvh - var(--app-header-height))}.work-desk-main{flex:1;min-width:0}.work-tree{flex:0 0 280px;width:280px;height:calc(100dvh - var(--app-header-height));max-height:calc(100dvh - var(--app-header-height));display:flex;flex-direction:column;background:var(--panel);border:none;border-right:1px solid var(--border);border-radius:0;overflow:hidden;position:sticky;top:var(--app-header-height);align-self:flex-start}.work-tree-collapsed{flex:0 0 36px;width:36px;max-height:none;align-items:center;justify-content:flex-start;padding-top:8px}.work-tree-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 8px;border-bottom:1px solid var(--border)}.work-tree-title{margin:0;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.work-tree-toggle{flex-shrink:0;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;font-size:16px;line-height:1}.work-tree-toggle:hover{background:var(--hover)}.work-tree-body{flex:1;overflow-y:auto;padding:8px 0}.work-tree-foot{padding:8px 10px 10px;border-top:1px solid var(--border)}.work-tree-upload{width:100%}.work-tree-error{padding:6px 10px;font-size:12px;color:var(--error, #ef4444)}.work-tree-list{list-style:none;margin:0;padding:0}.work-tree-list.nested{padding-left:8px}.work-tree-node{margin:0}.work-tree-row{display:flex;align-items:center;gap:4px;min-height:32px;padding-right:8px;border-radius:6px}.work-tree-row.active{background:color-mix(in srgb,var(--accent, #6366f1) 14%,transparent)}.create-work-dialog{width:min(1100px,calc(100vw - 32px));max-width:min(1100px,calc(100vw - 32px));max-height:min(92dvh,900px);display:flex;flex-direction:column;overflow:hidden}.create-work-project{margin:0 0 12px;font-size:13px}.create-work-form{display:flex;flex-direction:column;min-height:0;flex:1}.create-work-pick-label{margin:16px 0 8px;font-size:13px;color:var(--muted, #888)}.create-work-gallery{flex:1;min-height:360px;max-height:min(62dvh,620px);overflow-y:auto;margin-bottom:16px;border:1px solid var(--border);border-radius:8px;padding:14px}.create-work-dialog .modal-actions{flex:none;margin-top:auto}.create-work-gallery .gallery-grid-shell{margin-top:0}.create-work-gallery .gallery-section--spaced{margin-top:22px}.gallery-item.is-selectable{cursor:pointer}.gallery-item.is-selected{outline:2px solid var(--accent, #6366f1);outline-offset:2px}.work-tree-row.work .work-tree-label{font-weight:500}.work-tree-row.project .work-tree-label{font-weight:600}.work-tree-chevron{flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;line-height:1;border-radius:4px}.work-tree-chevron:hover{background:var(--hover);color:var(--text)}.work-tree-spacer{flex-shrink:0;width:24px}.work-tree-label{flex:1;min-width:0;border:none;background:transparent;text-align:left;font:inherit;font-size:13px;color:var(--text);cursor:pointer;padding:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-tree-label:hover{color:var(--accent, #6366f1)}.work-tree-action{flex-shrink:0;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-size:16px;line-height:1}.work-tree-action:hover{background:var(--hover);color:var(--text)}.work-tree-badge{flex-shrink:0;font-size:10px;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:999px;background:var(--hover);color:var(--muted)}.work-tree-badge.saved{background:color-mix(in srgb,var(--accent, #6366f1) 18%,transparent);color:var(--accent, #6366f1)}.work-tree-rename-input{flex:1;min-width:0;font:inherit;font-size:13px;padding:3px 6px;border:1px solid var(--accent, #6366f1);border-radius:4px;background:var(--bg);color:var(--text)}.work-tree-empty{margin:0;padding:12px 14px;font-size:13px;color:var(--muted)}.work-tree-empty.nested{padding:4px 8px 4px 32px;font-size:12px}@media (max-width: 960px){.work-desk{flex-direction:column}.work-tree,.work-tree-collapsed{position:static;width:100%;flex:none;max-height:280px}.work-tree-collapsed{max-height:none;flex-direction:row;height:36px}}.generate-hint{margin:8px 0 0;font-size:12px;color:var(--muted);text-align:center}.job-queue{position:fixed;right:16px;bottom:16px;z-index:60;width:min(320px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.job-queue-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);font-weight:600;font-size:13px}.job-queue-title{flex:1}.job-queue-list{list-style:none;margin:0;padding:4px;max-height:40dvh;overflow-y:auto}.job-queue-item{display:block;padding:8px;border-radius:calc(var(--radius) - 4px)}.job-queue-item+.job-queue-item{border-top:1px solid var(--border)}.job-queue-item-body{display:flex;flex-direction:column;gap:6px}.job-queue-item-row{display:flex;align-items:center;gap:8px}.job-queue-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.job-queue-item-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-queue-status{font-size:11px;color:var(--muted)}.job-queue-status.status-running{color:var(--accent)}.job-queue-cancel{flex:none;font-size:12px}.job-progress{height:4px;border-radius:2px;background:color-mix(in srgb,var(--border) 80%,transparent);overflow:hidden}.job-progress-bar{height:100%;border-radius:inherit;background:var(--accent);transition:width .35s ease}.image-progress{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(240px,70%);padding:12px 14px;border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 88%,transparent);box-shadow:var(--shadow)}.image-progress-label{font-size:13px;font-weight:600;color:var(--text);text-align:center}.image-progress-track{width:100%;height:6px}.jobs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.jobs-row{display:flex;align-items:center;gap:14px;padding:12px 4px}.jobs-row+.jobs-row{border-top:1px solid var(--border)}.jobs-row-thumb{flex:none;width:56px;height:56px;padding:0;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);overflow:hidden;background:var(--bg);cursor:pointer}.jobs-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}.jobs-row-thumb-placeholder{display:block;width:100%;height:100%;background:var(--hover)}.jobs-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.jobs-row-progress{margin-top:4px;max-width:220px}.jobs-row-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jobs-row-meta{font-size:12px;color:var(--muted)}.jobs-row-error{font-size:12px;color:var(--error)}.job-status-badge{flex:none;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--hover);color:var(--muted)}.job-status-badge.status-running{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.job-status-badge.status-done{background:color-mix(in srgb,#16a34a 18%,transparent);color:#15803d}.job-status-badge.status-failed{background:color-mix(in srgb,var(--error) 18%,transparent);color:var(--error)}.jobs-row-actions{flex:none;display:flex;gap:6px}@media (max-width: 640px){.jobs-row{flex-wrap:wrap}.jobs-row-actions{width:100%;justify-content:flex-end}}.work-tree-rename-btn{flex:none;display:grid;place-items:center;width:28px;height:28px;margin:0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:14px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s ease}.work-tree-row:hover .work-tree-rename-btn,.work-tree-rename-btn:focus-visible{opacity:1}.work-tree-rename-btn:hover{color:var(--ink);background:var(--hover)}.info-tip-btn{position:relative}.info-tip-btn:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.app{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-header{padding-top:env(safe-area-inset-top);height:calc(var(--app-header-height) + env(safe-area-inset-top));flex-basis:calc(var(--app-header-height) + env(safe-area-inset-top))}.image-tree-node,.collection-artwork-card,.gallery-item{-webkit-touch-callout:none}button,[role=button],a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (hover: none){.gallery-hover-actions{opacity:1;pointer-events:auto;background:linear-gradient(to top,rgba(20,14,8,.7) 0%,transparent 45%)}.project-title-edit-btn,.work-tree-rename-btn{opacity:1}.info-tip-btn,.mask-info-btn{cursor:pointer}}@media (pointer: coarse){.icon-btn,.workspace-rail-btn{width:44px;height:44px}.image-viewer-zoom-btn,.image-viewer-zoom-pct{min-width:44px;height:44px}.ghost-btn{min-height:44px}.framed-download-btn,.mask-info-btn{width:44px;height:44px}.brush-size-stitch-btn{min-height:36px;padding:6px 12px}.brush-swatch{width:36px;height:36px;border-radius:7px}.image-tree-menu-trigger{width:32px;height:32px}.image-tree-menu-trigger:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.work-tree-rename-btn{width:40px;height:40px}.work-tree-row{min-height:44px}.crop-overlay-handle{width:20px;height:20px}.crop-overlay-handle:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}input[type=range]{min-height:32px}}@media (pointer: coarse) and (min-width: 881px){.workspace-rail{flex-basis:56px}}@media (pointer: coarse) and (min-width: 881px) and (max-width: 1100px){.workspace-side{left:56px;max-width:calc(100% - 96px)!important}}@media (pointer: coarse){input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{font-size:16px!important}}.workspace-main-view.is-editing{position:relative}.editor-inline>.mask-dialog-head,.editor-inline>.mask-hint,.editor-inline>.banner,.editor-inline>.mask-toolbar,.editor-inline>.mask-select-status,.editor-inline>.brush-palette,.editor-inline>.outlier-level-control,.editor-inline>.border-smooth-pair,.editor-inline>.mask-actions{flex:0 0 auto}.editor-inline>.editor-zoom-viewport,.editor-inline>.mask-areas-viewport{flex:1 1 auto;height:auto;min-height:0;max-height:none;width:100%;margin:0}.editor-inline .mask-areas-viewport .editor-zoom-viewport{flex:1 1 auto;height:auto;min-height:0;max-height:none;width:100%;margin:0;display:flex;align-items:safe center;justify-content:safe center}.editor-inline .mask-hint{margin-bottom:8px}.editor-inline.confetti-dialog .outlier-image-stack img{max-height:none;image-rendering:auto}.editor-inline-status{position:absolute;top:14px;right:120px;z-index:4;pointer-events:none}.draft-status-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;color:var(--muted);background:color-mix(in srgb,var(--ink) 6%,transparent)}.draft-status-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:#16a34a}.draft-status-chip.is-saving:before{background:#d97706}.draft-status-chip.is-offline:before,.draft-status-chip.is-error:before{background:#b91c1c}.banner.draft-resume{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0;border-radius:0}.draft-resume-actions{display:inline-flex;gap:8px}.route-notice{display:flex;align-items:center;justify-content:space-between;gap:12px}.work-tree-error:has(.work-tree-error-close){display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.work-tree-error-close{flex-shrink:0;border:none;background:none;color:inherit;font-size:16px;line-height:1;padding:0 2px;cursor:pointer}.brush-cursor.is-simplify{border-style:dotted;border-color:#ffffffe6}.brush-simplify-smooth{margin-top:10px}.brush-simplify-smooth label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:13px;color:var(--ink)}.brush-simplify-smooth input[type=range]{width:100%;margin:0;accent-color:var(--accent)}
