/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.grid{display:grid}.table{display:table}.resize{resize:both}}:root{--ink:#f6f7f8;--muted:#9aa3ad;--panel:#12161a;--line:#2b3239;--orange:#ff6b1a;--orange-bright:#ff8742}*{box-sizing:border-box}html{background:#090b0d}body{color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;background:radial-gradient(circle at 78% 8%,#ff6b1a1f,#0000 30rem),#090b0d;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}.app-shell{min-height:100vh;padding:0 28px 22px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:88px;padding:14px 2px;display:flex}.brand-lockup{align-items:center;gap:14px;display:flex}.brand-mark{background:var(--orange);color:#fff;border-radius:11px 3px;justify-content:center;align-items:center;width:46px;height:46px;font-size:24px;font-weight:850;display:flex;transform:skew(-7deg)}.brand-lockup h1,.preview-heading h2{letter-spacing:-.02em;margin:2px 0 0;font-size:20px}.eyebrow,.step-label{color:var(--orange-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.topbar-note{color:#747e87;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:11px}.workspace{grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:20px;max-width:1580px;margin:20px auto 0;display:grid}.control-panel,.preview-panel{border:1px solid var(--line);background:#12161af0;border-radius:18px;box-shadow:0 20px 65px #00000038}.control-panel{padding:26px}.intro-copy h2{letter-spacing:-.05em;margin:9px 0 14px;font-size:clamp(29px,3vw,41px);line-height:.98}.intro-copy>p:last-child{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.builder-step{border:0;border-top:1px solid var(--line);margin:24px 0 0;padding:22px 0 0}.builder-step legend{color:#e3e7ea;align-items:center;gap:9px;padding:0;font-size:13px;font-weight:750;display:flex}.builder-step legend span{color:var(--orange-bright);font-family:var(--font-geist-mono), monospace;font-size:10px}.shape-library{gap:8px;margin-top:13px;display:grid}.shape-card{cursor:pointer;text-align:left;background:#0d1013;border:1px solid #2a3036;border-radius:11px;grid-template-columns:64px 1fr;align-items:center;gap:12px;width:100%;min-height:76px;padding:10px 13px;transition:background .15s,border-color .15s,transform .15s;display:grid}.shape-card:hover:not(:disabled){background:#171b1f;border-color:#69737d;transform:translateY(-1px)}.shape-card.is-selected{border-color:var(--orange);background:#ff6b1a12}.shape-card:disabled{cursor:default;opacity:.45}.shape-card svg,.empty-preview svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.shape-card svg{color:#85909a;width:64px;height:44px}.shape-card.is-selected svg{color:var(--orange-bright)}.shape-copy{gap:3px;display:grid}.shape-copy strong{font-size:13px}.shape-copy small{color:var(--muted);font-size:11px;line-height:1.35}.shape-copy em{color:#69737d;margin-top:2px;font-size:10px;font-style:normal}.end-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px;display:grid}.end-selector button{cursor:pointer;text-align:left;background:#0d1013;border:1px solid #2a3036;border-radius:10px;gap:4px;padding:14px;display:grid}.end-selector button.is-selected{border-color:var(--orange);background:#ff6b1a12}.end-selector strong{font-size:13px}.end-selector small{color:var(--muted);font-size:10px}.builder-message{color:#8d97a0;border-left:2px solid #4b555f;margin:12px 0 0;padding-left:11px;font-size:11px;line-height:1.5}.measurement-section{margin-bottom:0}.field-stack{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:13px;display:grid}.field-label{color:#cbd1d7;letter-spacing:.02em;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.field-stack input{color:var(--ink);background:#0b0e11;border:1px solid #363e46;border-radius:10px;outline:none;width:100%;height:48px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.field-stack input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ff6b1a24}.field-stack input:disabled{cursor:not-allowed;opacity:.42}.measurement-input{display:flex;position:relative}.measurement-input input{font-family:var(--font-geist-mono), monospace;padding-right:48px;font-size:17px;font-weight:700}.measurement-input>span{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:11px;position:absolute;top:17px;right:14px}.field-stack small{color:#707a84;margin-top:6px;font-size:10px;display:block}.preset-row{flex-wrap:wrap;gap:6px 12px;margin-top:14px;display:flex}.preset-row button{color:#8f99a3;cursor:pointer;font-family:var(--font-geist-mono), monospace;background:0 0;border:0;border-bottom:1px solid #394149;padding:2px 0;font-size:9px}.preset-row button:hover:not(:disabled){border-color:var(--orange);color:#d9dee2}.preset-row button:disabled{cursor:default;opacity:.35}.error-message{color:#ff9a88;margin:12px 0 0;font-size:12px}.download-button{background:linear-gradient(135deg, var(--orange), #e64a00);cursor:pointer;border:0;border-radius:11px;justify-content:space-between;align-items:center;width:100%;min-height:54px;margin-top:22px;padding:0 18px;font-size:15px;font-weight:800;transition:filter .15s,transform .15s;display:flex;box-shadow:0 12px 30px #ff560038}.download-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.download-button:disabled{cursor:not-allowed;filter:grayscale();opacity:.38}.download-button span:last-child{font-size:24px;line-height:1}.download-note{color:#727c85;text-align:center;margin:9px 4px 0;font-size:10px;line-height:1.45}.preview-panel{grid-template-rows:auto minmax(500px,1fr) auto;min-height:calc(100vh - 154px);display:grid;overflow:hidden}.preview-heading{justify-content:space-between;align-items:center;padding:21px 24px;display:flex}.preview-heading h2{text-transform:capitalize}.orbit-hint{color:#717b84;font-size:11px}.viewer-frame{border-bottom:1px solid var(--line);border-top:1px solid var(--line);background:radial-gradient(circle at 45% 45%,#535e6926,#0000 45%),#0b0d0f;min-height:500px;position:relative;overflow:hidden}.viewer-frame canvas{width:100%;height:100%;display:block}.empty-preview{text-align:center;z-index:2;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.empty-preview svg{color:#4d5760;width:110px;height:78px;margin-bottom:18px}.empty-preview strong{color:#b1b8be;font-size:17px}.empty-preview p{color:#727c85;max-width:360px;font-size:12px;line-height:1.5}.dimension-strip{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dimension-strip>div{border-right:1px solid var(--line);padding:19px 21px 21px}.dimension-strip>div:last-child{border-right:0}.dimension-strip span{color:var(--muted);margin-bottom:7px;font-size:11px;display:block}.dimension-strip strong{font-family:var(--font-geist-mono), monospace;font-size:14px}footer{color:#68727b;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;justify-content:space-between;max-width:1580px;margin:15px auto 0;padding:0 5px;font-size:9px;display:flex}@media (width<=1050px){.workspace{grid-template-columns:1fr}.preview-panel{min-height:650px}}@media (width<=640px){.app-shell{padding:0 14px 18px}.topbar-note{display:none}.brand-lockup h1{font-size:16px}.control-panel{padding:21px}.field-stack{grid-template-columns:1fr}.dimension-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dimension-strip>div:nth-child(2){border-right:0}.dimension-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.orbit-hint{display:none}.viewer-frame{min-height:360px}footer{flex-direction:column;gap:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
