@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&family=Poppins:wght@300;400;600;700&display=swap";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--background:#f1efeb;--foreground:#3f2f2b;--surface:#ffffffe6;--surface-strong:#fff;--border:#3f2f2b1f;--accent:#e77826;--accent-dark:#d63b2d;--accent-soft:#e778261f;--muted:#7a6b66;--error:#d63b2d;--shadow:0 24px 60px #3f2f2b1a}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:Open Sans,Arial,Helvetica,sans-serif;display:flex;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Poppins,Arial,Helvetica,sans-serif;font-weight:300}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}.app-shell{width:min(1200px,100vw - 32px);margin:0 auto;padding:32px 0 48px;overflow-x:hidden}.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(340px,420px);align-items:center;gap:24px;min-height:100vh;display:grid}.tool-shell{gap:24px;max-width:100%;display:grid;overflow-x:hidden}.workspace-grid{grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:24px;display:grid}.panel{background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:28px}.auth-copy{gap:20px;padding:40px;display:grid}.auth-copy h2,.auth-panel h1,.hero-panel h1{letter-spacing:-.04em;font-family:Poppins,sans-serif;font-size:clamp(2rem,4vw,3.7rem);font-weight:300;line-height:.96}.auth-panel,.controls-panel,.preview-panel,.hero-panel{padding:28px}.auth-panel{gap:18px;display:grid}.hero-panel{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hero-panel p{max-width:720px}.controls-panel,.preview-panel{align-content:start;gap:18px;display:grid}.panel-eyebrow{background:var(--accent-soft);width:fit-content;color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;padding:8px 14px;font-family:Open Sans,sans-serif;font-size:.75rem;font-weight:700;display:inline-flex}.panel-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.badge{color:var(--foreground);background:#23190f0f;border-radius:999px;align-items:center;padding:7px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.muted{color:var(--muted);line-height:1.55}.small-text{font-size:.92rem}.feature-list{gap:14px;display:grid}.feature-list div{background:#fff6;border:1px solid #50361c14;border-radius:20px;gap:4px;padding:16px 18px;display:grid}.field-grid,.button-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.compact-row{grid-template-columns:1fr}.field{gap:8px;font-size:.95rem;font-weight:600;display:grid}.text-input,.upload-field input[type=file]{width:100%;color:var(--foreground);font:inherit;background:#ffffffd6;border:1px solid #50361c24;border-radius:16px;padding:14px 16px}.upload-field small{color:var(--muted);word-break:break-all;overflow-wrap:anywhere;max-width:100%;font-weight:500;display:block}.primary-button,.secondary-button{font:inherit;cursor:pointer;border:none;border-radius:16px;padding:14px 18px;font-weight:700;transition:transform .12s,opacity .12s,background .12s}.primary-button{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);color:#fff}.secondary-button{color:var(--foreground);background:#3f2f2b0f}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.summary-card{background:#ffffff8c;border:1px solid #50361c14;border-radius:20px;gap:10px;padding:16px;display:grid}.color-tools,.selected-piece-card{background:#ffffff8c;border:1px solid #50361c14;border-radius:20px;gap:12px;padding:16px;display:grid}.selected-piece-card h3{font-size:1rem}.picker-row{align-items:center;gap:12px;display:flex}.color-input{cursor:pointer;background:#ffffffd6;border:1px solid #50361c24;border-radius:12px;width:56px;height:44px;padding:4px}.color-value{font-family:var(--font-geist-mono), monospace;color:var(--muted);font-size:.92rem}.palette-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.palette-swatch{cursor:pointer;border:2px solid #0000;border-radius:14px;justify-content:end;align-items:end;min-height:52px;padding:6px;display:flex;box-shadow:inset 0 0 0 1px #23190f14}.palette-swatch span{color:#1f2937;background:#fffc;border-radius:999px;padding:2px 6px;font-size:.72rem;font-weight:700}.palette-swatch.is-active{border-color:#111827}.preview-stack{width:fit-content;max-width:100%;position:relative;overflow:hidden}.preview-original,.preview-stack canvas{border-radius:16px;width:100%;height:100%;display:block}.preview-original{object-fit:fill;position:absolute;inset:0}.piece-hover{pointer-events:none;z-index:3;color:#fff;white-space:nowrap;background:#111827e6;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700;position:absolute;box-shadow:0 8px 20px #11182740}.summary-card div{justify-content:space-between;gap:16px;display:flex}.summary-card span{color:var(--muted)}.summary-card strong{text-align:right}.breakdown-list{gap:8px;display:grid}.breakdown-row{background:#ffffff80;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.breakdown-row span{color:var(--muted)}.guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.guide-chip,.mini-button{color:var(--foreground);font:inherit;cursor:pointer;background:#ffffffd6;border:1px solid #50361c24;border-radius:14px}.guide-chip{padding:10px 12px;font-weight:600}.guide-chip.is-active{background:var(--accent-soft);color:var(--accent-dark);border-color:#9d5f2d66}.mini-button{padding:8px 10px;font-size:.88rem}.preview-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.simulator-panel{gap:18px;display:grid}.simulator-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.simulator-canvas-panel{gap:14px;padding:18px;display:grid}.cut-workbench{place-items:center;display:grid}.cut-workbench-stage{aspect-ratio:1;background:#ffffffb8;border:1px solid #50361c1f;border-radius:24px;width:min(100%,620px);position:relative;overflow:hidden}.cut-workbench-base{object-fit:contain;opacity:.42}.tile-highlight{background:#fff4e32e;border:2px solid #9d5f2da6;width:47.495%;height:47.495%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #fff9}.active-grid-layer{transform-origin:50%;width:100%;height:100%;position:absolute;top:50%;left:50%}.cut-workbench-grid{object-fit:contain;opacity:.86}.guide-overlay-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.guide-path{fill:#7c471d1a;stroke:#1118272e;stroke-width:1px;cursor:pointer;transition:fill .12s,stroke .12s}.guide-path:hover,.guide-path.is-active{fill:#9d5f2d57;stroke:#7c471dd1}.guide-path.is-open{stroke-width:20px;fill:none}.cut-simulator-svg{width:min(100%,560px);height:auto;margin:0 auto;display:block}.cut-result-canvas{aspect-ratio:1;background:#fff;border:1px solid #23190f2e;border-radius:18px;width:min(100%,560px);margin:0 auto;display:block}.sim-piece{fill:#9d5f2d14;stroke:#11182759;stroke-width:1.4px;transition:fill .12s,stroke .12s}.sim-piece.is-hovered,.sim-piece:hover{fill:#9d5f2d38;stroke:#111827bf}.simulator-caption{text-align:center;min-height:24px}.real-grid-preview{aspect-ratio:1;background:#ffffffa6;border:1px solid #50361c1f;border-radius:24px;width:min(100%,620px);margin:0 auto;position:relative;overflow:hidden}.real-grid-image{object-fit:contain}.editor-sidebar{gap:16px;display:grid;position:sticky;top:18px}.preview-surface{background-color:#0000;background-image:linear-gradient(45deg,#23190f0a 25%,#0000 25%),linear-gradient(-45deg,#23190f0a 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#23190f0a 75%),linear-gradient(-45deg,#0000 75%,#23190f0a 75%);background-position:0 0,0 14px,14px -14px,-14px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:28px 28px;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;border:1px dashed #50361c24;border-radius:24px;place-items:center;max-width:100%;min-height:540px;padding:20px;display:grid;overflow-x:auto}.preview-surface canvas{cursor:crosshair;border-radius:16px;width:auto;max-width:100%;height:auto;position:relative;box-shadow:0 18px 48px #2d1f1126}.empty-state{text-align:center;max-width:380px}.error-text{color:var(--error);font-weight:600}.success-text{color:#15803d;font-weight:600}.link-button{color:var(--accent-dark);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-size:.9rem;text-decoration:underline}.cut-viz-shell{gap:24px;padding-bottom:48px;display:grid}.cut-viz-hero{justify-content:space-between;align-items:flex-start;gap:20px;padding:28px;display:flex}.cut-viz-link{align-items:center;display:inline-flex}.cut-viz-layout{grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:24px;display:grid}.cut-viz-sidebar,.cut-viz-stage-panel{align-content:start;gap:18px;padding:24px;display:grid}.cut-viz-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cut-viz-guide-chip{color:var(--foreground);font:inherit;cursor:pointer;background:#ffffffd6;border:1px solid #50361c24;border-radius:16px;padding:12px 14px;font-weight:700;transition:background .12s,border-color .12s,transform .12s}.cut-viz-guide-chip:hover,.cut-viz-guide-chip.is-active{background:#9d5f2d24;border-color:#9d5f2d6b}.cut-viz-guide-chip:hover{transform:translateY(-1px)}.cut-viz-stage{aspect-ratio:1;background:#ffffffad;border:1px solid #50361c1f;border-radius:28px;width:min(100%,760px);margin:0 auto;position:relative;overflow:hidden}.cut-viz-svg-host{position:absolute;inset:0}.cut-viz-svg-host svg{width:100%;height:100%}.cut-viz-svg-host path{vector-effect:non-scaling-stroke}.cut-viz-base-host{opacity:.46}.cut-viz-grid-rotator{transform-origin:50%;width:100%;height:100%;position:absolute;top:50%;left:50%}.cut-viz-grid-host{opacity:.88}.cut-viz-tile-highlight{pointer-events:none;background:#fff4e324;border:2px solid #9d5f2da6;width:47.495%;height:47.495%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #ffffffb3}.cut-viz-overlay{width:100%;height:100%;position:absolute;inset:0}.cut-viz-hit-path{fill:none;stroke:#0000;stroke-width:18px;cursor:pointer}.cut-viz-selection-path{fill:#9d5f2d0a;stroke:#9d5f2d3d;stroke-width:2px;pointer-events:none}.cut-viz-selection-path.is-active{fill:#9d5f2d29;stroke:#9d5f2db3;stroke-width:3px}.cut-viz-center-path{fill:none;stroke:#9d5f2d1f;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.cut-viz-center-path.is-active{stroke:#9d5f2de0;stroke-width:5px}.cut-viz-result{aspect-ratio:1;background:#ffffffad;border:1px solid #50361c1f;border-radius:28px;width:min(100%,760px);margin:0 auto;display:block}.cut-viz-result-fill{fill:#fff4e34d}.cut-viz-result-stroke{fill:none;stroke:#9d5f2db3;stroke-width:3px}.cut-viz-result-line{fill:none;stroke:#7c471ddb;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.cut-viz-face-info{color:#5c3a1e;text-align:center;background:#7c471d14;border:1px solid #7c471d33;border-radius:8px;margin-top:.5rem;padding:.5rem .75rem;font-size:.85rem}.mobile-only{display:none}@media (max-width:980px){.desktop-only{display:none!important}.mobile-only{display:block}}.cut-viz-top-bar{grid-template-columns:1fr 1fr;align-items:end;gap:12px;padding:0 24px;display:none}@media (max-width:980px){.cut-viz-top-bar{padding:12px 16px;display:grid}.cut-viz-top-bar .field{margin-bottom:0}.cut-viz-top-bar .field span{opacity:.8;font-size:.75rem}}.cut-viz-actions{flex-direction:column;gap:10px;padding:12px 0;display:none}@media (max-width:980px){.cut-viz-actions{display:flex}.cut-viz-actions .full-width{width:100%}.auth-shell,.workspace-grid,.cut-viz-layout,.preview-layout,.simulator-layout{grid-template-columns:1fr}.editor-sidebar{position:static}.preview-surface{min-height:380px}.hero-panel{flex-direction:column}.cut-viz-hero{display:grid}}@media (max-width:640px){.app-shell{width:min(100vw - 20px,1200px);padding:16px 0 28px}.auth-copy,.auth-panel,.controls-panel,.preview-panel,.hero-panel{border-radius:22px;padding:20px}.field-grid,.button-row{grid-template-columns:1fr}.summary-card div{flex-direction:column;gap:3px}.summary-card strong{text-align:left}.palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.shape-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.shape-chip{cursor:pointer;background:#ffffffd6;border:1px solid #50361c24;border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:.88rem;transition:background .12s,border-color .12s;display:flex}.shape-chip input{width:18px;height:18px;accent-color:var(--accent-dark);cursor:pointer}.shape-chip.is-active{background:var(--accent-soft);border-color:#9d5f2d66}.generar-hero{flex-direction:column;gap:16px}@media (min-width:640px){.generar-hero{flex-direction:row;align-items:flex-start}}.generar-layout{grid-template-columns:1fr;gap:20px;display:grid}@media (min-width:980px){.generar-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:24px}}.generar-preview{grid-template-columns:1fr}.generar-layout .mobile-instructions{display:none}@media (max-width:640px){.generar-layout .mobile-instructions{display:inline-flex}.generar-layout .desktop-instructions{display:none}.generar-hero{gap:12px;padding:18px 16px}.generar-hero h1{font-size:clamp(1.5rem,5vw,2rem)}.generar-layout .controls-panel,.generar-layout .preview-panel{border-radius:18px;gap:12px;padding:16px}.generar-layout .controls-panel .field-grid{grid-template-columns:1fr 1fr;gap:8px}.generar-layout .controls-panel,.generar-layout .preview-panel{max-width:100vw;overflow-x:hidden}.generar-layout .text-input,.generar-layout select.text-input{box-sizing:border-box;max-width:100%}.generar-layout .controls-panel .field-grid .field span{font-size:.82rem}.generar-layout .text-input,.generar-layout .upload-field input[type=file]{border-radius:12px;padding:10px 12px;font-size:.92rem}.generar-layout .primary-button,.generar-layout .secondary-button{border-radius:14px;min-height:48px;padding:12px 14px;font-size:.95rem}.generar-layout .color-tools{gap:10px;padding:12px}.generar-layout .preview-surface{border-radius:16px;min-height:auto;padding:10px}.generar-layout .editor-sidebar{gap:10px}.generar-layout .selected-piece-card{gap:10px;padding:12px}.generar-layout .palette-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.generar-layout .palette-swatch{border-radius:10px;min-height:44px}.generar-layout .palette-swatch span{padding:1px 4px;font-size:.68rem}.generar-layout .color-input{width:48px;height:40px}.generar-layout .summary-card{gap:8px;padding:12px;font-size:.88rem}.generar-layout .summary-card div{gap:8px}.generar-layout .breakdown-row{padding:8px 10px;font-size:.88rem}.generar-layout .badge{padding:5px 8px;font-size:.7rem}.generar-layout .panel-title-row h2{font-size:1.1rem}.generar-layout .panel-title-row h3{font-size:.95rem}.generar-layout .small-text{font-size:.82rem}.generar-mobile-config{margin-bottom:16px}.generar-mobile-config summary{cursor:pointer;border:1px solid var(--accent);color:var(--foreground);background:#fff9;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:.9rem;font-weight:700;list-style:none;display:flex}.generar-mobile-config summary::-webkit-details-marker{display:none}.generar-mobile-config summary:after{content:"+";color:var(--foreground);font-size:1.2rem;font-weight:700}.generar-mobile-config[open] summary:after{content:"-"}.generar-mobile-config>div{padding-top:10px}.generar-mobile-result{flex-direction:column;gap:12px;display:flex}.generar-mobile-result .preview-surface{order:1}.generar-mobile-result .editor-sidebar{order:2}.generar-layout .preview-surface canvas{width:auto;max-width:100%;height:auto}.generar-layout .preview-stack{width:100%;max-width:100%;margin:0 auto}.generar-layout .preview-stack canvas{width:100%;height:auto;display:block}.generar-layout .preview-stack img{width:100%;height:100%;position:absolute;inset:0}}@media (max-width:980px){.generar-layout .preview-surface{min-height:320px;padding:14px}}
