:root{--background:140 23.1% 97.5%;--foreground:176.2 17.8% 17.6%;--card:0 0% 100%;--card-foreground:176.2 17.8% 17.6%;--popover:0 0% 100%;--popover-foreground:176.2 17.8% 17.6%;--primary:178.6 40.3% 41.4%;--primary-foreground:0 0% 100%;--secondary:140 15% 95%;--secondary-foreground:176.2 17.8% 17.6%;--muted:140 10% 94%;--muted-foreground:180 2.9% 41.2%;--accent:178.6 40.3% 41.4%;--accent-foreground:0 0% 100%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 100%;--border:220 13% 91%;--input:220 13% 91%;--ring:178.6 40.3% 41.4%;--radius:12px;--surface:hsl(var(--card)/0.92);--text:hsl(var(--foreground));--text-secondary:hsl(var(--muted-foreground));--muted-ui:hsl(var(--muted-foreground));--ui-border:hsl(var(--border));--ui-accent:hsl(var(--accent));--ui-hover:hsl(var(--accent)/0.08);--canvas-bg:#f7faf8;--svg-bg:#fff;--shadow-elevated:0 6px 20px rgba(0,0,0,.1);--blur:2px;--radius-md:12px;--radius-lg:16px;--space-1:4px;--space-2:8px;--space-3:12px;--accent-soft:rgba(63,148,146,.078);--reference-color:#ffc107;--btn-h-sm:28px;--btn-h-md:32px;--btn-h-lg:40px;--btn-pad-x:12px;--btn-primary-text:#fff;--btn-primary-bg:var(--accent);--grid:rgba(0,0,0,.07);--guide:#3f9492;--handle-fill:#3f9492;--handle-stroke:#fff;--input-bg:#fff;--input-text:hsl(var(--foreground));--input-border:hsl(var(--border));--ui-gap:16px;--inspector-w:320px;--topbar-h:56px;--bottombar-h:56px;--overlay-grid-width:0.5;--overlay-guide-width:1;--overlay-guide-dash:4 4;--overlay-selection-width:1;--overlay-selection-dash:4 2;--overlay-selection-stroke:#3f9492;--overlay-handle-size:10;--overlay-handle-radius:2;--overlay-handle-stroke-width:1;--overlay-rotation-distance:20;--overlay-marquee-width:1;--overlay-marquee-dash:4 2;--overlay-marquee-fill:rgba(63,148,146,.12);--overlay-marquee-stroke:rgba(63,148,146,.7);--overlay-snap-tol-px:6;--dynamic-accent:#3f9492;--dynamic-accent-soft:rgba(8,151,156,.12);--dynamic-color:#0a979d;--z-appbar:40}.dark,[data-theme=dark]{--background:210 8% 10%;--foreground:0 0% 94%;--card:210 7% 16%;--card-foreground:0 0% 94%;--popover:210 7% 16%;--popover-foreground:0 0% 94%;--primary:178.6 40.3% 45%;--primary-foreground:0 0% 100%;--secondary:210 7% 20%;--secondary-foreground:0 0% 94%;--muted:210 7% 20%;--muted-foreground:180 3% 70%;--accent:178.6 40.3% 45%;--accent-foreground:0 0% 100%;--border:190 12% 23%;--input:190 12% 23%;--ring:178.6 40.3% 45%;--surface:hsl(var(--card)/0.92);--ui-border:hsl(var(--border));--ui-accent:hsl(var(--accent));--ui-hover:hsl(var(--accent)/0.16);--svg-bg:#555862;--shadow-elevated:0 6px 20px rgba(0,0,0,.45);--grid:hsla(0,0%,100%,.06);--guide:#4da7a4;--overlay-selection-stroke:#4da7a4;--overlay-marquee-fill:rgba(77,167,164,.12);--overlay-marquee-stroke:rgba(77,167,164,.7);--handle-fill:#151b1e;--handle-stroke:#4da7a4;--input-bg:hsl(var(--secondary));--input-text:hsl(var(--foreground));--input-border:hsl(var(--border));--dynamic-accent:#2ec4c7;--dynamic-accent-soft:rgba(46,196,199,.12)}.label-editor-root{--background:140 23.1% 97.5%;--foreground:176.2 17.8% 17.6%;--card:0 0% 100%;--popover:0 0% 100%;--primary:178.6 40.3% 41.4%;--secondary:140 15% 95%;--muted:140 10% 94%;--muted-foreground:180 2.9% 41.2%;--accent:178.6 40.3% 41.4%;--border:220 13% 91%;--input:220 13% 91%;--ring:178.6 40.3% 41.4%;--surface:hsl(var(--card)/0.92);--text:hsl(var(--foreground));--text-secondary:hsl(var(--muted-foreground));--muted-ui:hsl(var(--muted-foreground));--ui-border:hsl(var(--border));--ui-accent:hsl(var(--accent));--ui-hover:hsl(var(--accent)/0.08);--input-bg:#fff;--input-text:hsl(var(--foreground));--input-border:hsl(var(--border));font-family:var(--font-space-grotesk),system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans";color:var(--text);background:var(--canvas-bg)}.label-editor-root *{box-sizing:border-box}.label-editor-root ::-moz-selection{background:hsl(var(--accent)/.35);color:hsl(var(--foreground))}.label-editor-root ::selection{background:hsl(var(--accent)/.35);color:hsl(var(--foreground))}.label-editor-root input::-moz-selection,.label-editor-root textarea::-moz-selection{background:hsl(var(--accent)/.35);color:hsl(var(--foreground))}.label-editor-root input::selection,.label-editor-root textarea::selection{background:hsl(var(--accent)/.35);color:hsl(var(--foreground))}.label-editor-root .inspector-toggle,.label-editor-root .outline-toggle{position:fixed;top:calc(var(--labels-editor-top-offset, 0px) + var(--ui-gap) + var(--topbar-h) + var(--space-3));z-index:41;padding:var(--space-2);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);border:1px solid hsl(var(--border))}.label-editor-root .outline-toggle{left:calc(var(--ui-gap) + var(--space-3))}.label-editor-root .modal{max-width:calc(100vw - 32px);background:var(--surface);color:var(--text);border:1px solid hsl(var(--border));border-radius:12px;padding:16px;box-shadow:var(--shadow-elevated)}.label-editor-root .modal h3{margin:0 0 12px;font-size:16px;font-weight:600}.label-editor-root .modal label{display:grid;gap:6px;font-size:12px}.label-editor-root .modal input{border:1px solid hsl(var(--border));background:var(--input-bg);color:var(--input-text);border-radius:8px;padding:8px 10px;outline:none}.label-editor-root .modal .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.label-editor-root .modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.label-editor-root .modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:1000}.label-editor-root .group-title{font-weight:600;font-size:12px;color:var(--muted-ui);margin:20px 0 6px;text-transform:uppercase}.label-editor-root .form-row{display:grid;grid-template-columns:1fr 160px;align-items:center;gap:8px;margin-bottom:8px}.label-editor-root .form-row>div:first-child{opacity:.6;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.label-editor-root .form-input{width:100%;height:36px;padding:6px 8px;border:1px solid hsl(var(--border));border-radius:8px;background:var(--input-bg);color:var(--input-text);outline:none}.label-editor-root .check-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-bottom:6px}.label-editor-root .segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.label-editor-root .align-bubble,.label-editor-root .text-edit-bubble{background:var(--surface);border:1px solid hsl(var(--border));border-radius:12px;box-shadow:var(--shadow-elevated);padding:4px 6px;display:flex;gap:6px;align-items:center;justify-content:center}.label-editor-root .align-bubble .mini-btn,.label-editor-root .text-edit-bubble .mini-btn{min-width:28px;height:24px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--card));cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.label-editor-root .align-bubble .mini-sep,.label-editor-root .text-edit-bubble .mini-sep{width:1px;height:20px;background:hsl(var(--border))}.label-editor-root .dialog{max-height:90vh;background:var(--card);border:1px solid hsl(var(--border));overflow:auto;width:min(560px,100vw - 32px);max-width:90vw;color:var(--text);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);padding:var(--space-3);z-index:1001}.label-editor-root .dialog-grid{display:grid;gap:8px;margin:8px 0 12px}.label-editor-root .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.label-editor-root .dialog-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:50}.label-editor-root .layers{position:relative;display:flex;flex-direction:column;min-height:0}.label-editor-root .layers-ico{width:20px;text-align:center;opacity:.8}.label-editor-root .layers-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.label-editor-root .layers-value{min-width:0;overflow:hidden;white-space:nowrap;display:block;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 16px),transparent)}.label-editor-root .layers-actions{position:relative}.label-editor-root .layers-actions>.mini-icon{width:24px;height:24px}.label-editor-root .layers-menu{position:absolute;right:0;top:26px;background:var(--surface);border:1px solid hsl(var(--border));border-radius:8px;box-shadow:var(--shadow-elevated);padding:4px;display:flex;flex-direction:column;z-index:2;min-width:160px}.label-editor-root .layers-menu button{height:28px;padding:0 10px;text-align:left;border-radius:6px}.label-editor-root .layers-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.label-editor-root .layers-resizer{position:absolute;right:-6px;top:0;bottom:0;width:12px;cursor:ew-resize;z-index:5}.label-editor-root .layers-resizer:after{content:"";position:absolute;right:6px;top:0;bottom:0;width:2px;background:hsl(var(--border));opacity:.6}.label-editor-root .layers-body{flex:1;min-height:0;overflow:auto;overflow-x:hidden;padding:6px 4px}.label-editor-root .layers-row{display:grid;grid-template-columns:20px 20px 120px minmax(0,1fr) auto auto;align-items:center;gap:6px;height:28px;padding:0 6px;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:grab}.label-editor-root .layers-row:active{cursor:grabbing}.label-editor-root .layers-row:hover{background:rgba(0,0,0,.04)}.label-editor-root .layers-row.is-selected{outline:1px solid hsl(var(--accent)/.55);background:hsl(var(--accent)/.14)}.label-editor-root .layers-row.is-drop-before{box-shadow:inset 0 2px 0 0 hsl(var(--accent))}.label-editor-root .layers-row.is-drop-after{box-shadow:inset 0 -2px 0 0 hsl(var(--accent))}.label-editor-root .layers-row.is-drop-inside{box-shadow:inset 0 0 0 2px hsl(var(--accent))}.label-editor-root .layers-row.is-dynamic{--layer-fg:var(--dynamic-color);color:var(--layer-fg)}.label-editor-root .layers-row.is-dynamic .layers-ico,.label-editor-root .layers-row.is-dynamic .layers-menu button,.label-editor-root .layers-row.is-dynamic .layers-name,.label-editor-root .layers-row.is-dynamic .layers-value,.label-editor-root .layers-row.is-dynamic .mini-icon{color:var(--layer-fg)}.label-editor-root .layers-row.is-missing-template{--danger:#d11;color:var(--danger)}.label-editor-root .layers-row.is-missing-template .layers-ico,.label-editor-root .layers-row.is-missing-template .layers-menu button,.label-editor-root .layers-row.is-missing-template .layers-name,.label-editor-root .layers-row.is-missing-template .layers-value,.label-editor-root .layers-row.is-missing-template .mini-icon{color:var(--danger)}.label-editor-root .layers-row.is-hidden{opacity:.5}.label-editor-root .layers-row.is-locked{opacity:.6}.label-editor-root .layers-row .layers-flags{display:flex;align-items:center;gap:6px;justify-self:end;min-width:0}.label-editor-root .layers-row *,.label-editor-root .layers-row .layers-ico,.label-editor-root .layers-row .layers-name,.label-editor-root .layers-row .layers-value,.label-editor-root .layers-row .mini-icon,.label-editor-root .layers-row a,.label-editor-root .layers-row button,.label-editor-root .layers-row img,.label-editor-root .layers-row svg image,.label-editor-root .layers-row svg use{-webkit-user-drag:none;user-drag:none}.label-editor-root[data-accent=reference]{--accent:var(--reference-color);color:var(--reference-color)}.label-editor-root .layers-row[data-accent=reference]{--layer-fg:var(--reference-color);color:var(--layer-fg)}.label-editor-root .layers-row[data-accent=reference] .layers-ico,.label-editor-root .layers-row[data-accent=reference] .layers-menu button,.label-editor-root .layers-row[data-accent=reference] .layers-name,.label-editor-root .layers-row[data-accent=reference] .layers-value,.label-editor-root .layers-row[data-accent=reference] .mini-icon{color:var(--layer-fg)}.label-editor-root svg[data-editor-root],.label-editor-root svg[data-editor-root] *{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;user-drag:none}.label-editor-root svg[data-editor-root][data-mode=textEdit] foreignObject,.label-editor-root svg[data-editor-root][data-mode=textEdit] foreignObject *{-webkit-user-select:text;-moz-user-select:text;user-select:text}.label-editor-root svg[data-editor-root][data-mode=textEdit] textarea::selection{background:rgba(63,148,146,.35)}.label-editor-root svg[data-editor-root][data-mode=textEdit] textarea::-moz-selection{background:rgba(63,148,146,.35)}.dark .label-editor-root,[data-theme=dark] .label-editor-root{--background:210 8% 10%;--foreground:0 0% 94%;--card:210 7% 16%;--popover:210 7% 16%;--primary:178.6 40.3% 45%;--secondary:210 7% 20%;--muted:210 7% 20%;--muted-foreground:180 3% 70%;--accent:178.6 40.3% 45%;--border:190 12% 23%;--input:190 12% 23%;--ring:178.6 40.3% 45%;--surface:hsl(var(--card)/0.92);--text:hsl(var(--foreground));--text-secondary:hsl(var(--muted-foreground));--muted-ui:hsl(var(--muted-foreground));--ui-border:hsl(var(--border));--ui-accent:hsl(var(--accent));--ui-hover:hsl(var(--accent)/0.16);--input-bg:hsl(var(--secondary));--input-text:hsl(var(--foreground));--input-border:hsl(var(--border))}.dark .label-editor-root .layers-menu button:hover,.dark .label-editor-root .layers-row:hover,[data-theme=dark] .label-editor-root .layers-menu button:hover,[data-theme=dark] .label-editor-root .layers-row:hover{background:hsla(0,0%,100%,.06)}@font-face{font-family:Montserrat;src:url(/_next/static/media/Montserrat-Regular.7b23935e.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/_next/static/media/Montserrat-Italic.d7c7bd0b.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Montserrat;src:url(/_next/static/media/Montserrat-Bold.76e660eb.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/_next/static/media/Montserrat-BoldItalic.bbefd485.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Noto Sans;src:url(/_next/static/media/NotoSans-Regular.388cf58c.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans;src:url(/_next/static/media/NotoSans-Italic.fef134d9.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Noto Sans;src:url(/_next/static/media/NotoSans-Bold.127a1b45.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans;src:url(/_next/static/media/NotoSans-BoldItalic.ffc3130e.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/_next/static/media/NotoSansSC-Regular.7e0f5da1.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/_next/static/media/NotoSansSC-Bold.88482365.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/_next/static/media/Open_Sans-Regular.bb6604b3.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/_next/static/media/Open_Sans-Italic.136cdeeb.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Open Sans;src:url(/_next/static/media/Open_Sans-Bold.932874e7.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/_next/static/media/Open_Sans-BoldItalic.cfa5b4e6.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Oswald;src:url(/_next/static/media/Oswald-Regular.15a2ae92.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Oswald;src:url(/_next/static/media/Oswald-Bold.67bff246.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Raleway;src:url(/_next/static/media/Raleway-Regular.dbcae0ab.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Raleway;src:url(/_next/static/media/Raleway-Italic.e75f37e8.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Raleway;src:url(/_next/static/media/Raleway-Bold.0ea8d0b4.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Raleway;src:url(/_next/static/media/Raleway-BoldItalic.742f6319.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/_next/static/media/Roboto-Regular.fb808800.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/_next/static/media/Roboto-Italic.110d959f.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Roboto;src:url(/_next/static/media/Roboto-Bold.5931183d.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/_next/static/media/Roboto-BoldItalic.51813ec2.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Tajawal;src:url(/_next/static/media/Tajawal-Regular.e8444859.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Tajawal;src:url(/_next/static/media/Tajawal-Medium.b9a6865d.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Tajawal;src:url(/_next/static/media/Tajawal-Bold.35b94842.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}.ruler-container{pointer-events:none;z-index:10;color-scheme:light dark;font-family:sans-serif}.ruler-bg{fill:var(--surface)}.ruler-corner{position:absolute;top:0;left:0;background:var(--surface);border-right:1px solid var(--ruler-tick,rgba(0,0,0,.25));border-bottom:1px solid var(--ruler-tick,rgba(0,0,0,.25));pointer-events:none;z-index:11}.ruler-tick-line{stroke:var(--ruler-tick);shape-rendering:crispEdges}.ruler-label{dominant-baseline:hanging}.ruler-label,.ruler-label-vert{fill:var(--ruler-fg);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:400}.ruler-label-vert{dominant-baseline:central;text-anchor:start}.ruler-cursor-x,.ruler-cursor-y{fill:var(--ruler-cursor,rgba(0,128,255,.4));pointer-events:none}.guide-line{stroke:rgba(0,128,255,.6);stroke-width:1;shape-rendering:crispEdges;pointer-events:none}.guide-line-temp{stroke-dasharray:4 4}.guide-hit-h,.guide-hit-v{fill:transparent;pointer-events:auto;cursor:row-resize}.guide-hit-v{cursor:col-resize}:root{--ruler-fg:#888;--ruler-tick:rgba(30,23,23,.35);--ruler-cursor:rgba(0,128,255,.4)}[data-theme=dark]{--ruler-fg:#666;--ruler-tick:rgba(98,96,96,.25)}.imgpick-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000}.imgpick-modal{width:min(1040px,94vw);max-height:86vh;background:var(--surface,var(--card,#fff));border:1px solid var(--ui-border,var(--border,#e5e7eb));border-radius:12px;box-shadow:none;display:flex;flex-direction:column;overflow:hidden}.imgpick-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ui-border,var(--border,#e5e7eb))}.imgpick-title{font-weight:600}.imgpick-tabs{display:inline-flex;gap:6px}.imgpick-tab{padding:6px 10px;border-radius:8px;border:1px solid var(--ui-border,var(--border,#e5e7eb));background:var(--bg-accent,#f6f7f8)}.imgpick-close,.imgpick-tab.is-active{background:var(--surface,var(--card,#fff))}.imgpick-close{border:1px solid var(--ui-border,var(--border,#e5e7eb));border-radius:8px;padding:4px 8px}.imgpick-footer{padding:10px 16px;border-top:1px solid var(--ui-border,var(--border,#e5e7eb));display:flex;justify-content:flex-end;gap:8px}.btn{border:1px solid var(--ui-border,var(--border,#e5e7eb));background:var(--surface,var(--card,#fff));padding:6px 10px}.btn:disabled{cursor:not-allowed;opacity:.55}.btn--primary{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover,var(--accent,#1d4ed8))}.btn--danger{background:#fee;border-color:#fcc}.imgpick-body{height:min(680px,86vh - 50px);min-height:0;display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);overflow:hidden}.imgpick-library-pane{min-width:0;min-height:0;border-right:1px solid var(--ui-border,var(--border,#e5e7eb));background:color-mix(in srgb,var(--bg-accent,#f6f7f8) 52%,var(--surface,var(--card,#fff)));overflow:hidden}.imgpick-upload-pane{min-width:0;min-height:0;display:flex}.imglib{height:100%;padding:12px;overflow:auto}.imglib-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.imglib-count{opacity:.8}.imglib-grid{display:grid;grid-template-columns:1fr;gap:8px}.imglib-empty{padding:40px 0;text-align:center;color:var(--text-secondary,var(--muted,#777))}.imglib-sentinel{height:1px}.imgcard{position:relative;border:1px solid var(--ui-border,var(--border,#e5e7eb));border-radius:8px;background:var(--surface,var(--card,#fff));display:block;overflow:hidden}.imgcard.is-skeleton{display:grid;grid-template-columns:64px minmax(0,1fr)}.imgcard.is-skeleton .imgcard-meta{padding:8px}.imgcard-main{display:grid;grid-template-columns:64px minmax(0,1fr);width:100%;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.imgcard-main:focus-visible,.imgcard-main:hover{background:color-mix(in srgb,var(--accent,#2563eb) 7%,var(--surface,var(--card,#fff)))}.imgcard-thumb{position:relative;display:grid;place-items:center;aspect-ratio:1/1;background:var(--bg-accent,#f6f7f8);width:100%;border:0;padding:0}.imgcard-thumb img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.imgcard-meta{padding:8px;display:grid;align-content:center;gap:6px;min-width:0}.imgcard-name{font-size:12px}.imgcard-insert-hint,.imgcard-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.imgcard-insert-hint{color:var(--text-secondary,var(--muted,#777));font-size:11px}.imgcard-actions{position:absolute;top:50%;right:6px;transform:translateY(-50%);z-index:2;display:flex;gap:4px;opacity:0;transition:opacity .16s ease}.imgcard-actions .icon-button{border:1px solid var(--ui-border,var(--border,#e5e7eb));background:var(--surface,var(--card,#fff));border-radius:999px}.imgcard:focus-within .imgcard-actions,.imgcard:hover .imgcard-actions{opacity:1}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-box{width:100%;height:100%;border-radius:0}.skeleton-box,.skeleton-line{background:linear-gradient(90deg,#f2f3f5 25%,#e9ecef 37%,#f2f3f5 63%);background-size:400% 100%;animation:skeleton-wave 1.2s ease-in-out infinite}.skeleton-line{height:12px;border-radius:6px}.imglib-grid .skeleton-line{width:60%}.imgup{flex:1;min-width:0;grid-template-rows:minmax(0,1fr) auto;gap:12px}.imgup,.imgup-drop{padding:18px;display:grid}.imgup-drop{position:relative;border:2px dashed var(--ui-border,var(--border,#e5e7eb));border-radius:12px;gap:10px;place-content:center;text-align:center;background:color-mix(in srgb,var(--bg-accent,#f6f7f8) 38%,var(--surface,var(--card,#fff)));transition:border-color .16s ease,background .16s ease}.imgup-drop input[type=file]{display:none}.imgup-drop.is-dragging{border-color:var(--accent,#2563eb);background:color-mix(in srgb,var(--accent,#2563eb) 8%,var(--surface,var(--card,#fff)))}.imgup-drop.has-file{place-content:stretch;text-align:left}.imgup-busy{position:absolute;inset:0;display:grid;place-content:center;gap:10px;background:color-mix(in srgb,var(--surface,var(--card,#fff)) 88%,transparent);color:var(--text,#111);font-size:13px;font-weight:600;text-align:center}.imgup-spinner{width:28px;height:28px;border:3px solid color-mix(in srgb,var(--ui-border,var(--border,#e5e7eb)) 65%,transparent);border-top-color:var(--accent,#2563eb);border-radius:999px;animation:imgup-spin .8s linear infinite;justify-self:center}@keyframes imgup-spin{to{transform:rotate(1turn)}}.imgup-empty{display:grid;justify-items:center;gap:12px;max-width:420px}.imgup-empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent,#2563eb) 35%,var(--ui-border,var(--border,#e5e7eb)));background:color-mix(in srgb,var(--accent,#2563eb) 10%,var(--surface,var(--card,#fff)));color:var(--accent,#2563eb);font-size:28px;line-height:1}.imgup-empty-title{font-weight:650;color:var(--text,#111)}.imgup-empty-copy{color:var(--text-secondary,var(--muted,#777));font-size:13px;line-height:1.45}.imgup-empty-steps{display:grid;gap:6px;width:min(100%,320px);text-align:left}.imgup-empty-steps span{border:1px solid var(--ui-border,var(--border,#e5e7eb));border-radius:8px;background:var(--surface,var(--card,#fff));padding:8px 10px;color:var(--text,#111);font-size:12px}.imgup-preview{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,300px);gap:16px;align-items:stretch;min-height:320px}.imgup-preview-media{display:grid;place-items:center;min-height:320px;border:1px solid var(--ui-border,var(--border,#e5e7eb));border-radius:10px;background:linear-gradient(45deg,color-mix(in srgb,var(--ui-border,var(--border,#e5e7eb)) 45%,transparent) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in srgb,var(--ui-border,var(--border,#e5e7eb)) 45%,transparent) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,color-mix(in srgb,var(--ui-border,var(--border,#e5e7eb)) 45%,transparent) 75%),linear-gradient(-45deg,transparent 75%,color-mix(in srgb,var(--ui-border,var(--border,#e5e7eb)) 45%,transparent) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;overflow:hidden}.imgup-preview-media img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.imgup-form{display:grid;align-content:start;gap:12px}.imgup-file-meta{display:grid;gap:4px;min-width:0}.imgup-file-meta span,.imgup-file-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imgup-file-meta span{color:var(--text-secondary,var(--muted,#777));font-size:12px}.form-field{display:grid;gap:6px}.form-field--row{grid-auto-flow:column;align-items:center;justify-content:start;gap:8px}.input{border:1px solid var(--ui-border,var(--border,#e5e7eb));border-radius:8px;padding:8px;background:var(--surface,var(--card,#fff));min-width:0}.imgup-actions{display:flex;justify-content:flex-end;gap:8px}.imgup-zip-confirm{display:flex;align-items:center;justify-content:center;gap:14px;min-height:320px}.imgup-zip-icon{display:grid;place-items:center;width:72px;height:88px;border:1px solid var(--ui-border,var(--border,#e5e7eb));border-radius:8px;background:var(--surface,var(--card,#fff));font-size:13px;font-weight:700;color:var(--accent,#2563eb)}.imgcard-action{position:absolute;z-index:2;pointer-events:auto}.imgcard-action .icon-button{border:1px solid var(--ui-border,var(--border,#e5e7eb));background:var(--surface,var(--card,#fff));border-radius:999px}.imgcard-action--top-right{top:6px;right:6px}.imgcard-action--bottom-right{bottom:6px;right:6px}@media(max-width:760px){.imgpick-modal{width:96vw;max-height:92vh}.imgpick-body{grid-template-columns:1fr;grid-template-rows:minmax(180px,34vh) minmax(360px,1fr);height:calc(92vh - 50px)}.imgpick-library-pane{border-right:0;border-bottom:1px solid var(--ui-border,var(--border,#e5e7eb))}.imgup-preview{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.imgcard-overlay,.imgup-drop{transition:none}.imgup-spinner{animation:none}}button{font:inherit;color:inherit;background:transparent;border:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;height:var(--btn-h-md);padding:0 var(--btn-pad-x);cursor:pointer;border:1px solid var(--ui-border,var(--border));background:var(--surface);color:var(--text);transition:filter .15s ease,background .15s ease,border-color .15s ease}.btn[disabled]{opacity:.6;pointer-events:none}.btn--sm{height:var(--btn-h-sm)}.btn--lg{height:var(--btn-h-lg)}.btn--icon{padding:0;width:var(--btn-h-md)}.btn--sm.btn--icon{width:var(--btn-h-sm)}.btn--lg.btn--icon{width:var(--btn-h-lg)}.btn--solid{background:var(--surface-strong);color:#fff;border-color:var(--surface-strong)}.btn--solid:hover{filter:brightness(.95)}.btn--outline{background:transparent}.btn--outline:hover{background:var(--ui-hover,rgba(0,0,0,.03))}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover{background:var(--ui-hover,rgba(0,0,0,.04))}.btn--primary{--surface-strong:var(--ui-accent,var(--accent));border-color:var(--ui-accent,var(--accent));color:var(--btn-primary-text)}.btn--neutral{--surface-strong:var(--surface)}.btn.is-active,.btn[aria-pressed=true]{border-color:var(--ui-accent,var(--accent))}.icon-btn{display:inline-flex;cursor:pointer;align-items:center;justify-content:center;padding:var(--space-1)}.icon-btn.is-active{border-color:var(--ui-accent,var(--accent));background:var(--ui-hover,rgba(63,148,146,.12))!important;color:var(--ui-accent,var(--accent))!important}.icon-btn:hover{background:var(--ui-hover,rgba(0,0,0,.03))}.icon-btn[disabled]{opacity:.5;pointer-events:none;filter:grayscale(1)}.card{background:var(--surface);border:1px solid var(--ui-border,var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);backdrop-filter:blur(var(--blur))}.card--padded{padding:var(--space-2)}.card--flat{box-shadow:none}.card--br{right:var(--ui-gap)}.card--bc,.card--br{bottom:var(--ui-gap);position:fixed;z-index:40}.card--tc,.card--tl{top:calc(var(--labels-editor-top-offset, 0px) + var(--ui-gap));position:fixed;z-index:40}.card--tl{left:var(--ui-gap)}.separator{background:var(--ui-border,var(--border))}.separator--h{height:1px;width:100%}.separator--v{width:1px;height:24px}.floating{--floating-pad:0;--floating-shadow:var(--shadow-elevated);--floating-z:40;position:fixed;z-index:var(--floating-z);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--floating-shadow);backdrop-filter:blur(var(--blur));padding:var(--floating-pad)}.floating.is-padded{--floating-pad:var(--space-2)}.floating.is-flat{--floating-shadow:none}.floating[data-pos=br]{right:var(--ui-gap);bottom:var(--ui-gap)}.floating[data-pos=bc]{left:50%;transform:translateX(-50%);bottom:var(--ui-gap)}.floating[data-pos=tc]{left:50%;transform:translateX(-50%)}.floating[data-pos=tc],.floating[data-pos=tl]{top:calc(var(--labels-editor-top-offset, 0px) + var(--ui-gap))}.floating[data-pos=tl]{left:var(--ui-gap)}.floating[data-pos=tr]{right:var(--ui-gap);top:calc(var(--labels-editor-top-offset, 0px) + var(--ui-gap))}.floating[data-pos=bl]{left:var(--ui-gap);bottom:var(--ui-gap)}.floating[data-pos=rc]{right:var(--ui-gap);top:50%;transform:translateY(-50%)}.floating[data-pos=lc]{left:var(--ui-gap);top:50%;transform:translateY(-50%)}.floating{max-width:calc(100vw - 2*var(--ui-gap))}.floating[data-pos=tc],.floating[data-pos=tl],.floating[data-pos=tr]{width:auto}.toolbar{gap:8px;background:var(--surface);border:1px solid var(--ui-border,var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);padding:4px 6px}.toolbar--vertical{flex-direction:column}.floating .toolbar{border:none;box-shadow:none;background:transparent;padding:0}.toolbar{display:flex;align-items:center;gap:var(--space-2);max-width:calc(100vw - 2*var(--ui-gap))}.toolbar__title{flex:1 1 auto;min-width:0}.toolbar__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-2)}.toolbar .template-meta{min-width:0}.toolbar .template-title{font-size:clamp(.9rem,2vw,1rem)}.toolbar .template-sub,.toolbar .template-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}.toolbar .template-sub{color:var(--text-secondary);font-size:.8rem}@media(max-width:1100px){.toolbar .template-sub{display:none}}@media(max-width:820px){.toolbar .template-title{max-width:52vw}}@media(max-width:640px){.toolbar .template-title{max-width:44vw}}@media(max-width:520px){.toolbar .template-title{max-width:36vw}}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:1000}.modal{width:min(480px,92vw);background:var(--surface,#fff);border:1px solid var(--ui-border,var(--border,#e5e7eb));border-radius:12px;box-shadow:none;display:grid;gap:12px}.modal-header{padding:12px 16px;border-bottom:1px solid var(--ui-border,var(--border,#e5e7eb))}.modal-title{font-weight:600}.modal-body{padding:0 16px;color:var(--muted-fg,#555)}.modal-actions{padding:12px 16px;border-top:1px solid var(--ui-border,var(--border,#e5e7eb));display:flex;justify-content:flex-end;gap:8px}.inspector-panel{position:fixed;right:var(--ui-gap);top:calc(var(--labels-editor-top-offset, 0px) + var(--ui-gap) + var(--topbar-h) + var(--space-2));bottom:calc(var(--ui-gap) + var(--bottombar-h));min-width:240px;width:320px;overflow:auto;z-index:40}.inspector-header{position:sticky;top:0;z-index:1;background:var(--surface,#fff);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.8em;text-transform:uppercase;padding:var(--space-3)}.inspector-header.layers-header{justify-content:flex-start}.inspector-title{font-weight:600}.inspector-content{padding:var(--space-3)}.inspector-content--group{margin-bottom:calc(var(--space-3)*4)}.inspector-toggle{right:calc(var(--ui-gap) + var(--space-3))}.zoom-indicator{width:48px;text-align:center;background:transparent;border:none;color:var(--text);font:inherit;cursor:pointer;padding:0 var(--space-1);border-radius:6px;transition:background .15s ease,transform .05s ease}.zoom-indicator:hover{background:var(--surface-hover,rgba(0,0,0,.04))}.zoom-indicator:active{transform:translateY(1px)}.zoom-indicator:focus-visible{outline:2px solid var(--accent);outline-offset:2px}