@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--canvas-bg: #1A1A1D;--panel-bg: rgba(28, 28, 30, .92);--panel-bg-solid: #1C1C1E;--surface-1: rgba(44, 44, 46, .95);--surface-2: rgba(58, 58, 60, .9);--surface-3: rgba(72, 72, 74, .85);--surface-hover: rgba(255, 255, 255, .06);--surface-active: rgba(255, 255, 255, .1);--glass-bg: rgba(28, 28, 30, .78);--glass-bg-lighter: rgba(44, 44, 46, .72);--glass-border: rgba(255, 255, 255, .08);--glass-border-light: rgba(255, 255, 255, .12);--glass-highlight: rgba(255, 255, 255, .04);--glass-blur: 24px;--glass-blur-heavy: 40px;--text-primary: #F5F5F7;--text-secondary: rgba(255, 255, 255, .72);--text-tertiary: rgba(255, 255, 255, .48);--text-muted: rgba(255, 255, 255, .32);--text-disabled: rgba(255, 255, 255, .2);--accent-blue: #0A84FF;--accent-blue-light: #409CFF;--accent-purple: #BF5AF2;--accent-pink: #FF375F;--accent-orange: #FF9F0A;--accent-yellow: #FFD60A;--accent-green: #30D158;--accent-teal: #64D2FF;--accent-red: #FF453A;--color-success: #30D158;--color-warning: #FF9F0A;--color-danger: #FF453A;--color-info: #0A84FF;--hover-overlay: rgba(255, 255, 255, .06);--active-overlay: rgba(255, 255, 255, .12);--focus-ring: rgba(10, 132, 255, .5);--selected-bg: rgba(10, 132, 255, .2);--selected-border: rgba(10, 132, 255, .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35), 0 0 0 1px var(--glass-border);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .45), 0 0 0 1px var(--glass-border);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .5), 0 0 0 1px var(--glass-border);--shadow-glow: 0 0 24px rgba(10, 132, 255, .25);--shadow-inner: inset 0 1px 2px rgba(0, 0, 0, .2);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", "Consolas", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--toolbar-width: 56px;--toolbar-gap: 16px;--panel-width: 420px;--panel-collapsed-width: 48px;--section-header-height: 44px;--control-height: 36px;--touch-target: 44px;--canvas-padding: 48px}.glass-panel{position:relative;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.glass-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,var(--glass-highlight) 0%,transparent 40%);pointer-events:none}.glass-elevated{background:#2c2c2ef2;backdrop-filter:blur(var(--glass-blur-heavy)) saturate(200%);-webkit-backdrop-filter:blur(var(--glass-blur-heavy)) saturate(200%);box-shadow:var(--shadow-xl);border:1px solid var(--glass-border-light)}.glass-toolbar{background:#1c1c1eb3;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-md)}.glass-surface{background:var(--surface-hover);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.glass-surface:hover{background:var(--surface-active)}.glass-inset{background:#0003;border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-inner)}.glass-card{background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth)}.glass-card:hover{background:var(--surface-2);border-color:var(--glass-border-light)}.glass-card.selected{background:var(--selected-bg);border-color:var(--selected-border)}.glass-divider{height:1px;background:var(--glass-border);margin:var(--space-2) 0}.glass-divider-vertical{width:1px;height:100%;background:var(--glass-border);margin:0 var(--space-2)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOutScale{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes expandSection{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes collapseSection{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes buttonPress{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(2.5);opacity:0}}@keyframes subtlePulse{0%,to{box-shadow:0 0 #0a84ff00}50%{box-shadow:0 0 0 4px #0a84ff33}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-slide-in-right{animation:slideInRight var(--duration-normal) var(--ease-out-expo) forwards}.animate-slide-out-right{animation:slideOutRight var(--duration-normal) var(--ease-smooth) forwards}.animate-slide-in-left{animation:slideInLeft var(--duration-normal) var(--ease-out-expo) forwards}.animate-slide-in-up{animation:slideInUp var(--duration-normal) var(--ease-out-expo) forwards}.animate-fade-in{animation:fadeIn var(--duration-fast) var(--ease-smooth) forwards}.animate-fade-in-scale{animation:fadeInScale var(--duration-normal) var(--ease-out-expo) forwards}.animate-expand{animation:expandSection var(--duration-normal) var(--ease-out-expo) forwards}.animate-pulse{animation:subtlePulse 2s infinite}.stagger-children>*{opacity:0;animation:slideInUp var(--duration-normal) var(--ease-out-expo) forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}.stagger-children>*:nth-child(8){animation-delay:.35s}.transition-all{transition:all var(--duration-normal) var(--ease-smooth)}.transition-fast{transition:all var(--duration-fast) var(--ease-smooth)}.transition-colors{transition:background var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth)}.transition-transform{transition:transform var(--duration-fast) var(--ease-out-back)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);background:var(--canvas-bg);color:var(--text-primary);line-height:1.5;font-weight:var(--weight-normal);min-height:100vh;letter-spacing:-.01em;overflow:hidden}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}::-webkit-scrollbar-corner{background:transparent}button{font-family:var(--font-sans);font-weight:var(--weight-medium);cursor:pointer;border:none;background:none;color:inherit;letter-spacing:inherit;font-size:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--duration-fast) var(--ease-smooth),background var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}input:hover,select:hover{border-color:var(--glass-border-light)}input:focus,select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--focus-ring)}input[type=text],input[type=number]{height:var(--control-height);padding:0 var(--space-3)}select{height:var(--control-height);padding:0 var(--space-8) 0 var(--space-3);appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23ffffff' stroke-opacity='0.48' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer}select option{background:var(--panel-bg-solid);color:var(--text-primary)}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;height:28px;width:100%}input[type=range]::-webkit-slider-runnable-track{height:4px;background:var(--surface-2);border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#fff;border-radius:50%;margin-top:-7px;box-shadow:0 2px 6px #0000004d,0 0 0 1px #0000001a;transition:transform var(--duration-fast) var(--ease-out-back)}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.1)}input[type=range]:active::-webkit-slider-thumb{transform:scale(.95)}input[type=range]::-moz-range-track{height:4px;background:var(--surface-2);border-radius:2px}input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#fff;border-radius:50%;border:none;box-shadow:0 2px 6px #0000004d}input[type=color]{-webkit-appearance:none;appearance:none;padding:0;border:none;background:none;cursor:pointer;width:100%;height:40px}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:1px solid var(--glass-border);border-radius:var(--radius-sm)}input[type=checkbox]{-webkit-appearance:none;appearance:none;width:20px;height:20px;border:2px solid var(--glass-border-light);border-radius:6px;background:var(--surface-1);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);position:relative;flex-shrink:0}input[type=checkbox]:hover{border-color:var(--text-tertiary)}input[type=checkbox]:checked{background:var(--accent-blue);border-color:var(--accent-blue)}input[type=checkbox]:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #FFFFFF;border-width:0 2px 2px 0;transform:rotate(45deg)}::selection{background:#0a84ff4d;color:var(--text-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.floating-toolbar{position:fixed;left:var(--toolbar-gap);top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;padding:var(--space-2);gap:var(--space-1);border-radius:var(--radius-xl);animation:slideInLeft var(--duration-slow) var(--ease-out-expo)}.toolbar-button{width:var(--touch-target);height:var(--touch-target);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary);background:transparent;transition:all var(--duration-fast) var(--ease-smooth)}.toolbar-button:hover{background:var(--surface-hover);color:var(--text-primary)}.toolbar-button:active{transform:scale(.95)}.toolbar-button.active{background:var(--surface-active);color:var(--accent-blue)}.toolbar-button.disabled,.toolbar-button:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.toolbar-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.toolbar-button svg{flex-shrink:0}.toolbar-divider{width:24px;height:1px;background:var(--glass-border);margin:var(--space-1) 0}.toolbar-item-wrapper{position:relative}.toolbar-menu{position:absolute;left:calc(100% + var(--space-3));top:50%;transform:translateY(-50%);min-width:200px;padding:var(--space-2);border-radius:var(--radius-lg);animation:fadeInScale var(--duration-fast) var(--ease-out-expo)}.toolbar-menu-header{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1)}.toolbar-menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-1)}.toolbar-menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);text-align:left;transition:background var(--duration-fast) var(--ease-smooth)}.toolbar-menu-item:hover{background:var(--surface-hover)}.toolbar-menu-item:active{background:var(--surface-active)}.export-menu{min-width:160px}.export-menu .toolbar-menu-item{padding:var(--space-3)}.export-format{font-weight:var(--weight-semibold);color:var(--text-primary)}.export-desc{font-size:var(--text-xs);color:var(--text-tertiary)}.add-layer-menu{min-width:220px;padding:var(--space-3)}.toolbar-menu-search{position:relative;display:flex;align-items:center;margin-bottom:var(--space-2)}.toolbar-menu-search .search-icon{position:absolute;left:10px;color:var(--text-tertiary);pointer-events:none}.toolbar-search-input{width:100%;padding:10px 32px;background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);transition:all .2s ease}.toolbar-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.toolbar-search-input::placeholder{color:var(--text-tertiary)}.toolbar-menu-search .search-clear{position:absolute;right:6px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.toolbar-menu-search .search-clear:hover{background:var(--surface-3);color:var(--text-secondary)}.toolbar-menu-results{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto}.toolbar-result-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-primary);text-align:left;transition:background var(--duration-fast) var(--ease-smooth)}.toolbar-result-item:hover{background:var(--surface-hover)}.toolbar-result-item:active{background:var(--surface-active)}.toolbar-result-item svg{color:var(--text-secondary);flex-shrink:0}.toolbar-result-item:hover svg{color:var(--primary)}.result-shape-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);margin:0 5px}.toolbar-menu-hint{padding:var(--space-4) var(--space-3);text-align:center;color:var(--text-tertiary);font-size:var(--text-xs)}.toolbar-menu-empty{padding:var(--space-4) var(--space-3);text-align:center;color:var(--text-tertiary);font-size:var(--text-sm)}.toolbar-button.eraser-active{background:#ef444426;color:#ef4444}.toolbar-button.eraser-active:hover{background:#ef444440}.eraser-menu{min-width:180px;padding:var(--space-3)}.eraser-size-control{display:flex;flex-direction:column;gap:var(--space-2)}.eraser-size-control label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary)}.eraser-size-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--surface-2);border-radius:var(--radius-full);outline:none;cursor:pointer}.eraser-size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary);cursor:pointer;transition:transform .15s ease}.eraser-size-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.eraser-size-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--primary);cursor:pointer;border:none}.eraser-hint{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--glass-border);font-size:var(--text-xs);color:var(--text-tertiary);text-align:center}@media(max-width:768px){.floating-toolbar{left:var(--space-2);bottom:var(--space-4);top:auto;transform:none;flex-direction:row}.toolbar-divider{width:1px;height:24px;margin:0 var(--space-1)}.toolbar-menu{left:50%;top:auto;bottom:calc(100% + var(--space-3));transform:translate(-50%)}}.panel-section{border-bottom:1px solid var(--glass-border)}.panel-section:last-child{border-bottom:none}.section-header{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--section-header-height);padding:0 var(--space-3);background:transparent;color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth)}.section-header:hover{background:var(--surface-hover)}.section-header:focus-visible{outline:none;background:var(--surface-hover);box-shadow:inset 0 0 0 2px var(--focus-ring)}.section-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.section-header-actions{display:flex;align-items:center;gap:var(--space-2)}.section-action{display:flex;align-items:center}.section-chevron{color:var(--text-tertiary);transition:transform var(--duration-normal) var(--ease-out-expo)}.section-chevron.rotated{transform:rotate(180deg)}.section-content{overflow:hidden;transition:max-height var(--duration-normal) var(--ease-out-expo)}.section-content-inner{padding:var(--space-3);padding-top:0;display:flex;flex-direction:column;gap:var(--space-4)}.panel-section.collapsed .section-content{max-height:0!important}.layer-section{display:flex;flex-direction:column;gap:var(--space-2)}.layer-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:200px;overflow-y:auto}.layer-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-1);border:1px solid transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.layer-item:hover{background:var(--surface-2)}.layer-item.selected{background:var(--selected-bg);border-color:var(--selected-border)}.layer-item.locked{opacity:.7}.layer-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-xs);color:var(--text-tertiary);background:transparent;transition:all var(--duration-fast) var(--ease-smooth);flex-shrink:0}.layer-btn:hover{background:var(--surface-hover);color:var(--text-secondary)}.layer-btn.visibility.on{color:var(--text-secondary)}.layer-btn.visibility.off{color:var(--text-muted)}.layer-btn.lock.on{color:var(--accent-orange)}.layer-btn.action{width:20px;height:20px;opacity:0}.layer-item:hover .layer-btn.action{opacity:1}.layer-btn.danger:hover{background:#ff453a26;color:var(--color-danger)}.layer-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.layer-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-type{font-size:var(--text-xs);color:var(--text-tertiary)}.layer-color{width:12px;height:12px;border-radius:var(--radius-xs);flex-shrink:0;border:1px solid rgba(0,0,0,.2)}.layer-actions{display:flex;align-items:center;gap:var(--space-1)}.layer-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:36px;border-radius:var(--radius-sm);background:var(--surface-1);border:1px dashed var(--glass-border);color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:all var(--duration-fast) var(--ease-smooth)}.layer-add-btn:hover{background:var(--surface-2);border-color:var(--glass-border-light);color:var(--text-secondary)}.slider{display:flex;flex-direction:column;gap:var(--space-2)}.slider.disabled{opacity:.5;pointer-events:none}.slider-header{display:flex;justify-content:space-between;align-items:center}.slider-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.slider-value{font-size:var(--text-sm);font-family:var(--font-mono);color:var(--text-tertiary);min-width:44px;text-align:right}.slider-track-container{position:relative;height:28px;display:flex;align-items:center}.slider-track-container:before{content:"";position:absolute;left:0;right:0;height:4px;background:var(--surface-2);border-radius:2px}.slider-track-fill{position:absolute;left:0;height:4px;background:var(--accent-blue);border-radius:2px;pointer-events:none;transition:width .05s linear}.slider-input{position:relative;width:100%;height:28px;background:transparent!important;cursor:pointer;z-index:1}.slider-input::-webkit-slider-runnable-track{background:transparent;height:4px}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000004d,0 0 0 1px #0000001a;cursor:grab;margin-top:-7px;transition:transform var(--duration-fast) var(--ease-out-back),box-shadow var(--duration-fast) var(--ease-smooth)}.slider-input:hover::-webkit-slider-thumb{transform:scale(1.1);box-shadow:0 3px 8px #00000059,0 0 0 1px #0000001a}.slider-input:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(.95)}.slider-input:focus::-webkit-slider-thumb{box-shadow:0 2px 6px #0000004d,0 0 0 1px #0000001a,0 0 0 4px var(--focus-ring)}.slider-input::-moz-range-track{background:transparent;height:4px}.slider-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:none;box-shadow:0 2px 6px #0000004d;cursor:grab}.slider-input:hover::-moz-range-thumb{transform:scale(1.1)}.slider-input:active::-moz-range-thumb{cursor:grabbing}.parameter-section{display:flex;flex-direction:column;gap:var(--space-4)}.shape-picker{display:flex;flex-direction:column;gap:var(--space-3)}.shape-search{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-tertiary);pointer-events:none}.shape-search-input{width:100%;padding:10px 36px;background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);transition:all .2s ease}.shape-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.shape-search-input::placeholder{color:var(--text-tertiary)}.search-clear{position:absolute;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.search-clear:hover{background:var(--surface-3);color:var(--text-secondary)}.search-results-count{font-size:var(--text-xs);color:var(--text-tertiary);padding:0 4px}.shape-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:400px;overflow-y:auto;padding:4px;margin:-4px}.shape-grid::-webkit-scrollbar{width:6px}.shape-grid::-webkit-scrollbar-track{background:transparent}.shape-grid::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:3px}.shape-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;min-width:0;min-height:72px}.shape-item:hover{background:var(--surface-2);border-color:var(--text-tertiary);transform:translateY(-1px)}.shape-item.selected{background:#6366f126;border-color:var(--primary)}.shape-icon{width:28px;height:28px;color:var(--text-secondary);transition:color .15s ease}.shape-item:hover .shape-icon{color:var(--text-primary)}.shape-item.selected .shape-icon{color:var(--primary)}.shape-name{font-size:9px;color:var(--text-tertiary);text-align:center;line-height:1.2;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.shape-item.selected .shape-name{color:var(--primary)}.shape-empty{grid-column:1 / -1;padding:var(--space-4);text-align:center;color:var(--text-tertiary);font-size:var(--text-sm)}.param-control{display:flex;flex-direction:column;gap:var(--space-2)}.param-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.param-select,.param-input{width:100%}.formula-display{padding:var(--space-3);background:var(--surface-1);border-radius:var(--radius-sm);border:1px solid var(--glass-border)}.formula-display code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-tertiary)}.param-grid{display:flex;flex-direction:column;gap:var(--space-3)}.shape-item.icon-type{background:linear-gradient(135deg,#6366f114,#a855f714);border-color:#6366f133}.shape-item.icon-type:hover{background:linear-gradient(135deg,#6366f126,#a855f726);border-color:#6366f166}.shape-item.icon-type .shape-icon{color:var(--text-secondary)}.shape-item.icon-type:hover .shape-icon{color:var(--primary)}.shape-item.icon-type.selected{background:linear-gradient(135deg,#6366f133,#a855f733);border-color:var(--primary)}.shape-item.icon-type.selected .shape-icon{color:var(--primary)}.svg-upload-inline{display:flex;justify-content:center;padding-top:var(--space-2);border-top:1px solid var(--glass-border);margin-top:var(--space-2)}.svg-upload-btn-inline{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px dashed var(--glass-border-light);border-radius:var(--radius-md);color:var(--text-tertiary);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-fast)}.svg-upload-btn-inline:hover{background:var(--surface-3);border-color:var(--primary);color:var(--primary)}.icon-picker-section{background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-3);margin-top:var(--space-2)}.icon-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--glass-border);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary)}.icon-picker-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-tertiary);transition:all var(--duration-fast)}.icon-picker-close:hover{background:var(--surface-hover);color:var(--text-primary)}.current-icon-display{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.current-icon-label{font-size:var(--text-xs);color:var(--text-tertiary);flex-shrink:0}.current-icon-preview{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.current-icon-preview svg{flex-shrink:0;color:var(--primary)}.current-icon-preview span{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-icon-btn{padding:var(--space-1) var(--space-3);background:var(--primary);color:#fff;font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:var(--radius-sm);transition:all var(--duration-fast);flex-shrink:0}.change-icon-btn:hover{background:var(--primary-hover)}.svg-upload-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-3);background:var(--surface-2);border-radius:var(--radius-md);border:1px dashed var(--glass-border-light)}.svg-upload-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--primary);color:#fff;font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-md);transition:all var(--duration-fast)}.svg-upload-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.svg-upload-hint{font-size:10px;color:var(--text-tertiary)}.transform-section{display:flex;flex-direction:column;gap:var(--space-4)}.transform-reset-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:32px;border-radius:var(--radius-sm);background:var(--surface-1);border:1px solid var(--glass-border);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:all var(--duration-fast) var(--ease-smooth)}.transform-reset-btn:hover{background:var(--surface-2);border-color:var(--glass-border-light);color:var(--text-primary)}.transform-reset-btn:active{transform:scale(.98)}.transform-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.color-picker{position:relative;display:flex;flex-direction:column;gap:var(--space-2)}.color-picker-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.color-picker-trigger{display:flex;align-items:center;gap:var(--space-3);width:100%;height:44px;padding:var(--space-2);background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.color-picker-trigger:hover{border-color:var(--glass-border-light);background:var(--surface-2)}.color-picker-trigger:focus-visible{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--focus-ring)}.color-swatch-preview{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.2);flex-shrink:0}.color-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-tertiary)}.color-picker-popover{padding:var(--space-3);border-radius:var(--radius-lg);z-index:9999;animation:fadeInScale var(--duration-fast) var(--ease-out-expo);box-shadow:0 8px 32px #0006}.color-presets{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--space-2)}.color-preset{aspect-ratio:1;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.color-preset:hover{transform:scale(1.1);z-index:1}.color-preset:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.color-preset.selected{border-color:#fff;box-shadow:0 0 0 2px var(--canvas-bg)}.color-picker-divider{height:1px;background:var(--glass-border);margin:var(--space-3) 0}.color-custom{display:flex;flex-direction:column;gap:var(--space-2)}.color-custom-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.color-custom-input-wrapper{display:flex;gap:var(--space-2);align-items:center}.color-native-input{width:40px;height:32px;padding:0;border:none;border-radius:var(--radius-sm);cursor:pointer;overflow:hidden}.color-native-input::-webkit-color-swatch-wrapper{padding:0}.color-native-input::-webkit-color-swatch{border:1px solid var(--glass-border);border-radius:var(--radius-sm)}.color-hex-input{flex:1;height:32px;padding:0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase}.segmented-control{display:inline-flex;position:relative;background:var(--surface-1);border-radius:var(--radius-md);padding:3px;gap:2px}.segmented-control.full-width{display:flex;width:100%}.segmented-indicator{position:absolute;top:3px;left:3px;height:calc(100% - 6px);background:var(--surface-3);border-radius:var(--radius-sm);transition:transform var(--duration-normal) var(--ease-out-expo);pointer-events:none;z-index:0}.segment{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;transition:color var(--duration-fast) var(--ease-smooth);background:transparent}.segmented-control.medium .segment{height:32px;min-width:64px}.segmented-control.small .segment{height:28px;min-width:48px;font-size:var(--text-xs);padding:0 var(--space-2)}.segment:hover{color:var(--text-secondary)}.segment.active{color:var(--text-primary)}.segment:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--focus-ring)}.segment-icon{display:flex;align-items:center;justify-content:center;font-size:14px}.segment-icon svg{width:16px;height:16px}.segment-label{line-height:1}.style-section{display:flex;flex-direction:column;gap:var(--space-4)}.style-control{display:flex;flex-direction:column;gap:var(--space-2)}.style-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.brush-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.brush-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.brush-btn:hover{background:var(--surface-2);border-color:var(--glass-border-light)}.brush-btn.selected{background:var(--selected-bg);border-color:var(--selected-border)}.brush-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.brush-icon{font-size:18px;line-height:1}.brush-name{font-size:10px;font-weight:var(--weight-medium);color:var(--text-tertiary);white-space:nowrap}.brush-btn.selected .brush-name{color:var(--text-primary)}.gradient-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);max-height:180px;overflow-y:auto;padding-right:var(--space-1)}.gradient-grid::-webkit-scrollbar{width:4px}.gradient-grid::-webkit-scrollbar-track{background:transparent}.gradient-grid::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:2px}.gradient-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1);background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.gradient-btn:hover{background:var(--surface-2);border-color:var(--glass-border-light);transform:scale(1.02)}.gradient-btn.selected{background:var(--selected-bg);border-color:var(--selected-border);box-shadow:0 0 0 1px var(--selected-border)}.gradient-preview{width:100%;height:24px;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.1)}.gradient-name{font-size:9px;font-weight:var(--weight-medium);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gradient-btn.selected .gradient-name{color:var(--text-primary)}.canvas-section{display:flex;flex-direction:column;gap:var(--space-6)}.guides-group{display:flex;flex-direction:row;gap:var(--space-2)}.guide-toggle{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-3);background:var(--surface-1);border-radius:var(--radius-md);border:1px solid var(--glass-border);transition:all .15s ease}.guide-toggle:hover{background:var(--surface-2);border-color:var(--glass-border-light)}.guide-toggle input{display:none}.toggle-slider{position:relative;width:36px;height:20px;background:var(--surface-3);border-radius:10px;transition:all .2s ease;flex-shrink:0}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:all .2s ease;box-shadow:0 1px 3px #0000004d}.guide-toggle input:checked+.toggle-slider{background:var(--primary)}.guide-toggle input:checked+.toggle-slider:after{transform:translate(16px)}.toggle-label{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;color:var(--text-tertiary);text-align:center}.guide-toggle input:checked~.toggle-label{color:var(--text-secondary)}.toggle-label svg{color:var(--text-tertiary)}.guide-toggle input:checked~.toggle-label svg{color:var(--primary)}.canvas-group{display:flex;flex-direction:column;gap:var(--space-3)}.canvas-group-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.canvas-control{display:flex;flex-direction:column;gap:var(--space-2)}.control-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.bg-type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.bg-type-cards.four-cols{grid-template-columns:repeat(4,1fr)}.bg-type-cards.five-cols{grid-template-columns:repeat(5,1fr)}.bg-type-cards.five-cols .bg-type-card{padding:var(--space-1);gap:var(--space-1)}.bg-type-cards.five-cols .bg-type-card span{font-size:9px}.bg-type-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--surface-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.bg-type-card:hover{background:var(--surface-2);border-color:var(--glass-border-light)}.bg-type-card.selected{background:var(--selected-bg);border-color:var(--selected-border)}.bg-type-card span{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary)}.bg-type-card.selected span{color:var(--text-primary)}.bg-preview{width:100%;aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.1)}.transparent-preview{background-image:linear-gradient(45deg,#444 25%,transparent 25%),linear-gradient(-45deg,#444 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#444 75%),linear-gradient(-45deg,transparent 75%,#444 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px;background-color:#666}.gradient-preview{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.gradient-btn{aspect-ratio:1;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);display:flex;align-items:center;justify-content:center;color:#fff}.gradient-btn:hover{transform:scale(1.05)}.gradient-btn.selected{border-color:#fff;box-shadow:0 0 0 2px var(--canvas-bg)}.gradient-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.texture-preview{background-size:cover}.texture-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.texture-btn{aspect-ratio:1;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);display:flex;align-items:center;justify-content:center;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.texture-btn:hover{transform:scale(1.05)}.texture-btn.selected{border-color:#fff;box-shadow:0 0 0 2px var(--canvas-bg)}.texture-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.texture-color-picker{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.texture-color-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-tertiary)}.dots-preview{background-size:8px 8px,100% 100%}.dots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.dots-btn{aspect-ratio:1;min-height:40px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);display:flex;align-items:center;justify-content:center;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);background-size:8px 8px,100% 100%}.dots-btn:hover{transform:scale(1.05)}.dots-btn.selected{border-color:#fff;box-shadow:0 0 0 2px var(--canvas-bg)}.dots-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.dots-color-picker{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.dots-color-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-tertiary)}.property-panel{position:fixed;right:var(--toolbar-gap);top:var(--toolbar-gap);bottom:var(--toolbar-gap);width:var(--panel-width);z-index:100;display:flex;flex-direction:column;animation:slideInRight var(--duration-slow) var(--ease-out-expo)}.panel-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-2)}.panel-locked-notice,.panel-empty-notice{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);color:var(--text-tertiary);font-size:var(--text-sm)}.lock-icon{font-size:20px}@media(max-width:768px){.property-panel{inset:auto 0 0;width:100%;max-height:60vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}}.layer-actions{position:absolute;top:calc(var(--toolbar-gap) + 8px);left:50%;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:fadeInScale var(--duration-fast) var(--ease-out-expo)}.layer-action-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.layer-action-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.layer-action-btn:active{transform:scale(.95)}.layer-action-btn.active{background:var(--surface-active);color:var(--accent-blue)}.layer-action-btn.disabled,.layer-action-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.layer-action-wrapper{position:relative}.position-menu{position:absolute;top:calc(100% + var(--space-2));left:50%;transform:translate(-50%);min-width:280px;padding:var(--space-3);background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:fadeInScale var(--duration-fast) var(--ease-out-expo)}.position-section{margin-bottom:var(--space-3)}.position-section:last-child{margin-bottom:0}.position-section-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--glass-border)}.position-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1)}.position-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);text-align:left}.position-btn:hover{background:var(--surface-hover)}.position-btn:active{background:var(--surface-active)}.position-btn.disabled,.position-btn:disabled{opacity:.3;cursor:not-allowed}.position-btn svg{flex-shrink:0;color:var(--text-secondary)}.position-btn:hover svg{color:var(--accent-blue)}@media(max-width:768px){.layer-actions{top:auto;bottom:calc(var(--toolbar-gap) + 60px)}}.procreate-app{position:fixed;inset:0;background:var(--canvas-bg);overflow:hidden}.canvas-container{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--canvas-padding);padding-left:calc(var(--toolbar-width) + var(--toolbar-gap) * 2);transition:padding-right var(--duration-normal) var(--ease-out-expo)}.procreate-app.panel-open .canvas-container{padding-right:calc(var(--panel-width) + var(--toolbar-gap) * 2)}.canvas-wrapper{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 0 0 1px #ffffff14,0 8px 32px #0006,0 16px 64px #0003;animation:fadeInScale var(--duration-slow) var(--ease-out-expo)}.canvas-wrapper>div{border:none!important;border-radius:inherit!important}.editor-canvas-wrapper{display:grid;grid-template-columns:auto;grid-template-rows:auto;gap:0}.editor-canvas-wrapper.with-ruler{grid-template-columns:24px auto;grid-template-rows:24px auto}.editor-canvas{position:relative;grid-column:2;grid-row:2}.editor-canvas-wrapper:not(.with-ruler) .editor-canvas{grid-column:1;grid-row:1}.ruler-corner{grid-column:1;grid-row:1;width:24px;height:24px;background:var(--surface-1);border-right:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.ruler{position:relative;background:var(--surface-1);-webkit-user-select:none;user-select:none}.ruler-horizontal{grid-column:2;grid-row:1;height:24px;border-bottom:1px solid var(--glass-border)}.ruler-vertical{grid-column:1;grid-row:2;width:24px;border-right:1px solid var(--glass-border)}.ruler-tick{position:absolute;background:var(--text-tertiary)}.ruler-horizontal .ruler-tick{bottom:0;width:1px}.ruler-vertical .ruler-tick{right:0;height:1px}.ruler-tick.major{background:var(--text-secondary)}.ruler-label{position:absolute;font-size:8px;color:var(--text-tertiary);font-family:var(--font-mono)}.ruler-horizontal .ruler-label{top:2px;left:3px}.ruler-vertical .ruler-label{left:2px;top:3px;writing-mode:vertical-lr;transform:rotate(180deg)}.ruler-center-mark{position:absolute;background:var(--primary)}.ruler-horizontal .ruler-center-mark{bottom:0;width:2px;height:16px;transform:translate(-1px)}.ruler-vertical .ruler-center-mark{right:0;width:16px;height:2px;transform:translateY(-1px)}.canvas-guides{position:absolute;inset:0;pointer-events:none}.guide-h,.guide-v{position:absolute;background:var(--primary);opacity:.2}.guide-h{left:0;right:0;top:50%;height:1px;transform:translateY(-.5px)}.guide-v{top:0;bottom:0;left:50%;width:1px;transform:translate(-.5px)}.composition-grid{position:absolute;inset:0;pointer-events:none;overflow:hidden}.grid-line{position:absolute;background:transparent;border:none}.grid-h{left:0;right:0;height:0;border-top:1px dashed rgba(0,0,0,.4)}.grid-v{top:0;bottom:0;width:0;border-left:1px dashed rgba(0,0,0,.4)}.grid-diagonal{width:141.4%;height:0;border-top:1px dashed rgba(0,0,0,.3);top:50%;left:50%;transform-origin:center}.grid-d1{transform:translate(-50%,-50%) rotate(45deg)}.grid-d2{transform:translate(-50%,-50%) rotate(-45deg)}.grid-d3{width:112%;border-top:1px dashed rgba(0,0,0,.25);transform:translate(-50%,-50%) rotate(26.57deg)}.grid-d4{width:112%;border-top:1px dashed rgba(0,0,0,.25);transform:translate(-50%,-50%) rotate(-26.57deg)}.grid-center-h{left:0;right:0;top:50%;height:0;border-top:1px dashed rgba(0,0,0,.5);transform:translateY(-.5px)}.grid-center-v{top:0;bottom:0;left:50%;width:0;border-left:1px dashed rgba(0,0,0,.5);transform:translate(-.5px)}.canvas-info{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%);display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-full);border:1px solid var(--glass-border);font-size:var(--text-xs);color:var(--text-tertiary);animation:slideInUp var(--duration-slow) var(--ease-out-expo);animation-delay:.2s;animation-fill-mode:backwards}@media(max-width:1100px){.canvas-container{padding:var(--space-6);padding-left:calc(var(--toolbar-width) + var(--space-4))}.procreate-app.panel-open .canvas-container{padding-right:calc(var(--panel-width) + var(--space-4))}}@media(max-width:900px){.canvas-container{padding:var(--space-4);padding-left:calc(var(--toolbar-width) + var(--space-2));padding-bottom:60vh}.procreate-app.panel-open .canvas-container{padding-right:var(--space-4)}}@media(max-width:768px){.canvas-container{padding-left:var(--space-4);padding-bottom:50vh}}
