:root{color-scheme:dark;--bg:#080b12;--surface:#111827;--surface-soft:#1c2533;--surface-raised:#162033;--border:#2f3a4d;--border-strong:#4b5871;--text:#eef2f8;--muted:#a8b3c7;--blue:#38bdf8;--blue-dark:#0ea5e9;--green:#22c55e;--amber:#f59e0b;--red:#fb7185;--red-soft:rgba(127,29,29,.42);--yellow-soft:rgba(146,64,14,.42);--green-soft:rgba(20,83,45,.48);--button-bg:#182235;--shadow:0 14px 38px rgba(0,0,0,.34);--radius:8px;--control-radius:6px;--pill-radius:999px;--app-space-page:12px;--app-space-layout:4px;--app-space-panel:8px;--app-space-section:8px;--app-space-gap:8px;--app-space-control-y:7px;--app-space-control-x:9px;--app-space-button-y:6px;--app-space-button-x:10px;--app-space-sticky-offset:16px}:root[data-theme=light]{color-scheme:light;--bg:#f6f7f9;--surface:#fff;--surface-soft:#f0f3f7;--surface-raised:#fff;--border:#d9dee7;--border-strong:#b9c2d0;--text:#18202c;--muted:#667085;--blue:#2563eb;--blue-dark:#1d4ed8;--green:#15803d;--amber:#b45309;--red:#b91c1c;--red-soft:#fee2e2;--yellow-soft:#fef3c7;--green-soft:#dcfce7;--button-bg:#fff;--shadow:0 10px 30px rgba(15,23,42,.08)}*{box-sizing:border-box}body,html{min-height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}.app-layout{min-height:100vh;padding:var(--app-space-page)}.button-cluster{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.btn,.mini-btn{align-items:center;background:var(--button-bg);border:1px solid var(--border-strong);border-radius:var(--control-radius);color:var(--text);display:inline-flex;font-weight:650;gap:6px;justify-content:center;line-height:1;min-height:32px;padding:var(--app-space-button-y) var(--app-space-button-x);transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.btn:hover:not(:disabled),.mini-btn:hover:not(:disabled){border-color:var(--blue);transform:translateY(-1px)}.btn.active,.mini-btn.active{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.btn.primary,.mini-btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover:not(:disabled),.mini-btn.primary:hover:not(:disabled){background:var(--blue-dark)}.btn.success,.mini-btn.success{background:var(--green);border-color:var(--green);color:#fff}.btn.warn,.mini-btn.warn{background:var(--yellow-soft);border-color:#f59e0b;color:#7c2d12}.btn.danger,.mini-btn.danger{background:var(--red-soft);border-color:#fecaca;color:var(--red)}.btn.full,.mini-btn.full{width:100%}.mini-btn{font-size:11px;min-height:24px;padding:min(var(--app-space-button-y),4px) min(var(--app-space-button-x),6px)}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field.grow{min-width:260px}.field.compact{width:128px}.field>span{color:var(--muted);font-size:14px;font-weight:700}.control{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--control-radius);color:var(--text);min-height:34px;outline:none;padding:var(--app-space-control-y) var(--app-space-control-x);width:100%}.control:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb24}.check-field{align-items:center;display:inline-flex;gap:6px;min-height:34px;white-space:nowrap}.check-field>span{color:var(--muted);font-size:14px;font-weight:700}.check-field.muted{opacity:.55}.link-button{background:transparent;border:0;color:var(--text);padding:0;text-align:left}.icon{display:inline-block;height:1em;min-width:1.1em;vertical-align:-.125em;width:1.1em}.icon-btn{min-width:34px;padding-left:8px;padding-right:8px}.pill{border-radius:var(--pill-radius);flex:0 0 auto;font-size:11px;font-weight:750;padding:min(var(--app-space-control-y),3px) min(var(--app-space-control-x),7px)}.pill.warn{background:var(--yellow-soft);color:#7c2d12}.corners-square{--radius:0;--control-radius:0;--pill-radius:0}.corners-square :where(*){border-radius:0!important}.spacing-minimal{--app-space-page:4px;--app-space-layout:4px;--app-space-panel:4px;--app-space-section:4px;--app-space-gap:4px;--app-space-control-y:4px;--app-space-control-x:4px;--app-space-button-y:4px;--app-space-button-x:4px;--app-space-sticky-offset:4px}.spacing-minimal :where([class*=__workspace],[class*=__content],[class*=__header],[class*=__body],[class*=__section],[class*=__actions],[class*=__tabs],[class*=__bar],[class*=__row],[class*=__list],[class*=__group],[class*=__field],.button-cluster,.file-management-controls,.layout-config-controls,.filter-controls,.image-row,.dataset-panel__image-list){gap:4px!important}.spacing-super-minimal{--app-space-page:2px;--app-space-layout:2px;--app-space-panel:2px;--app-space-section:2px;--app-space-gap:2px;--app-space-control-y:2px;--app-space-control-x:2px;--app-space-button-y:2px;--app-space-button-x:2px;--app-space-sticky-offset:2px}.spacing-super-minimal :where([class*=__workspace],[class*=__content],[class*=__header],[class*=__body],[class*=__section],[class*=__actions],[class*=__tabs],[class*=__bar],[class*=__row],[class*=__list],[class*=__group],[class*=__field],.button-cluster,.file-management-controls,.layout-config-controls,.filter-controls,.image-row,.dataset-panel__image-list){gap:2px!important}.spacing-none{--app-space-page:0px;--app-space-layout:0px;--app-space-panel:0px;--app-space-section:0px;--app-space-gap:0px;--app-space-control-y:0px;--app-space-control-x:0px;--app-space-button-y:0px;--app-space-button-x:0px;--app-space-sticky-offset:0px}.spacing-none :where(*){gap:0!important;margin:0!important;padding:0!important;scroll-margin:0!important;scroll-padding:0!important}.empty-inline{color:var(--muted);font-size:13px;padding:var(--app-space-panel)}.tag-token--common{font-style:italic}.tag-token--unknown{text-decoration-color:var(--red);text-decoration-line:underline;text-decoration-style:wavy;text-underline-offset:3px}.tag-token--highlighted{border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green),0 0 0 1px var(--green)}.tag-token--fragment-highlighted{color:var(--amber);font-weight:750}.tag-token--filtered-blink{animation:filtered-tag-blink .48s ease-in-out 6}.cm-editor{color:var(--text)}.cm-editor .cm-cursor,.cm-editor .cm-dropCursor{border-left-color:var(--text)!important}.cm-editor ::-moz-selection{background:#38bdf842!important}.cm-editor .cm-selectionBackground,.cm-editor ::selection,.cm-editor.cm-focused .cm-selectionBackground{background:#38bdf842!important}.cm-tooltip,.cm-tooltip.cm-tooltip-autocomplete{background:var(--surface-raised)!important;border:1px solid var(--border-strong)!important;box-shadow:var(--shadow)!important;color:var(--text)!important}.cm-tooltip-autocomplete>ul{background:var(--surface-raised)!important;color:var(--text)!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;max-height:240px}.cm-tooltip-autocomplete>ul>li{background:transparent!important;color:var(--text)!important}.cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--blue)!important;color:#fff!important}.cm-tooltip-autocomplete .cm-completionIcon{opacity:.75}.cm-tooltip-autocomplete .cm-completionMatchedText{color:var(--amber);text-decoration:none}@keyframes filtered-tag-blink{0%,to{background:transparent;box-shadow:none}50%{background:#38bdf847;box-shadow:0 0 0 1px #38bdf880}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.app-icon-button[data-v-222ae18a]{align-items:center;background:transparent;border:0;border-radius:var(--app-icon-button-radius,var(--control-radius));color:var(--muted);display:inline-flex;height:var(--app-icon-button-height,var(--app-icon-button-size,34px));justify-content:center;line-height:1;min-height:var(--app-icon-button-height,var(--app-icon-button-size,34px));min-width:var(--app-icon-button-width,var(--app-icon-button-size,34px));outline:0;padding:0;transition:color .12s ease,transform .12s ease;width:var(--app-icon-button-width,var(--app-icon-button-size,34px))}.app-icon-button[data-v-222ae18a]:focus-visible,.app-icon-button[data-v-222ae18a]:hover:not(:disabled){color:var(--text)}.app-icon-button[data-v-222ae18a]:hover:not(:disabled){transform:var(--app-icon-button-hover-transform,none)}.app-icon-button--active[data-v-222ae18a]{background:var(--app-icon-button-active-bg,transparent);color:var(--text);cursor:default}.app-icon-button--danger[data-v-222ae18a]{color:var(--red)}.app-icon-button__icon[data-v-222ae18a]{height:var(--app-icon-size,1em);min-width:var(--app-icon-size,1.1em);width:var(--app-icon-size,1.1em)}.section-placement-buttons[data-v-0953030e]{align-items:center;display:inline-flex;flex:0 0 auto;gap:min(var(--app-space-layout),3px)}.section-placement-buttons__btn[data-v-0953030e]{--app-icon-button-size:22px;--app-icon-button-radius:4px;--app-icon-button-active-bg:var(--surface-soft);--app-icon-size:12px}.section-placement-buttons__btn[data-v-0953030e]:disabled{pointer-events:none}.tag-field[data-v-6fd35d44]{min-width:0}.tag-field__header[data-v-6fd35d44]{align-items:center;display:flex;gap:var(--app-space-gap);justify-content:space-between;min-width:0}.tag-field__label[data-v-6fd35d44]{color:var(--muted);font-size:12px;font-weight:700;min-width:0;overflow-wrap:anywhere}.tag-field__actions[data-v-6fd35d44]{align-items:center;display:inline-flex;flex:0 0 auto;gap:var(--app-space-layout)}.tag-field__history-btn[data-v-6fd35d44]{--app-icon-button-size:28px}.tag-field__editor[data-v-6fd35d44]{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--control-radius);color:var(--text);min-height:34px;overflow:hidden;width:100%}.tag-field__editor--focused[data-v-6fd35d44],.tag-field__editor[data-v-6fd35d44]:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb24}.tag-field__editor[data-v-6fd35d44] .cm-editor{background:transparent;color:var(--text);height:100%;outline:none}.tag-field__editor[data-v-6fd35d44] .cm-focused{outline:none}.tag-field__editor[data-v-6fd35d44] .cm-scroller{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.45;max-height:min(46vh,var(--tag-field-rows,4) * 1.45em + 18px);min-height:34px;overflow:auto}.tag-field__editor[data-v-6fd35d44] .cm-content{caret-color:var(--text);min-height:calc(var(--tag-field-rows, 4)*1.45em + 16px);padding:var(--app-space-panel)}.tag-field__editor[data-v-6fd35d44] .cm-line{padding:0}.tag-field__editor[data-v-6fd35d44] .cm-placeholder{color:var(--muted);opacity:.78}.tag-field__editor--single-line[data-v-6fd35d44] .cm-scroller{max-height:34px;overflow:hidden}.tag-field__editor--single-line[data-v-6fd35d44] .cm-content{min-height:32px;padding:var(--app-space-control-y) var(--app-space-control-x);white-space:pre}.tag-field__selected[data-v-6fd35d44]{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--control-radius);display:flex;gap:var(--app-space-gap);margin-top:0;min-height:30px;overflow:hidden;padding:min(var(--app-space-control-y),5px) var(--app-space-control-x)}.tag-field__selected strong[data-v-6fd35d44]{font-size:12px;min-width:0;overflow-wrap:anywhere}.tag-field__selected-label[data-v-6fd35d44]{color:var(--muted);font-size:11px;font-weight:800}.tag-text-selected{background:#38bdf838;border-radius:calc(var(--control-radius)/2);box-shadow:0 0 0 1px #38bdf84d}.tag-text-common{font-style:italic}.tag-text-unknown{text-decoration-color:var(--red);text-decoration-line:underline;text-decoration-style:wavy;text-underline-offset:3px}.tag-text-highlighted{border-radius:calc(var(--control-radius)/2);box-shadow:0 0 0 2px var(--green)}.tag-text-fragment-highlighted{color:var(--amber)!important;font-weight:850!important}.tag-text-regex{color:#c4b5fd}.tag-text-filtered-blink{animation:filtered-tag-blink .48s ease-in-out 6;border-radius:calc(var(--control-radius)/2)}.cm-tooltip{background:var(--surface-raised);border:1px solid var(--border-strong);box-shadow:var(--shadow);color:var(--text)}.cm-tooltip-autocomplete ul{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;max-height:240px}.cm-tooltip-autocomplete ul li[aria-selected]{background:var(--blue);color:#fff}.tag-set-fields[data-v-4127f59c]{display:flex;flex-direction:column;gap:var(--app-space-gap)}.tag-set-fields__section[data-v-4127f59c]{min-width:0}.tag-set-fields__section .tag-set-fields__header[data-v-4127f59c],.tag-set-fields__section summary[data-v-4127f59c]{align-items:center;cursor:pointer;display:flex;font-weight:750;gap:var(--app-space-gap);justify-content:space-between;list-style:none;margin-bottom:var(--app-space-panel)}.tag-set-fields__section .tag-set-fields__header[data-v-4127f59c]::-webkit-details-marker,.tag-set-fields__section summary[data-v-4127f59c]::-webkit-details-marker{display:none}.tag-set-fields__heading[data-v-4127f59c]{align-items:center;display:inline-flex;gap:var(--app-space-gap);min-width:0}.tag-set-fields__placement[data-v-4127f59c]{flex:0 0 auto}.quick-controls[data-v-fa705fc1]{display:flex;flex-direction:column;gap:var(--app-space-gap)}.quick-controls__section[data-v-fa705fc1]{border-top:1px solid var(--border);padding-top:var(--app-space-panel)}.quick-controls__section summary[data-v-fa705fc1]{align-items:center;cursor:pointer;display:flex;font-weight:750;gap:var(--app-space-gap);justify-content:space-between;list-style:none;margin-bottom:var(--app-space-panel)}.quick-controls__section summary[data-v-fa705fc1]::-webkit-details-marker{display:none}.quick-controls__tag-sets[data-v-fa705fc1]{border-top:1px solid var(--border);padding-top:var(--app-space-panel)}.app-header[data-v-cb0db5cf]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);max-height:calc(100vh - 16px);overflow:hidden;padding:0;position:sticky;resize:none;top:0;z-index:1000}.app-header__content[data-v-cb0db5cf]{display:flex;flex-direction:column;gap:calc(var(--app-space-gap)*2);height:100%;max-height:inherit;overflow:auto;padding:var(--app-space-panel) var(--app-space-page) calc(var(--app-space-panel)*2)}.app-header__resize[data-v-cb0db5cf]{background:transparent;border:0;bottom:0;cursor:row-resize;left:0;margin:0;min-height:10px;position:absolute;right:0;width:100%;z-index:2}.app-header__resize[data-v-cb0db5cf]:after{background:transparent;border-radius:var(--pill-radius);content:"";display:block;height:2px}.app-header__resize[data-v-cb0db5cf]:focus-visible:after,.app-header__resize[data-v-cb0db5cf]:hover:after{background:var(--blue)}@media(max-width:860px){.app-header__content[data-v-cb0db5cf]{align-items:stretch;flex-direction:column}}.batch-tools[data-v-8171e9e8]{padding:var(--app-space-panel) 0}.batch-tools summary[data-v-8171e9e8]{cursor:pointer;font-weight:750;list-style:none;margin-bottom:var(--app-space-panel)}.batch-tools summary[data-v-8171e9e8]::-webkit-details-marker{display:none}.batch-tools__description[data-v-8171e9e8]{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--control-radius);color:var(--muted);font-size:12px;line-height:1.45;padding:var(--app-space-panel)}.tag-chip[data-v-9a738777]{align-items:center;background:var(--button-bg);border:1px solid var(--border);border-radius:var(--pill-radius);color:var(--text);display:inline-flex;font-size:12px;gap:min(var(--app-space-layout),2px);line-height:1.2;max-width:100%;overflow-wrap:anywhere;padding:min(var(--app-space-control-y),1px) min(var(--app-space-control-x),1px);touch-action:none}.tag-chip--dragging[data-v-9a738777]{pointer-events:none;position:relative;z-index:3000}.tag-chip__text[data-v-9a738777]{min-width:0}.tag-chip--common[data-v-9a738777]{background:var(--surface-soft);font-style:italic}.tag-chip--removed[data-v-9a738777]{background:var(--yellow-soft);border-color:#f59e0b}.tag-chip--active[data-v-9a738777]{background:var(--green-soft);border-color:#86efac;color:#14532d}.tag-chip--common.tag-chip--active[data-v-9a738777]{background:var(--surface-soft);border-color:var(--border);color:var(--text)}.image-row[data-v-b2d5049c]{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:var(--app-space-gap);grid-template-columns:minmax(160px,240px) minmax(280px,1fr) minmax(260px,.9fr);padding:var(--app-space-panel)}.image-row--dirty[data-v-b2d5049c]{border-color:#f59e0b;box-shadow:inset 3px 0 #f59e0b}.image-row--row-dragging[data-v-b2d5049c]{opacity:.62}.image-row--drop-before[data-v-b2d5049c]{box-shadow:inset 0 3px 0 var(--blue)}.image-row--drop-after[data-v-b2d5049c]{box-shadow:inset 0 -3px 0 var(--blue)}.image-row--fixed[data-v-b2d5049c]{height:var(--image-row-fixed-height,360px);min-height:100px}.image-row--no-tags[data-v-b2d5049c]{grid-template-columns:minmax(160px,240px) minmax(280px,1fr)}.image-row--image-fixed[data-v-b2d5049c],.image-row--image-flexible[data-v-b2d5049c]{grid-template-columns:var(--image-fixed-width,240px) minmax(280px,1fr) minmax(260px,.9fr)}.image-row--image-fixed.image-row--no-tags[data-v-b2d5049c],.image-row--image-flexible.image-row--no-tags[data-v-b2d5049c]{grid-template-columns:var(--image-fixed-width,240px) minmax(280px,1fr)}.image-row__image-cell[data-v-b2d5049c]{min-width:0;position:relative;width:100%}.image-row__thumb[data-v-b2d5049c]{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--control-radius);cursor:pointer;display:flex;justify-content:center;overflow:hidden;padding:0;width:100%}.image-row__thumb[draggable=true][data-v-b2d5049c]{cursor:grab}.image-row--row-dragging .image-row__thumb[data-v-b2d5049c]{cursor:grabbing}.image-row__thumb img[data-v-b2d5049c]{display:block;height:auto;-o-object-fit:contain;object-fit:contain;width:100%}.image-row--image-fixed .image-row__thumb[data-v-b2d5049c],.image-row--image-flexible .image-row__thumb[data-v-b2d5049c]{width:var(--image-fixed-width,240px)}.image-row__image-resize[data-v-b2d5049c]{bottom:0;cursor:col-resize;position:absolute;right:-8px;top:0;width:16px;z-index:2}.image-row__image-resize[data-v-b2d5049c]:after{background:color-mix(in srgb,var(--text) 46%,transparent);border-radius:var(--pill-radius);bottom:12px;content:"";opacity:.75;position:absolute;right:6px;top:12px;width:3px}.image-row__image-resize[data-v-b2d5049c]:hover:after{background:var(--blue);opacity:1}.image-row--fixed .image-row__image-cell[data-v-b2d5049c],.image-row--fixed .image-row__thumb[data-v-b2d5049c],.image-row--fixed .image-row__thumb img[data-v-b2d5049c]{height:100%}.image-row__editor[data-v-b2d5049c],.image-row__tag-column[data-v-b2d5049c]{display:flex;flex-direction:column;gap:var(--app-space-gap);min-width:0}.image-row--fixed .image-row__editor[data-v-b2d5049c]{min-height:0;overflow:auto}.image-row__title[data-v-b2d5049c]{align-items:flex-start;display:flex;gap:var(--app-space-gap);justify-content:space-between}.image-row__title h3[data-v-b2d5049c]{font-size:14px;line-height:1.2;margin:0;overflow-wrap:anywhere}.image-row__title span[data-v-b2d5049c]{color:var(--muted);font-size:12px}.image-row__tag-field[data-v-b2d5049c] .tag-field__editor .cm-content{min-height:126px}.image-row__tag-field[data-v-b2d5049c] .tag-field__editor .cm-scroller{max-height:none;overflow:visible}.image-row--fixed .image-row__tag-field[data-v-b2d5049c] .tag-field__editor .cm-scroller{max-height:min(46vh,var(--tag-field-rows,4) * 1.45em + 18px);overflow:auto}.image-row__actions[data-v-b2d5049c]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--app-space-layout)}.image-row__plain-action[data-v-b2d5049c]{--app-icon-button-size:30px;--app-icon-button-active-bg:color-mix(in srgb,var(--blue) 16%,transparent)}.image-row__history[data-v-b2d5049c]{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--control-radius);color:var(--muted);display:flex;flex-direction:column;font-size:12px;gap:var(--app-space-gap);line-height:1.45;padding:var(--app-space-panel)}.image-row__history strong[data-v-b2d5049c]{color:var(--text)}.image-row__history-line[data-v-b2d5049c]{overflow-wrap:anywhere}.image-row__tag-column[data-v-b2d5049c]{overflow:visible;position:relative}.image-row--fixed .image-row__tag-column[data-v-b2d5049c]{align-self:stretch;contain:size layout;max-height:none;min-height:0;overflow:auto}.image-row__chip-group[data-v-b2d5049c]{align-items:flex-start;display:flex;flex-wrap:wrap}.image-row__chip-drop-cursor[data-v-b2d5049c]{background:var(--blue);border-radius:var(--pill-radius);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 20%,transparent);pointer-events:none;position:absolute;transform:translate(-1px);width:3px;z-index:4}.image-row__deleted-tags[data-v-b2d5049c]{border-top:1px solid var(--border);padding-top:var(--app-space-panel)}.image-row__chip-heading[data-v-b2d5049c]{color:var(--muted);font-size:11px;font-weight:800}.image-row__chip-placeholder[data-v-b2d5049c]{background:var(--surface-soft);border:1px dashed var(--border);border-radius:var(--control-radius);color:var(--muted);font-size:12px;font-weight:750;padding:var(--app-space-panel);text-align:center}@media(max-width:1260px){.image-row[data-v-b2d5049c]{grid-template-columns:150px minmax(0,1fr)}.image-row--image-fixed[data-v-b2d5049c],.image-row--image-flexible[data-v-b2d5049c]{grid-template-columns:var(--image-fixed-width,240px) minmax(0,1fr)}.image-row__tag-column[data-v-b2d5049c]{grid-column:1/-1}}@media(max-width:860px){.image-row[data-v-b2d5049c]{grid-template-columns:1fr}.image-row--fixed[data-v-b2d5049c]{overflow:auto}.image-row--fixed .image-row__thumb[data-v-b2d5049c]{min-height:100px}}.tag-stats[data-v-c22a02d3]{display:flex;flex-direction:column;gap:min(var(--app-space-layout),1px)}.tag-stats__header[data-v-c22a02d3]{align-items:center;cursor:pointer;display:grid;gap:var(--app-space-gap);grid-template-columns:auto minmax(0,1fr);list-style:none;margin-bottom:var(--app-space-gap)}.tag-stats__header[data-v-c22a02d3]::-webkit-details-marker{display:none}.tag-stats__header h3[data-v-c22a02d3]{font-size:15px;line-height:1;margin:0;white-space:nowrap}.tag-stats__search[data-v-c22a02d3]{min-width:0}.tag-stats__row[data-v-c22a02d3]{align-items:center;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--control-radius);display:grid;gap:var(--app-space-layout);grid-template-columns:minmax(160px,1fr) 42px auto;padding:var(--app-space-layout)}.tag-stats__name[data-v-c22a02d3]{line-height:1.35;min-width:0;overflow-wrap:anywhere;white-space:normal}.tag-stats__token[data-v-c22a02d3]{cursor:text}.tag-stats__token--empty[data-v-c22a02d3]{color:var(--muted);display:inline-block;font-size:12px;min-height:1.35em;min-width:160px;opacity:.8}.tag-stats__edit[data-v-c22a02d3]{min-height:72px;resize:vertical;white-space:pre-wrap;width:100%}.tag-stats__count[data-v-c22a02d3]{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.tag-stats__actions[data-v-c22a02d3]{align-items:center;display:flex;gap:var(--app-space-layout);justify-content:flex-end}.tag-stats__menu[data-v-c22a02d3]{display:inline-flex;height:24px;margin:0;padding:0;position:relative;width:24px}.tag-stats__menu-popover[data-v-c22a02d3]{background:var(--surface);border:1px solid var(--border);border-radius:var(--control-radius);box-shadow:var(--shadow);display:flex;gap:var(--app-space-layout);padding:var(--app-space-layout);position:absolute;right:0;top:calc(100% + var(--app-space-layout));z-index:6}.tag-stats__action[data-v-c22a02d3]{--app-icon-button-size:24px;--app-icon-button-radius:4px;--app-icon-size:13px}.dataset-panel[data-v-1e55d02c]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.dataset-panel__header[data-v-1e55d02c]{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:var(--app-space-gap);justify-content:space-between;padding:var(--app-space-page)}.dataset-panel__header h2[data-v-1e55d02c]{font-size:18px;margin:0}.dataset-panel__header p[data-v-1e55d02c]{color:var(--muted);font-size:12px;margin:min(var(--app-space-layout),2px) 0 0}.dataset-panel__actions[data-v-1e55d02c],.dataset-panel__tabs[data-v-1e55d02c]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--app-space-gap)}.dataset-panel__tab[data-v-1e55d02c]{padding:var(--app-space-page)}.dataset-panel__notice[data-v-1e55d02c]{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--control-radius);margin:var(--app-space-panel) var(--app-space-page) 0;padding:var(--app-space-panel) var(--app-space-button-x)}.dataset-panel__notice--danger[data-v-1e55d02c]{background:var(--red-soft);border-color:#fecaca;color:var(--red)}.dataset-panel__empty[data-v-1e55d02c],.dataset-panel__render-note[data-v-1e55d02c]{margin:var(--app-space-page)}.dataset-panel__empty[data-v-1e55d02c]{background:var(--surface-soft);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);display:flex;flex-direction:column;gap:var(--app-space-layout);padding:calc(var(--app-space-page) + var(--app-space-button-x));text-align:center}.dataset-panel__empty strong[data-v-1e55d02c]{color:var(--text)}.dataset-panel__render-note[data-v-1e55d02c]{color:var(--muted);font-size:12px}.dataset-panel__image-list[data-v-1e55d02c]{display:flex;flex-direction:column;gap:var(--app-space-gap);padding:0 var(--app-space-page) var(--app-space-page)}@media(max-width:860px){.dataset-panel__header[data-v-1e55d02c]{align-items:stretch;flex-direction:column}}.filter-controls[data-v-9c20c113]{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--app-space-gap)}.filter-controls__field[data-v-9c20c113]{flex:1 1 420px;min-width:0}.filter-controls__bar[data-v-9c20c113]{align-items:flex-end;display:flex;flex:0 1 auto;flex-wrap:wrap;gap:var(--app-space-gap);min-width:0}.filter-controls__select[data-v-9c20c113]{flex:0 1 118px;min-width:0}.filter-controls__case[data-v-9c20c113]{align-self:flex-end;flex:0 0 auto}.filter-controls__actions[data-v-9c20c113]{align-items:center;display:flex;flex:0 0 auto;gap:var(--app-space-layout);justify-content:flex-start}.filter-controls__action[data-v-9c20c113]{--app-icon-button-size:26px;--app-icon-button-radius:4px;--app-icon-size:14px}@media(max-width:860px){.filter-controls__field[data-v-9c20c113]{flex-basis:100%}.filter-controls__bar[data-v-9c20c113]{flex:1 1 100%}.filter-controls__case[data-v-9c20c113],.filter-controls__select[data-v-9c20c113]{flex:1 1 112px;min-width:0;white-space:normal;width:auto}}.filter-bar[data-v-3cd8cb65]{background:var(--surface);border:1px solid var(--border);border-radius:var(--control-radius);box-shadow:var(--shadow);margin:var(--app-space-layout) 0 0;padding:var(--app-space-button-y) var(--app-space-panel);position:sticky;top:calc(var(--app-header-height, 0px) + var(--app-runtime-status-height, 0px));z-index:998}.image-viewer[data-v-45083e01]{align-items:stretch;background:#080b12b8;display:flex;inset:0;justify-content:center;padding:var(--app-space-page);position:fixed;z-index:2000}.image-viewer__shell[data-v-45083e01]{background:transparent;border-radius:0;color:var(--text);display:flex;flex-direction:column;height:100%;overflow:hidden;width:min(1600px,100%)}.image-viewer__bar[data-v-45083e01]{background:transparent;justify-content:space-between;padding:var(--app-space-panel)}.image-viewer__actions[data-v-45083e01],.image-viewer__bar[data-v-45083e01]{align-items:center;display:flex;gap:var(--app-space-gap)}.image-viewer__actions[data-v-45083e01]{flex-wrap:wrap}.image-viewer__actions span[data-v-45083e01]{font-variant-numeric:tabular-nums;min-width:54px;text-align:center}.image-viewer__stage[data-v-45083e01]{align-items:center;background:transparent;cursor:grab;display:flex;flex:1 1 auto;justify-content:center;min-height:0;overflow:hidden;position:relative;touch-action:none}.image-viewer__stage--dragging[data-v-45083e01]{cursor:grabbing}.image-viewer__stage img[data-v-45083e01]{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;transform-origin:center center;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.file-management-controls[data-v-a12c1035]{align-items:end;display:grid;gap:var(--app-space-gap);grid-template-columns:minmax(220px,1fr) repeat(auto-fit,minmax(150px,max-content))}.file-management-controls__name[data-v-a12c1035]{margin:0}.image-dimension-control[data-v-11c4cb7b]{display:contents}.image-dimension-control__slider[data-v-11c4cb7b]{width:min(260px,100%)}.image-dimension-control__manual[data-v-11c4cb7b]{width:92px}.image-dimension-control__range[data-v-11c4cb7b]{accent-color:var(--blue);width:100%}.layout-config-controls[data-v-e6babd85]{align-items:end;display:grid;gap:var(--app-space-gap);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.settings-modal[data-v-cec5d041]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080b12b8;display:grid;inset:0;padding:var(--app-space-page);place-items:center;position:fixed;z-index:2000}.settings-modal__panel[data-v-cec5d041]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);display:flex;flex-direction:column;max-height:calc(100vh - 24px);width:min(1100px,100%)}.settings-modal__header[data-v-cec5d041]{align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,#fff 6%),var(--surface));border-bottom:1px solid var(--border);display:flex;gap:var(--app-space-gap);justify-content:space-between;padding:var(--app-space-page)}.settings-modal__title[data-v-cec5d041]{font-size:16px;line-height:1.2}.settings-modal__close[data-v-cec5d041]{flex:0 0 auto}.settings-modal__body[data-v-cec5d041]{flex:1 1 auto;min-height:0;overflow:auto}.settings-modal__body[data-v-cec5d041],.settings-modal__section[data-v-cec5d041]{display:flex;flex-direction:column;gap:var(--app-space-gap);padding:var(--app-space-page)}.settings-modal__section[data-v-cec5d041]{background:var(--surface-soft);border:1px solid var(--border);border-radius:max(0px,var(--radius) - 2px)}.settings-modal__section-title[data-v-cec5d041]{font-size:14px;line-height:1.2;margin:0}.settings-modal[data-v-cec5d041] .file-management-controls,.settings-modal[data-v-cec5d041] .layout-config-controls{align-items:end;display:flex;flex-wrap:wrap;gap:var(--app-space-gap)}.settings-modal[data-v-cec5d041] .field.compact{flex:1 1 160px;width:auto}.settings-modal[data-v-cec5d041] .file-management-controls__name{flex:2 1 220px}.settings-modal[data-v-cec5d041] .file-management-controls>.btn{flex:0 1 auto}@media(max-width:860px){.settings-modal[data-v-cec5d041]{padding:var(--app-space-panel)}.settings-modal__panel[data-v-cec5d041]{max-height:calc(100vh - 16px)}.settings-modal__body[data-v-cec5d041],.settings-modal__header[data-v-cec5d041]{padding-left:var(--app-space-page);padding-right:var(--app-space-page)}}.header-panel-toggle[data-v-1d7c28cc]{--app-icon-button-size:28px;--app-icon-size:1em;font-size:13px;font-weight:800}.history-action-button[data-v-a51975ff]{--app-icon-button-width:34px;--app-icon-button-height:32px;--app-icon-size:1.25em;--app-icon-button-hover-transform:translateY(-1px);color:var(--text)}.history-action-button[data-v-a51975ff] .app-icon-button__icon{height:1.15em;stroke:currentColor;stroke-width:18}.history-action-button--filled[data-v-a51975ff]{background:var(--yellow-soft);border:1px solid #f59e0b;color:#7c2d12}.history-action-button--filled[data-v-a51975ff]:hover:not(:disabled){border-color:var(--amber)}.history-action-button--plain[data-v-a51975ff]{color:var(--muted)}.side-panel-toggle[data-v-9baf28d4]{--app-icon-button-size:28px;--app-icon-size:1em;font-size:13px;font-weight:800}.runtime-status-bar[data-v-eac7196d]{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--control-radius);box-shadow:var(--shadow);color:var(--muted);display:flex;flex-wrap:wrap;font-size:14px;font-weight:700;gap:var(--app-space-gap);justify-content:flex-start;line-height:1;margin:var(--app-space-layout) 0 0;padding:var(--app-space-button-y) var(--app-space-panel);position:sticky;top:var(--app-header-height,0);z-index:999}.runtime-status-bar span[data-v-eac7196d]{white-space:nowrap}.runtime-status-bar__status[data-v-eac7196d]{min-width:0;overflow:hidden;text-overflow:ellipsis}.runtime-status-bar__status--busy[data-v-eac7196d]{color:var(--blue-dark)}.runtime-status-bar__metric--blink[data-v-eac7196d]{animation:runtime-status-visible-blink-eac7196d .4s ease-in-out 4}.runtime-status-bar__end-toggle[data-v-eac7196d]{margin-left:auto}@keyframes runtime-status-visible-blink-eac7196d{0%,to{color:var(--muted);text-shadow:none}50%{color:var(--blue);text-shadow:0 0 10px rgba(56,189,248,.7)}}.side-panel[data-v-cadd463a]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);max-height:calc(100vh - var(--app-header-height, 0px) - var(--app-runtime-status-height, 0px) - var(--app-filter-bar-height, 0px) - var(--app-space-sticky-offset) - var(--app-space-page));min-width:0;overflow:auto;padding:var(--app-space-panel);position:sticky;top:calc(var(--app-header-height, 0px) + var(--app-runtime-status-height, 0px) + var(--app-filter-bar-height, 0px) + var(--app-space-sticky-offset))}.side-panel__resize[data-v-cadd463a]{background:transparent;border:0;border-radius:0;cursor:col-resize;height:100%;position:absolute;right:0;top:0;width:12px;z-index:2}.side-panel__resize[data-v-cadd463a]:after{background:transparent;border-radius:999px;bottom:12px;content:"";position:absolute;right:4px;top:12px;width:2px}.side-panel__resize[data-v-cadd463a]:focus-visible:after,.side-panel__resize[data-v-cadd463a]:hover:after{background:var(--blue)}.side-panel--right .side-panel__resize[data-v-cadd463a]{left:0;right:auto}.side-panel--right .side-panel__resize[data-v-cadd463a]:after{left:4px;right:auto}.side-panel[data-v-cadd463a] details{border-bottom:1px solid var(--border);padding:var(--app-space-section) 0}.side-panel[data-v-cadd463a] details:last-child{border-bottom:0}.side-panel__section[data-v-cadd463a]{border-bottom:1px solid var(--border);padding:var(--app-space-section) 0}.side-panel__section[data-v-cadd463a]:last-child{border-bottom:0}.side-panel[data-v-cadd463a] summary{align-items:center;cursor:pointer;display:flex;font-weight:750;gap:var(--app-space-gap);justify-content:space-between;list-style:none;margin-bottom:var(--app-space-section)}.side-panel[data-v-cadd463a] summary::-webkit-details-marker{display:none}@media(max-width:860px){.side-panel[data-v-cadd463a]{bottom:var(--app-space-page);display:block;left:var(--app-space-page);max-height:none;position:fixed;top:calc(var(--app-header-height, 0px) + var(--app-runtime-status-height, 0px) + var(--app-filter-bar-height, 0px) + var(--app-space-sticky-offset));width:min(var(--side-panel-width,340px),100vw - var(--app-space-page) * 2);z-index:998}.side-panel--right[data-v-cadd463a]{left:auto;right:var(--app-space-page)}.side-panel__resize[data-v-cadd463a]{display:none}}.image-tagger__workspace[data-v-d1a8fa2b]{align-items:start;display:grid;gap:var(--app-space-layout);grid-template-areas:"side dataset";grid-template-columns:var(--side-panel-width,340px) minmax(0,1fr);margin-top:var(--app-space-layout)}.image-tagger__workspace[data-v-d1a8fa2b]>.side-panel{grid-area:side}.image-tagger__workspace[data-v-d1a8fa2b]>.dataset-panel{grid-area:dataset}.image-tagger__drawer-backdrop[data-v-d1a8fa2b]{display:none}.image-tagger.side-panel-right .image-tagger__workspace[data-v-d1a8fa2b]{grid-template-areas:"dataset side";grid-template-columns:minmax(0,1fr) var(--side-panel-width,340px)}.image-tagger.side-panel-hidden .image-tagger__workspace[data-v-d1a8fa2b]{grid-template-areas:"dataset";grid-template-columns:1fr}@media(max-width:860px){.image-tagger.side-panel-right .image-tagger__workspace[data-v-d1a8fa2b],.image-tagger__workspace[data-v-d1a8fa2b]{grid-template-areas:"dataset";grid-template-columns:1fr}.image-tagger__drawer-backdrop[data-v-d1a8fa2b]{background:transparent;border:0;bottom:0;cursor:default;display:block;left:0;padding:0;position:fixed;right:0;top:calc(var(--app-header-height, 0px) + var(--app-runtime-status-height, 0px) + var(--app-filter-bar-height, 0px) + var(--app-space-sticky-offset));z-index:997}.app-layout[data-v-d1a8fa2b]{padding:var(--app-space-panel)}}
