@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_2bf0ccb8-module__eZytDW__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_2bf0ccb8-module__eZytDW__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.04ygcc0k6zvvf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.18awt9904y5ei.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.0~z396rbj0t4w.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69-s.09-.4z_6a6fti.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554-s.1841exvy3.1-g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c-s.p.0kbulo~7o8gic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_5f5d287e-module__1wXScW__className{font-family:Space Mono,Space Mono Fallback;font-style:normal}.space_mono_5f5d287e-module__1wXScW__variable{--font-mono:"Space Mono", "Space Mono Fallback"}
:root{--bg-base:#050505;--bg-surface:#0a0a0a;--bg-panel:#0d0d0d;--bg-elevated:#111;--bg-hover:#1a1a1a;--bg-active:#222;--border-subtle:#1a1a1a;--border-default:#262626;--border-strong:#404040;--border-focus:#ff5d00;--text-primary:#f0f0f0;--text-secondary:#a3a3a3;--text-tertiary:#525252;--text-inverse:#050505;--text-accent:#ff5d00;--accent:#ff5d00;--accent-hover:#ff7a33;--accent-muted:#ff5d0026;--accent-subtle:#ff5d0014;--danger:#ff003c;--danger-muted:#ff003c26;--success:#cf0;--success-muted:#ccff0026;--info:#00f0ff;--info-muted:#00f0ff26;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #000c;--shadow-md:0 4px 12px #000000e6;--shadow-lg:0 12px 32px #000000f2;--shadow-xl:0 24px 64px #000000fa;--shadow-glow:0 0 30px #ff5d0040;--font-sans:var(--font-display), system-ui, -apple-system, sans-serif;--font-mono:var(--font-mono), "SF Mono", monospace;--text-xs:11px;--text-sm:12px;--text-md:14px;--text-base:16px;--text-lg:18px;--text-xl:24px;--text-2xl:32px;--z-canvas:1;--z-toolbar:100;--z-panel:200;--z-overlay:300;--z-modal:400;--z-toast:500;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.1s;--duration-normal:.15s;--duration-slow:.25s;--toolbar-height:48px;--panel-width:260px;--property-panel-width:240px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}::selection{background:var(--accent-muted);color:var(--text-accent)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.editor{grid-template-rows:var(--toolbar-height) 1fr;background:var(--bg-base);-webkit-user-select:none;user-select:none;grid-template-columns:1fr;height:100dvh;display:grid;overflow:hidden}.editor-main{grid-template-columns:var(--sidebar-width,48px) 1fr var(--panel-width);display:grid;position:relative;overflow:hidden}.editor-main.panels-collapsed{grid-template-columns:var(--sidebar-width,48px) 1fr}.editor-main.panels-collapsed .canvas-workspace{grid-column:2/-1}.top-bar{align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);z-index:var(--z-toolbar);box-sizing:border-box;width:100%;max-width:100vw;display:flex}.top-bar-scrollable{-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;gap:var(--sp-1);flex:1;min-width:0;display:flex;overflow:auto hidden}.top-bar-scrollable::-webkit-scrollbar{display:none}.top-bar .toolbar-brand{margin-right:var(--sp-2)}@media (max-width:640px){.brand-label-desktop,.brand-sep-desktop{display:none}}.project-name-btn{cursor:pointer;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;min-width:40px;max-width:200px;padding:3px 6px;font-size:13px;font-weight:500;transition:background .15s;display:flex;overflow:hidden}@media (max-width:640px){.project-name-btn{max-width:100px}}.project-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-bar{align-items:center;gap:var(--sp-1);padding:var(--sp-2) 0;background:var(--bg-panel);border-right:1px solid var(--border-subtle);z-index:var(--z-toolbar);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:column;display:flex;overflow:hidden auto}.side-bar::-webkit-scrollbar{display:none}.side-bar .toolbar-group{flex-direction:column}.sidebar-separator{background:var(--border-subtle);width:24px;height:1px;margin:var(--sp-2) 0;flex-shrink:0}.toolbar-brand{align-items:center;gap:var(--sp-2);padding-right:var(--sp-3);margin-right:var(--sp-2);border-right:1px solid var(--border-subtle);flex-shrink:0;display:flex}.toolbar-brand-icon{border-radius:var(--radius-sm);background:#000;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.toolbar-brand-name{font-size:var(--text-sm);letter-spacing:.5px;color:var(--text-secondary);margin:0;padding:0;font-weight:600}.toolbar-group{flex-shrink:0;align-items:center;gap:1px;display:flex}.toolbar-separator{background:var(--border-subtle);width:1px;height:24px;margin:0 var(--sp-2);flex-shrink:0}.toolbar-btn{width:34px;height:34px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn:active{background:var(--bg-active);transform:scale(.95)}.toolbar-btn.active{background:var(--accent-muted);color:var(--accent)}.toolbar-btn.active:hover{background:var(--accent-muted);color:var(--accent-hover)}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-btn:disabled:hover{color:var(--text-secondary);background:0 0;transform:none}.toolbar-btn-label{font-size:var(--text-xs);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast);z-index:var(--z-toast);padding:2px 6px;position:absolute;bottom:-24px;left:50%;transform:translate(-50%)}.toolbar-btn:hover .toolbar-btn-label{opacity:1}.toolbar-spacer{min-width:var(--sp-2);flex:1}.toolbar-zoom{align-items:center;gap:var(--sp-1);flex-shrink:0;display:flex}.toolbar-zoom-value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);text-align:center;background:var(--bg-base);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);min-width:42px;padding:2px 4px}.canvas-workspace{background:var(--bg-base);cursor:default;position:relative;overflow:hidden}.canvas-workspace:before{content:"";background-image:radial-gradient(circle, var(--border-subtle) 1px, transparent 1px);opacity:.5;pointer-events:none;z-index:0;background-size:20px 20px;position:absolute;inset:0}.canvas-container{z-index:var(--z-canvas);background-color:#1a1a1e;background-image:linear-gradient(45deg,#222228 25%,#0000 25%),linear-gradient(-45deg,#222228 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#222228 75%),linear-gradient(-45deg,#0000 75%,#222228 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.canvas-container canvas{box-shadow:var(--shadow-lg)}.canvas-drop-overlay{border:2px dashed var(--accent);z-index:var(--z-overlay);animation:fadeIn var(--duration-normal) var(--ease-out);background:#e8a23d0d;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.canvas-drop-overlay-content{align-items:center;gap:var(--sp-2);color:var(--accent);flex-direction:column;display:flex}.canvas-drop-overlay-content svg{width:48px;height:48px}.canvas-drop-overlay-content span{font-size:var(--text-md);font-weight:500}.canvas-empty-state{justify-content:center;align-items:center;gap:var(--sp-4);z-index:2;color:var(--text-tertiary);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.canvas-empty-state svg{stroke-width:1px;width:64px;height:64px;color:var(--text-tertiary);opacity:.5}.canvas-empty-state h2{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.5px;margin:0;font-weight:700}.canvas-empty-state-subtitle{font-size:var(--text-md);color:var(--text-secondary);text-align:center;margin-top:calc(-1 * var(--sp-2));line-height:1.5;max-width:320px!important}.canvas-empty-state-droptext{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--sp-1);opacity:.8}.canvas-empty-state-btn{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-5);background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-md);font-size:var(--text-md);cursor:pointer;pointer-events:auto;transition:all var(--duration-fast) var(--ease-out);border:none;font-weight:600}.canvas-empty-state-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.canvas-empty-state-btn:active{transform:translateY(0)}.layer-panel{background:var(--bg-panel);border-left:1px solid var(--border-subtle);z-index:var(--z-panel);animation:slideInRight var(--duration-slow) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.layer-panel-header{padding:var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.layer-panel-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);font-weight:600}.layer-panel-actions{gap:2px;display:flex}.layer-panel-action-btn{width:28px;height:28px;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.layer-panel-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.layer-panel-action-btn:disabled{opacity:.3;cursor:not-allowed}.layer-list{padding:var(--sp-1);flex:1;overflow-y:auto}.layer-list-empty{padding:var(--sp-8) var(--sp-4);color:var(--text-tertiary);font-size:var(--text-sm);text-align:center;justify-content:center;align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.layer-item{align-items:center;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast);border:1px solid #0000;margin-bottom:1px;display:flex}.layer-item:hover{background:var(--bg-hover)}.layer-item.active{background:var(--accent-subtle);border-color:var(--accent-muted)}.layer-item.dragging{opacity:.5;background:var(--bg-active)}.layer-item-visibility{width:24px;height:24px;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.layer-item-visibility:hover{color:var(--text-primary)}.layer-item-visibility.visible{color:var(--text-secondary)}.layer-item-thumb{border-radius:var(--radius-sm);background:var(--bg-base);border:1px solid var(--border-subtle);background-color:#1e1e22;background-image:linear-gradient(45deg,#2a2a2e 25%,#0000 25%),linear-gradient(-45deg,#2a2a2e 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#2a2a2e 75%),linear-gradient(-45deg,#0000 75%,#2a2a2e 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.layer-thumb-img{object-fit:contain;width:100%;height:100%;display:block}.layer-thumb-placeholder{width:100%;height:100%;color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.layer-item-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex;overflow:hidden}.layer-item-name{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.layer-item-name input{background:var(--bg-base);border:1px solid var(--border-focus);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-sans);outline:none;padding:1px 4px}.layer-item-type{color:var(--text-tertiary);text-transform:capitalize;align-items:center;gap:3px;font-size:10px;line-height:1;display:flex}.layer-drag-handle{cursor:grab;opacity:.4;transition:opacity var(--duration-fast);flex-shrink:0;align-items:center;display:flex}.layer-item:hover .layer-drag-handle{opacity:.8}.layer-item.drag-over{border-color:var(--accent);background:var(--accent-subtle)}.layer-panel-count{background:var(--bg-active);border-radius:var(--radius-full);min-width:16px;height:16px;color:var(--text-secondary);margin-left:var(--sp-1);vertical-align:middle;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:600;display:inline-flex}.layer-panel-action-btn.danger:hover{color:#e05555;background:#dc3c3c26}.layer-action-badge{color:#fff;border-radius:var(--radius-full);background:#e05555;justify-content:center;align-items:center;min-width:14px;height:14px;margin-left:2px;padding:0 3px;font-size:9px;font-weight:700;display:inline-flex}.layer-multiselect-hint{padding:var(--sp-2) var(--sp-3);color:var(--text-tertiary);text-align:center;border-top:1px solid var(--border-subtle);background:var(--accent-subtle);flex-shrink:0;font-size:10px}.property-panel{bottom:var(--sp-3);left:var(--sp-3);background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-3);z-index:var(--z-panel);min-width:var(--property-panel-width);box-shadow:var(--shadow-lg);animation:slideInUp var(--duration-slow) var(--ease-out);position:absolute}.property-panel-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--text-tertiary);margin-bottom:var(--sp-3);font-weight:600}.property-row{gap:var(--sp-2);margin-bottom:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.property-field{flex-direction:column;gap:2px;display:flex}.property-field label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.property-field input{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2);width:100%;transition:border-color var(--duration-fast);outline:none}.property-field input:focus{border-color:var(--border-focus)}.property-field-full{grid-column:1/-1}.property-slider{flex-direction:column;grid-column:1/-1;gap:2px;display:flex}.property-slider-header{justify-content:space-between;align-items:center;display:flex}.property-slider label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.property-slider-value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.property-slider input[type=range]{appearance:none;background:var(--bg-active);border-radius:var(--radius-full);cursor:pointer;outline:none;width:100%;height:4px}.property-slider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--bg-panel);width:14px;height:14px;box-shadow:0 0 0 1px var(--accent);transition:transform var(--duration-fast);border-radius:50%}.property-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.adjustment-panel{top:calc(var(--toolbar-height) + var(--sp-2));right:calc(var(--panel-width) + var(--sp-2));background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-3);z-index:var(--z-overlay);width:240px;box-shadow:var(--shadow-lg);animation:slideInDown var(--duration-normal) var(--ease-out);position:absolute}.adjustment-panel-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--text-tertiary);margin-bottom:var(--sp-3);font-weight:600}.adjustment-slider{margin-bottom:var(--sp-3)}.adjustment-slider:last-child{margin-bottom:0}.adjustment-slider-header{margin-bottom:var(--sp-1);justify-content:space-between;align-items:center;display:flex}.adjustment-slider-header label{font-size:var(--text-sm);color:var(--text-secondary)}.adjustment-slider-header span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);text-align:right;min-width:28px}.adjustment-slider input[type=range]{appearance:none;background:var(--bg-active);border-radius:var(--radius-full);cursor:pointer;outline:none;width:100%;height:4px}.adjustment-slider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--bg-panel);width:14px;height:14px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}.adjustment-reset-btn{justify-content:center;align-items:center;gap:var(--sp-1);width:100%;padding:var(--sp-2);margin-top:var(--sp-3);background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast);display:flex}.adjustment-reset-btn:hover{background:var(--bg-active);color:var(--text-primary)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);animation:fadeIn var(--duration-normal) var(--ease-out);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.export-dialog{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--sp-6);width:360px;max-width:calc(100vw - var(--sp-8));box-shadow:var(--shadow-xl);animation:scaleIn var(--duration-slow) var(--ease-out)}.export-dialog h2{font-size:var(--text-lg);margin-bottom:var(--sp-5);color:var(--text-primary);font-weight:600}.export-format-select{gap:var(--sp-2);margin-bottom:var(--sp-5);display:flex}.export-format-option{padding:var(--sp-3);background:var(--bg-base);border:2px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;text-align:center;transition:all var(--duration-fast);color:var(--text-secondary);flex:1;font-weight:500}.export-format-option:hover{border-color:var(--border-strong);color:var(--text-primary)}.export-format-option.selected{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.export-format-option span{font-size:var(--text-lg);font-weight:600;display:block}.export-format-option small{font-size:var(--text-xs);color:var(--text-tertiary)}.export-quality{margin-bottom:var(--sp-5)}.export-quality-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.export-quality label{font-size:var(--text-sm);color:var(--text-secondary)}.export-quality-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-accent)}.export-quality input[type=range]{appearance:none;background:var(--bg-active);border-radius:var(--radius-full);cursor:pointer;outline:none;width:100%;height:4px}.export-quality input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--bg-panel);width:16px;height:16px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}.export-info{padding:var(--sp-3);background:var(--bg-base);border-radius:var(--radius-md);margin-bottom:var(--sp-5);font-size:var(--text-sm);justify-content:space-between;display:flex}.export-info-label{color:var(--text-tertiary)}.export-info-value{font-family:var(--font-mono);color:var(--text-secondary)}.export-actions{gap:var(--sp-2);justify-content:flex-end;display:flex}.export-btn-cancel{padding:var(--sp-2) var(--sp-5);background:var(--bg-hover);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-md);cursor:pointer;transition:all var(--duration-fast)}.export-btn-cancel:hover{background:var(--bg-active);color:var(--text-primary)}.export-btn-download{padding:var(--sp-2) var(--sp-6);background:var(--accent);border-radius:var(--radius-md);color:var(--text-inverse);font-size:var(--text-md);cursor:pointer;transition:all var(--duration-fast);border:none;font-weight:600}.export-btn-download:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow)}.export-btn-download:active{transform:scale(.98)}.crop-bar{bottom:var(--sp-4);align-items:center;gap:var(--sp-2);padding:var(--sp-2);background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-modal);animation:slideInUp var(--duration-slow) var(--ease-out);display:flex;position:absolute;left:50%;transform:translate(-50%)}.crop-bar-btn{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast);border:none;font-weight:500}.crop-bar-apply{background:var(--accent);color:var(--text-inverse)}.crop-bar-apply:hover{background:var(--accent-hover)}.crop-bar-cancel{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-subtle)}.crop-bar-cancel:hover{background:var(--bg-active);color:var(--text-primary)}.mobile-panel-toggle{bottom:var(--sp-4);right:var(--sp-4);background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-full);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;z-index:var(--z-panel);box-shadow:var(--shadow-md);transition:all var(--duration-fast);justify-content:center;align-items:center;display:none;position:absolute}.mobile-panel-toggle:hover{background:var(--bg-elevated);color:var(--text-primary)}.toast-container{bottom:var(--sp-4);z-index:var(--z-toast);gap:var(--sp-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-sm);color:var(--text-primary);animation:slideInUp var(--duration-slow) var(--ease-out);pointer-events:auto;display:flex}@media (max-width:768px){:root{--toolbar-height:48px;--sidebar-width:48px;--panel-width:100%}.toolbar-brand-name,.toolbar-btn .toolbar-btn-label{display:none}.top-bar .toolbar-btn-primary{width:auto;min-width:44px;padding:0 var(--sp-2)}.editor-main{grid-template-columns:var(--sidebar-width) 1fr}.layer-panel{width:280px;transition:transform var(--duration-slow) var(--ease-out);box-shadow:var(--shadow-xl);z-index:var(--z-overlay);position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.layer-panel.open{transform:translate(0)}.mobile-panel-toggle{display:flex}.property-panel{left:var(--sp-2);right:var(--sp-2);bottom:var(--sp-2);min-width:unset}.adjustment-panel{right:var(--sp-2);left:var(--sp-2);width:auto}.crop-bar{left:var(--sp-2);right:var(--sp-2);justify-content:center;transform:none}}.onboarding-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;animation:fadeIn var(--duration-normal) var(--ease-out);background:#0d0d0fd9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.onboarding-dialog{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:440px;animation:scaleIn var(--duration-normal) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.onboarding-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;display:flex}.onboarding-header h2{font-size:var(--text-lg);letter-spacing:.5px;color:var(--text-primary);margin-bottom:4px;font-weight:600}.onboarding-brand{font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono)}.onboarding-brand a{color:var(--accent);font-weight:600;text-decoration:none}.onboarding-brand a:hover{text-decoration:underline}.onboarding-close{color:var(--text-tertiary);cursor:pointer;padding:var(--sp-1);border-radius:var(--radius-sm);transition:all var(--duration-fast);background:0 0;border:none}.onboarding-close:hover{background:var(--bg-hover);color:var(--text-primary)}.onboarding-content{padding:var(--sp-5)}.onboarding-intro{font-size:var(--text-md);color:var(--text-secondary);margin-bottom:var(--sp-6);line-height:1.5}.onboarding-steps{gap:var(--sp-4);flex-direction:column;display:flex}.onboarding-step{align-items:center;gap:var(--sp-3);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.4;display:flex}.onboarding-step strong{color:var(--text-primary);font-weight:600}.onboarding-step-icon{background:var(--bg-hover);width:40px;height:40px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.onboarding-footer{padding:var(--sp-4) var(--sp-5);background:var(--bg-base);border-top:1px solid var(--border-subtle);justify-content:flex-end;display:flex}.onboarding-btn-primary{background:var(--accent);color:var(--text-inverse);padding:var(--sp-2) var(--sp-6);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast);border:none}.onboarding-btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.branding-footer{bottom:var(--sp-2);right:var(--sp-3);color:var(--text-tertiary);font-size:10px;font-family:var(--font-mono);pointer-events:none;z-index:50;opacity:.6;position:absolute}.branding-footer a{pointer-events:auto;color:var(--text-secondary);transition:color var(--duration-fast);font-weight:600;text-decoration:none}.branding-footer a:hover{color:var(--accent)}.toolbar-brand{cursor:pointer;transition:opacity var(--duration-fast)}.toolbar-brand:hover{opacity:.8}.toolbar-btn-primary{background:var(--accent);color:var(--text-inverse)!important}.toolbar-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.privacy-page{background:var(--bg-base);min-height:100vh;color:var(--text-primary);padding:var(--sp-6)}.privacy-container{max-width:800px;margin:0 auto}.privacy-header{margin-bottom:var(--sp-10)}.privacy-back{align-items:center;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--sp-6);transition:color var(--duration-fast);text-decoration:none;display:inline-flex}.privacy-back:hover{color:var(--accent)}.privacy-title-wrapper{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.privacy-icon-wrapper{border-radius:var(--radius-md);background:var(--accent);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.privacy-title-wrapper h1{font-size:var(--text-2xl);margin:0;font-weight:700}.privacy-date{color:var(--text-secondary);font-size:var(--text-sm)}.privacy-content{gap:var(--sp-8);flex-direction:column;display:flex}.privacy-highlight{padding:var(--sp-6);border-radius:var(--radius-xl);border:1px solid var(--border-default);background:var(--bg-surface);gap:var(--sp-4);align-items:flex-start;display:flex}.privacy-highlight-icon{color:var(--accent);margin-top:var(--sp-1);flex-shrink:0}.privacy-highlight h2,.privacy-section h2{font-size:var(--text-lg);margin-top:0;margin-bottom:var(--sp-2);font-weight:600}.privacy-section p,.privacy-highlight p{color:var(--text-secondary);margin:0;line-height:1.6}.privacy-section strong{color:var(--text-primary);font-weight:600}.privacy-section h2{font-size:var(--text-xl);border-bottom:1px solid var(--border-subtle);padding-bottom:var(--sp-2);margin-bottom:var(--sp-4)}.privacy-footer{margin-top:var(--sp-12);padding-top:var(--sp-6);border-top:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-tertiary)}.privacy-footer a{color:var(--accent);text-decoration:none}.privacy-footer a:hover{text-decoration:underline}@media (min-width:768px){.privacy-page{padding:var(--sp-12)}}.bg-control{border-top:1px solid var(--border-subtle);padding:var(--sp-2) var(--sp-3)}.bg-control-header{align-items:center;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;display:flex}.bg-control-title{text-transform:uppercase;letter-spacing:.5px;flex:1;font-weight:600}.bg-control-toggle{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:2px;font-size:10px}.bg-control-body{gap:var(--sp-1);margin-top:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.bg-control-swatch{border-radius:var(--radius-sm);border:2px solid var(--border-subtle);cursor:pointer;width:24px;height:24px;transition:border-color var(--duration-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.bg-control-swatch:hover{border-color:var(--border-strong)}.bg-control-swatch.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.bg-control-swatch-transparent{color:var(--text-secondary);background-color:#555;background-image:linear-gradient(45deg,#333 25%,#0000 25%),linear-gradient(-45deg,#333 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#333 75%),linear-gradient(-45deg,#0000 75%,#333 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:8px 8px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}.bg-control-swatch-picker{color:var(--text-inverse);background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);position:relative;overflow:hidden}.bg-control-hex{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 var(--sp-2);height:24px;margin-left:var(--sp-1);flex:1;align-items:center;gap:0;min-width:60px;display:flex}.bg-control-hex-hash{color:var(--text-tertiary);font-size:var(--text-xs);font-family:var(--font-mono)}.bg-control-hex-input{color:var(--text-primary);font-size:var(--text-xs);font-family:var(--font-mono);background:0 0;border:none;outline:none;width:100%;padding:0 2px}.fab-layers{border:1px solid var(--border-subtle);background:var(--bg-panel);width:52px;height:52px;color:var(--text-primary);box-shadow:var(--shadow-lg);cursor:pointer;z-index:calc(var(--z-overlay) + 10);transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px}.fab-layers:hover{background:var(--bg-elevated)}.fab-layers:active{box-shadow:var(--shadow-md);transform:scale(.92)}.fab-layers-badge{background:var(--danger);color:#fff;border:2px solid var(--bg-base);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.annotation-toolbar{bottom:var(--sp-4);background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--sp-3) var(--sp-4);z-index:var(--z-panel);box-shadow:var(--shadow-xl);gap:var(--sp-3);min-width:320px;animation:slideInUp var(--duration-normal) var(--ease-out);flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%)}.annotation-toolbar-header{justify-content:space-between;align-items:center;display:flex}.annotation-toolbar-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);font-weight:700}.annotation-toolbar-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:4px}.annotation-toolbar-close:hover{color:var(--text-primary)}.annotation-section{gap:var(--sp-2);flex-direction:column;display:flex}.annotation-section-label{font-size:var(--text-xs);color:var(--text-secondary);justify-content:space-between;display:flex}.annotation-color-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.annotation-color-swatch{border-radius:var(--radius-sm);cursor:pointer;width:20px;height:20px;transition:transform var(--duration-fast);border:1px solid #ffffff1a}.annotation-color-swatch:hover{transform:scale(1.2)}.annotation-color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-panel), 0 0 0 3px var(--accent)}.annotation-color-custom{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #fff3;width:20px;height:20px;position:relative;overflow:hidden}.annotation-thickness-row{align-items:center;gap:var(--sp-3);display:flex}.annotation-thickness-slider{appearance:none;background:var(--bg-base);border-radius:var(--radius-full);flex:1;height:4px}.annotation-thickness-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);border-radius:var(--radius-full);cursor:pointer;border:2px solid var(--bg-panel);width:14px;height:14px}.annotation-thickness-preview{border-radius:var(--radius-full);width:40px;min-height:2px}.annotation-tool-group{position:relative}.toolbar-section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;text-align:center;width:100%;margin-bottom:2px;padding:0 4px;font-size:9px}.canvas-workspace.tool-annotate,.canvas-workspace.tool-annotate .canvas-container{cursor:crosshair}.canvas-workspace.tool-pan{cursor:grab}.canvas-workspace.tool-pan:active{cursor:grabbing}.canvas-workspace.tool-pan .canvas-container{cursor:grab}.canvas-workspace.tool-pan .canvas-container:active{cursor:grabbing}.canvas-container canvas{touch-action:none}
.desktop-only{display:flex}.mobile-only{display:none}@media (max-width:768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.responsive-hero-grid{grid-template-columns:1fr!important;gap:40px!important}.responsive-hero-title{letter-spacing:-1px!important;font-size:48px!important}.responsive-hero-text{font-size:16px!important}.responsive-hero-buttons{width:100%;flex-direction:column!important}.responsive-hero-buttons button{width:100%!important}.responsive-page-container{padding:40px 20px!important}.responsive-page-title{font-size:40px!important}.responsive-grid-1fr{grid-template-columns:1fr!important}.responsive-flex-col{flex-direction:column!important}.responsive-nav-btn{padding:8px 12px!important;font-size:12px!important}.responsive-header{padding:0 16px!important}.responsive-marquee{flex-wrap:wrap!important;gap:12px!important;padding:16px 0!important;font-size:12px!important}.responsive-projects-header{flex-direction:column!important;align-items:flex-start!important;gap:24px!important}.responsive-projects-title{font-size:32px!important}}
