@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Sora:wght@600;700;800&family=Space+Mono:wght@400;700&display=swap";.ds-footer[data-v-21f8c4b6]{background:var(--ds-ink);color:var(--ds-paper);padding:80px 40px 40px}.ds-footer-content[data-v-21f8c4b6]{max-width:1400px;margin:0 auto 60px;display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:60px}.ds-footer-brand[data-v-21f8c4b6]{max-width:250px}.ds-footer-logo[data-v-21f8c4b6]{font-family:var(--ds-font-heading);font-size:18px;font-weight:800;color:var(--ds-paper);text-decoration:none;letter-spacing:-.02em;display:inline-block;margin-bottom:15px}.ds-footer-logo .lumen[data-v-21f8c4b6]{color:var(--ds-paper, #ffffff)}.ds-footer-logo .canvas[data-v-21f8c4b6]{color:var(--ds-logo-blue, #8ED3EF)}.ds-footer-brand p[data-v-21f8c4b6]{font-size:13px;color:#ffffffb3;line-height:1.6}.ds-footer-column h4[data-v-21f8c4b6]{font-family:var(--ds-font-label);font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ds-teal-light);margin-bottom:20px}.ds-footer-column a[data-v-21f8c4b6]{display:block;font-size:13px;color:#fffc;text-decoration:none;margin-bottom:10px;transition:color .2s}.ds-footer-column a[data-v-21f8c4b6]:hover{color:#fff}.ds-footer-bottom[data-v-21f8c4b6]{max-width:1400px;margin:0 auto;padding-top:30px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#fff9}.ds-footer-bottom nav[data-v-21f8c4b6]{display:flex;gap:30px}.ds-footer-bottom nav a[data-v-21f8c4b6]{font-family:var(--ds-font-label);font-size:11px;color:#fff9;text-decoration:none;transition:color .2s}.ds-footer-bottom nav a[data-v-21f8c4b6]:hover{color:#fff}.ds-footer-support[data-v-21f8c4b6]{font-family:var(--ds-font-label);font-size:11px;color:#ff6b6b;text-decoration:none;transition:color .2s}.ds-footer-support[data-v-21f8c4b6]:hover{color:#ff8a8a}@media (max-width: 1024px){.ds-footer-content[data-v-21f8c4b6]{grid-template-columns:repeat(3,1fr)}.ds-footer-brand[data-v-21f8c4b6]{grid-column:1 / -1;max-width:100%;margin-bottom:20px}}@media (max-width: 768px){.ds-footer[data-v-21f8c4b6]{padding:60px 20px 30px}.ds-footer-content[data-v-21f8c4b6]{grid-template-columns:repeat(2,1fr);gap:40px}.ds-footer-bottom[data-v-21f8c4b6]{flex-direction:column;gap:15px;text-align:center}}@media (max-width: 480px){.ds-footer-content[data-v-21f8c4b6]{grid-template-columns:1fr;gap:30px}}.logo-spinner[data-v-3674f618]{display:flex;align-items:center;justify-content:center}.logo-spinner svg[data-v-3674f618]{width:100%;height:100%}.loading-overlay[data-v-36678f3a]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0b0b0cf2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay, 9999);transition:opacity .3s ease}.loading-container[data-v-36678f3a]{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}.loading-text[data-v-36678f3a]{font-family:var(--ds-font-heading, "Space Grotesk", system-ui, sans-serif);font-size:18px;font-weight:600;color:var(--ds-paper, #f5f1eb);margin:0}.loading-subtext[data-v-36678f3a]{font-family:var(--ds-font-body, "IBM Plex Mono", monospace);font-size:13px;color:var(--ds-ink-muted, #888);margin:0;max-width:300px;line-height:1.5}@media (max-width: 768px){.loading-text[data-v-36678f3a]{font-size:16px}.loading-subtext[data-v-36678f3a]{font-size:12px}}canvas[data-v-0a3b1e03]{cursor:crosshair;border:1px solid var(--color-border-secondary);display:block;max-width:100%;max-height:100%;object-fit:contain}.freehand-toolbar[data-v-83cedae1]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background-color:var(--color-background-elevated);border-radius:var(--radius-sm);border:1px solid var(--color-border-secondary);flex-wrap:wrap}.tool-group[data-v-83cedae1],.brush-group[data-v-83cedae1],.background-group[data-v-83cedae1],.view-group[data-v-83cedae1],.history-group[data-v-83cedae1]{display:flex;align-items:center;gap:var(--space-1)}.tool-group[data-v-83cedae1]{border-right:1px solid var(--color-border-tertiary);padding-right:var(--space-2)}.history-group[data-v-83cedae1]{border-left:1px solid var(--color-border-tertiary);padding-left:var(--space-2)}.tool-btn[data-v-83cedae1],.background-btn[data-v-83cedae1],.view-btn[data-v-83cedae1],.history-btn[data-v-83cedae1]{display:flex;align-items:center;justify-content:center;padding:var(--space-1-5);border:1px solid var(--color-border-tertiary);border-radius:var(--radius-sm);background-color:var(--color-background-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all .2s;width:32px;height:32px}.tool-btn[data-v-83cedae1]:hover,.background-btn[data-v-83cedae1]:hover,.view-btn[data-v-83cedae1]:hover,.history-btn[data-v-83cedae1]:hover:not(:disabled){background-color:var(--color-background-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.tool-btn.active[data-v-83cedae1]{background-color:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.tool-btn.clear-btn[data-v-83cedae1]:hover{background-color:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error)}.history-btn[data-v-83cedae1]:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-background-tertiary)}.tool-label[data-v-83cedae1]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.brush-size-label[data-v-83cedae1]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.brush-size-control[data-v-83cedae1]{display:flex;align-items:center;gap:var(--space-2)}.brush-size-slider[data-v-83cedae1],.opacity-slider[data-v-83cedae1]{width:80px;height:4px;border-radius:2px;background:var(--color-border-tertiary);outline:none;cursor:pointer}.brush-size-slider[data-v-83cedae1]::-webkit-slider-thumb,.opacity-slider[data-v-83cedae1]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-background-secondary);box-shadow:0 1px 3px #0003}.brush-size-slider[data-v-83cedae1]::-moz-range-thumb,.opacity-slider[data-v-83cedae1]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-background-secondary);box-shadow:0 1px 3px #0003}.brush-preview[data-v-83cedae1]{border-radius:50%;transition:all .2s;min-width:4px;min-height:4px}.brush-size-value[data-v-83cedae1],.opacity-value[data-v-83cedae1]{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);min-width:32px;text-align:center}.opacity-label[data-v-83cedae1],.fit-mode-label[data-v-83cedae1]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.fit-mode-select[data-v-83cedae1]{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-secondary);border-radius:var(--radius-sm);background-color:var(--color-background-primary);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;min-width:80px}.fit-mode-select[data-v-83cedae1]:hover{border-color:var(--color-border-primary)}.fit-mode-select[data-v-83cedae1]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-ghost)}.shortcuts-info[data-v-83cedae1]{position:relative;margin-left:auto}.shortcuts-toggle[data-v-83cedae1]{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:color .2s}.shortcuts-toggle[data-v-83cedae1]:hover{color:var(--color-text-primary)}.shortcuts-panel[data-v-83cedae1]{position:absolute;top:100%;right:0;margin-top:var(--space-2);background-color:var(--color-background-elevated);border:1px solid var(--color-border-secondary);border-radius:var(--radius-sm);padding:var(--space-3);min-width:200px;box-shadow:0 4px 12px #00000026;z-index:10}.shortcuts-panel h4[data-v-83cedae1]{margin:0 0 var(--space-2) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.shortcut-list[data-v-83cedae1]{display:flex;flex-direction:column;gap:var(--space-1)}.shortcut-item[data-v-83cedae1]{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs)}.shortcut-item kbd[data-v-83cedae1]{background-color:var(--color-background-tertiary);border:1px solid var(--color-border-tertiary);border-radius:var(--radius-xs);padding:2px 6px;font-family:monospace;font-size:var(--font-size-xs);color:var(--color-text-primary)}.shortcut-item span[data-v-83cedae1]{color:var(--color-text-secondary)}@media (max-width: 768px){.freehand-toolbar[data-v-83cedae1]{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2)}.tool-group[data-v-83cedae1],.history-group[data-v-83cedae1]{border:none;padding:0}.tool-btn[data-v-83cedae1],.background-btn[data-v-83cedae1],.history-btn[data-v-83cedae1]{min-width:50px;padding:var(--space-1)}.tool-label[data-v-83cedae1]{display:none}.brush-size-slider[data-v-83cedae1],.opacity-slider[data-v-83cedae1]{width:60px}.shortcuts-info[data-v-83cedae1]{margin-left:0;margin-top:var(--space-2)}.shortcuts-panel[data-v-83cedae1]{right:auto;left:0}}@media (prefers-color-scheme: dark){.brush-preview[data-v-83cedae1]{box-shadow:0 0 0 1px #fff3}}.modal-overlay[data-v-0a2f26f8]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay-dark);display:flex;align-items:center;justify-content:center;z-index:9999}.modal-container[data-v-0a2f26f8]{background-color:var(--color-background-secondary);border-radius:var(--radius-lg);width:95vw;max-width:1200px;height:90vh;max-height:900px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000080}.modal-header[data-v-0a2f26f8]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-primary);background-color:var(--color-background-darker)}.modal-header h3[data-v-0a2f26f8]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.close-btn[data-v-0a2f26f8]{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-3xl);cursor:pointer;padding:var(--space-1);line-height:1;transition:color .2s}.close-btn[data-v-0a2f26f8]:hover{color:var(--color-text-primary)}.modal-content[data-v-0a2f26f8]{padding:var(--space-5);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-4)}.canvas-container[data-v-0a2f26f8]{flex:1;display:flex;justify-content:center;align-items:center;background-color:var(--color-background-tertiary);border-radius:var(--radius-sm);padding:var(--space-4);min-height:500px;overflow:hidden}.canvas-wrapper[data-v-0a2f26f8]{transform:scale(.6);transform-origin:center;border:2px solid var(--color-border-secondary);border-radius:var(--radius-sm);background-color:var(--color-background-primary);box-shadow:0 4px 12px #00000026}.canvas-wrapper canvas[data-v-0a2f26f8]{display:block;border-radius:var(--radius-sm)}.modal-actions[data-v-0a2f26f8]{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-4);border-top:1px solid var(--color-border-primary)}.cancel-btn[data-v-0a2f26f8]{padding:var(--space-3) var(--space-5);border:1px solid var(--color-border-secondary);border-radius:var(--radius-sm);background-color:transparent;color:var(--color-text-secondary);font-size:var(--font-size-md);cursor:pointer;transition:all .2s}.cancel-btn[data-v-0a2f26f8]:hover{background-color:var(--color-background-hover);color:var(--color-text-primary)}.export-actions[data-v-0a2f26f8]{display:flex;gap:var(--space-3)}.export-btn[data-v-0a2f26f8]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;background-color:var(--color-accent);color:var(--color-text-inverse)}.export-btn[data-v-0a2f26f8]:hover:not(:disabled){background-color:var(--color-accent-hover-dark)}.export-btn[data-v-0a2f26f8]:disabled{background-color:var(--color-border-tertiary);color:var(--color-text-muted);cursor:not-allowed}.export-btn.secondary[data-v-0a2f26f8]{background-color:var(--color-accent-pale-violet)}.export-btn.secondary[data-v-0a2f26f8]:hover:not(:disabled){background-color:var(--color-accent-pale-violet-dark)}.hidden-file-input[data-v-0a2f26f8]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 768px){.modal-container[data-v-0a2f26f8]{width:95%;max-height:95vh}.modal-content[data-v-0a2f26f8]{padding:var(--space-3)}.modal-actions[data-v-0a2f26f8]{flex-direction:column;gap:var(--space-3);align-items:stretch}.export-actions[data-v-0a2f26f8]{flex-direction:column}.canvas-container[data-v-0a2f26f8]{min-height:300px}.canvas-wrapper[data-v-0a2f26f8]{transform:scale(.4)}}.mask-studio-toolbar[data-v-f7e0a784]{background:var(--color-background-secondary, #111113);padding:10px 0;display:flex;flex-direction:column;align-items:center;gap:2px;overflow-y:auto}.tool-group[data-v-f7e0a784]{display:flex;flex-direction:column;gap:2px;padding:6px 0;width:100%}.tool-group[data-v-f7e0a784]:not(:last-child){border-bottom:1px solid var(--color-border-primary, #27272a)}.tool-btn[data-v-f7e0a784]{width:44px;height:44px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted, #71717a);border-radius:var(--radius, 8px);cursor:pointer;transition:all .15s;position:relative}.tool-btn[data-v-f7e0a784]:hover:not(:disabled){background:var(--color-hover, #27272a);color:var(--color-text-secondary, #a1a1aa)}.tool-btn[data-v-f7e0a784]:disabled{opacity:.4;cursor:not-allowed}.tool-btn.active[data-v-f7e0a784]{background:var(--color-accent-background, rgba(16, 185, 129, .15));color:var(--color-accent, #10b981)}.tool-btn.ai-tool[data-v-f7e0a784]{color:var(--color-purple, #a855f7);background:#a855f71a;border:1px solid rgba(168,85,247,.3)}.tool-btn.ai-tool[data-v-f7e0a784]:hover:not(:disabled){background:#a855f733;color:var(--color-purple, #a855f7)}.tool-btn.sam-active[data-v-f7e0a784]{background:#a855f740;color:var(--color-purple, #a855f7);border-color:var(--color-purple, #a855f7)}.tool-btn svg[data-v-f7e0a784]{width:20px;height:20px}.tool-key[data-v-f7e0a784]{position:absolute;bottom:3px;right:3px;font-size:9px;font-weight:600;color:var(--color-text-muted, #71717a);opacity:.7}.tool-btn[data-v-f7e0a784]:after{content:attr(title);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:6px 10px;background:var(--color-background-card, #1f1f23);color:var(--color-text-primary);font-size:11px;font-weight:500;white-space:nowrap;border-radius:6px;box-shadow:0 4px 12px #0006;opacity:0;visibility:hidden;transition:all .15s;z-index:1000;pointer-events:none}.tool-btn[data-v-f7e0a784]:hover:after{opacity:1;visibility:visible}@media (max-width: 1200px){.mask-studio-toolbar[data-v-f7e0a784]{padding:6px 0}.tool-btn[data-v-f7e0a784]{width:40px;height:40px}.tool-btn svg[data-v-f7e0a784]{width:18px;height:18px}}@media (max-width: 700px){.mask-studio-toolbar[data-v-f7e0a784]{position:fixed;bottom:0;left:0;right:0;height:60px;padding:8px 12px;flex-direction:row;justify-content:flex-start;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;z-index:100;border-top:1px solid var(--color-border-primary, #27272a);border-radius:0}.tool-group[data-v-f7e0a784]{flex-direction:row;gap:4px;padding:0 4px;width:auto;flex-shrink:0}.tool-group[data-v-f7e0a784]:not(:last-child){border-bottom:none;border-right:1px solid var(--color-border-primary, #27272a);padding-right:8px;margin-right:4px}.tool-btn[data-v-f7e0a784]{width:44px;height:44px;margin:0;flex-shrink:0}.tool-btn svg[data-v-f7e0a784]{width:20px;height:20px}.tool-key[data-v-f7e0a784]{display:none}.tool-btn[data-v-f7e0a784]:after{display:none}}@media (max-width: 900px){.tool-btn[data-v-f7e0a784]{width:36px;height:36px}.tool-btn svg[data-v-f7e0a784]{width:16px;height:16px}.tool-key[data-v-f7e0a784]{display:none}.tool-btn[data-v-f7e0a784]:after{display:none}}@media (pointer: coarse){.tool-btn[data-v-f7e0a784]{width:48px;height:48px}}.mobile-only[data-v-f7e0a784]{display:none}@media (max-width: 700px){.mobile-only[data-v-f7e0a784]{display:flex;margin-left:auto}.panel-toggle[data-v-f7e0a784]{background:var(--color-background-tertiary, #18181b)}.panel-toggle.active[data-v-f7e0a784]{background:var(--color-accent-background, rgba(16, 185, 129, .15));color:var(--color-accent, #10b981)}}.mask-canvas-container[data-v-b064af8b]{position:relative;width:100%;height:100%;background:#0a0a0b;overflow:hidden;touch-action:none;-webkit-touch-callout:none}.drop-zone[data-v-b064af8b]{position:absolute;top:20px;right:20px;bottom:20px;left:20px;border:2px dashed #27272a;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#111113;transition:.2s;cursor:pointer;z-index:50}.drop-zone.drag[data-v-b064af8b]{border-color:#10b981;background:#10b98126}.drop-icon[data-v-b064af8b]{width:56px;height:56px;border-radius:12px;background:#18181b;display:flex;align-items:center;justify-content:center;color:#71717a}.drop-zone h2[data-v-b064af8b]{font-size:16px;font-weight:600;color:#fafafa}.drop-zone p[data-v-b064af8b]{font-size:13px;color:#71717a}.canvas-wrapper[data-v-b064af8b]{position:relative;transform-origin:center;box-shadow:0 12px 40px #00000080;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-image:linear-gradient(45deg,#1a1a1a 25%,transparent 25%),linear-gradient(-45deg,#1a1a1a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1a1a1a 75%),linear-gradient(-45deg,transparent 75%,#1a1a1a 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;background-color:#141414}.main-canvas[data-v-b064af8b],.overlay-canvas[data-v-b064af8b],.cursor-canvas[data-v-b064af8b]{position:absolute;top:0;left:0;display:block}.overlay-canvas[data-v-b064af8b],.cursor-canvas[data-v-b064af8b]{pointer-events:none}.cursor-canvas[data-v-b064af8b]{z-index:10}.sam-point[data-v-b064af8b]{position:absolute;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:20;box-shadow:0 2px 8px #0006}.sam-point[data-v-b064af8b]:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border:2px solid rgba(255,255,255,.8);border-radius:50%}.tool-hint[data-v-b064af8b]{position:absolute;bottom:8px;left:50%;transform:translate(-50%);padding:6px 12px;background:#1f1f23;border:1px solid #3f3f46;border-radius:8px;font-size:11px;color:#a1a1aa;white-space:nowrap;opacity:0;transition:.2s;pointer-events:none}.tool-hint.show[data-v-b064af8b]{opacity:1}.mask-canvas-container[data-tool=brush][data-v-b064af8b],.mask-canvas-container[data-tool=eraser][data-v-b064af8b]{cursor:none}.mask-canvas-container[data-tool=magic][data-v-b064af8b],.mask-canvas-container[data-tool=flood][data-v-b064af8b],.mask-canvas-container[data-tool=lasso][data-v-b064af8b],.mask-canvas-container[data-tool=polygon][data-v-b064af8b],.mask-canvas-container[data-tool=rect][data-v-b064af8b],.mask-canvas-container[data-tool=ellipse][data-v-b064af8b],.mask-canvas-container[data-tool=sam][data-v-b064af8b]{cursor:crosshair}.mask-canvas-container[data-tool=pan][data-v-b064af8b]{cursor:grab}.mask-canvas-container[data-tool=pan][data-v-b064af8b]:active{cursor:grabbing}.mask-studio-panel[data-v-163e66c1]{background:var(--color-background-secondary, #111113);display:flex;flex-direction:column;overflow:hidden}.panel-header[data-v-163e66c1]{padding:14px 16px;border-bottom:1px solid var(--color-border-primary, #27272a);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-primary)}.panel-body[data-v-163e66c1]{flex:1;overflow-y:auto;padding:14px}.panel-section[data-v-163e66c1]{margin-bottom:20px}.panel-section[data-v-163e66c1]:last-child{margin-bottom:0}.section-title[data-v-163e66c1]{font-size:10px;font-weight:600;color:var(--color-text-muted, #71717a);text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.section-title-with-action[data-v-163e66c1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-title-with-action span[data-v-163e66c1]{font-size:10px;font-weight:600;color:var(--color-text-muted, #71717a);text-transform:uppercase;letter-spacing:.7px}.mini-btn[data-v-163e66c1]{padding:4px 8px;background:var(--color-background-tertiary, #18181b);border:1px solid var(--color-border-primary, #27272a);color:var(--color-text-secondary, #a1a1aa);font-size:10px;font-weight:500;border-radius:var(--radius-sm, 6px);cursor:pointer;transition:all .15s}.mini-btn[data-v-163e66c1]:hover{background:var(--color-hover, #27272a);color:var(--color-text-primary)}.preview-wrapper[data-v-163e66c1]{background:var(--color-background-tertiary, #18181b);border-radius:var(--radius, 8px);padding:10px;margin-bottom:12px}.preview-canvas-container[data-v-163e66c1]{background-image:linear-gradient(45deg,#222 25%,transparent 25%),linear-gradient(-45deg,#222 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#222 75%),linear-gradient(-45deg,transparent 75%,#222 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;background-color:#1a1a1a;border-radius:5px;overflow:hidden;aspect-ratio:1}.preview-canvas[data-v-163e66c1]{width:100%;height:100%;display:block}.preview-modes[data-v-163e66c1]{display:flex;gap:3px;margin-top:8px}.preview-btn[data-v-163e66c1]{flex:1;padding:5px;background:var(--color-background-secondary, #111113);border:none;color:var(--color-text-muted, #71717a);font-family:inherit;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:4px;cursor:pointer;transition:all .15s}.preview-btn[data-v-163e66c1]:hover{color:var(--color-text-secondary)}.preview-btn.active[data-v-163e66c1]{background:var(--color-accent-background, rgba(16, 185, 129, .15));color:var(--color-accent, #10b981)}.control[data-v-163e66c1]{margin-bottom:14px}.control[data-v-163e66c1]:last-child{margin-bottom:0}.control-label[data-v-163e66c1]{display:flex;justify-content:space-between;margin-bottom:6px}.control-name[data-v-163e66c1]{font-size:11px;font-weight:500;color:var(--color-text-secondary, #a1a1aa)}.control-value[data-v-163e66c1]{font-size:10px;font-weight:500;color:var(--color-text-muted, #71717a);background:var(--color-background-tertiary, #18181b);padding:1px 5px;border-radius:4px}.slider-container[data-v-163e66c1]{position:relative}.slider[data-v-163e66c1]{width:100%;height:6px;background:var(--color-background-tertiary, #18181b);border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider[data-v-163e66c1]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--color-text-primary);border-radius:50%;cursor:pointer}.slider[data-v-163e66c1]::-moz-range-thumb{width:14px;height:14px;background:var(--color-text-primary);border-radius:50%;cursor:pointer;border:none}.toggle-control[data-v-163e66c1]{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.toggle-switch[data-v-163e66c1]{position:relative;width:34px;height:20px}.toggle-switch input[data-v-163e66c1]{opacity:0;width:0;height:0}.toggle-slider[data-v-163e66c1]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--color-background-tertiary, #18181b);border-radius:10px;transition:.15s}.toggle-slider[data-v-163e66c1]:after{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.15s}input:checked+.toggle-slider[data-v-163e66c1]{background:var(--color-accent, #10b981)}input:checked+.toggle-slider[data-v-163e66c1]:after{transform:translate(14px)}.button-grid[data-v-163e66c1]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.button-grid.single[data-v-163e66c1]{grid-template-columns:1fr}.panel-btn[data-v-163e66c1]{padding:8px 10px;background:var(--color-background-tertiary, #18181b);border:1px solid var(--color-border-primary, #27272a);color:var(--color-text-secondary, #a1a1aa);font-family:inherit;font-size:11px;font-weight:500;border-radius:var(--radius, 8px);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:5px}.panel-btn[data-v-163e66c1]:hover{background:var(--color-hover, #27272a);border-color:var(--color-border-secondary, #3f3f46);color:var(--color-text-primary)}.panel-btn[data-v-163e66c1]:disabled{opacity:.4;cursor:not-allowed}.panel-btn.danger[data-v-163e66c1]:hover{background:#ef444426;border-color:var(--color-error, #ef4444);color:var(--color-error, #ef4444)}.panel-btn.accent[data-v-163e66c1]{background:var(--color-accent-background, rgba(16, 185, 129, .15));border-color:var(--color-accent, #10b981);color:var(--color-accent, #10b981)}.panel-btn.accent[data-v-163e66c1]:hover{background:#10b98140}.panel-btn.purple[data-v-163e66c1]{background:#a855f726;border-color:var(--color-purple, #a855f7);color:var(--color-purple, #a855f7)}.panel-btn.purple[data-v-163e66c1]:hover{background:#a855f740}.collapsible[data-v-163e66c1]{border:1px solid var(--color-border-primary, #27272a);border-radius:var(--radius, 8px);margin-bottom:12px;overflow:hidden}.collapsible-header[data-v-163e66c1]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-background-tertiary, #18181b);cursor:pointer;transition:all .15s}.collapsible-header[data-v-163e66c1]:hover{background:var(--color-hover, #27272a)}.collapsible-header .section-title[data-v-163e66c1]{margin:0}.chevron[data-v-163e66c1]{width:16px;height:16px;color:var(--color-text-muted, #71717a);transition:transform .2s}.collapsible.open .chevron[data-v-163e66c1]{transform:rotate(180deg)}.collapsible-content[data-v-163e66c1]{padding:12px}.instances-list[data-v-163e66c1],.mask-layers[data-v-163e66c1]{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.instance-item[data-v-163e66c1],.layer-item[data-v-163e66c1]{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--color-background-tertiary, #18181b);border:2px solid transparent;border-radius:var(--radius, 8px);cursor:pointer;transition:all .15s}.instance-item[data-v-163e66c1]:hover,.layer-item[data-v-163e66c1]:hover{background:var(--color-hover, #27272a)}.instance-item.selected[data-v-163e66c1]{border-color:var(--color-purple, #a855f7)}.instance-color[data-v-163e66c1]{width:16px;height:16px;border-radius:4px;flex-shrink:0}.layer-thumb[data-v-163e66c1]{width:32px;height:32px;background:var(--color-background-secondary, #111113);border-radius:4px;overflow:hidden;flex-shrink:0}.layer-thumb img[data-v-163e66c1]{width:100%;height:100%;object-fit:cover}.instance-info[data-v-163e66c1],.layer-info[data-v-163e66c1]{flex:1;min-width:0}.instance-name[data-v-163e66c1],.layer-name[data-v-163e66c1]{font-size:11px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instance-meta[data-v-163e66c1],.layer-meta[data-v-163e66c1]{font-size:9px;color:var(--color-text-muted, #71717a)}.instance-actions[data-v-163e66c1]{display:flex;gap:2px}.instance-btn[data-v-163e66c1],.layer-del[data-v-163e66c1]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted, #71717a);border-radius:4px;cursor:pointer;opacity:0;transition:all .15s}.instance-item:hover .instance-btn[data-v-163e66c1],.layer-item:hover .layer-del[data-v-163e66c1]{opacity:1}.instance-btn[data-v-163e66c1]:hover,.layer-del[data-v-163e66c1]:hover{background:var(--color-hover, #27272a);color:var(--color-text-primary)}.instance-btn.del[data-v-163e66c1]:hover,.layer-del[data-v-163e66c1]:hover{background:#ef444426;color:var(--color-error, #ef4444)}.empty-state[data-v-163e66c1]{text-align:center;padding:20px;color:var(--color-text-muted, #71717a);font-size:11px}.webgpu-warning[data-v-163e66c1]{padding:12px;background:#f973161a;border:1px solid var(--color-warning, #f59e0b);border-radius:var(--radius, 8px);margin-bottom:12px}.webgpu-warning p[data-v-163e66c1]{font-size:11px;color:var(--color-warning, #f59e0b);margin:0}[data-v-163e66c1]::-webkit-scrollbar{width:6px}[data-v-163e66c1]::-webkit-scrollbar-track{background:transparent}[data-v-163e66c1]::-webkit-scrollbar-thumb{background:var(--color-hover, #27272a);border-radius:3px}[data-v-163e66c1]::-webkit-scrollbar-thumb:hover{background:var(--color-border-secondary, #3f3f46)}@media (max-width: 1200px){.panel-body[data-v-163e66c1]{padding:10px}.panel-section[data-v-163e66c1]{margin-bottom:14px}}@media (pointer: coarse){.panel-btn[data-v-163e66c1]{padding:12px 10px;min-height:44px}.slider[data-v-163e66c1]{height:10px}.slider[data-v-163e66c1]::-webkit-slider-thumb{width:22px;height:22px}.toggle-switch[data-v-163e66c1]{width:44px;height:26px}.toggle-slider[data-v-163e66c1]:after{width:22px;height:22px}input:checked+.toggle-slider[data-v-163e66c1]:after{transform:translate(18px)}.instance-item[data-v-163e66c1],.layer-item[data-v-163e66c1]{padding:10px 12px}.collapsible-header[data-v-163e66c1]{padding:14px 12px}}@media (max-width: 700px){.panel-header[data-v-163e66c1]{padding:8px 16px;position:relative}.panel-header[data-v-163e66c1]:before{content:"";display:block;width:36px;height:4px;background:var(--color-border-secondary, #3f3f46);border-radius:2px;margin:0 auto 6px}.panel-body[data-v-163e66c1]{padding:8px 12px;padding-bottom:max(12px,env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:calc(40vh - 50px)}.panel-section[data-v-163e66c1]{margin-bottom:10px}.preview-wrapper[data-v-163e66c1]{display:none}.button-grid[data-v-163e66c1]{gap:4px}.panel-btn[data-v-163e66c1]{padding:8px 6px;font-size:10px;min-height:36px}.control[data-v-163e66c1]{margin-bottom:8px}.control-label[data-v-163e66c1]{margin-bottom:3px}.control-name[data-v-163e66c1]{font-size:10px}.instances-list[data-v-163e66c1],.mask-layers[data-v-163e66c1]{max-height:80px}.instance-item[data-v-163e66c1],.layer-item[data-v-163e66c1]{padding:6px 8px}.instance-name[data-v-163e66c1],.layer-name[data-v-163e66c1]{font-size:10px}.collapsible-header[data-v-163e66c1]{padding:8px 10px}.collapsible-content[data-v-163e66c1]{padding:8px}.section-title[data-v-163e66c1],.section-title-with-action span[data-v-163e66c1]{font-size:9px;margin-bottom:5px}.section-title-with-action[data-v-163e66c1]{margin-bottom:5px}.mini-btn[data-v-163e66c1]{padding:3px 6px;font-size:9px}.panel-section[data-v-163e66c1]:has(.collapsible){display:none}}.tool-options-bar[data-v-c4e32f91]{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--ds-paper-warm, #faf6f0);border:1px solid var(--ds-border, rgba(26, 26, 26, .15));border-radius:8px;box-shadow:0 2px 8px #00000014}.option-group[data-v-c4e32f91]{display:flex;align-items:center;gap:8px}.option-label[data-v-c4e32f91]{font-family:var(--ds-font-label, "Space Mono", monospace);font-size:10px;font-weight:700;color:var(--ds-ink-muted, #6a6a6a);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.size-slider[data-v-c4e32f91]{width:80px;height:6px;background:var(--ds-border, rgba(26, 26, 26, .15));border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.size-slider[data-v-c4e32f91]::-webkit-slider-track{height:6px;background:var(--ds-border, rgba(26, 26, 26, .15));border-radius:3px}.size-slider[data-v-c4e32f91]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--ds-teal, #14b8a6);border:2px solid white;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0003;transition:transform .15s,box-shadow .15s}.size-slider[data-v-c4e32f91]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px #00000040}.size-slider[data-v-c4e32f91]::-moz-range-track{height:6px;background:var(--ds-border, rgba(26, 26, 26, .15));border-radius:3px}.size-slider[data-v-c4e32f91]::-moz-range-thumb{width:18px;height:18px;background:var(--ds-teal, #14b8a6);border:2px solid white;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0003}.option-value[data-v-c4e32f91]{font-family:var(--ds-font-body, "IBM Plex Mono", monospace);font-size:12px;font-weight:500;color:var(--ds-ink, #1a1a1a);min-width:32px;text-align:right}.mode-toggle[data-v-c4e32f91]{display:flex;gap:4px;padding-left:12px;margin-left:4px;border-left:1px solid var(--ds-border, rgba(26, 26, 26, .15))}.mode-btn[data-v-c4e32f91]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--ds-paper, #f5f1eb);border:1px solid var(--ds-border, rgba(26, 26, 26, .15));color:var(--ds-ink-muted, #6a6a6a);border-radius:6px;cursor:pointer;transition:all .15s}.mode-btn[data-v-c4e32f91]:hover{border-color:var(--ds-ink, #1a1a1a);color:var(--ds-ink, #1a1a1a)}.mode-btn.active[data-v-c4e32f91]{background:var(--ds-teal, #14b8a6);border-color:var(--ds-teal, #14b8a6);color:#fff}.mode-btn.active[data-v-c4e32f91]:hover{background:var(--ds-teal-dark, #0d9488)}@media (max-width: 700px){.tool-options-bar[data-v-c4e32f91]{gap:12px;padding:8px 12px;border-radius:6px}.option-group[data-v-c4e32f91]{gap:6px}.size-slider[data-v-c4e32f91]{width:70px}.option-label[data-v-c4e32f91]{font-size:9px}.option-value[data-v-c4e32f91]{font-size:11px;min-width:28px}.mode-toggle[data-v-c4e32f91]{padding-left:8px;margin-left:0}.mode-btn[data-v-c4e32f91]{width:32px;height:32px}}@media (pointer: coarse){.size-slider[data-v-c4e32f91]{height:8px;min-height:44px;padding:18px 0;margin:-18px 0;background:transparent;background-clip:content-box}.size-slider[data-v-c4e32f91]::-webkit-slider-track{height:8px}.size-slider[data-v-c4e32f91]::-webkit-slider-thumb{width:24px;height:24px;border-width:3px}.size-slider[data-v-c4e32f91]::-moz-range-track{height:8px}.size-slider[data-v-c4e32f91]::-moz-range-thumb{width:24px;height:24px;border-width:3px}.mode-btn[data-v-c4e32f91]{width:44px;height:44px}.mode-btn svg[data-v-c4e32f91]{width:20px;height:20px}}.mask-studio-overlay[data-v-2ea060a7]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-overlay-dark, rgba(10, 10, 11, .95));display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn-2ea060a7 .2s ease-out}.mask-studio-container[data-v-2ea060a7]{background-color:var(--color-background-secondary, #111113);width:95vw;height:95vh;max-width:1800px;display:grid;grid-template-rows:52px 1fr 28px;border-radius:var(--radius-lg, 12px);box-shadow:0 25px 50px -12px #00000080;overflow:hidden;animation:slideUp-2ea060a7 .3s ease-out}.mask-studio-header[data-v-2ea060a7]{background:var(--color-background-darker, #0a0a0b);border-bottom:1px solid var(--color-border-primary, #27272a);display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:16px}.header-left[data-v-2ea060a7],.header-right[data-v-2ea060a7]{display:flex;align-items:center;gap:12px}.header-center[data-v-2ea060a7]{flex:1;display:flex;justify-content:center}.logo[data-v-2ea060a7]{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--color-text-primary)}.logo-icon[data-v-2ea060a7]{width:26px;height:26px;background:linear-gradient(135deg,var(--color-accent, #10b981),#059669);border-radius:6px;display:flex;align-items:center;justify-content:center}.logo-icon svg[data-v-2ea060a7]{width:14px;height:14px}.ai-badge[data-v-2ea060a7]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#a855f726;border:1px solid var(--color-purple, #a855f7);color:var(--color-purple, #a855f7);font-size:9px;font-weight:600;border-radius:4px;margin-left:8px}.ai-badge svg[data-v-2ea060a7]{width:12px;height:12px}.header-btn[data-v-2ea060a7]{display:flex;align-items:center;gap:5px;padding:7px 11px;background:transparent;border:none;color:var(--color-text-secondary, #a1a1aa);font-family:inherit;font-size:12px;font-weight:500;border-radius:var(--radius, 8px);cursor:pointer;transition:all .15s}.header-btn[data-v-2ea060a7]:hover:not(:disabled){background:var(--color-hover, #27272a);color:var(--color-text-primary, #fafafa)}.header-btn[data-v-2ea060a7]:disabled{opacity:.4;cursor:not-allowed}.header-btn.primary[data-v-2ea060a7]{background:var(--color-accent, #10b981);color:#000}.header-btn.primary[data-v-2ea060a7]:hover:not(:disabled){background:var(--color-accent-hover, #34d399)}.header-btn svg[data-v-2ea060a7]{flex-shrink:0}.history-btns[data-v-2ea060a7]{display:flex;gap:2px}.history-btns .header-btn[data-v-2ea060a7]{padding:7px 9px}.view-toggle[data-v-2ea060a7]{display:flex;background:var(--color-background-tertiary, #18181b);border-radius:var(--radius, 8px);padding:3px}.view-toggle button[data-v-2ea060a7]{padding:5px 10px;background:transparent;border:none;color:var(--color-text-muted, #71717a);font-family:inherit;font-size:11px;font-weight:500;border-radius:5px;cursor:pointer;transition:all .15s}.view-toggle button[data-v-2ea060a7]:hover{color:var(--color-text-secondary)}.view-toggle button.active[data-v-2ea060a7]{background:var(--color-background-card, #1f1f23);color:var(--color-text-primary, #fafafa);box-shadow:0 1px 2px #0000004d}.zoom-controls[data-v-2ea060a7]{display:flex;align-items:center;gap:4px;padding:3px 6px;background:var(--color-background-tertiary, #18181b);border-radius:var(--radius, 8px)}.zoom-btn[data-v-2ea060a7]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-secondary, #a1a1aa);border-radius:5px;cursor:pointer;transition:all .15s}.zoom-btn[data-v-2ea060a7]:hover{background:var(--color-hover, #27272a);color:var(--color-text-primary, #fafafa)}.zoom-value[data-v-2ea060a7]{font-size:11px;font-weight:500;color:var(--color-text-secondary, #a1a1aa);min-width:44px;text-align:center}.close-btn[data-v-2ea060a7]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-secondary, #a1a1aa);border-radius:var(--radius, 8px);cursor:pointer;transition:all .15s}.close-btn[data-v-2ea060a7]:hover{background:var(--color-error-background, rgba(239, 68, 68, .15));color:var(--color-error, #ef4444)}.mask-studio-body[data-v-2ea060a7]{display:grid;grid-template-columns:72px 1fr 300px;gap:1px;background:var(--color-border-primary, #27272a);overflow:hidden}.canvas-area[data-v-2ea060a7]{background:var(--color-background, #0a0a0b);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.canvas-area[data-tool=brush][data-v-2ea060a7],.canvas-area[data-tool=eraser][data-v-2ea060a7]{cursor:none}.canvas-area[data-tool=magic][data-v-2ea060a7],.canvas-area[data-tool=flood][data-v-2ea060a7],.canvas-area[data-tool=lasso][data-v-2ea060a7],.canvas-area[data-tool=polygon][data-v-2ea060a7],.canvas-area[data-tool=rect][data-v-2ea060a7],.canvas-area[data-tool=ellipse][data-v-2ea060a7],.canvas-area[data-tool=sam][data-v-2ea060a7]{cursor:crosshair}.canvas-area[data-tool=pan][data-v-2ea060a7]{cursor:grab}.canvas-area[data-tool=pan][data-v-2ea060a7]:active{cursor:grabbing}.canvas-area[data-tool=pen][data-v-2ea060a7]{cursor:default}.drop-zone[data-v-2ea060a7]{position:absolute;top:20px;right:20px;bottom:20px;left:20px;border:2px dashed var(--color-border-secondary, #3f3f46);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--color-background-secondary, #111113);transition:all .2s;cursor:pointer}.drop-zone.dragging[data-v-2ea060a7]{border-color:var(--color-accent, #10b981);background:var(--color-accent-background, rgba(16, 185, 129, .1))}.drop-icon[data-v-2ea060a7]{width:56px;height:56px;border-radius:12px;background:var(--color-background-tertiary, #18181b);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted, #71717a)}.drop-zone h2[data-v-2ea060a7]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.drop-zone p[data-v-2ea060a7]{font-size:13px;color:var(--color-text-muted, #71717a);margin:0}.drop-btn[data-v-2ea060a7]{margin-top:6px;padding:9px 18px;background:var(--color-accent, #10b981);color:#000;border:none;border-radius:var(--radius, 8px);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.drop-btn[data-v-2ea060a7]:hover{background:var(--color-accent-hover, #34d399)}.drop-actions[data-v-2ea060a7]{display:flex;gap:10px;margin-top:12px;justify-content:center}.drop-btn.secondary[data-v-2ea060a7]{background:var(--color-background-card, #1f1f23);color:var(--color-text-secondary, #a1a1aa);border:1px solid var(--color-border-secondary, #3f3f46)}.drop-btn.secondary[data-v-2ea060a7]:hover{background:var(--color-hover, #27272a);color:var(--color-text-primary, #fafafa)}.loading-overlay[data-v-2ea060a7]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0beb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;z-index:100}.spinner[data-v-2ea060a7]{width:32px;height:32px;border:3px solid var(--color-background-tertiary, #18181b);border-top-color:var(--color-accent, #10b981);border-radius:50%;animation:spin-2ea060a7 .7s linear infinite}.spinner.purple[data-v-2ea060a7]{border-top-color:var(--color-purple, #a855f7)}@keyframes spin-2ea060a7{to{transform:rotate(360deg)}}.loading-text[data-v-2ea060a7]{font-size:12px;color:var(--color-text-secondary, #a1a1aa)}.loading-subtext[data-v-2ea060a7]{font-size:10px;color:var(--color-text-muted, #71717a);margin-top:-8px}.mask-studio-status[data-v-2ea060a7]{grid-column:1 / -1;background:var(--color-background-secondary, #111113);border-top:1px solid var(--color-border-primary, #27272a);display:flex;align-items:center;padding:0 14px;gap:16px;font-size:10px;color:var(--color-text-muted, #71717a)}.status-item[data-v-2ea060a7]{display:flex;align-items:center;gap:5px}.status-item kbd[data-v-2ea060a7]{padding:2px 5px;background:var(--color-background-tertiary, #18181b);border-radius:3px;font-size:9px;font-family:inherit}.status-ai[data-v-2ea060a7]{padding:2px 6px;background:#a855f726;color:var(--color-purple, #a855f7);border-radius:3px;font-weight:600}.spacer[data-v-2ea060a7]{flex:1}@keyframes fadeIn-2ea060a7{0%{opacity:0}to{opacity:1}}@keyframes slideUp-2ea060a7{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.mask-studio-body[data-v-2ea060a7]{grid-template-columns:56px 1fr 280px}}@media (max-width: 900px) and (min-width: 701px){.mask-studio-container[data-v-2ea060a7]{width:100vw;height:100vh;border-radius:0}.mask-studio-body[data-v-2ea060a7]{grid-template-columns:48px 1fr}}@media (max-width: 700px){.mask-studio-container[data-v-2ea060a7]{width:100vw;height:100vh;height:100dvh;max-width:100%;border-radius:0;grid-template-rows:44px 1fr;overflow:hidden}.mask-studio-header[data-v-2ea060a7]{padding:0 8px;gap:6px;height:44px;background:var(--color-background-primary, #0a0a0b);border-bottom:1px solid var(--color-border-primary, #27272a)}.header-left[data-v-2ea060a7]{gap:4px;flex:1}.logo[data-v-2ea060a7],.header-left>.header-btn[data-v-2ea060a7]:not(.history-btns .header-btn){display:none!important}.history-btns[data-v-2ea060a7]{display:flex!important;gap:4px}.history-btns .header-btn[data-v-2ea060a7]{width:36px;height:36px;padding:0;background:var(--color-background-tertiary, #18181b);border-radius:6px}.header-center[data-v-2ea060a7]{display:none}.header-right[data-v-2ea060a7]{gap:6px;flex-shrink:0}.zoom-controls[data-v-2ea060a7]{display:none}.header-btn.primary[data-v-2ea060a7]{display:flex!important;width:36px;height:36px;padding:0;min-height:unset;border-radius:6px}.header-btn.primary span[data-v-2ea060a7]{display:none}.close-btn[data-v-2ea060a7]{width:36px;height:36px;border-radius:6px}.mask-studio-body[data-v-2ea060a7]{display:flex;flex-direction:column;grid-template-columns:unset;gap:0;overflow:hidden;position:relative}.mask-studio-toolbar[data-v-2ea060a7]{order:1!important;position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;width:100%!important;height:52px!important;flex-direction:row!important;padding:6px 8px!important;overflow-x:auto!important;overflow-y:hidden!important;background:var(--color-background-secondary, #111113)!important;border-bottom:1px solid var(--color-border-primary, #27272a)!important;z-index:10!important}.mobile-tool-options[data-v-2ea060a7]{order:2!important;width:100%!important;display:flex!important;justify-content:center!important;padding:8px 12px!important;background:var(--color-background-darker, #0a0a0b)!important;border-bottom:1px solid var(--color-border-primary, #27272a)!important;z-index:9!important;flex-shrink:0!important}.mobile-tool-options .tool-options-bar[data-v-2ea060a7]{border-radius:8px!important;border:none!important;box-shadow:none!important;background:var(--color-background-tertiary, #18181b)!important;width:100%!important;max-width:400px!important}.canvas-area[data-v-2ea060a7]{order:3;flex:1;min-height:0;touch-action:none;display:flex;align-items:center;justify-content:center;overflow:hidden}.mask-studio-status[data-v-2ea060a7]{display:none}.mask-studio-panel[data-v-2ea060a7]{display:none!important}.drop-zone[data-v-2ea060a7]{top:8px;right:8px;bottom:8px;left:8px;border-radius:12px;padding:20px 16px;gap:10px}.drop-icon[data-v-2ea060a7]{width:48px;height:48px}.drop-icon svg[data-v-2ea060a7]{width:28px;height:28px}.drop-zone h2[data-v-2ea060a7]{font-size:15px;text-align:center;margin:0}.drop-zone p[data-v-2ea060a7]{font-size:12px;text-align:center;margin:0}.drop-actions[data-v-2ea060a7]{flex-direction:column;width:100%;max-width:220px;gap:8px;margin-top:8px}.drop-btn[data-v-2ea060a7]{width:100%;padding:14px 20px;font-size:13px}.loading-overlay[data-v-2ea060a7]{gap:12px}.loading-text[data-v-2ea060a7]{font-size:13px}.loading-subtext[data-v-2ea060a7]{font-size:11px}}@media (pointer: coarse){.header-btn[data-v-2ea060a7]{min-height:44px;padding:10px 14px}.zoom-btn[data-v-2ea060a7],.close-btn[data-v-2ea060a7]{width:44px;height:44px}.drop-btn[data-v-2ea060a7]{padding:14px 24px;font-size:15px}}@media (max-width: 700px){[data-v-2ea060a7] .mask-studio-toolbar{position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;width:100%!important;height:52px!important;order:1!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:4px!important;padding:6px 8px!important;overflow-x:auto!important;overflow-y:hidden!important;background:var(--color-background-secondary, #111113)!important;border-bottom:1px solid var(--color-border-primary, #27272a)!important;border-top:none!important;z-index:10!important;-webkit-overflow-scrolling:touch!important}.mobile-tool-options[data-v-2ea060a7]{order:2!important;width:100%!important;display:flex!important;justify-content:center!important;padding:8px 12px!important;background:var(--color-background-darker, #0a0a0b)!important;border-bottom:1px solid var(--color-border-primary, #27272a)!important;z-index:9!important;flex-shrink:0!important}.mobile-tool-options[data-v-2ea060a7] .tool-options-bar{border-radius:8px!important;border:none!important;box-shadow:none!important;background:var(--color-background-tertiary, #18181b)!important;width:100%!important;max-width:100%!important}}@media (max-width: 700px){[data-v-2ea060a7] .mask-studio-panel{position:fixed!important;right:auto!important;left:0!important;top:auto!important;bottom:60px!important;width:100%!important;height:40vh!important;max-height:280px!important;transform:translateY(calc(100% + 60px))!important;transition:transform .3s cubic-bezier(.4,0,.2,1)!important;border-radius:16px 16px 0 0!important;border-top:2px solid var(--color-accent, #10b981)!important;box-shadow:0 -8px 24px #0006!important;z-index:95!important;background:var(--color-background-secondary, #111113)!important}[data-v-2ea060a7] .mask-studio-panel.mobile-open{transform:translateY(0)!important}}@media (max-width: 900px) and (min-width: 701px){[data-v-2ea060a7] .mask-studio-panel{position:fixed;right:0;top:52px;bottom:28px;width:280px;transform:translate(100%);transition:transform .2s ease;z-index:100}[data-v-2ea060a7] .mask-studio-panel.mobile-open{transform:translate(0)}}.mobile-export-fab[data-v-2ea060a7]{position:absolute;bottom:80px;right:16px;width:56px;height:56px;border-radius:50%;background:var(--color-accent, #10b981);color:#000;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #10b98166,0 2px 4px #0003;cursor:pointer;transition:all .2s ease;z-index:50}.mobile-export-fab[data-v-2ea060a7]:active{transform:scale(.95);background:var(--color-accent-hover, #059669)}.toast-container[data-v-2ea060a7]{position:fixed;top:72px;right:16px;z-index:10000;pointer-events:none}.toast[data-v-2ea060a7]{background:#18181b;border:1px solid #27272a;border-radius:8px;padding:12px 16px;margin-bottom:8px;display:flex;align-items:center;gap:10px;max-width:320px;box-shadow:0 4px 12px #0000004d,0 0 0 1px #ffffff0d;font-size:13px;color:#fafafa;pointer-events:auto;cursor:pointer;transition:all .3s ease}.toast[data-v-2ea060a7]:hover{transform:translate(-4px);box-shadow:0 6px 16px #0006,0 0 0 1px #ffffff1a}.toast svg[data-v-2ea060a7]{width:16px;height:16px;flex-shrink:0}.toast.success svg[data-v-2ea060a7]{color:#10b981}.toast.error svg[data-v-2ea060a7]{color:#ef4444}.toast.info svg[data-v-2ea060a7]{color:#3b82f6}.toast-enter-active[data-v-2ea060a7]{transition:all .3s ease-out}.toast-leave-active[data-v-2ea060a7]{transition:all .2s ease-in}.toast-enter-from[data-v-2ea060a7],.toast-leave-to[data-v-2ea060a7]{transform:translate(100%);opacity:0}.toast-move[data-v-2ea060a7]{transition:transform .3s ease}.mobile-save-fab[data-v-2ea060a7]{display:none}@media (max-width: 700px){.mobile-save-fab[data-v-2ea060a7]{display:flex;position:absolute;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--color-accent, #10b981);color:#000;border:none;align-items:center;justify-content:center;box-shadow:0 4px 12px #10b98166,0 2px 4px #0003;cursor:pointer;transition:all .2s ease;z-index:50}.mobile-save-fab[data-v-2ea060a7]:active:not(:disabled){transform:scale(.95);background:var(--color-accent-hover, #059669)}.mobile-save-fab[data-v-2ea060a7]:disabled{opacity:.5;cursor:not-allowed}.mobile-save-fab svg[data-v-2ea060a7]{stroke:#000}.hide-on-mobile[data-v-2ea060a7]{display:none!important}}:root{--ds-paper: #f5f1eb;--ds-paper-warm: #faf6f0;--ds-paper-dark: #e8e4de;--ds-ink: #1a1a1a;--ds-ink-soft: #3a3a3a;--ds-ink-muted: #6a6a6a;--ds-teal: #0d9488;--ds-teal-dark: #0f766e;--ds-teal-light: #5eead4;--ds-teal-muted: rgba(13, 148, 136, .1);--ds-logo-blue: #8ED3EF;--ds-logo-blue-light: #b8e4f5;--ds-border: rgba(26, 26, 26, .15);--ds-border-strong: rgba(26, 26, 26, .3);--ds-canvas-bg: #1a1a1a;--ds-grid: rgba(26, 26, 26, .04);--ds-layer-image: #22d3ee;--ds-layer-video: #fbbf24;--ds-layer-rtmp: #a3e635;--ds-layer-url: #4ade80;--ds-layer-html: #84cc16;--ds-layer-shader: #e879f9;--ds-layer-giphy: #2dd4bf;--ds-layer-p5js: #06b6d4;--ds-layer-mask: #c084fc;--ds-layer-default: #94a3b8;--ds-error: #dc2626;--ds-warning: #f59e0b;--ds-success: #10b981;--ds-info: #3b82f6;--ds-success-bright: #00ff88;--ds-error-bright: #ff4444;--ds-warning-bright: #ffaa00;--ds-accent-blue: #12B0FF;--ds-accent-blue-hover: #0F9AE5;--ds-white: #ffffff;--ds-black: #000000;--ds-social-discord: #7289da;--ds-nav-height: 52px;--ds-toolbar-height: 56px;--ds-sidebar-width: 300px;--ds-properties-width: 260px;--ds-timeline-collapsed: 44px;--ds-timeline-expanded: 240px;--ds-safe-bottom: env(safe-area-inset-bottom, 0px);--color-background: var(--ds-paper);--color-background-secondary: var(--ds-paper-warm);--color-background-tertiary: var(--ds-paper-dark);--color-background-elevated: var(--ds-paper-dark);--color-background-hover: #3a3a3a;--color-background-active: #4a4a4a;--color-background-card: var(--ds-paper-warm);--color-text-primary: var(--ds-ink);--color-text-secondary: var(--ds-ink-soft);--color-text-muted: var(--ds-ink-muted);--color-text-disabled: #555555;--color-text-inverse: var(--ds-black);--color-border-primary: var(--ds-border);--color-border-secondary: var(--ds-border-strong);--color-border-focus: var(--ds-teal);--color-accent: var(--ds-teal);--color-accent-hover: var(--ds-teal-dark);--color-accent-muted: var(--ds-teal-muted);--color-success: var(--ds-success);--color-error: var(--ds-error);--color-warning: var(--ds-warning);--color-info: var(--ds-info);--color-white: var(--ds-white);--color-black: var(--ds-black);--color-overlay: rgba(0, 0, 0, .75);--font-size-xs: 10px;--font-size-sm: 11px;--font-size-md: 13px;--font-size-lg: 16px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700}.editor-dark{--ds-paper: #1a1a1a;--ds-paper-warm: #222222;--ds-paper-dark: #2a2a2a;--ds-ink: #f5f1eb;--ds-ink-soft: #c5c5c5;--ds-ink-muted: #888888;--ds-teal: #14b8a6;--ds-teal-dark: #0d9488;--ds-teal-light: #5eead4;--ds-teal-muted: rgba(20, 184, 166, .15);--ds-border: rgba(255, 255, 255, .12);--ds-border-strong: rgba(255, 255, 255, .25);--ds-canvas-bg: #0a0a0a;--ds-grid: rgba(255, 255, 255, .03);--color-background: var(--ds-paper);--color-background-secondary: var(--ds-paper-warm);--color-background-tertiary: var(--ds-paper-dark);--color-background-elevated: var(--ds-paper-dark);--color-background-hover: #3a3a3a;--color-text-primary: var(--ds-ink);--color-text-secondary: var(--ds-ink-soft);--color-text-muted: var(--ds-ink-muted);--color-border-primary: var(--ds-border);--color-accent: var(--ds-teal)}.editor-dark.editor-light{--ds-paper: #f5f1eb;--ds-paper-warm: #faf6f0;--ds-paper-dark: #e8e4de;--ds-ink: #1a1a1a;--ds-ink-soft: #3a3a3a;--ds-ink-muted: #6a6a6a;--ds-teal: #0d9488;--ds-teal-dark: #0f766e;--ds-teal-light: #5eead4;--ds-teal-muted: rgba(13, 148, 136, .1);--ds-border: rgba(26, 26, 26, .15);--ds-border-strong: rgba(26, 26, 26, .3);--ds-canvas-bg: #1a1a1a;--ds-grid: rgba(26, 26, 26, .04);--color-background: var(--ds-paper);--color-background-secondary: var(--ds-paper-warm);--color-background-tertiary: var(--ds-paper-dark);--color-background-elevated: var(--ds-paper-dark);--color-background-hover: #e0dcd6;--color-text-primary: var(--ds-ink);--color-text-secondary: var(--ds-ink-soft);--color-text-muted: var(--ds-ink-muted);--color-border-primary: var(--ds-border);--color-accent: var(--ds-teal)}:root{--ds-font-heading: "Sora", sans-serif;--ds-font-label: "Space Mono", monospace;--ds-font-body: "IBM Plex Mono", monospace;--ds-text-xxs: 9px;--ds-text-xs: 10px;--ds-text-sm: 11px;--ds-text-md: 12px;--ds-text-base: 13px;--ds-text-lg: 14px;--ds-text-xl: 16px;--ds-text-2xl: 20px;--ds-text-3xl: 24px;--ds-font-normal: 400;--ds-font-medium: 500;--ds-font-semibold: 600;--ds-font-bold: 700;--ds-font-extrabold: 800;--ds-leading-none: 1;--ds-leading-tight: 1.2;--ds-leading-snug: 1.4;--ds-leading-normal: 1.6;--ds-leading-relaxed: 1.8;--ds-tracking-tight: -.5px;--ds-tracking-normal: 0;--ds-tracking-wide: .5px;--ds-tracking-wider: 1px;--ds-tracking-widest: 1.5px}.ds-heading{font-family:var(--ds-font-heading);font-weight:var(--ds-font-bold);line-height:var(--ds-leading-tight);letter-spacing:var(--ds-tracking-tight)}.ds-heading-xl{font-family:var(--ds-font-heading);font-size:var(--ds-text-2xl);font-weight:var(--ds-font-bold);line-height:var(--ds-leading-tight);letter-spacing:var(--ds-tracking-tight)}.ds-label{font-family:var(--ds-font-label);font-size:var(--ds-text-xs);font-weight:var(--ds-font-normal);text-transform:uppercase;letter-spacing:var(--ds-tracking-wider)}.ds-label-sm{font-family:var(--ds-font-label);font-size:var(--ds-text-xxs);font-weight:var(--ds-font-normal);text-transform:uppercase;letter-spacing:var(--ds-tracking-widest)}.ds-body{font-family:var(--ds-font-body);font-size:var(--ds-text-base);font-weight:var(--ds-font-normal);line-height:var(--ds-leading-normal)}.ds-body-sm{font-family:var(--ds-font-body);font-size:var(--ds-text-sm);font-weight:var(--ds-font-normal);line-height:var(--ds-leading-normal)}.ds-mono{font-family:var(--ds-font-body);font-variant-numeric:tabular-nums}:root{--ds-space-0: 0;--ds-space-1: 2px;--ds-space-2: 4px;--ds-space-3: 8px;--ds-space-4: 12px;--ds-space-5: 16px;--ds-space-6: 20px;--ds-space-7: 24px;--ds-space-8: 32px;--ds-space-9: 40px;--ds-space-10: 48px;--ds-space-11: 60px;--ds-space-12: 80px;--ds-gap-xs: var(--ds-space-2);--ds-gap-sm: var(--ds-space-3);--ds-gap-md: var(--ds-space-4);--ds-gap-lg: var(--ds-space-5);--ds-gap-xl: var(--ds-space-7);--ds-padding-xs: var(--ds-space-2);--ds-padding-sm: var(--ds-space-3);--ds-padding-md: var(--ds-space-4);--ds-padding-lg: var(--ds-space-5);--ds-padding-xl: var(--ds-space-7)}:root{--ds-nav-height: 52px;--ds-toolbar-height: 56px;--ds-sidebar-width: 300px;--ds-properties-width: 260px;--ds-timeline-collapsed: 44px;--ds-timeline-expanded: 240px;--ds-safe-top: env(safe-area-inset-top, 0px);--ds-safe-bottom: env(safe-area-inset-bottom, 0px);--ds-safe-left: env(safe-area-inset-left, 0px);--ds-safe-right: env(safe-area-inset-right, 0px);--ds-viewport-height: 100vh;--ds-viewport-height: 100svh;--ds-viewport-height: 100dvh;--ds-z-base: 0;--ds-z-dropdown: 100;--ds-z-sticky: 200;--ds-z-fixed: 300;--ds-z-modal-backdrop: 400;--ds-z-modal: 500;--ds-z-popover: 600;--ds-z-tooltip: 700;--ds-z-toast: 800;--ds-touch-target-min: 44px}.ds-editor-grid{display:grid;grid-template-rows:var(--ds-nav-height) 1fr var(--ds-timeline-collapsed);grid-template-columns:var(--ds-sidebar-width) 1fr var(--ds-properties-width);grid-template-areas:"nav nav nav" "layers canvas properties" "timeline timeline timeline";height:var(--ds-viewport-height, 100vh);transition:grid-template-rows .3s ease}.ds-editor-grid.timeline-expanded{grid-template-rows:var(--ds-nav-height) 1fr var(--ds-timeline-expanded)}@media (max-width: 899px){.ds-editor-grid{grid-template-rows:var(--ds-nav-height) 1fr var(--ds-toolbar-height);grid-template-columns:1fr;grid-template-areas:"nav" "canvas" "toolbar"}.ds-editor-grid.timeline-expanded{grid-template-rows:var(--ds-nav-height) 1fr var(--ds-toolbar-height)}}:root{--ds-transition-fast: .1s ease;--ds-transition-normal: .15s ease;--ds-transition-slow: .3s ease;--ds-duration-fast: .1s;--ds-duration-normal: .15s;--ds-duration-slow: .3s;--ds-radius-none: 0;--ds-border-width: 1px;--ds-border-width-thick: 2px;--ds-border-width-layer: 3px;--ds-focus-ring: 2px solid var(--ds-teal);--ds-focus-offset: 2px}.ds-noise-overlay:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.025;pointer-events:none;z-index:9999}.ds-grid-pattern{background-image:linear-gradient(var(--ds-grid) 1px,transparent 1px),linear-gradient(90deg,var(--ds-grid) 1px,transparent 1px);background-size:40px 40px}.ds-focus-visible:focus-visible{outline:var(--ds-focus-ring);outline-offset:var(--ds-focus-offset)}.ds-interactive{transition:background-color var(--ds-transition-normal),border-color var(--ds-transition-normal),color var(--ds-transition-normal)}.ds-interactive:hover{background-color:var(--ds-paper-dark)}.ds-interactive:active{background-color:var(--ds-teal-muted)}.ds-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}:root{--color-background: var(--ds-paper);--color-background-secondary: var(--ds-paper-warm);--color-background-tertiary: var(--ds-paper-warm);--color-background-elevated: var(--ds-paper-warm);--color-background-hover: var(--ds-paper-dark);--color-background-active: var(--ds-paper-dark);--color-background-disabled: var(--ds-paper-dark);--color-background-card: var(--ds-paper-warm);--color-background-darker: var(--ds-paper-dark);--color-text-primary: var(--ds-ink);--color-text-secondary: var(--ds-ink-soft);--color-text-muted: var(--ds-ink-muted);--color-text-disabled: var(--ds-ink-muted);--color-text-helper: var(--ds-ink-muted);--color-text-light: var(--ds-ink-soft);--color-text-inverse: #ffffff;--color-text-error: var(--ds-error);--color-text-success: var(--ds-success);--color-text-warning: var(--ds-warning);--color-border-primary: var(--ds-border);--color-border-secondary: var(--ds-border-strong);--color-border-tertiary: var(--ds-border-strong);--color-border-quaternary: var(--ds-border-strong);--color-border-dark: var(--ds-border);--color-border-muted: var(--ds-border);--color-border-focus: var(--ds-teal);--color-border-error: var(--ds-error);--color-border-success: var(--ds-success);--color-accent: var(--ds-teal);--color-accent-hover: var(--ds-teal-dark);--color-accent-dark: var(--ds-teal-dark);--color-accent-primary: var(--ds-teal);--color-accent-primary-hover: var(--ds-teal-light);--color-accent-primary-active: var(--ds-teal-dark);--color-accent-primary-muted: var(--ds-teal-muted);--color-accent-blue: var(--ds-teal-light);--color-error: var(--ds-error);--color-warning: var(--ds-warning);--color-success: var(--ds-success);--color-info: var(--ds-info);--color-selection-green: var(--ds-success);--color-layer-image: var(--ds-layer-image);--color-layer-video: var(--ds-layer-video);--color-layer-rtmp: var(--ds-layer-rtmp);--color-layer-url: var(--ds-layer-url);--color-layer-html: var(--ds-layer-html);--color-layer-shader: var(--ds-layer-shader);--color-layer-giphy: var(--ds-layer-giphy);--color-layer-p5js: var(--ds-layer-p5js);--color-layer-mask: var(--ds-layer-mask);--color-layer-default: var(--ds-layer-default)}[data-theme=dark]{--color-background: var(--ds-paper);--color-background-secondary: var(--ds-paper-warm);--color-background-tertiary: var(--ds-paper-warm);--color-background-elevated: var(--ds-paper-warm);--color-background-hover: var(--ds-paper-dark);--color-background-active: var(--ds-paper-dark);--color-background-disabled: var(--ds-paper-dark);--color-background-card: var(--ds-paper-warm);--color-background-darker: var(--ds-paper-dark);--color-text-primary: var(--ds-ink);--color-text-secondary: var(--ds-ink-soft);--color-text-muted: var(--ds-ink-muted);--color-text-disabled: var(--ds-ink-muted);--color-text-helper: var(--ds-ink-muted);--color-text-light: var(--ds-ink-soft);--color-text-inverse: #000000;--color-text-error: var(--ds-error);--color-text-success: var(--ds-success);--color-text-warning: var(--ds-warning);--color-border-primary: var(--ds-border);--color-border-secondary: var(--ds-border-strong);--color-border-tertiary: var(--ds-border-strong);--color-border-quaternary: var(--ds-border-strong);--color-border-dark: var(--ds-border);--color-border-muted: var(--ds-border)}.ds-test-pattern{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.ds-test-pattern-grid{width:100%;height:100%;background-color:#0a0a0a;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px}.ds-test-pattern-grid-fine{background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:10px 10px,10px 10px,40px 40px,40px 40px}.ds-test-pattern-registration{position:absolute;width:40px;height:40px}.ds-test-pattern-registration:before,.ds-test-pattern-registration:after{content:"";position:absolute;background:#ffffff80}.ds-test-pattern-registration:before{width:20px;height:1px}.ds-test-pattern-registration:after{width:1px;height:20px}.ds-test-pattern-registration.top-left{top:20px;left:20px}.ds-test-pattern-registration.top-left:before{top:0;left:0}.ds-test-pattern-registration.top-left:after{top:0;left:0}.ds-test-pattern-registration.top-right{top:20px;right:20px}.ds-test-pattern-registration.top-right:before{top:0;right:0}.ds-test-pattern-registration.top-right:after{top:0;right:0}.ds-test-pattern-registration.bottom-left{bottom:20px;left:20px}.ds-test-pattern-registration.bottom-left:before{bottom:0;left:0}.ds-test-pattern-registration.bottom-left:after{bottom:0;left:0}.ds-test-pattern-registration.bottom-right{bottom:20px;right:20px}.ds-test-pattern-registration.bottom-right:before{bottom:0;right:0}.ds-test-pattern-registration.bottom-right:after{bottom:0;right:0}.ds-test-pattern-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px}.ds-test-pattern-center:before,.ds-test-pattern-center:after{content:"";position:absolute;background:#ffffff4d}.ds-test-pattern-center:before{width:60px;height:1px;top:50%;left:0}.ds-test-pattern-center:after{width:1px;height:60px;top:0;left:50%}.ds-test-pattern-badge{position:absolute;top:20px;left:50%;transform:translate(-50%);padding:8px 16px;background:#000c;border:1px solid rgba(255,255,255,.2);font-family:var(--ds-font-label, "Space Mono", monospace);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#fffc}.ds-landing{--grid-size: 40px;--noise-opacity: .03;--nav-height: 60px;--content-max-width: 1400px}.ds-landing{font-family:var(--ds-font-body);background:var(--ds-paper);color:var(--ds-ink);min-height:100vh;line-height:1.6;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.ds-landing:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:var(--noise-opacity);pointer-events:none;z-index:9999}.ds-landing-grid{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(var(--ds-grid) 1px,transparent 1px),linear-gradient(90deg,var(--ds-grid) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);pointer-events:none;z-index:0}.ds-landing-nav{position:fixed;top:0;width:100%;padding:0 40px;height:var(--nav-height);background:var(--ds-paper);border-bottom:1px solid var(--ds-ink);z-index:1000;display:flex;align-items:center}.ds-landing-nav-content{max-width:var(--content-max-width);width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.ds-landing-logo{display:flex;align-items:center;gap:8px;font-family:var(--ds-font-heading);font-size:18px;font-weight:700;color:var(--ds-ink);text-decoration:none;letter-spacing:-.5px}.ds-landing-logo-icon{height:24px;width:auto;opacity:.9;transition:opacity .15s}.ds-landing-logo:hover .ds-landing-logo-icon{opacity:1}.ds-wordmark{font-family:var(--ds-font-heading);font-weight:800;letter-spacing:-.02em}.ds-wordmark .lumen{color:var(--ds-ink)}.ds-wordmark .canvas{color:var(--ds-logo-blue, #8ED3EF)}.ds-landing-nav-links{display:flex;gap:35px;align-items:center}.ds-landing-nav-links a{font-family:var(--ds-font-label);color:var(--ds-ink);text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.5px;opacity:.7;transition:opacity .2s}.ds-landing-nav-links a:hover{opacity:1}.ds-landing-nav-cta{font-family:var(--ds-font-label);padding:10px 20px;background:var(--ds-teal);border:none;color:#fff;font-size:11px;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:background .2s}.ds-landing-nav-cta:hover{background:var(--ds-teal-dark)}.ds-landing-hero{min-height:100vh;padding:120px 40px 100px;display:flex;align-items:center;position:relative}.ds-landing-hero-content{max-width:var(--content-max-width);width:100%;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;position:relative;z-index:1}.ds-landing-hero-text{max-width:540px}.ds-landing-hero-label{font-family:var(--ds-font-label);font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--ds-teal);margin-bottom:20px;display:flex;align-items:center;gap:10px}.ds-landing-hero-label:before{content:"";width:30px;height:1px;background:var(--ds-teal)}.ds-landing h1{font-family:var(--ds-font-heading);font-size:clamp(2.8rem,5.5vw,4rem);font-weight:700;line-height:1.05;margin-bottom:30px;color:var(--ds-ink);letter-spacing:-1.5px}.ds-landing h1 em{font-style:normal;color:var(--ds-teal)}.ds-landing-hero-description{font-size:15px;color:var(--ds-ink);margin-bottom:40px;line-height:1.8;opacity:.8}.ds-landing-hero-buttons{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:50px}.ds-landing .btn-primary{font-family:var(--ds-font-label);padding:16px 32px;background:var(--ds-teal);border:2px solid var(--ds-teal);color:#fff;font-size:12px;cursor:pointer;text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:all .2s}.ds-landing .btn-primary:hover{background:var(--ds-teal-dark);border-color:var(--ds-teal-dark)}.ds-landing .btn-secondary{font-family:var(--ds-font-label);padding:16px 32px;background:transparent;border:2px solid var(--ds-ink);color:var(--ds-ink);font-size:12px;cursor:pointer;text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:all .2s}.ds-landing .btn-secondary:hover{background:var(--ds-ink);color:var(--ds-paper)}.ds-landing-video-frame{position:relative;background:var(--ds-ink);padding:3px}.ds-landing-video-frame:before,.ds-landing-video-frame:after{content:"";position:absolute;width:20px;height:20px;border:1px solid var(--ds-ink);pointer-events:none}.ds-landing-video-frame:before{top:-10px;left:-10px;border-right:none;border-bottom:none}.ds-landing-video-frame:after{bottom:-10px;right:-10px;border-left:none;border-top:none}.ds-landing-video-frame video{width:100%;height:auto;display:block}.ds-landing-section{padding:120px 40px;position:relative}.ds-landing-section.alt{background:var(--ds-paper-warm)}.ds-landing-section-header{max-width:var(--content-max-width);margin:0 auto 80px;position:relative}.ds-landing-section-header:before{content:"";position:absolute;top:-20px;left:-20px;width:24px;height:24px;border-left:1px solid var(--ds-teal);border-top:1px solid var(--ds-teal)}.ds-landing-section-label{font-family:var(--ds-font-label);font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--ds-teal);margin-bottom:15px}.ds-landing h2{font-family:var(--ds-font-heading);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:700;letter-spacing:-.5px;line-height:1.15}.ds-landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:var(--content-max-width);margin:0 auto}.ds-landing-feature{background:var(--ds-paper-warm);padding:40px;position:relative;transition:all .2s;border:1px solid var(--ds-border);box-shadow:0 2px 8px #0000000a}.ds-landing-feature:hover{background:var(--ds-paper);box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.ds-landing-feature-number{font-family:var(--ds-font-heading);font-size:48px;font-weight:800;color:var(--ds-teal);opacity:.15;position:absolute;top:20px;right:20px;line-height:1}.ds-landing-feature h3{font-family:var(--ds-font-heading);font-size:18px;font-weight:700;margin-bottom:12px;color:var(--ds-ink)}.ds-landing-feature p{font-size:14px;color:var(--ds-ink-soft);line-height:1.7}.ds-landing-footer{background:var(--ds-ink);color:var(--ds-paper);padding:80px 40px 40px}.ds-landing-footer-content{max-width:var(--content-max-width);margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px}.ds-landing-footer h4{font-family:var(--ds-font-label);font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ds-teal-light);margin-bottom:20px}.ds-landing-footer a{display:block;font-size:13px;color:#fff9;text-decoration:none;margin-bottom:10px;transition:color .2s}.ds-landing-footer a:hover{color:#fff}.ds-landing-footer-bottom{max-width:var(--content-max-width);margin:60px auto 0;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;font-size:12px;color:#fff6}@media (max-width: 1024px){.ds-landing-hero-content{grid-template-columns:1fr;gap:60px;text-align:center}.ds-landing-hero-text{max-width:100%}.ds-landing-hero-label,.ds-landing-hero-buttons{justify-content:center}.ds-landing-features-grid,.ds-landing-footer-content{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ds-landing-nav{padding:0 20px}.ds-landing-nav-links{display:none}.ds-landing-section{padding:80px 20px}.ds-landing-features-grid{grid-template-columns:1fr}.ds-landing-footer-content{grid-template-columns:1fr;gap:40px}.ds-landing-footer-bottom{flex-direction:column;gap:15px;text-align:center}}.ds-dashboard{--grid-size: 40px;--noise-opacity: .025;--nav-height: 60px;--content-max-width: 1400px}.ds-dashboard{font-family:var(--ds-font-body);background:var(--ds-paper);color:var(--ds-ink);min-height:100vh;line-height:1.5;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.ds-dashboard:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:var(--noise-opacity);pointer-events:none;z-index:9999}.ds-dashboard-grid{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(var(--ds-grid) 1px,transparent 1px),linear-gradient(90deg,var(--ds-grid) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);pointer-events:none;z-index:0}.ds-dashboard-nav{position:sticky;top:0;background:var(--ds-paper);border-bottom:1px solid var(--ds-ink);padding:0 40px;height:var(--nav-height);display:flex;align-items:center;z-index:100}.ds-dashboard-nav-content{max-width:var(--content-max-width);width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.ds-dashboard-logo{display:flex;align-items:center;gap:8px;font-family:var(--ds-font-heading);font-size:18px;font-weight:700;color:var(--ds-ink);text-decoration:none;letter-spacing:-.5px}.ds-dashboard-logo-icon{height:24px;width:auto;opacity:.9;transition:opacity .15s}.ds-dashboard-logo:hover .ds-dashboard-logo-icon{opacity:1}.ds-dashboard-logo .ds-wordmark{font-family:var(--ds-font-heading);font-weight:800;letter-spacing:-.02em}.ds-dashboard-logo .ds-wordmark .lumen{color:var(--ds-ink)}.ds-dashboard-logo .ds-wordmark .canvas{color:var(--ds-logo-blue, #8ED3EF)}.ds-dashboard-nav-links{display:flex;align-items:center;gap:30px}.ds-dashboard-nav-links a{font-family:var(--ds-font-label);font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--ds-ink);text-decoration:none;opacity:.6;transition:opacity .2s;display:flex;align-items:center;gap:6px}.ds-dashboard-nav-links a:hover{opacity:1}.ds-dashboard-avatar{width:32px;height:32px;background:linear-gradient(135deg,var(--ds-teal),var(--ds-teal-dark));border-radius:50%;cursor:pointer}.ds-dashboard-main{max-width:var(--content-max-width);margin:0 auto;padding:60px 40px 100px;position:relative;z-index:1}.ds-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:50px;position:relative}.ds-dashboard-header:before{content:"";position:absolute;top:-20px;left:-20px;width:24px;height:24px;border-left:1px solid var(--ds-ink);border-top:1px solid var(--ds-ink)}.ds-dashboard-page-label{font-family:var(--ds-font-label);font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--ds-teal);margin-bottom:10px;display:flex;align-items:center;gap:10px}.ds-dashboard-page-label:before{content:"";width:20px;height:1px;background:var(--ds-teal)}.ds-dashboard-page-title{font-family:var(--ds-font-heading);font-size:clamp(2rem,4vw,2.8rem);font-weight:700;letter-spacing:-1px;line-height:1.1;color:var(--ds-ink)}.ds-dashboard-header-actions{display:flex;align-items:center;gap:20px}.ds-dashboard-storage{font-family:var(--ds-font-label);font-size:11px;color:var(--ds-ink-muted);display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--ds-paper-warm);border:1px solid var(--ds-border)}.ds-dashboard-storage-bar{width:80px;height:4px;background:var(--ds-paper-dark);position:relative}.ds-dashboard-storage-fill{height:100%;background:var(--ds-teal)}.ds-dashboard-create-btn{font-family:var(--ds-font-label);font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:14px 24px;background:var(--ds-teal);border:2px solid var(--ds-teal);color:#fff;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;text-decoration:none}.ds-dashboard-create-btn:hover{background:var(--ds-teal-dark);border-color:var(--ds-teal-dark)}.ds-dashboard-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--ds-border)}.ds-dashboard-search{position:relative;width:300px}.ds-dashboard-search input{width:100%;padding:12px 16px 12px 44px;font-family:var(--ds-font-body);font-size:13px;background:var(--ds-paper-warm);border:1px solid var(--ds-border);color:var(--ds-ink);transition:border-color .2s}.ds-dashboard-search input::placeholder{color:var(--ds-ink-muted)}.ds-dashboard-search input:focus{outline:none;border-color:var(--ds-teal)}.ds-dashboard-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:var(--ds-ink-muted)}.ds-dashboard-view-toggles{display:flex;gap:4px}.ds-dashboard-view-toggle{width:36px;height:36px;border:1px solid var(--ds-border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.ds-dashboard-view-toggle:hover{border-color:var(--ds-ink)}.ds-dashboard-view-toggle.active{background:var(--ds-ink);border-color:var(--ds-ink)}.ds-dashboard-view-toggle.active svg{stroke:var(--ds-paper)}.ds-dashboard-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ds-project-card{background:var(--ds-paper-warm);border:1px solid var(--ds-ink);padding:24px;position:relative;transition:all .2s;cursor:pointer}.ds-project-card:hover{background:var(--ds-paper);transform:translateY(-2px);box-shadow:4px 4px 0 var(--ds-ink)}.ds-project-card:before,.ds-project-card:after{content:"";position:absolute;width:12px;height:12px;border:1px solid var(--ds-teal);opacity:0;transition:opacity .2s}.ds-project-card:before{top:-6px;left:-6px;border-right:none;border-bottom:none}.ds-project-card:after{bottom:-6px;right:-6px;border-left:none;border-top:none}.ds-project-card:hover:before,.ds-project-card:hover:after{opacity:1}.ds-project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.ds-project-card-name{font-family:var(--ds-font-heading);font-size:18px;font-weight:700;color:var(--ds-ink);margin-bottom:8px}.ds-project-card-badge{font-family:var(--ds-font-label);font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;background:var(--ds-teal);color:#fff}.ds-project-card-badge.draft{background:var(--ds-ink-muted)}.ds-project-card-badge.private{background:var(--ds-ink-soft, #3a3a3a);color:var(--ds-paper, #f5f1eb)}.ds-project-card-preview{width:100%;aspect-ratio:16/10;background:var(--ds-canvas-bg);margin-bottom:16px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ds-project-card-preview img{width:100%;height:100%;object-fit:cover}.ds-project-card-meta{display:flex;justify-content:space-between;font-family:var(--ds-font-label);font-size:10px;color:var(--ds-ink-muted)}.ds-project-card-layers{display:flex;align-items:center;gap:6px}.ds-project-card-layer-dots{display:flex;gap:3px}.ds-project-card-layer-dot{width:8px;height:8px}.ds-dashboard-empty{grid-column:1 / -1;text-align:center;padding:80px 40px;background:var(--ds-paper-warm);border:1px solid var(--ds-border)}.ds-dashboard-empty h3{font-family:var(--ds-font-heading);font-size:24px;margin-bottom:12px;color:var(--ds-ink)}.ds-dashboard-empty p{color:var(--ds-ink-soft);margin-bottom:24px}@media (max-width: 1024px){.ds-dashboard-projects{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ds-dashboard-nav{padding:0 20px}.ds-dashboard-main{padding:40px 20px 80px}.ds-dashboard-header{flex-direction:column;gap:20px}.ds-dashboard-header-actions{width:100%;justify-content:space-between}.ds-dashboard-filters{flex-direction:column;gap:16px}.ds-dashboard-search{width:100%}.ds-dashboard-projects{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.ds-app{font-family:var(--ds-font-body);font-size:var(--ds-text-base);line-height:var(--ds-leading-normal);color:var(--ds-ink);background-color:var(--ds-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ds-panel{background:var(--ds-paper-warm);border:1px solid var(--ds-border)}.ds-section-header{position:relative;margin-bottom:var(--ds-space-6)}.ds-section-header:before{content:"";position:absolute;top:-10px;left:-10px;width:20px;height:20px;border-left:1px solid var(--ds-teal);border-top:1px solid var(--ds-teal)}.ds-section-label{font-family:var(--ds-font-label);font-size:var(--ds-text-xs);text-transform:uppercase;letter-spacing:2px;color:var(--ds-teal);margin-bottom:8px;display:flex;align-items:center;gap:10px}.ds-section-label:before{content:"";width:20px;height:1px;background:var(--ds-teal)}.ds-section-title{font-family:var(--ds-font-heading);font-size:var(--ds-text-2xl);font-weight:var(--ds-font-bold);letter-spacing:var(--ds-tracking-tight);line-height:var(--ds-leading-tight)}.ds-btn{font-family:var(--ds-font-label);font-size:var(--ds-text-sm);text-transform:uppercase;letter-spacing:.5px;padding:10px 16px;border:1px solid var(--ds-border);background:transparent;color:var(--ds-ink);cursor:pointer;transition:all var(--ds-transition-normal);display:inline-flex;align-items:center;justify-content:center;gap:8px}.ds-btn:hover{border-color:var(--ds-ink)}.ds-btn:active{background:var(--ds-teal-muted)}.ds-btn-primary{background:var(--ds-teal);border-color:var(--ds-teal);color:#fff}.ds-btn-primary:hover{background:var(--ds-teal-dark);border-color:var(--ds-teal-dark)}.ds-btn-icon{width:36px;height:36px;padding:0}.ds-btn-icon svg{width:18px;height:18px}.ds-input{font-family:var(--ds-font-body);font-size:var(--ds-text-base);padding:8px 12px;border:1px solid var(--ds-border);background:var(--ds-paper);color:var(--ds-ink);transition:border-color var(--ds-transition-normal)}.ds-input:hover{border-color:var(--ds-border-strong)}.ds-input:focus{outline:none;border-color:var(--ds-teal)}.ds-input::placeholder{color:var(--ds-ink-muted)}.ds-layer-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--ds-paper);border:1px solid transparent;border-left:3px solid var(--layer-color, var(--ds-layer-default));cursor:pointer;transition:all var(--ds-transition-normal)}.ds-layer-item:hover{border-color:var(--ds-border)}.ds-layer-item.selected{background:var(--ds-teal-muted);border-color:var(--ds-teal)}.ds-layer-item[data-type=image]{--layer-color: var(--ds-layer-image)}.ds-layer-item[data-type=video]{--layer-color: var(--ds-layer-video)}.ds-layer-item[data-type=rtmp]{--layer-color: var(--ds-layer-rtmp)}.ds-layer-item[data-type=url]{--layer-color: var(--ds-layer-url)}.ds-layer-item[data-type=html]{--layer-color: var(--ds-layer-html)}.ds-layer-item[data-type=fragment-shader],.ds-layer-item[data-type=shader]{--layer-color: var(--ds-layer-shader)}.ds-layer-item[data-type=giphy]{--layer-color: var(--ds-layer-giphy)}.ds-layer-item[data-type=p5js]{--layer-color: var(--ds-layer-p5js)}.ds-layer-item[data-type=mask],.ds-layer-item[data-type=dom_mask]{--layer-color: var(--ds-layer-mask)}.ds-layer-name{font-family:var(--ds-font-label);font-size:var(--ds-text-sm);font-weight:var(--ds-font-bold);color:var(--layer-color, var(--ds-ink))}.ds-layer-type{font-size:var(--ds-text-xs);color:var(--ds-ink-muted)}.ds-nav{height:var(--ds-nav-height);background:var(--ds-paper);border-bottom:1px solid var(--ds-ink);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.ds-nav-group{display:flex;align-items:center;gap:12px}.ds-nav-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px}.ds-sidebar{width:var(--ds-sidebar-width);background:var(--ds-paper-warm);border-right:1px solid var(--ds-ink);display:flex;flex-direction:column;overflow:hidden}.ds-panel-tabs{display:flex;border-bottom:1px solid var(--ds-border)}.ds-panel-tab{flex:1;padding:14px 8px;font-family:var(--ds-font-label);font-size:var(--ds-text-xs);text-transform:uppercase;letter-spacing:.5px;background:transparent;border:none;cursor:pointer;color:var(--ds-ink-muted);display:flex;align-items:center;justify-content:center;gap:6px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--ds-transition-normal)}.ds-panel-tab:hover{color:var(--ds-ink-soft)}.ds-panel-tab.active{color:var(--ds-ink);border-bottom-color:var(--ds-teal)}.ds-canvas-mode-toggle{display:flex;align-items:center;gap:0;border:1px solid var(--ds-border)}.ds-mode-segment{width:36px;height:36px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--ds-transition-normal);color:var(--ds-ink-muted)}.ds-mode-segment:not(:last-child){border-right:1px solid var(--ds-border)}.ds-mode-segment:hover{background:var(--ds-paper-dark);color:var(--ds-ink)}.ds-mode-segment.active{background:var(--ds-teal);color:#fff}.ds-mode-segment svg{width:16px;height:16px}.ds-mode-label{font-family:var(--ds-font-label);font-size:var(--ds-text-xs);color:var(--ds-ink-muted);margin-left:10px}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;min-height:100vh;width:100vw;margin:0;padding:0;font-family:Inter,sans-serif}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1 0 auto;overflow-y:auto;display:flex;flex-direction:column}.app-main.full-height{height:100vh;overflow:hidden}@media (pointer: coarse){.app-main.full-height{overflow:auto;-webkit-overflow-scrolling:touch}}
