:root{color-scheme:dark;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--panel-px: 14px;--panel-section-gap: 18px;--field-gap: 6px;--field-stack-gap: 10px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 12px;--r-pill: 999px;--font-ui: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--ease: cubic-bezier(.2, 0, 0, 1);--dur-fast: .12s;--dur: .16s;--control-h: 32px;--control-h-sm: 28px;--control-h-xs: 24px;--bg: #09090a;--bg-canvas: #09090a;--bg-surface: #111113;--bg-raised: #1a1a1d;--bg-overlay: #1c1c1f;--bg-surface-strong: #1c1c1f;--bg-recess: rgba(255, 255, 255, .04);--bg-hover: rgba(255, 255, 255, .06);--bg-active: rgba(255, 255, 255, .09);--input-bg: rgba(255, 255, 255, .045);--input-bg-hover: rgba(255, 255, 255, .065);--seg-active-bg: #2a2a2e;--border-subtle: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .15);--text: #ededef;--text-strong: #ffffff;--text-muted: #a1a1a9;--text-dim: #6d6d75;--accent: #ffd84a;--accent-fill: #ffd84a;--accent-fg: #1a1400;--accent-soft: rgba(255, 216, 74, .12);--accent-line: rgba(255, 216, 74, .5);--focus-border: rgba(255, 216, 74, .6);--focus-ring: 0 0 0 3px rgba(255, 216, 74, .16);--danger: #ff6b6b;--danger-soft: rgba(255, 107, 107, .12);--btn-primary-bg: #ededef;--btn-primary-bg-hover: #ffffff;--btn-primary-fg: #09090a;--btn-bg: rgba(255, 255, 255, .06);--btn-bg-hover: rgba(255, 255, 255, .095);--btn-bg-active: rgba(255, 255, 255, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-raised: 0 1px 2px rgba(0, 0, 0, .45), inset 0 0 0 1px rgba(255, 255, 255, .06);--shadow-pop: 0 0 0 1px rgba(0, 0, 0, .5), 0 16px 40px -8px rgba(0, 0, 0, .6), 0 6px 14px -4px rgba(0, 0, 0, .4);--shadow-artboard: 0 0 0 1px rgba(255, 255, 255, .04), 0 24px 60px -16px rgba(0, 0, 0, .7), 0 8px 20px -8px rgba(0, 0, 0, .5);--scrollbar-thumb: rgba(255, 255, 255, .12);--canvas-dot: rgba(255, 255, 255, .05);--slider-track: rgba(255, 255, 255, .1);--slider-fill: rgba(255, 255, 255, .5);--slider-tick: rgba(255, 255, 255, .14);--slider-tick-default: rgba(255, 255, 255, .42);--slider-thumb: #ffffff;--slider-thumb-shadow: 0 0 0 .5px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .5);--switch-off: rgba(255, 255, 255, .14)}[data-theme=light]{color-scheme:light;--bg: #f3f3f5;--bg-canvas: #eeeef1;--bg-surface: #ffffff;--bg-raised: #ffffff;--bg-overlay: #ffffff;--bg-surface-strong: #ffffff;--bg-recess: rgba(0, 0, 0, .04);--bg-hover: rgba(0, 0, 0, .045);--bg-active: rgba(0, 0, 0, .07);--input-bg: rgba(0, 0, 0, .035);--input-bg-hover: rgba(0, 0, 0, .05);--seg-active-bg: #ffffff;--border-subtle: rgba(0, 0, 0, .05);--border: rgba(0, 0, 0, .09);--border-strong: rgba(0, 0, 0, .17);--text: #18181b;--text-strong: #000000;--text-muted: #5c5c64;--text-dim: #8e8e96;--accent: #b07c00;--accent-fill: #ffd84a;--accent-fg: #1a1400;--accent-soft: rgba(255, 196, 0, .16);--accent-line: rgba(196, 140, 0, .55);--focus-border: rgba(196, 140, 0, .65);--focus-ring: 0 0 0 3px rgba(230, 170, 0, .18);--danger: #d93636;--danger-soft: rgba(217, 54, 54, .08);--btn-primary-bg: #18181b;--btn-primary-bg-hover: #000000;--btn-primary-fg: #ffffff;--btn-bg: rgba(0, 0, 0, .045);--btn-bg-hover: rgba(0, 0, 0, .075);--btn-bg-active: rgba(0, 0, 0, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-raised: 0 1px 2px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .06);--shadow-pop: 0 0 0 1px rgba(0, 0, 0, .06), 0 16px 40px -8px rgba(0, 0, 0, .16), 0 6px 14px -4px rgba(0, 0, 0, .08);--shadow-artboard: 0 0 0 1px rgba(0, 0, 0, .05), 0 24px 50px -18px rgba(0, 0, 0, .22), 0 6px 16px -6px rgba(0, 0, 0, .1);--scrollbar-thumb: rgba(0, 0, 0, .16);--canvas-dot: rgba(0, 0, 0, .07);--slider-track: rgba(0, 0, 0, .1);--slider-fill: rgba(0, 0, 0, .55);--slider-tick: rgba(0, 0, 0, .12);--slider-tick-default: rgba(0, 0, 0, .38);--slider-thumb: #ffffff;--slider-thumb-shadow: 0 0 0 1px rgba(0, 0, 0, .14), 0 1px 3px rgba(0, 0, 0, .18);--switch-off: rgba(0, 0, 0, .14)}*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--bg)}body{font-family:var(--font-ui);font-size:var(--fs-13);line-height:1.4;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,textarea,select{font-family:inherit}::-moz-selection{background:#ffd84a4d}::selection{background:#ffd84a4d}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:3px solid transparent;border-radius:999px;background-clip:padding-box}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#root{width:100vw;height:100vh}@font-face{font-family:"GORP Serif";font-weight:200;font-style:normal;src:url(/references/assets/GORP_Serif-Extra_Light.woff2) format("woff2")}@font-face{font-family:"GORP Serif";font-weight:300;font-style:normal;src:url(/references/assets/GORP_Serif-Light.woff2) format("woff2")}@font-face{font-family:"GORP Serif";font-weight:400;font-style:normal;src:url(/references/assets/GORP_Serif-Regular.woff2) format("woff2")}@font-face{font-family:"GORP Serif";font-weight:500;font-style:normal;src:url(/references/assets/GORP_Serif-Medium.woff2) format("woff2")}@font-face{font-family:"GORP Serif";font-weight:600;font-style:normal;src:url(/references/assets/GORP_Serif-Semibold.woff2) format("woff2")}@font-face{font-family:"GORP Serif";font-weight:700;font-style:normal;src:url(/references/assets/GORP_Serif-Bold.woff2) format("woff2")}.label-seg,.view-tabs,.top-bar-tabs{display:flex;gap:2px;padding:2px;background:var(--bg-recess);border:1px solid var(--border-subtle);border-radius:var(--r-md)}.label-seg-btn,.view-tab,.tb-tab{flex:1;height:26px;padding:0 8px;background:transparent;border:none;border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-12);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;outline:none;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.label-seg-btn:hover,.view-tab:hover,.tb-tab:hover{color:var(--text)}.label-seg-btn.active,.view-tab.active,.tb-tab.active{background:var(--seg-active-bg);color:var(--text-strong);box-shadow:var(--shadow-raised)}.label-seg-btn:focus-visible,.view-tab:focus-visible,.tb-tab:focus-visible{box-shadow:0 0 0 2px var(--focus-border)}.view-tabs{margin-bottom:var(--sp-4);flex-shrink:0}.supernova-empty-generator{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--fs-14)}.label-studio{display:flex;width:100%;height:100vh;background:var(--bg)}.label-studio .controls-panel{padding:0}.label-studio .controls-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--panel-section-gap);padding:var(--sp-4) var(--panel-px) var(--sp-5)}.label-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);overflow:auto;padding:32px;background-color:var(--bg-canvas)}.label-studio .label-stage{container-type:inline-size;background-image:radial-gradient(circle at 1px 1px,var(--canvas-dot) 1px,transparent 0);background-size:20px 20px}.label-canvas-frame{display:flex}.label-print-frame{position:relative;display:flex;align-items:center;justify-content:center;height:80vh;width:min(80vh,72vw)}.label-print-pdf{width:100%;height:100%;border:0;border-radius:2px;background:#fff;box-shadow:var(--shadow-artboard)}.label-print-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--bg-recess);border:1px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text-muted);font-size:var(--fs-13)}.label-print-spinner{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:var(--r-pill);background:var(--bg-overlay);box-shadow:var(--shadow-pop);color:var(--text-muted);font-size:var(--fs-11);pointer-events:none}.label-canvas-svg{height:80vh;width:auto;background:#fff;box-shadow:var(--shadow-artboard);-webkit-user-select:none;-moz-user-select:none;user-select:none}.label-stage-caption{display:flex;align-items:center;gap:2px;padding:3px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);font-size:var(--fs-12);font-weight:500;color:var(--text-dim);font-variant-numeric:tabular-nums}.label-stage-caption>span{padding:0 10px 0 8px;white-space:nowrap}.label-preview-toggle{display:inline-flex;align-items:center;gap:6px;height:var(--control-h-sm);padding:0 10px;border:none;border-radius:var(--r-md);background:transparent;color:var(--text-muted);font:inherit;font-size:var(--fs-12);font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.label-preview-toggle:hover{background:var(--bg-hover);color:var(--text)}.label-preview-toggle.active{background:var(--bg-active);color:var(--text-strong)}.label-preview-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px var(--focus-border)}.toggle-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.active>.toggle-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.label-inspector{display:flex;flex-direction:column;gap:var(--field-stack-gap);padding:0;background:transparent;border:none;border-radius:0}.label-inspector+.label-inspector{padding-top:var(--panel-section-gap);border-top:1px solid var(--border-subtle)}.label-inspector-head{display:flex;align-items:center;justify-content:space-between;min-height:20px;font-size:var(--fs-11);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);margin-bottom:2px}.label-inspector-head .label-btn{text-transform:none;letter-spacing:0}.label-field-label+input,.label-field-label+textarea,.label-field-label+.label-text-input,.label-field-label+.label-swatch-grid,.label-field-label+.label-seg,.label-field-label+.rs,.label-field-label+.label-field-row,.label-field-label+.custom-dropdown,.label-field-label+.color-picker{margin-top:calc(var(--field-gap) - var(--field-stack-gap))}.label-field-label{font-size:var(--fs-12);font-weight:500;color:var(--text-muted);margin-top:2px}.label-hint{font-size:var(--fs-11);line-height:1.45;color:var(--text-dim);margin-top:-2px}.label-text-input{width:100%;min-height:var(--control-h);padding:6px 10px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-13);line-height:18px;font-family:inherit;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}textarea.label-text-input{resize:vertical;padding-top:7px;padding-bottom:7px}.label-text-input::-moz-placeholder{color:var(--text-dim)}.label-text-input::placeholder{color:var(--text-dim)}.label-text-input:hover{background:var(--input-bg-hover);border-color:var(--border-strong)}.label-text-input:focus{outline:none;background:var(--input-bg-hover);border-color:var(--focus-border);box-shadow:var(--focus-ring)}input[type=number].label-text-input{font-variant-numeric:tabular-nums}.doc-name-input{font-weight:600}textarea::-webkit-resizer{background:transparent}.label-field-row{display:grid;grid-template-columns:16px minmax(0,1fr) 28px;grid-template-rows:auto auto;align-items:stretch;position:relative;padding:0;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--r-md);transition:opacity var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.label-field-row:hover{border-color:var(--border-strong)}.label-field-row:focus-within{background:var(--input-bg-hover);border-color:var(--focus-border);box-shadow:var(--focus-ring)}.label-field-row.dragging{opacity:.4}.label-field-row.drop-target:before{content:"";position:absolute;left:0;right:0;top:-6px;height:2px;border-radius:2px;background:var(--accent)}.label-field-drag{grid-column:1;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;margin-left:2px;color:var(--text-dim);cursor:grab;border-radius:var(--r-xs);opacity:0;transition:opacity var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.label-field-row:hover .label-field-drag,.label-field-row:focus-within .label-field-drag{opacity:1}.label-field-drag:hover{color:var(--text)}.label-field-drag:active{cursor:grabbing}.label-field-row .label-text-input{min-height:0;background:transparent;border:none;border-radius:0;box-shadow:none}.label-field-row .label-text-input:focus{background:transparent;box-shadow:none}.label-field-name{grid-column:2;grid-row:1;height:30px;padding:0 6px!important;font-size:var(--fs-12)!important;font-weight:600;color:var(--text)!important}.label-field-value{grid-column:2 / span 2;grid-row:2;min-height:32px!important;padding:6px 10px 7px 6px!important;field-sizing:content;border-top:1px solid var(--border-subtle)!important;color:var(--text-muted)!important;resize:vertical}.label-field-value:focus{color:var(--text)!important}.label-field-row .label-open-del{grid-column:3;grid-row:1;align-self:center;justify-self:center;opacity:.7}.label-field-row:hover .label-open-del{opacity:1}.label-field-row+.label-btn,.label-btn-add{border-style:dashed;border-color:var(--border-strong);background:transparent;color:var(--text-muted)}.label-field-row+.label-btn:hover:not(:disabled),.label-btn-add:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.label-doc-bar{display:flex;flex-direction:column;gap:var(--sp-2)}.label-doc-actions{display:flex;flex-wrap:wrap;gap:6px}.label-doc-actions>.label-btn{flex:1}.label-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 12px;background:var(--btn-bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:var(--fs-12);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;outline:none;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.label-btn:hover:not(:disabled),.btn:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--border-strong);color:var(--text-strong)}.label-btn:active:not(:disabled),.btn:active:not(:disabled){background:var(--btn-bg-active);transform:translateY(.5px)}.label-btn:focus-visible,.btn:focus-visible{border-color:var(--focus-border);box-shadow:var(--focus-ring)}.label-btn:disabled,.btn:disabled{opacity:.4;cursor:not-allowed}.label-btn-wide,.btn-wide{width:100%}.btn-sm{height:var(--control-h-sm);padding:0 10px}.label-btn-primary,.btn-primary{background:var(--btn-primary-bg);border-color:transparent;color:var(--btn-primary-fg);font-weight:600}.label-btn-primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:transparent;color:var(--btn-primary-fg)}.label-btn-primary:active:not(:disabled),.btn-primary:active:not(:disabled){background:var(--btn-primary-bg)}.label-btn-danger,.btn-danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.label-btn-ghost,.btn-ghost{height:var(--control-h-xs);padding:0 8px;background:transparent;border-color:transparent;color:var(--text-muted);font-size:var(--fs-12);font-weight:500;border-radius:var(--r-sm)}.label-btn-ghost:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:transparent;color:var(--text)}.icon-btn,.label-open-del{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:var(--r-sm);color:var(--text-dim);font-size:11px;line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.icon-btn:hover,.label-open-del:hover{background:var(--bg-hover);color:var(--text-strong)}.icon-btn:focus-visible,.label-open-del:focus-visible{outline:none;box-shadow:0 0 0 2px var(--focus-border)}.label-open-wrap{position:relative}.label-open-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:200px;max-height:280px;overflow-y:auto;background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--r-lg);padding:4px;box-shadow:var(--shadow-pop)}.label-open-empty{padding:8px;font-size:var(--fs-12);color:var(--text-dim)}.label-open-item{display:flex;align-items:center}.label-open-name{flex:1;text-align:left;padding:7px 8px;background:transparent;border:none;color:var(--text);font-size:var(--fs-12);cursor:pointer;border-radius:var(--r-sm)}.label-open-name:hover{background:var(--bg-hover)}.label-swatch-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.label-checkbox{display:flex;align-items:center;gap:8px;font-size:var(--fs-12);font-weight:500;color:var(--text-muted);cursor:pointer;margin-top:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.label-checkbox input{accent-color:var(--accent-fill)}.label-status{position:sticky;bottom:var(--sp-3);z-index:5;padding:8px 12px;background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--r-lg);font-size:var(--fs-12);color:var(--text);text-align:center;box-shadow:var(--shadow-pop)}.sw-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sw-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sw-label{font-size:var(--fs-12);font-weight:500;color:var(--text)}.sw-hint{font-size:var(--fs-11);line-height:1.4;color:var(--text-dim)}.sw-track{position:relative;width:28px;height:16px;flex-shrink:0;padding:0;background:var(--switch-off);border:none;border-radius:var(--r-pill);cursor:pointer;outline:none;transition:background var(--dur) var(--ease),box-shadow var(--dur-fast) var(--ease)}.sw-track.on{background:var(--accent-fill)}.sw-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #00000059;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}.sw-track.on .sw-thumb{transform:translate(12px);background:var(--accent-fg);box-shadow:none}.sw-row:hover .sw-track:not(.on){background:var(--border-strong)}.sw-track:focus-visible{box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--focus-border)}.color-picker{display:flex;align-items:center;gap:8px;position:relative}.color-picker-label{font-size:var(--fs-12);font-weight:500;color:var(--text-muted)}.color-picker-field{position:relative;flex:1;min-width:0;display:flex;align-items:center}.color-picker-swatch{width:20px;height:20px;border-radius:5px;border:none;box-shadow:inset 0 0 0 1px #80808059;padding:0;cursor:pointer;flex-shrink:0;transition:transform var(--dur-fast) var(--ease)}.color-picker-field .color-picker-swatch{position:absolute;left:6px;top:50%;margin-top:-10px;z-index:1}.color-picker-swatch:hover{transform:scale(1.06)}.color-picker-swatch:focus-visible{outline:none;box-shadow:inset 0 0 0 1px #80808059,0 0 0 2px var(--focus-border)}.color-picker-hex{flex:1;width:100%;min-width:0;height:var(--control-h);padding:0 10px 0 34px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-12);font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.color-picker-hex:hover{background:var(--input-bg-hover);border-color:var(--border-strong)}.color-picker-hex:focus{outline:none;background:var(--input-bg-hover);border-color:var(--focus-border);box-shadow:var(--focus-ring)}.rs{display:flex;flex-direction:column;gap:4px}.rs-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:20px}.rs-label{font-size:var(--fs-12);font-weight:500;color:var(--text-muted)}button.rs-label-reset{font-family:inherit;background:none;border:none;padding:0;text-align:left;cursor:pointer;transition:color var(--dur-fast) var(--ease)}button.rs-label-reset:hover{color:var(--text);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-color:var(--text-dim);text-underline-offset:3px}.rs-row-end{display:flex;align-items:center;gap:6px}.rs-value{font-size:var(--fs-12);font-weight:500;font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--text)}.rs-value-button{height:20px;padding:0 6px;margin-right:-6px;background:transparent;border:1px solid transparent;border-radius:var(--r-xs);cursor:text;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.rs-value-button:hover{background:var(--input-bg);border-color:var(--border)}.rs-value-input{width:76px;height:22px;padding:0 6px;margin-right:-6px;background:var(--input-bg);border:1px solid var(--focus-border);border-radius:var(--r-xs);box-shadow:var(--focus-ring);color:var(--text);outline:none;text-align:right}.rs-track-wrap{--rs-track-h: 20px;--rs-rail-h: 4px;--rs-thumb-d: 14px;--rs-pad: 0px;position:relative;height:var(--rs-track-h)}.rs-track-bg{position:absolute;left:0;right:0;top:50%;height:var(--rs-rail-h);margin-top:calc(var(--rs-rail-h) / -2);background:var(--slider-track);border-radius:var(--r-pill);z-index:0;pointer-events:none}.rs-ticks{position:absolute;top:0;bottom:0;left:calc(var(--rs-pad) + var(--rs-thumb-d) / 2);right:calc(var(--rs-pad) + var(--rs-thumb-d) / 2);pointer-events:none;z-index:1}.rs-fill{position:absolute;top:50%;height:var(--rs-rail-h);margin-top:calc(var(--rs-rail-h) / -2);background:var(--slider-fill);border-radius:var(--r-pill)}.rs-tick{position:absolute;top:50%;width:1px;height:4px;margin-left:-.5px;margin-top:5px;background:var(--slider-tick);border-radius:1px}.rs-tick-default{width:2px;height:10px;margin-left:-1px;margin-top:-5px;background:var(--slider-tick-default)}.rs-input{position:relative;z-index:2;display:block;width:calc(100% - var(--rs-pad) * 2);margin:0 var(--rs-pad);height:var(--rs-track-h);padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.rs-input:focus{outline:none}.rs-input::-webkit-slider-runnable-track{height:var(--rs-track-h);background:transparent;border:none}.rs-input::-moz-range-track{height:var(--rs-track-h);background:transparent;border:none}.rs-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--rs-thumb-d);height:var(--rs-thumb-d);margin-top:calc((var(--rs-track-h) - var(--rs-thumb-d)) / 2);border-radius:50%;background:var(--slider-thumb);border:none;box-shadow:var(--slider-thumb-shadow);cursor:grab;-webkit-transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.rs-input::-moz-range-thumb{width:var(--rs-thumb-d);height:var(--rs-thumb-d);border-radius:50%;background:var(--slider-thumb);border:none;box-shadow:var(--slider-thumb-shadow);cursor:grab;-moz-transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.rs-input:hover::-webkit-slider-thumb{transform:scale(1.1)}.rs-input:hover::-moz-range-thumb{transform:scale(1.1)}.rs-input:active::-webkit-slider-thumb{cursor:grabbing}.rs-input:focus-visible::-webkit-slider-thumb{box-shadow:var(--slider-thumb-shadow),0 0 0 4px var(--accent-soft),0 0 0 1px var(--focus-border)}.rs-input:focus-visible::-moz-range-thumb{box-shadow:var(--slider-thumb-shadow),0 0 0 4px var(--accent-soft),0 0 0 1px var(--focus-border)}.shape-inspector{display:flex;flex-direction:column;gap:12px}.shape-inspector-section{display:flex;flex-direction:column}.shape-inspector-actions{display:flex;align-items:stretch;gap:6px}.shape-inspector-randomize{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;font-weight:500;letter-spacing:.005em;cursor:pointer;outline:none;transition:background .12s ease,border-color .12s ease,color .12s ease}.shape-inspector-randomize:hover{background:var(--bg-hover);border-color:var(--border-strong)}.shape-inspector-colors{display:flex;flex-direction:column;gap:4px}.shape-inspector-sliders{display:flex;flex-direction:column;gap:8px}.hp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#00000052;backdrop-filter:blur(2px) saturate(140%);-webkit-backdrop-filter:blur(2px) saturate(140%);animation:hp-fade-in .12s ease-out}[data-theme=light] .hp-overlay{background:#00000029}@keyframes hp-fade-in{0%{opacity:0}to{opacity:1}}.hp-panel{position:absolute;top:0;right:0;height:100%;width:min(380px,90vw);display:flex;flex-direction:column;background:var(--bg-surface);border-left:1px solid var(--border);box-shadow:-20px 0 60px #0006;animation:hp-slide-in .18s cubic-bezier(.2,.7,.3,1)}[data-theme=light] .hp-panel{background:#fff;box-shadow:-20px 0 60px #00000024}@keyframes hp-slide-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.hp-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.hp-title{font-size:13px;font-weight:600;color:var(--text)}.hp-close{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:5px;color:var(--text-muted);cursor:pointer}.hp-close:hover{background:var(--bg-hover);color:var(--text)}.hp-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:13px}.hp-hint{margin-top:6px;font-size:11.5px;color:var(--text-dim)}.hp-list{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:2px}.hp-row{position:relative;display:flex;align-items:stretch;gap:2px;border-radius:7px}.hp-row:hover{background:var(--bg-hover)}.hp-restore{flex:1;display:flex;flex-direction:column;gap:3px;padding:9px 12px;background:transparent;border:none;border-radius:7px;cursor:pointer;text-align:left;color:var(--text)}.hp-row-time{font-size:12.5px;font-weight:500;color:var(--text)}.hp-row-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-dim)}.hp-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.hp-tag{display:inline-block;padding:1px 6px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--bg-hover);border-radius:4px}.hp-restore-hint{color:var(--text-dim);opacity:0;transition:opacity .12s ease}.hp-row:hover .hp-restore-hint{opacity:1}.hp-del{width:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:11px;border-radius:5px;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.hp-row:hover .hp-del{opacity:1}.hp-del:hover{color:var(--danger);background:var(--danger-soft)}.om-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(6px) saturate(160%);-webkit-backdrop-filter:blur(6px) saturate(160%);padding:48px;animation:om-fade-in .14s ease-out}@keyframes om-fade-in{0%{opacity:0}to{opacity:1}}.om-modal{width:min(960px,100%);max-height:100%;display:flex;flex-direction:column;background:var(--bg-surface-strong);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);overflow:hidden}[data-theme=light] .om-modal{background:#fff;box-shadow:0 24px 80px #0000002e}.om-head{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border)}.om-title{font-size:14px;font-weight:600;color:var(--text)}.om-count{font-size:12px;color:var(--text-muted);flex:1}.om-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:5px;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.om-close:hover{background:var(--bg-hover);color:var(--text)}.om-empty{padding:64px 20px;text-align:center;color:var(--text-muted);font-size:14px}.om-empty-hint{margin-top:6px;font-size:12px;color:var(--text-dim)}.om-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;padding:20px;overflow-y:auto}.om-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.om-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.om-card.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.om-thumb-btn{display:block;width:100%;padding:0;background:transparent;border:none;cursor:pointer;border-radius:4px;overflow:hidden}.om-thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3 / 4;background:var(--bg-recess);border-radius:var(--r-xs);box-shadow:0 0 0 1px var(--border-subtle);overflow:hidden;pointer-events:none}.om-thumb-label{display:flex;flex:none;background:#fff;border-radius:1px;overflow:hidden;box-shadow:0 1px 2px #0000002e,0 4px 14px #00000029}.om-thumb svg{display:block}.om-thumb-badge{position:absolute;left:6px;bottom:6px;padding:1px 6px;border-radius:999px;background:var(--bg-surface);box-shadow:0 0 0 1px var(--border);color:var(--text-muted);font-size:10px;font-weight:500;line-height:15px;letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap}.om-meta{display:flex;flex-direction:column;gap:1px;padding:0 4px 2px;min-width:0}.om-name{font-size:12.5px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.om-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-dim);min-width:0}.om-coffee{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.om-time{font-variant-numeric:tabular-nums;white-space:nowrap}.om-delete{position:absolute;top:12px;right:12px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:#0009;border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:11px;cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.om-card:hover .om-delete{opacity:1}.om-delete:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.home{display:flex;flex-direction:column;height:100vh;background:var(--bg);color:var(--text)}.home-bar{display:flex;align-items:center;justify-content:space-between;height:44px;flex-shrink:0;padding:0 10px 0 14px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.home-brand{display:flex;align-items:center;gap:8px}.home-glyph{color:var(--accent);font-size:14px;line-height:1}.home-wordmark{font-size:var(--fs-13);font-weight:600;letter-spacing:-.005em}.home-body{flex:1;overflow-y:auto;width:100%;max-width:1120px;margin:0 auto;padding:48px 32px 64px}.home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.home-title{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--text-strong)}.home-sub{margin:6px 0 0;font-size:var(--fs-13);color:var(--text-muted)}.home-new{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;height:var(--control-h);padding:0 14px 0 12px;background:var(--btn-primary-bg);border:none;border-radius:var(--r-md);color:var(--btn-primary-fg);font-size:var(--fs-13);font-weight:600;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.home-new:hover{background:var(--btn-primary-bg-hover)}.home-new-plus{font-size:16px;font-weight:500;line-height:1}.home-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.home-import{display:inline-flex;align-items:center;height:var(--control-h);padding:0 12px;background:var(--btn-bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-13);font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.home-import:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--border-strong)}.home-import:disabled{opacity:.4}.home-new:focus-visible,.home-import:focus-visible{outline:none;box-shadow:var(--focus-ring),0 0 0 1px var(--focus-border)}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.home-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;padding:72px 24px;background:transparent;border:1px dashed var(--border-strong);border-radius:var(--r-xl);color:var(--text-muted);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.home-empty:hover{background:var(--bg-recess);border-color:var(--accent-line)}.home-empty-plus{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:6px;border-radius:var(--r-md);background:var(--accent-soft);font-size:18px;line-height:1;color:var(--accent)}.home-empty-title{font-size:var(--fs-14);font-weight:600;color:var(--text)}.home-empty-hint{font-size:var(--fs-12);color:var(--text-dim)}[data-theme=light] .particle-logo{filter:invert(1)}[data-theme=light] .shape-pad{color:var(--text);opacity:.6}[data-theme=light] .shape-pad:hover{opacity:.95}[data-theme=light] .shape-pad.active{opacity:1}[data-theme=light] .star-field,[data-theme=light] .shooting-star,[data-theme=light] .star{display:none}[data-theme=light] .app{background:var(--bg)}.supernova-shell{display:flex;flex-direction:column;width:100vw;height:100vh;overflow:hidden;background:var(--bg)}.supernova-body{flex:1;min-height:0;position:relative}.supernova-body .app,.supernova-body .label-studio,.supernova-body .controls-panel{height:100%}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:44px;flex-shrink:0;padding:0 8px;background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:100}.top-bar-left{display:flex;align-items:center;gap:4px;min-width:0;flex:1}.top-bar-doc{display:flex;align-items:center;gap:4px;min-width:0;padding-right:8px;margin-right:4px;border-right:1px solid var(--border)}.top-bar-glyph{display:inline-flex;align-items:center;justify-content:center;width:var(--control-h-sm);height:var(--control-h-sm);padding:0;background:transparent;border:none;border-radius:var(--r-sm);color:var(--accent);font-size:14px;line-height:1;cursor:pointer;outline:none;transition:background var(--dur-fast) var(--ease)}.top-bar-glyph:hover{background:var(--bg-hover)}.top-bar-glyph:focus-visible{box-shadow:0 0 0 2px var(--focus-border)}.top-bar-name{width:220px;min-width:0;height:var(--control-h-sm);padding:0 8px;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--text-strong);font-size:var(--fs-13);font-weight:600;letter-spacing:-.005em;text-overflow:ellipsis;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.top-bar-name::-moz-placeholder{color:var(--text-dim)}.top-bar-name::placeholder{color:var(--text-dim)}.top-bar-name:hover{background:var(--bg-hover)}.top-bar-name:focus{outline:none;background:var(--input-bg);border-color:var(--focus-border);box-shadow:var(--focus-ring)}.top-bar-state{width:6px;height:6px;margin:0 4px;border-radius:50%;transition:background var(--dur) var(--ease);flex-shrink:0}.top-bar-state.unsaved{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.top-bar-state.saved{background:var(--border-strong)}.top-bar-history{display:flex;align-items:center;gap:2px;margin-left:4px;padding-left:8px;border-left:1px solid var(--border)}.tb-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-h-sm);height:var(--control-h-sm);padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;outline:none;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.tb-icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-strong)}.tb-icon-btn:active:not(:disabled){background:var(--bg-active)}.tb-icon-btn:disabled{background:transparent;color:var(--text-dim);opacity:.4;cursor:default}.tb-icon-btn:focus-visible{box-shadow:0 0 0 2px var(--focus-border)}.tb-icon-sep{width:1px;height:16px;background:var(--border);margin:0 4px}.tb-menu-caret{display:inline-flex;margin-left:4px;color:var(--text-dim)}.top-bar-menu{position:relative;display:flex;align-items:center}.tb-menu-btn{display:inline-flex;align-items:center;height:var(--control-h-sm);padding:0 8px 0 10px;background:transparent;border:none;color:var(--text-muted);font-size:var(--fs-13);font-weight:500;border-radius:var(--r-sm);cursor:pointer;outline:none;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.tb-menu-btn:hover,.tb-menu-btn.active{background:var(--bg-hover);color:var(--text-strong)}.tb-menu-btn:focus-visible{box-shadow:0 0 0 2px var(--focus-border)}.tb-menu-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:200;min-width:232px;background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--r-lg);padding:4px;box-shadow:var(--shadow-pop);transform-origin:top left;animation:tb-menu-in var(--dur) var(--ease)}@keyframes tb-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.tb-menu-panel-open{max-height:340px;overflow-y:auto}.tb-menu-item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:30px;padding:0 8px;background:transparent;border:none;color:var(--text);font-size:var(--fs-13);font-weight:450;text-align:left;cursor:pointer;border-radius:var(--r-sm);outline:none;transition:background var(--dur-fast) var(--ease)}.tb-menu-item:hover:not(:disabled),.tb-menu-item:focus-visible{background:var(--bg-hover);color:var(--text-strong)}.tb-menu-item:disabled{background:transparent;color:var(--text-dim);opacity:.5}.tb-menu-item-row{flex:1}.tb-menu-kbd{font-size:var(--fs-11);font-family:var(--font-ui);color:var(--text-dim);letter-spacing:.06em}.tb-menu-hint{min-width:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--bg-recess);font-size:var(--fs-11);font-variant-numeric:tabular-nums;line-height:18px;text-align:center;color:var(--text-dim)}.tb-menu-chevron{color:var(--text-dim);font-size:13px}.tb-menu-sep{height:1px;background:var(--border-subtle);margin:4px -4px}.tb-menu-empty{padding:10px 12px;font-size:var(--fs-12);color:var(--text-dim)}.tb-menu-row{display:flex;align-items:center}.tb-menu-del{padding:5px 8px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;border-radius:var(--r-xs);font-size:11px}.tb-menu-del:hover{color:var(--danger);background:var(--danger-soft)}.top-bar-right,.topbar-actions{display:flex;align-items:center;gap:6px}.topbar-actions:empty{display:none}.top-bar-tabs{flex:none}.tb-tab{flex:none;padding:0 12px}.layers-panel{display:flex;flex-direction:column;gap:6px;padding:0;background:transparent;border:none;flex-shrink:0}.layers-head{display:flex;align-items:center;justify-content:space-between;min-height:20px;font-size:var(--fs-11);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim)}.layers-add{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--r-sm);border:none;background:transparent;color:var(--text-muted);padding:0;cursor:pointer;outline:none;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.layers-add:hover{background:var(--bg-hover);color:var(--text-strong)}.layers-add:focus-visible{box-shadow:0 0 0 2px var(--focus-border)}.layers-list{display:flex;flex-direction:column;gap:1px;max-height:220px;overflow-y:auto;margin:0 -6px}.layer-row{display:flex;align-items:center;gap:8px;height:36px;padding:0 6px;border-radius:var(--r-md);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.layer-row:hover{background:var(--bg-hover)}.layer-row.selected{background:var(--bg-active)}.layer-thumb{width:24px;height:24px;flex-shrink:0;padding:2px;background:var(--bg-recess);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--border-subtle);display:flex}.layer-thumb svg{width:100%;height:100%}.layer-name{flex:1;font-size:var(--fs-13);font-weight:500;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-row.selected .layer-name,.layer-row:hover .layer-name{color:var(--text-strong)}.layer-actions{display:flex;gap:1px;opacity:0;transition:opacity var(--dur-fast) var(--ease)}.layer-row:hover .layer-actions,.layer-row.selected .layer-actions,.layer-row:focus-within .layer-actions{opacity:1}.layer-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:var(--r-sm);border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--text-dim);font-size:11px;cursor:pointer;outline:none;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.layer-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-strong)}.layer-btn:focus-visible{box-shadow:0 0 0 2px var(--focus-border)}.layer-btn:disabled{background:transparent;opacity:.3;cursor:not-allowed}.layer-btn-del:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.bag-shot{display:flex;width:100%;height:100vh;background:var(--bg)}.bag-shot .controls-panel{padding:0}.bag-num{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:11px;color:var(--text-muted)}.bag-chip{font-size:9px;letter-spacing:.6px;font-weight:700;padding:2px 6px;border-radius:4px;color:var(--text-dim);background:var(--bg-recess)}.bag-chip-ok{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.bag-chip-work{color:var(--text);background:var(--bg-hover)}.bag-chip-bad{color:#f0736c;background:#f0736c24}.bag-warn,.bag-error{margin:0;padding:8px 10px;border-radius:7px;font-size:11px;line-height:1.5;color:#f0a35c;background:#f0a35c1f}.bag-error{color:#f0736c;background:#f0736c1f}.bag-plate-list{display:flex;flex-direction:column;gap:2px}.bag-plate-row{display:flex;align-items:center;gap:9px;padding:6px;border-radius:7px;cursor:pointer;box-shadow:inset 0 0 0 1px transparent}.bag-plate-row:hover{background:var(--bg-hover)}.bag-plate-row.active{background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 32%,transparent)}.bag-plate-thumb{width:28px;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:3px;flex-shrink:0;background:var(--bg-recess)}.bag-plate-text,.bag-preset-text,.bag-slot-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.bag-plate-text strong,.bag-preset-text strong,.bag-slot-text strong{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bag-plate-text em,.bag-preset-text em,.bag-slot-text em{font-style:normal;font-size:10.5px;color:var(--text-dim)}.bag-coord-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bag-coord{display:flex;flex-direction:column;gap:1px;padding:7px 9px;border-radius:7px;background:var(--bg-recess)}.bag-coord em{font-style:normal;font-size:10px;color:var(--text-dim)}.bag-coord .bag-num{font-size:12.5px;font-weight:600;color:var(--text)}.bag-preset{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:7px;cursor:pointer}.bag-preset:hover{background:var(--bg-hover)}.bag-preset-box{width:17px;height:17px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:5px;border:1px solid var(--border-strong);font-size:11px;font-weight:700;line-height:1}.bag-preset.on .bag-preset-box{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-fg)}.bag-stage{padding:0;gap:0;justify-content:flex-start}.bag-stage-bar,.bag-stage-foot{display:flex;align-items:center;gap:10px;width:100%;flex-shrink:0;padding:0 16px}.bag-stage-bar{height:46px;border-bottom:1px solid var(--border)}.bag-shot .label-seg-btn{white-space:nowrap}.bag-stage-export{flex-shrink:0;margin-left:4px}.bag-stage-foot{height:44px;border-top:1px solid var(--border);font-size:11px;color:var(--text-dim)}.bag-stage-spacer{flex:1}.bag-dot{color:var(--border-strong)}.bag-canvas-wrap{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;padding:22px}.bag-canvas{display:block;border-radius:3px;box-shadow:var(--shadow-artboard)}.bag-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:32px;background:#0009}.bag-modal{display:flex;flex-direction:column;gap:var(--sp-3);width:min(560px,100%);max-height:100%;padding:var(--sp-4);border-radius:var(--r-xl);background:var(--bg-overlay);border:1px solid var(--border);box-shadow:var(--shadow-pop);overflow:auto}.bag-calibrator{width:min(1040px,100%)}.bag-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bag-modal-head h2{margin:0 0 2px;font-size:15px;font-weight:600;color:var(--text-strong)}.bag-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:var(--sp-3);border-top:1px solid var(--border)}.bag-batch-list{display:flex;flex-direction:column;gap:2px;min-height:0;overflow:auto}.bag-calibrator-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-4);min-height:0}.bag-calibrator-stage-col{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.bag-seg-inline{align-self:flex-start}.bag-calibrator-stage{position:relative;align-self:center;height:56vh;max-width:100%;overflow:hidden;border-radius:4px;background:var(--bg-recess);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bag-calibrator-stage img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none}.bag-calibrator-rect{position:absolute;border:1px solid var(--accent);box-shadow:0 0 0 1px #00000073;cursor:move}.bag-calibrator-handle{position:absolute;width:11px;height:11px;border-radius:2px;background:var(--accent);box-shadow:0 0 0 1px #00000080}.bag-calibrator-tag{position:absolute;left:0;top:0;transform:translateY(-130%);padding:2px 6px;border-radius:4px;background:#0009;color:var(--accent);font-size:9px;letter-spacing:.7px;white-space:nowrap}.bag-calibrator-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:300px;padding:24px;text-align:center;border:1px dashed var(--border-strong);border-radius:10px;color:var(--text-muted);font-size:12.5px}.bag-calibrator-controls{display:flex;flex-direction:column;gap:var(--panel-section-gap);min-width:0;overflow:auto}.bag-slot{display:flex;align-items:center;gap:10px;padding:9px;border-radius:8px;border:1px solid var(--border);background:var(--bg-recess);cursor:pointer}.bag-slot:hover{border-color:var(--border-strong)}.bag-slot input{display:none}.bag-stepper{display:flex;align-items:center;gap:6px}.bag-stepper-label{flex:1;font-size:12px;color:var(--text-muted)}.bag-stepper-value{min-width:68px;text-align:right;color:var(--text);font-size:12px}.bag-readout{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--text-muted)}.motion-view .bag-stage-bar{gap:14px}.motion-scrub{flex:1;min-width:0;height:22px;margin:0;accent-color:var(--accent);cursor:pointer}.motion-time{min-width:52px;text-align:right}.motion-progress{height:4px;border-radius:99px;background:var(--bg-recess);overflow:hidden}.motion-progress span{display:block;height:100%;border-radius:99px;background:var(--accent);transition:width .1s linear}.motion-curve-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.motion-curve-pad{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px 3px;border:1px solid transparent;border-radius:7px;background:var(--bg-recess);color:var(--text-dim);font-size:9px;line-height:1.1;cursor:pointer;overflow:hidden}.motion-curve-pad:hover{background:var(--bg-hover);color:var(--text-muted)}.motion-curve-pad.active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}.motion-curve-pad .bounce-curve-preview{width:100%;height:auto;pointer-events:none;background:transparent;border:none}.motion-curve-editor{margin-top:8px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-recess)}.motion-curve-editor .bounce-curve-preview{width:100%;max-height:150px}.motion-curve-handles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:6px}.motion-curve-handles label{display:flex;flex-direction:column;gap:2px;font-size:9.5px;color:var(--text-dim)}.motion-curve-handles input{width:100%;min-width:0;padding:3px 5px;border:1px solid var(--border);border-radius:5px;background:var(--input-bg);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px}.motion-groups{display:flex;flex-wrap:wrap;gap:4px}.motion-group{padding:4px 9px;border:1px solid var(--border);border-radius:99px;background:transparent;color:var(--text-dim);font-size:11px;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.motion-group:hover{color:var(--text);background:var(--bg-hover)}.motion-group.active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text);font-weight:600}a.home-import{display:inline-flex;align-items:center;text-decoration:none}a.tb-menu-item{text-decoration:none}
