@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg:#1b1b1b;--chrome:#2a2a2a;--chrome-dark:#202020;--panel:#252525;--panel-raised:#303030;--panel-soft:#383838;--stage:#161616;--field:#1d1d1d;--text-primary:#f0f0f0;--text-muted:#b8b8b8;--text-subtle:#8a8a8a;--accent:#4aa3ff;--accent-strong:#2d8cff;--accent-soft:#4aa3ff38;--success:#63c98b;--warning:#e0b85a;--danger:#ff7373;--border:#3d3d3d;--border-strong:#555;--shadow:0 18px 44px #0000006b;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Segoe UI,sans-serif;font-size:14px;line-height:1.35}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--bg);color:var(--text-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#1c1c1c}::-webkit-scrollbar-thumb{background:#555;border:2px solid #1c1c1c;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#686868}button,input,select{font-family:inherit}code{font-family:IBM Plex Mono,Consolas,monospace}.app-shell{min-height:100vh;color:var(--text-primary);background:var(--bg);flex-direction:column;display:flex}.intro-page{min-height:100vh;color:var(--text-primary);background:linear-gradient(180deg, #ffffff08, transparent 34%), var(--bg)}.intro-nav{background:#202020f0;border-bottom:1px solid #111;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(16px,4vw,44px);display:flex}.topbar{background:var(--chrome);border-bottom:1px solid #111;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:6px 10px;display:flex;box-shadow:inset 0 1px #ffffff0d}.brand{color:#fff;min-width:max-content;padding:0 8px;font-size:.9rem;font-weight:700}.brand-button{cursor:pointer;background:0 0;border:0}.intro-nav-action,.intro-actions button,.intro-actions a{border:1px solid var(--border);min-height:38px;color:var(--text-primary);background:var(--field);font:inherit;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-weight:700;text-decoration:none;display:inline-flex}.intro-nav-action:hover,.intro-actions a:hover{border-color:var(--accent);background:#173656}.intro-main{width:min(1180px,100% - 32px);margin:0 auto;padding:clamp(34px,8vw,92px) 0 42px}.intro-hero{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;gap:clamp(22px,5vw,56px);display:grid}.intro-copy{gap:18px;display:grid}.intro-kicker{border:1px solid var(--border);color:#dceeff;background:#4aa3ff1a;border-radius:999px;align-items:center;gap:8px;width:max-content;padding:7px 10px;font-size:.84rem;font-weight:700;display:inline-flex}.intro-copy h1{letter-spacing:0;max-width:760px;margin:0;font-size:clamp(2.15rem,6vw,4.7rem);line-height:.96}.intro-copy p{max-width:620px;color:var(--text-muted);margin:0;font-size:clamp(1rem,2vw,1.18rem);line-height:1.55}.intro-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.intro-actions .primary{border-color:var(--accent);background:var(--accent-strong);color:#fff}.intro-actions .secondary{background:0 0}.intro-product-preview{background:var(--chrome);border:1px solid #111;border-radius:8px;overflow:hidden;box-shadow:0 30px 80px #0000008c}.preview-toolbar{background:var(--chrome-dark);border-bottom:1px solid #111;align-items:center;gap:7px;min-height:36px;padding:8px 10px;display:flex}.preview-toolbar span{background:#585858;border-radius:50%;width:10px;height:10px}.preview-toolbar strong{color:var(--text-muted);margin-left:8px;font-size:.78rem}.preview-layout{grid-template-columns:48px minmax(0,1fr) 150px;min-height:360px;display:grid}.preview-tools,.preview-layers{background:var(--panel);flex-direction:column;gap:7px;padding:9px;display:flex}.preview-tools span{border:1px solid var(--border);background:var(--field);border-radius:3px;place-items:center;width:30px;height:30px;display:grid}.preview-canvas{background:linear-gradient(45deg, #242424 25%, transparent 25% 75%, #242424 75%), linear-gradient(45deg, #242424 25%, transparent 25% 75%, #242424 75%), var(--stage);background-position:0 0,12px 12px,0 0;background-size:24px 24px,24px 24px,auto;border-inline:1px solid #111;place-items:center;display:grid}.preview-art{aspect-ratio:4/3;background:radial-gradient(circle at 62% 44%,#f4f1e7 0 12%,#0000 13%),linear-gradient(135deg,#6bb9ff,#1c5d9d 45%,#111 46% 100%);border:1px solid #080808;border-radius:3px;width:min(74%,360px);position:relative;box-shadow:0 18px 42px #00000080}.preview-cut{filter:drop-shadow(0 0 2px #000000e6);border:1px dashed #fff;border-radius:45% 52% 48% 44%;position:absolute;inset:22% 18% 20% 28%}.preview-layers b,.preview-layers span{display:block}.preview-layers b{color:var(--text-muted);text-transform:uppercase;font-size:.78rem}.preview-layers span{border:1px solid var(--border);background:var(--panel-raised);color:#ededed;border-radius:3px;padding:8px;font-size:.78rem}.intro-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:clamp(28px,6vw,70px);display:grid}.intro-feature-grid article{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:18px}.intro-feature-grid h2{margin:0 0 8px;font-size:1rem}.intro-feature-grid p{color:var(--text-muted);margin:0;line-height:1.5}.controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.controls button,.controls select,.file-input-button,.sidebar button,.sidebar select,.sidebar input{border:1px solid var(--border);background:var(--field);min-height:30px;color:var(--text-primary);font:inherit;border-radius:3px;padding:5px 8px;font-size:.82rem;font-weight:500;transition:border-color .12s,background .12s,color .12s,box-shadow .12s}.controls button:hover,.file-input-button:hover,.sidebar button:hover,.brand-button:hover{border-color:var(--border-strong);background:#343434}.controls button:focus-visible,.controls select:focus-visible,.file-input-button:focus-within,.sidebar button:focus-visible,.sidebar select:focus-visible,.sidebar input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.controls button:disabled,.file-input-button.disabled,.sidebar button:disabled{opacity:.45;cursor:not-allowed}.file-input-button{cursor:pointer;align-items:center;display:inline-flex;position:relative;overflow:hidden}.file-input-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-input-button.disabled input{cursor:not-allowed}.error-strip{color:#ffd6d6;background:#ff737324;border-bottom:1px solid #ff737373;padding:8px 12px;font-size:.88rem}.mobile-panel-fabs,.mobile-panel-backdrop{display:none}.workspace{background:#111;flex:1;grid-template-columns:58px minmax(0,1fr) 330px;gap:1px;min-height:0;padding:1px;display:grid}.sidebar{background:var(--panel);min-height:0;box-shadow:none;border:1px solid #121212;flex-direction:column;gap:8px;padding:9px;display:flex;overflow:auto}.sidebar h3{background:var(--chrome-dark);color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;border-top:1px solid #171717;border-bottom:1px solid #171717;margin:10px -9px 2px;padding:6px 9px;font-size:.72rem;font-weight:700}.sidebar h3:first-child{margin-top:-9px}.sidebar.left{z-index:20;padding:7px;position:relative;overflow:visible}.sidebar.left h3{border:0;width:0;height:0;margin:0;padding:0;overflow:hidden}.sidebar label{color:var(--text-muted);font-size:.78rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toolbox-wrap{position:relative}.tool-grid{grid-template-columns:1fr;gap:4px;display:grid}.tool-grid button{text-align:center;place-items:center;min-width:40px;min-height:38px;padding:0;display:grid}.tool-icon{color:#f3f3f3;border-radius:2px;place-items:center;width:26px;height:26px;font-family:IBM Plex Mono,Consolas,monospace;font-size:.92rem;font-weight:700;display:grid}.tool-popover{opacity:0;visibility:hidden;pointer-events:none;background:#2b2b2b;border:1px solid #111;border-radius:4px;width:268px;max-height:min(72vh,680px);padding:10px;transition:opacity .12s,transform .12s,visibility 0s linear .12s;position:absolute;top:0;left:calc(100% + 9px);overflow:auto;transform:translate(-6px);box-shadow:0 16px 42px #0000008c}.tool-popover.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .12s,transform .12s,visibility;transform:translate(0)}.tool-popover-title{border-bottom:1px solid var(--border);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:9px;padding-bottom:9px;display:grid}.tool-popover-icon{border:1px solid var(--border);background:var(--field);border-radius:3px;place-items:center;width:32px;height:32px;display:grid}.tool-popover-close{align-self:start;min-height:28px;padding:4px 7px}.tool-popover-title strong,.tool-popover-title small{display:block}.tool-popover-title small{color:var(--text-muted);margin-top:2px;font-size:.76rem;line-height:1.25}.tool-common-options{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:9px;padding-top:9px;display:flex}.tool-grid .active,.segmented-control .active{border-color:var(--accent);color:#fff;background:#163a5f;box-shadow:inset 0 0 0 1px #4aa3ff3d}.lasso-panel,.tool-options{flex-direction:column;gap:7px;padding:2px 0;display:flex}.segmented-control{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.segmented-control button{padding:6px 4px;font-size:.76rem}.selection-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.selection-actions button:first-child,.selection-actions button:last-child{grid-column:1/-1}.checkbox-row{min-height:28px;color:var(--text-muted);align-items:center;gap:7px;font-size:.8rem;display:flex}.checkbox-row input{width:15px;height:15px;accent-color:var(--accent-strong)}.canvas-stage{background:linear-gradient(45deg, #242424 25%, transparent 25% 75%, #242424 75%), linear-gradient(45deg, #242424 25%, transparent 25% 75%, #242424 75%), var(--stage);touch-action:none;background-position:0 0,12px 12px,0 0;background-size:24px 24px,24px 24px,auto;border:1px solid #111;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff08}.canvas-stage.is-panning-tool{cursor:grab}.canvas-stage.is-panning-tool:active{cursor:grabbing}.canvas-stage.is-fragment-tool{cursor:move}.canvas-stage.is-eyedropper-tool,.canvas-stage.is-bucket-tool,.canvas-stage.is-magic-tool,.canvas-stage.is-marquee-tool,.canvas-stage.is-crop-tool{cursor:crosshair}.canvas-stage.is-brush-tool,.canvas-stage.is-pencil-tool,.canvas-stage.is-eraser-tool,.canvas-stage.is-magnetic-tool{cursor:none}.canvas-stage.is-zoom-tool{cursor:zoom-in}.canvas-pan{will-change:transform;transition:transform .12s ease-out}.canvas-pan.dragging{transition:none}.canvas-frame{line-height:0;display:inline-block;position:relative}.editor-canvas{max-width:min(78vw,1240px);max-height:min(82vh,930px);image-rendering:pixelated;touch-action:none;background:#fff;border:1px solid #070707;border-radius:2px;display:block;box-shadow:0 16px 44px #0009}.selection-lasso,.crop-overlay,.fragment-drag-preview,.layer-transform-overlay,.tool-cursor{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tool-cursor circle{fill:#ffffff0d;stroke:#f7f7f7;stroke-width:1px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #000000d9)}.tool-cursor text{fill:#fff;paint-order:stroke;stroke:#000000eb;stroke-width:3px;vector-effect:non-scaling-stroke;font-size:12px;font-weight:600}.crop-overlay polygon{fill:#4aa3ff14;stroke:var(--accent);stroke-width:1.25px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.selection-lasso polyline,.selection-lasso line{fill:none;stroke:#f7f7f7;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #000000e6)}.fragment-drag-preview line,.fragment-drag-preview circle{fill:#4aa3ff1f;stroke:var(--accent);stroke-width:1.25px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.layer-transform-overlay polygon{fill:#4aa3ff0a;stroke:var(--accent);stroke-width:1.4px;stroke-dasharray:7 4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #000c)}.layer-transform-overlay circle{fill:#f7f7f7;stroke:#111;stroke-width:1.2px;vector-effect:non-scaling-stroke}.layer-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.sidebar.right>.layer-actions{display:none}.layer-panel-head{border:1px solid var(--border);background:#2b2b2b;border-radius:3px;gap:7px;padding:8px;display:grid}.layer-panel-head label{gap:4px;display:grid}.layer-head-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.lock-strip{align-items:center;gap:4px;min-width:0;display:flex}.lock-strip span{color:var(--text-muted);text-transform:uppercase;margin-right:auto;font-size:.74rem}.lock-strip button{place-items:center;min-width:28px;min-height:28px;padding:3px;display:grid}.lock-strip button.active{border-color:var(--accent);color:#fff;background:#173656}.group-list,.layer-list{flex-direction:column;gap:5px;display:flex}.layer-list{max-height:310px;overflow:auto}.layer-dock{background:var(--chrome-dark);z-index:2;border-top:1px solid #111;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:0 -9px;padding:7px 9px;display:grid;position:sticky;bottom:-9px}.layer-dock button{min-height:32px;padding:4px;font-family:IBM Plex Mono,Consolas,monospace;font-size:.96rem;font-weight:700}.layer-dock button:nth-child(2),.layer-dock button:nth-child(6){background:#303030;border-color:#626262}.layer-dock button:nth-child(2):hover,.layer-dock button:nth-child(6):hover{border-color:var(--accent);background:#173656}.layer-dock button:nth-child(6):hover{border-color:var(--danger);background:#ff73732e}.layer-dock button.is-disabled{opacity:.45}.group-row{border:1px solid var(--border);background:var(--panel-raised);border-radius:3px;grid-template-columns:28px minmax(0,1fr) auto 28px;align-items:center;gap:5px;padding:6px;display:grid}.group-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.group-count{color:var(--text-muted);font-size:.76rem}.layer{border:1px solid var(--border);background:var(--panel-raised);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:3px;grid-template-columns:38px minmax(0,1fr) auto;align-items:stretch;gap:8px;padding:7px;font-size:.83rem;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.layer:hover{border-color:var(--border-strong);background:#363636}.layer.active{border-color:var(--accent);background:#24435f}.layer.selected{box-shadow:0 0 0 1px #4aa3ff73}.layer.locked{border-style:dashed}.layer.dragging{opacity:.58;outline:1px dashed var(--accent)}.layer-thumb{color:#fff;background:linear-gradient(45deg,#5a5a5a 25%,#0000 25% 75%,#5a5a5a 75%) 0 0/10px 10px,linear-gradient(45deg,#5a5a5a 25%,#0000 25% 75%,#5a5a5a 75%) 5px 5px/10px 10px,#444;border:1px solid #4a4a4a;border-radius:2px;place-items:center;min-height:38px;font-weight:700;display:grid;position:relative}.mask-dot{background:#f7f7f7;border:1px solid #111;border-radius:2px;width:13px;height:13px;position:absolute;bottom:-4px;right:-4px;box-shadow:0 0 0 1px #ffffff2e}.layer-thumb.adjustment{color:#c9f2d6;background:#304638}.layer-thumb.group{color:#e4e4ee;background:#403f49}.layer-body{flex-direction:column;gap:4px;min-width:0;display:flex}.layer-title-row{align-items:center;gap:5px;min-width:0;display:flex}.layer-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.layer-name-input{width:100%;min-width:0;padding:4px 6px}.layer-active-pill,.layer-meta span{color:var(--text-muted);white-space:nowrap;background:#0000002e;border:1px solid #ffffff14;border-radius:2px;padding:2px 5px;font-size:.68rem;line-height:1.1}.layer-active-pill{color:#fff;background:#4aa3ff38;border-color:#4aa3ff99}.layer-meta{flex-wrap:wrap;gap:3px;min-width:0;display:flex}.layer-row-actions{grid-template-columns:repeat(2,28px);align-self:start;gap:3px;display:grid}.icon-button{place-items:center;min-width:28px;min-height:28px;padding:3px;display:grid}.layer-controls{flex-direction:column;gap:6px;display:flex}.layer-control-row,.stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.sidebar input[type=range]{accent-color:var(--accent-strong);background:0 0;padding:0}.sidebar input[type=color]{min-height:32px;padding:2px}.sidebar input[type=number],.sidebar select,.controls select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=1200px){.workspace{grid-template-columns:1fr}.sidebar.left,.sidebar.right{max-height:320px}.canvas-stage{min-height:54vh}}@media (width<=760px){.intro-nav{flex-direction:column;align-items:stretch;padding:12px 14px}.intro-nav .brand{padding:0}.intro-main{width:min(100% - 24px,560px);padding-top:30px}.intro-hero,.intro-feature-grid{grid-template-columns:1fr}.intro-copy h1{font-size:2.35rem;line-height:1}.intro-product-preview{border-radius:6px}.preview-layout{grid-template-columns:42px minmax(0,1fr);min-height:300px}.preview-layers{display:none}:root{font-size:13px}.app-shell{min-height:100dvh}.topbar{flex-direction:column;align-items:stretch;gap:6px;padding:7px}.brand{padding:0;font-size:.92rem}.controls{grid-auto-columns:max-content;grid-auto-flow:column;justify-content:start;padding-bottom:3px;display:grid;overflow-x:auto}.controls button,.controls select,.file-input-button{white-space:nowrap;min-height:34px}.workspace{background:var(--stage);padding:0;display:block;position:relative}.mobile-panel-fabs{z-index:76;pointer-events:none;display:block;position:fixed;inset:0}.mobile-panel-fab{color:#f5f5f5;pointer-events:auto;touch-action:none;z-index:77;background:#242424e6;border:1px solid #ffffff29;border-radius:999px;place-items:center;width:48px;height:48px;min-height:48px;padding:0;display:grid;position:fixed;box-shadow:0 12px 34px #0000006b,inset 0 1px #ffffff14}.mobile-panel-fab.active{border-color:var(--accent);color:#fff;background:#17436d}.mobile-panel-backdrop{z-index:65;background:#0000003d;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.sidebar.mobile-panel{top:calc(env(safe-area-inset-top) + 74px);bottom:calc(env(safe-area-inset-bottom) + 10px);opacity:0;pointer-events:none;z-index:82;border:1px solid #0e0e0e;border-radius:8px;width:min(88vw,360px);max-height:none;padding:9px;transition:transform .18s,opacity .16s;position:fixed;overflow:auto;box-shadow:0 22px 58px #0000009e}.sidebar.left.mobile-panel{left:8px;transform:translate(calc(-100% - 18px))}.sidebar.right.mobile-panel{padding-bottom:56px;right:8px;transform:translate(calc(100% + 18px))}.sidebar.mobile-panel.is-mobile-open{opacity:1;pointer-events:auto;transform:translate(0)}.toolbox-wrap{position:relative}.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:0;overflow:visible}.tool-grid button{min-width:42px;min-height:42px}.tool-popover{z-index:70;width:auto;max-height:min(58dvh,460px);position:fixed;inset:auto 8px 8px;transform:translateY(8px)}.tool-popover.is-open{transform:translateY(0)}.tool-popover-title{grid-template-columns:32px minmax(0,1fr) auto;gap:7px}.canvas-stage{border-left:0;border-right:0;height:calc(100dvh - 108px);min-height:calc(100dvh - 108px)}.editor-canvas{max-width:calc(100vw - 14px);max-height:calc(100dvh - 126px)}.layer-list{max-height:210px}.layer{grid-template-columns:34px minmax(0,1fr) auto;gap:6px;padding:6px}.layer-thumb{min-height:34px}.layer-meta span{font-size:.64rem}.layer-dock{grid-template-columns:repeat(6,minmax(38px,1fr));margin:0 -9px;bottom:0}.layer-control-row,.stack{grid-template-columns:1fr}}@media (width<=420px){.layer-meta span:nth-child(n+4){display:none}.tool-popover{bottom:6px;left:6px;right:6px}}
