@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@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;--color-gray-300:#ddd9d0;--color-gray-500:#9a9488;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-panel:#fefefc;--color-canvas:#fffefa;--ease-out-soft:cubic-bezier(.22,.61,.36,1);--ease-spring:cubic-bezier(.34,1.56,.64,1)}}@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{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-1{height:calc(var(--spacing)*1)}.h-\[52px\]{height:52px}.h-screen{height:100vh}.w-1{width:calc(var(--spacing)*1)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.bg-canvas{background-color:var(--color-canvas)}.bg-panel{background-color:var(--color-panel)}.p-4{padding:calc(var(--spacing)*4)}.px-4{padding-inline:calc(var(--spacing)*4)}.text-center{text-align:center}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-gray-500{color:var(--color-gray-500)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out-soft{--tw-ease:var(--ease-out-soft);transition-timing-function:var(--ease-out-soft)}.ease-spring{--tw-ease:var(--ease-spring);transition-timing-function:var(--ease-spring)}}:root{--tw-panel:#fefefc;--tw-canvas:#fffefa;--tw-gray-50:#fafaf8;--tw-gray-100:#f8f7f5;--tw-gray-200:#edeae4;--tw-gray-300:#ddd9d0;--tw-gray-400:#c5c0b5;--tw-gray-500:#9a9488;--tw-gray-600:#6b665c;--tw-gray-700:#4a463e;--tw-gray-800:#333130;--tw-gray-900:#1e1d1c;--tw-amber-50:#fffdf5;--tw-amber-100:#fef8e3;--tw-amber-200:#fcefc4;--tw-amber-300:#f9e29a;--tw-amber-400:#ffcf56;--tw-amber-500:#e6b344;--tw-amber-600:#c99a32;--tw-primary:var(--tw-amber-400);--tw-primary-hover:var(--tw-amber-500);--tw-primary-active:var(--tw-amber-600);--tw-primary-light:var(--tw-amber-50);--tw-success:#5a8a5e;--tw-success-light:#e8f0e9;--tw-warning:#d97706;--tw-warning-light:#fef3c7;--tw-error:#c2410c;--tw-error-light:#fff7ed;--tw-text-xs:.75rem;--tw-text-sm:.875rem;--tw-text-base:1rem;--tw-text-lg:1.125rem;--tw-text-xl:1.25rem;--tw-leading-tight:1.25;--tw-leading-normal:1.5;--tw-tracking-tight:-.02em;--tw-tracking-wide:.025em;--tw-space-1:.25rem;--tw-space-2:.5rem;--tw-space-3:.75rem;--tw-space-4:1rem;--tw-space-5:1.25rem;--tw-space-6:1.5rem;--tw-space-8:2rem;--tw-space-10:2.5rem;--tw-space-12:3rem;--tw-space-16:4rem;--tw-space-20:5rem;--tw-radius-sm:4px;--tw-radius-md:6px;--tw-radius-lg:8px;--tw-radius-xl:12px;--tw-border-width:1px;--tw-border-color:var(--tw-gray-300);--tw-shadow-sm:0 1px 3px #785a3214,0 1px 2px #785a320a;--tw-shadow-md:0 4px 6px #785a3212,0 2px 4px #785a320a;--tw-shadow-lg:0 10px 15px #785a3214,0 4px 6px #785a320a;--tw-shadow-glow:0 4px 12px #ffcf5640;--tw-shadow-inset:inset 0 2px 8px #785a320f,inset 0 1px 2px #785a3214;--tw-ease-out-soft:cubic-bezier(.22,.61,.36,1);--tw-ease-spring:cubic-bezier(.34,1.56,.64,1);--tw-duration-fast:.15s;--tw-duration-normal:.25s;--tw-duration-slow:.4s;--tw-stagger-delay:50ms;--tw-transition-fast:.15s var(--tw-ease-out-soft);--tw-focus-ring:0 0 0 3px #ffcf564d;--tw-btn-primary-bg:var(--tw-amber-400);--tw-btn-primary-bg-hover:var(--tw-amber-500);--tw-btn-primary-bg-active:var(--tw-amber-600);--tw-btn-primary-text:var(--tw-gray-900);--tw-btn-primary-shadow:0 1px 2px #ffcf564d;--tw-btn-primary-shadow-hover:0 4px 12px #ffcf5640;--tw-btn-secondary-bg:var(--tw-panel);--tw-btn-secondary-bg-hover:var(--tw-gray-100);--tw-btn-secondary-bg-active:var(--tw-gray-200);--tw-btn-secondary-text:var(--tw-gray-900);--tw-btn-secondary-border:var(--tw-gray-300);--tw-input-bg:#fff;--tw-input-border:var(--tw-gray-300);--tw-input-border-hover:var(--tw-gray-400);--tw-input-border-focus:var(--tw-amber-400);--tw-input-text:var(--tw-gray-900);--tw-input-placeholder:var(--tw-gray-500);--tw-panel-bg:var(--tw-panel);--tw-panel-border:var(--tw-gray-300);--tw-canvas-bg:var(--tw-canvas);--tw-canvas-border:var(--tw-gray-300);--tw-canvas-grid:var(--tw-gray-300);--tw-selection-fill:#ffcf5626;--tw-selection-stroke:var(--tw-amber-400)}*{box-sizing:border-box}body{font-family:var(--tw-font-sans);font-size:var(--tw-text-sm);line-height:var(--tw-leading-normal);color:var(--tw-gray-900);background:var(--tw-panel);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes glow-pulse{0%,to{box-shadow:0 0 #ffcf5600}50%{box-shadow:0 0 12px 2px #ffcf564d}}.panel:first-child{animation-delay:0s}.panel:nth-child(2){animation-delay:50ms}.panel:nth-child(3){animation-delay:.1s}.panel:nth-child(4){animation-delay:.15s}.panel:nth-child(5){animation-delay:.2s}.panel{padding:var(--tw-space-4);border-bottom:var(--tw-border-width)solid var(--tw-panel-border);animation:fadeInUp var(--tw-duration-slow)var(--tw-ease-out-soft)backwards;position:relative}.panel:before{content:"";opacity:.015;pointer-events:none;border-radius:inherit;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.panel:last-child{border-bottom:none}.panel h3{margin:0 0 var(--tw-space-3)0;font-size:var(--tw-text-xs);color:var(--tw-gray-600);text-transform:uppercase;letter-spacing:var(--tw-tracking-wide);font-weight:600}.panel-heading-row{justify-content:space-between;align-items:center;display:flex}.panel-heading-row h3{margin-bottom:0}.panel-heading-row+*{margin-top:var(--tw-space-3)}.info-icon{color:var(--tw-gray-400);cursor:help;transition:color var(--tw-transition-fast);align-items:center;display:flex}.info-icon:hover{color:var(--tw-gray-500)}.info-tooltip{max-width:200px}.control-label{margin:0 0 var(--tw-space-3)0;font-size:var(--tw-text-xs);color:var(--tw-gray-500);text-transform:uppercase;letter-spacing:var(--tw-tracking-wide);font-weight:600;display:block}.panel .hint{font-size:var(--tw-text-xs);color:var(--tw-gray-500);margin:var(--tw-space-2)0 0 0}.panel .hint a{color:var(--tw-amber-600);transition:color var(--tw-transition-fast);text-decoration:none}.panel .hint a:hover{color:var(--tw-amber-500);text-decoration:underline}.panel .warning{font-size:var(--tw-text-xs);color:var(--tw-warning);margin:var(--tw-space-2)0 0 0}.panel .error{font-size:var(--tw-text-xs);color:var(--tw-error);background:var(--tw-error-light);padding:var(--tw-space-2)var(--tw-space-3);border-radius:var(--tw-radius-md);margin-bottom:var(--tw-space-3)}.panel button{padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-md);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft),transform var(--tw-duration-fast)var(--tw-ease-out-soft);border:var(--tw-border-width)solid var(--tw-btn-secondary-border);background:var(--tw-btn-secondary-bg);color:var(--tw-btn-secondary-text);font-family:inherit;font-weight:600}.panel button:hover:not(:disabled){background:var(--tw-btn-secondary-bg-hover);border-color:var(--tw-gray-400)}.panel button:active:not(:disabled){background:var(--tw-btn-secondary-bg-active);transform:scale(.98)}.panel button:disabled{opacity:.5;cursor:not-allowed}.panel button.btn-primary,.panel button.generate-btn{background:var(--tw-btn-primary-bg);border-color:var(--tw-btn-primary-bg);color:var(--tw-btn-primary-text);box-shadow:var(--tw-btn-primary-shadow)}.panel button.btn-primary:hover:not(:disabled),.panel button.generate-btn:hover:not(:disabled){background:var(--tw-btn-primary-bg-hover);border-color:var(--tw-btn-primary-bg-hover);box-shadow:var(--tw-btn-primary-shadow-hover);transform:translateY(-1px)}.panel button.btn-primary:active:not(:disabled),.panel button.generate-btn:active:not(:disabled){background:var(--tw-btn-primary-bg-active);border-color:var(--tw-btn-primary-bg-active);box-shadow:var(--tw-btn-primary-shadow);transform:scale(.98)translateY(0)}.panel input[type=text]:not(.texture-library-name-input),.panel input[type=password],.panel textarea,.panel select{width:100%;padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);background:var(--tw-input-bg);border:var(--tw-border-width)solid var(--tw-input-border);border-radius:var(--tw-radius-md);color:var(--tw-input-text);transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);font-family:inherit}.panel input:hover,.panel textarea:hover,.panel select:hover{border-color:var(--tw-input-border-hover)}.panel input:focus,.panel textarea:focus,.panel select:focus{border-color:var(--tw-input-border-focus);box-shadow:var(--tw-focus-ring);outline:none}.panel input::placeholder,.panel textarea::placeholder{color:var(--tw-input-placeholder)}.panel textarea{resize:vertical;min-height:80px}.slider-root{-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;width:100%;height:20px;display:flex;position:relative}.slider-track{background:var(--tw-gray-200);border-radius:9999px;flex-grow:1;height:6px;position:relative}.slider-range{background:var(--tw-amber-400);border-radius:9999px;height:100%;position:absolute}.slider-thumb{background:var(--tw-panel);border:2px solid var(--tw-amber-500);width:18px;height:18px;box-shadow:var(--tw-shadow-sm);cursor:grab;transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft),transform var(--tw-duration-fast)var(--tw-ease-out-soft);border-radius:50%;display:block}.slider-thumb:hover{border-color:var(--tw-amber-600);box-shadow:var(--tw-shadow-md)}.slider-thumb:focus{box-shadow:var(--tw-focus-ring);outline:none}.slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.grid-size-slider{gap:var(--tw-space-2);flex-direction:column;display:flex}.slider-labels{font-size:var(--tw-text-xs);color:var(--tw-gray-500);justify-content:space-between;display:flex}.slider-labels .slider-value{color:var(--tw-gray-700);font-weight:600}.zoom-controls{align-items:center;gap:var(--tw-space-2);display:flex}.zoom-value{text-align:center;min-width:48px;font-size:var(--tw-text-sm);font-weight:600;font-family:var(--tw-font-mono);color:var(--tw-gray-700)}.panel button.zoom-btn{width:32px;height:32px;color:var(--tw-gray-600);justify-content:center;align-items:center;padding:0;display:flex}.panel button.zoom-btn:hover:not(:disabled){color:var(--tw-gray-900)}.panel button.zoom-btn.reset-btn{margin-left:auto}.checkbox-label{align-items:center;gap:var(--tw-space-2);margin-top:var(--tw-space-3);font-size:var(--tw-text-sm);color:var(--tw-gray-700);cursor:pointer;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;accent-color:var(--tw-amber-500)}.variation-control{align-items:center;gap:var(--tw-space-2);margin-top:var(--tw-space-3);display:flex}.variation-control .checkbox-label{margin-top:0}.panel button.shuffle-btn{border:var(--tw-border-width)solid var(--tw-gray-300);border-radius:var(--tw-radius-md);width:28px;height:28px;transition:color var(--tw-duration-fast),border-color var(--tw-duration-fast),background var(--tw-duration-fast);margin-left:auto}.panel button.shuffle-btn:active:not(:disabled){color:var(--tw-amber-600);border-color:var(--tw-amber-400);background:var(--tw-amber-50)}.select-trigger{width:100%;padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);background:var(--tw-input-bg);border:var(--tw-border-width)solid var(--tw-input-border);border-radius:var(--tw-radius-md);color:var(--tw-input-text);cursor:pointer;transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);justify-content:space-between;align-items:center;font-family:inherit;display:flex}.select-trigger:hover{border-color:var(--tw-input-border-hover)}.select-trigger:focus{border-color:var(--tw-input-border-focus);box-shadow:var(--tw-focus-ring);outline:none}.select-trigger[data-disabled]{opacity:.5;cursor:not-allowed}.select-trigger[data-placeholder]{color:var(--tw-input-placeholder)}.select-icon{color:var(--tw-gray-500);transition:transform var(--tw-duration-fast)var(--tw-ease-out-soft)}.select-trigger[data-state=open] .select-icon{transform:rotate(180deg)}.select-content{background:var(--tw-panel);border:var(--tw-border-width)solid var(--tw-gray-300);border-radius:var(--tw-radius-md);box-shadow:var(--tw-shadow-lg);animation:fadeInUp var(--tw-duration-fast)var(--tw-ease-out-soft);z-index:150;min-width:var(--radix-select-trigger-width);overflow:hidden}.select-content[data-state=closed]{animation:fadeOut var(--tw-duration-fast)var(--tw-ease-out-soft)}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.select-viewport{padding:var(--tw-space-1)}.select-content[data-position=popper]{width:var(--radix-select-trigger-width);min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height)}.select-item{align-items:center;gap:var(--tw-space-2);padding:var(--tw-space-2)var(--tw-space-3);padding-left:calc(var(--tw-space-3) + 16px);font-size:var(--tw-text-sm);color:var(--tw-gray-800);border-radius:var(--tw-radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft);outline:none;display:flex;position:relative}.select-item[data-highlighted]{background:var(--tw-gray-100);color:var(--tw-gray-900)}.select-item[data-state=checked]{color:var(--tw-gray-900);font-weight:500}.select-item[data-disabled]{color:var(--tw-gray-400);pointer-events:none}.select-item-indicator{left:var(--tw-space-2);color:var(--tw-amber-500);justify-content:center;align-items:center;display:flex;position:absolute}.select-label{padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-xs);color:var(--tw-gray-500);text-transform:uppercase;letter-spacing:var(--tw-tracking-wide);font-weight:600}.select-separator{height:1px;margin:var(--tw-space-1)0;background:var(--tw-gray-200)}.select-scroll-btn{height:24px;color:var(--tw-gray-500);cursor:default;justify-content:center;align-items:center;display:flex}.tooltip-content{padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-xs);line-height:var(--tw-leading-normal);color:var(--tw-gray-100);background:var(--tw-gray-800);border-radius:var(--tw-radius-md);box-shadow:var(--tw-shadow-md);max-width:240px;animation:fadeIn var(--tw-duration-fast)var(--tw-ease-out-soft);z-index:50}.tooltip-content[data-state=closed]{animation:fadeOut var(--tw-duration-fast)var(--tw-ease-out-soft)}.texture-preview{gap:var(--tw-space-2);flex-direction:column;display:flex}.texture-preview img{object-fit:cover;border-radius:var(--tw-radius-md);border:var(--tw-border-width)solid var(--tw-gray-200);width:100%;height:80px;transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft)}.texture-preview img:hover{border-color:var(--tw-amber-300)}.texture-actions{gap:var(--tw-space-2);display:flex}.texture-actions button{flex:1}.upload-btn{width:100%}.selection-info{margin-bottom:var(--tw-space-3);padding:var(--tw-space-2)var(--tw-space-3);background:var(--tw-amber-50);border:1px solid var(--tw-amber-200);border-radius:var(--tw-radius-md);font-size:var(--tw-text-sm);color:var(--tw-gray-700);justify-content:space-between;align-items:center;display:flex}.panel button.clear-btn{padding:var(--tw-space-1)var(--tw-space-2);font-size:var(--tw-text-xs)}.reference-section{margin-bottom:var(--tw-space-3)}.reference-section label,.prompt-section label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);margin-bottom:var(--tw-space-2);font-weight:600;display:block}.reference-preview{gap:var(--tw-space-2);align-items:flex-start;display:flex}.reference-preview img{object-fit:cover;border-radius:var(--tw-radius-md);border:var(--tw-border-width)solid var(--tw-gray-200);width:64px;height:64px;transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft)}.reference-preview img:hover{border-color:var(--tw-amber-300)}.prompt-section{margin-bottom:var(--tw-space-3)}.prompt-section .prompt-hint{font-size:var(--tw-text-xs);color:var(--tw-gray-500);margin:calc(-1*var(--tw-space-1))0 var(--tw-space-2)0;font-weight:400}.generate-btn{width:100%}.api-key-status{justify-content:space-between;align-items:center;display:flex}.status-indicator{font-size:var(--tw-text-sm);color:var(--tw-success);font-weight:600}.api-key-actions{gap:var(--tw-space-2);display:flex}.api-key-actions button{padding:var(--tw-space-1)var(--tw-space-2);font-size:var(--tw-text-xs)}.feature-list{gap:var(--tw-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.feature-item{align-items:center;gap:var(--tw-space-2);padding:var(--tw-space-2);background:var(--tw-gray-100);border-radius:var(--tw-radius-md);animation:slideInRight var(--tw-duration-normal)var(--tw-ease-out-soft)backwards;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);border:2px solid #0000;display:flex;position:relative}.feature-item:hover{background:var(--tw-gray-50)}.feature-item:first-child{animation-delay:0s}.feature-item:nth-child(2){animation-delay:50ms}.feature-item:nth-child(3){animation-delay:.1s}.feature-item:nth-child(4){animation-delay:.15s}.feature-item:nth-child(5){animation-delay:.2s}.feature-item.generating{border-left:3px solid var(--tw-amber-400);animation:slideInRight var(--tw-duration-normal)var(--tw-ease-out-soft)backwards,glow-pulse 2s ease-in-out infinite}.feature-item.complete{border-left:3px solid var(--tw-success)}.feature-item.error{border-left:3px solid var(--tw-error)}.feature-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.feature-prompt{font-size:var(--tw-text-sm);white-space:nowrap;text-overflow:ellipsis;color:var(--tw-gray-800);overflow:hidden}.feature-status{align-items:center;gap:var(--tw-space-1);font-size:var(--tw-text-xs);color:var(--tw-gray-500);text-transform:capitalize;display:flex}.feature-thumbnail{object-fit:cover;border-radius:var(--tw-radius-sm);width:36px;height:36px}.panel button.remove-btn{top:var(--tw-space-1);right:var(--tw-space-1);font-size:var(--tw-text-base);color:var(--tw-gray-400);transition:color var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;border:none;padding:0 6px;line-height:1;position:absolute}.panel button.remove-btn:hover{color:var(--tw-error);background:0 0}.export-tabs{margin-bottom:var(--tw-space-3);background:var(--tw-gray-200);border-radius:var(--tw-radius-md);gap:2px;padding:2px;display:flex}.export-tab{padding:var(--tw-space-2);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-sm);color:var(--tw-gray-600);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;border:none;flex:1;font-weight:500}.export-tab:hover{color:var(--tw-gray-800)}.export-tab.active{color:var(--tw-gray-900);box-shadow:var(--tw-shadow-sm);background:#fff}.export-buttons{gap:var(--tw-space-2);display:flex}.export-buttons button{flex:1}.export-hero-content .hint{margin-bottom:var(--tw-space-3)}.export-autotile-content{gap:var(--tw-space-3);flex-direction:column;display:flex}.export-field{gap:var(--tw-space-1);flex-direction:column;display:flex}.export-field label{font-size:var(--tw-text-xs);color:var(--tw-gray-700);font-weight:500}.export-field select,.export-field input[type=text],.export-field input[type=number]{padding:var(--tw-space-2);font-size:var(--tw-text-sm);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);background:#fff}.export-field select:focus,.export-field input:focus{border-color:var(--tw-amber-400);box-shadow:0 0 0 2px var(--tw-amber-100);outline:none}.export-field input[type=range]{width:100%;accent-color:var(--tw-amber-500)}.export-format-toggle{background:var(--tw-gray-100);border-radius:var(--tw-radius-md);gap:2px;padding:2px;display:flex}.export-format-toggle button{padding:var(--tw-space-2);font-size:var(--tw-text-xs);border-radius:var(--tw-radius-sm);color:var(--tw-gray-600);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;border:none;flex:1;font-weight:500}.export-format-toggle button:hover{color:var(--tw-gray-800)}.export-format-toggle button.active{color:var(--tw-gray-900);box-shadow:var(--tw-shadow-sm);background:#fff}.export-advanced-toggle{padding:var(--tw-space-2);font-size:var(--tw-text-xs);color:var(--tw-gray-600);cursor:pointer;text-align:left;background:0 0;border:none}.export-advanced-toggle:hover{color:var(--tw-gray-800)}.export-advanced{gap:var(--tw-space-2);padding:var(--tw-space-3);background:var(--tw-gray-50);border-radius:var(--tw-radius-md);flex-direction:column;display:flex}.autotile-preview-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:fadeIn var(--tw-duration-fast)var(--tw-ease-out-soft);background:#1e1d1cb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.autotile-preview-modal{background:var(--tw-panel);border-radius:var(--tw-radius-lg);box-shadow:var(--tw-shadow-xl);width:90vw;max-width:600px;max-height:85vh;animation:dialogIn var(--tw-duration-normal)var(--tw-ease-spring);overflow-y:auto}.autotile-preview-header{padding:var(--tw-space-4);border-bottom:1px solid var(--tw-gray-200);justify-content:space-between;align-items:center;display:flex}.autotile-preview-header h4{font-size:var(--tw-text-lg);margin:0;font-weight:600}.autotile-preview-header .close-btn{background:var(--tw-gray-100);border-radius:var(--tw-radius-full);width:32px;height:32px;font-size:var(--tw-text-xl);color:var(--tw-gray-600);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);border:none;justify-content:center;align-items:center;display:flex}.autotile-preview-header .close-btn:hover{background:var(--tw-gray-200);color:var(--tw-gray-800)}.autotile-preview-content{padding:var(--tw-space-4);gap:var(--tw-space-4);flex-direction:column;display:flex}.autotile-spritesheet-preview{padding:var(--tw-space-4);background:var(--tw-gray-100);border-radius:var(--tw-radius-md);justify-content:center;display:flex;overflow:auto}.autotile-spritesheet-preview img{max-width:100%;height:auto;image-rendering:pixelated;border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-sm)}.autotile-preview-info{gap:var(--tw-space-2);padding:var(--tw-space-3);background:var(--tw-gray-50);border-radius:var(--tw-radius-md);grid-template-columns:repeat(2,1fr);display:grid}.autotile-preview-info p{font-size:var(--tw-text-sm);color:var(--tw-gray-700);margin:0}.autotile-preview-info strong{color:var(--tw-gray-900)}.autotile-export-options .export-field{flex:1}.autotile-preview-actions{gap:var(--tw-space-2);padding-top:var(--tw-space-3);border-top:1px solid var(--tw-gray-200);display:flex}.autotile-preview-actions button{padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-md);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);flex:1;font-weight:500}.autotile-preview-actions button:not(.btn-primary){background:var(--tw-gray-100);border:1px solid var(--tw-gray-300);color:var(--tw-gray-700)}.autotile-preview-actions button:not(.btn-primary):hover{background:var(--tw-gray-200)}.autotile-preview-actions button.btn-primary{background:var(--tw-btn-primary-bg);border:1px solid var(--tw-btn-primary-bg);color:var(--tw-btn-primary-text)}.autotile-preview-actions button.btn-primary:hover{background:var(--tw-btn-primary-bg-hover)}.autotile-modal{max-width:560px}.autotile-modal--preview{max-width:900px}.autotile-config{gap:var(--tw-space-4);margin-top:var(--tw-space-4);flex-direction:column;display:flex}.autotile-texture-row{align-items:center;gap:var(--tw-space-3);display:flex}.autotile-texture-select{gap:var(--tw-space-2);flex-direction:column;flex:1;display:flex}.autotile-texture-select label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);font-weight:500}.autotile-texture-picker{align-items:center;gap:var(--tw-space-2);display:flex}.autotile-texture-thumb{object-fit:cover;border-radius:var(--tw-radius-md);border:2px solid var(--tw-gray-300);width:48px;height:48px}.autotile-texture-placeholder{background:var(--tw-gray-100);border:2px dashed var(--tw-gray-300);border-radius:var(--tw-radius-md);width:48px;height:48px;font-size:var(--tw-text-lg);color:var(--tw-gray-400);justify-content:center;align-items:center;display:flex}.autotile-texture-picker select{padding:var(--tw-space-2);font-size:var(--tw-text-sm);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);background:#fff;flex:1}.autotile-texture-picker select:focus{border-color:var(--tw-amber-400);box-shadow:0 0 0 2px var(--tw-amber-100);outline:none}.autotile-blend-arrow{font-size:var(--tw-text-xl);color:var(--tw-gray-400);padding:0 var(--tw-space-1)}.autotile-options-row{gap:var(--tw-space-4);display:flex}.autotile-option{gap:var(--tw-space-2);flex-direction:column;flex:1;display:flex}.autotile-option label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);font-weight:500}.autotile-option select{padding:var(--tw-space-2);font-size:var(--tw-text-sm);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);background:#fff}.autotile-option select:focus{border-color:var(--tw-amber-400);box-shadow:0 0 0 2px var(--tw-amber-100);outline:none}.autotile-format-toggle{background:var(--tw-gray-100);border-radius:var(--tw-radius-md);gap:2px;padding:2px;display:flex}.autotile-format-toggle button{padding:var(--tw-space-2);font-size:var(--tw-text-xs);border-radius:var(--tw-radius-sm);color:var(--tw-gray-600);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;border:none;flex:1;font-weight:500}.autotile-format-toggle button:hover{color:var(--tw-gray-800)}.autotile-format-toggle button.active{color:var(--tw-gray-900);box-shadow:var(--tw-shadow-sm);background:#fff}.autotile-format-hint{font-size:var(--tw-text-xs);color:var(--tw-gray-500)}.autotile-settings-panel{background:var(--tw-gray-50);border-radius:var(--tw-radius-md);padding:var(--tw-space-3)}.autotile-settings-header{margin-bottom:var(--tw-space-3);padding-bottom:var(--tw-space-3);border-bottom:1px solid var(--tw-gray-200);justify-content:space-between;align-items:center;display:flex}.autotile-settings-header span{font-size:var(--tw-text-sm);color:var(--tw-gray-700);font-weight:500}.autotile-refresh-btn{padding:var(--tw-space-2)var(--tw-space-4);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-md);border:1px solid var(--tw-btn-primary-bg);background:var(--tw-btn-primary-bg);color:var(--tw-btn-primary-text);box-shadow:var(--tw-btn-primary-shadow);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);font-weight:500}.autotile-refresh-btn:hover:not(:disabled){background:var(--tw-btn-primary-bg-hover);border-color:var(--tw-btn-primary-bg-hover);box-shadow:var(--tw-btn-primary-shadow-hover)}.autotile-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.autotile-settings-grid{gap:var(--tw-space-3);flex-direction:column;display:flex}.autotile-slider{gap:var(--tw-space-1);flex-direction:column;display:flex}.autotile-slider label{font-size:var(--tw-text-xs);color:var(--tw-gray-700);font-weight:500}.autotile-slider input[type=range]{width:100%;accent-color:var(--tw-amber-500)}.autotile-slider-hint{font-size:var(--tw-text-xs);color:var(--tw-gray-500)}.autotile-seed{align-items:center;gap:var(--tw-space-2);display:flex}.autotile-seed label{font-size:var(--tw-text-xs);color:var(--tw-gray-700);min-width:40px;font-weight:500}.autotile-seed input[type=number]{padding:var(--tw-space-2);font-size:var(--tw-text-sm);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);background:#fff;flex:1}.autotile-seed input[type=number]:focus{border-color:var(--tw-amber-400);box-shadow:0 0 0 2px var(--tw-amber-100);outline:none}.autotile-seed button{padding:var(--tw-space-2);font-size:var(--tw-text-xs);background:var(--tw-gray-100);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);color:var(--tw-gray-700);cursor:pointer}.autotile-seed button:hover{background:var(--tw-gray-200)}.autotile-error{color:var(--tw-error);font-size:var(--tw-text-sm);padding:var(--tw-space-2);background:var(--tw-error-bg);border-radius:var(--tw-radius-md)}.autotile-actions{gap:var(--tw-space-2);padding-top:var(--tw-space-3);border-top:1px solid var(--tw-gray-200);justify-content:flex-end;display:flex}.autotile-actions button{padding:var(--tw-space-2)var(--tw-space-4);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-md);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);font-weight:500}.autotile-actions button:not(.btn-primary){background:var(--tw-gray-100);border:1px solid var(--tw-gray-300);color:var(--tw-gray-700)}.autotile-actions button:not(.btn-primary):hover{background:var(--tw-gray-200)}.autotile-actions button.btn-primary{background:var(--tw-btn-primary-bg);border:1px solid var(--tw-btn-primary-bg);color:var(--tw-btn-primary-text)}.autotile-actions button.btn-primary:hover{background:var(--tw-btn-primary-bg-hover)}.autotile-actions button:disabled{opacity:.5;cursor:not-allowed}.autotile-spritesheet-container{position:relative}.autotile-spritesheet--empty{min-height:200px;color:var(--tw-gray-500);font-size:var(--tw-text-sm);justify-content:center;align-items:center;display:flex}.autotile-loading-overlay{border-radius:var(--tw-radius-md);background:#ffffffb3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.autotile-spinner{border:4px solid var(--tw-gray-200);border-top-color:var(--tw-amber-500);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.autotile-preview{gap:var(--tw-space-4);margin-top:var(--tw-space-4);flex-direction:column;display:flex}.autotile-spritesheet{padding:var(--tw-space-6);background:var(--tw-gray-100);border-radius:var(--tw-radius-md);justify-content:center;align-items:center;min-height:360px;display:flex;position:relative;overflow:auto}.autotile-spritesheet img{max-width:100%;height:auto;max-height:500px;image-rendering:pixelated;border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-sm)}.autotile-expand-btn{top:var(--tw-space-2);right:var(--tw-space-2);background:var(--tw-gray-800);border-radius:var(--tw-radius-md);color:#fff;cursor:pointer;opacity:.7;width:32px;height:32px;transition:opacity var(--tw-duration-fast)var(--tw-ease-out-soft);border:none;justify-content:center;align-items:center;display:flex;position:absolute}.autotile-expand-btn:hover{opacity:1}.autotile-info{gap:var(--tw-space-3);padding:var(--tw-space-3);background:var(--tw-gray-50);border-radius:var(--tw-radius-md);font-size:var(--tw-text-sm);color:var(--tw-gray-700);flex-wrap:wrap;display:flex}.autotile-info strong{color:var(--tw-gray-900)}.autotile-export-options{gap:var(--tw-space-3);display:flex}.autotile-export-field{gap:var(--tw-space-1);flex-direction:column;flex:1;display:flex}.autotile-export-field label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);font-weight:500}.autotile-export-field input,.autotile-export-field select{padding:var(--tw-space-2);font-size:var(--tw-text-sm);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);background:#fff}.autotile-export-field input:focus,.autotile-export-field select:focus{border-color:var(--tw-amber-400);box-shadow:0 0 0 2px var(--tw-amber-100);outline:none}.autotile-export-actions{gap:var(--tw-space-2);display:flex}.autotile-export-actions button{padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-md);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);flex:1;font-weight:500}.autotile-export-actions button:not(.btn-primary){background:var(--tw-gray-100);border:1px solid var(--tw-gray-300);color:var(--tw-gray-700)}.autotile-export-actions button:not(.btn-primary):hover{background:var(--tw-gray-200)}.autotile-export-actions button.btn-primary{background:var(--tw-btn-primary-bg);border:1px solid var(--tw-btn-primary-bg);color:var(--tw-btn-primary-text)}.autotile-export-actions button.btn-primary:hover{background:var(--tw-btn-primary-bg-hover)}.autotile-back-actions{padding-top:var(--tw-space-3);border-top:1px solid var(--tw-gray-200)}.autotile-back-actions button{padding:var(--tw-space-2);font-size:var(--tw-text-sm);color:var(--tw-gray-600);cursor:pointer;background:0 0;border:none}.autotile-back-actions button:hover{color:var(--tw-gray-900)}.export-actions{gap:var(--tw-space-2);flex-direction:column;display:flex}.export-action-btn{align-items:center;gap:var(--tw-space-3);padding:var(--tw-space-3);background:var(--tw-gray-50);border:1px solid var(--tw-gray-200);border-radius:var(--tw-radius-md);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);text-align:left;display:flex}.export-action-btn:hover{background:var(--tw-gray-100);border-color:var(--tw-gray-300)}.export-action-icon{border-radius:var(--tw-radius-md);border:1px solid var(--tw-gray-200);width:36px;height:36px;color:var(--tw-gray-600);transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);background:#fff;justify-content:center;align-items:center;display:flex}.export-action-btn:hover .export-action-icon{color:var(--tw-amber-600);border-color:var(--tw-amber-200);background:var(--tw-amber-50)}.export-action-text{flex-direction:column;gap:2px;display:flex}.export-action-text strong{font-size:var(--tw-text-sm);color:var(--tw-gray-900);font-weight:600}.export-action-text small{font-size:var(--tw-text-xs);color:var(--tw-gray-500)}.export-action-btn:disabled{opacity:.5;cursor:not-allowed}.export-action-btn:disabled:hover{background:var(--tw-gray-50);border-color:var(--tw-gray-200)}.export-action-btn:disabled:hover .export-action-icon{color:var(--tw-gray-600);border-color:var(--tw-gray-200);background:#fff}.cell-size-picker{gap:var(--tw-space-1);flex-direction:column;flex:1;display:flex}.cell-size-picker label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);font-weight:500}.export-mode-toggle{background:var(--tw-gray-100);border-radius:var(--tw-radius-md);gap:2px;padding:2px;display:flex}.export-mode-toggle button{padding:var(--tw-space-2);font-size:var(--tw-text-xs);border-radius:var(--tw-radius-sm);color:var(--tw-gray-600);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;border:none;flex:1;font-weight:500}.export-mode-toggle button:hover{color:var(--tw-gray-800)}.export-mode-toggle button.active{color:var(--tw-gray-900);box-shadow:var(--tw-shadow-sm);background:#fff}.export-mode-description{font-size:var(--tw-text-xs);color:var(--tw-gray-500);margin:0;font-style:italic}.autotile-uv-scale{gap:var(--tw-space-3);flex-direction:column;display:flex}.hero-tile-export-modal{max-width:600px}.hero-tile-export-content{gap:var(--tw-space-4);margin-top:var(--tw-space-4);flex-direction:column;display:flex}.tile-selection-header{justify-content:space-between;align-items:center;display:flex}.tile-selection-toggle{font-size:var(--tw-text-xs);color:var(--tw-amber-600);cursor:pointer;background:0 0;border:none;padding:0;font-weight:500}.tile-selection-toggle:hover{color:var(--tw-amber-700);text-decoration:underline}.tile-selection-count{font-size:var(--tw-text-xs);color:var(--tw-gray-500)}.tile-selection-grid{gap:var(--tw-space-2);max-height:240px;padding:var(--tw-space-2);background:var(--tw-gray-50);border-radius:var(--tw-radius-md);border:1px solid var(--tw-gray-200);grid-template-columns:repeat(auto-fill,minmax(80px,1fr));display:grid;overflow-y:auto}.tile-selection-item{padding:var(--tw-space-1);border:2px solid var(--tw-gray-200);border-radius:var(--tw-radius-md);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);background:#fff;flex-direction:column;align-items:center;gap:4px;display:flex}.tile-selection-item:hover{border-color:var(--tw-gray-400)}.tile-selection-item.selected{border-color:var(--tw-amber-400);background:var(--tw-amber-50)}.tile-selection-thumb{justify-content:center;align-items:center;width:60px;height:60px;display:flex;position:relative}.tile-selection-thumb img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;border-radius:var(--tw-radius-sm)}.tile-selection-loading{border:2px solid var(--tw-gray-300);border-top-color:var(--tw-amber-500);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.tile-selection-placeholder{background:var(--tw-gray-100);border-radius:var(--tw-radius-sm);width:100%;height:100%}.tile-selection-check{background:var(--tw-amber-500);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.tile-selection-name{color:var(--tw-gray-600);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:70px;font-size:10px;overflow:hidden}.hero-tile-export-settings{gap:var(--tw-space-3);display:flex}.hero-tile-export-field{gap:var(--tw-space-1);flex-direction:column;flex:1;display:flex}.hero-tile-export-field label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);font-weight:500}.hero-tile-export-field input{padding:var(--tw-space-2);font-size:var(--tw-text-sm);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);background:#fff}.hero-tile-export-field input:focus{border-color:var(--tw-amber-400);box-shadow:0 0 0 2px var(--tw-amber-100);outline:none}.hero-tile-export-filename{align-items:center;display:flex}.hero-tile-export-filename input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.hero-tile-export-extension{padding:var(--tw-space-2);font-size:var(--tw-text-sm);background:var(--tw-gray-100);border:1px solid var(--tw-gray-300);border-top-right-radius:var(--tw-radius-md);border-bottom-right-radius:var(--tw-radius-md);color:var(--tw-gray-500)}.hero-tile-export-info{gap:var(--tw-space-4);padding:var(--tw-space-3);background:var(--tw-gray-50);border-radius:var(--tw-radius-md);font-size:var(--tw-text-sm);color:var(--tw-gray-700);display:flex}.hero-tile-export-info strong{color:var(--tw-gray-900)}.hero-tile-export-actions{gap:var(--tw-space-2);padding-top:var(--tw-space-3);border-top:1px solid var(--tw-gray-200);justify-content:flex-end;display:flex}.hero-tile-export-actions button{padding:var(--tw-space-2)var(--tw-space-4);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-md);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);font-weight:500}.hero-tile-export-actions button:not(.btn-primary){background:var(--tw-gray-100);border:1px solid var(--tw-gray-300);color:var(--tw-gray-700)}.hero-tile-export-actions button:not(.btn-primary):hover{background:var(--tw-gray-200)}.hero-tile-export-actions button.btn-primary{background:var(--tw-btn-primary-bg);border:1px solid var(--tw-btn-primary-bg);color:var(--tw-btn-primary-text)}.hero-tile-export-actions button.btn-primary:hover{background:var(--tw-btn-primary-bg-hover)}.hero-tile-export-actions button:disabled{opacity:.5;cursor:not-allowed}.hero-tile-status-bar{padding:var(--tw-space-3)var(--tw-space-4);background:var(--tw-amber-50);border-bottom:1px solid var(--tw-amber-200);animation:fadeInUp var(--tw-duration-slow)var(--tw-ease-out-soft)backwards;position:relative}.hero-tile-status-bar:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-tile-status-row{justify-content:space-between;align-items:center;gap:var(--tw-space-2);display:flex}.hero-tile-status-label{font-family:var(--tw-font-body);font-size:var(--tw-text-sm);color:var(--tw-gray-700);align-items:center;gap:var(--tw-space-2);min-width:0;font-weight:600;display:flex}.hero-tile-status-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.hero-tile-dirty-dot{background:var(--tw-amber-400);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite pulse-soft}.hero-tile-new-btn{padding:var(--tw-space-1)var(--tw-space-2);font-size:var(--tw-text-xs);white-space:nowrap;flex-shrink:0}.hero-tile-status-actions{gap:var(--tw-space-2);margin-top:var(--tw-space-2);display:flex}.hero-tile-status-actions button{flex:1}.hero-tile-name-input{font-size:var(--tw-text-sm);color:var(--tw-gray-800);border:1px solid var(--tw-amber-300);border-radius:var(--tw-radius-sm);padding:1px var(--tw-space-1);width:140px;box-shadow:0 0 0 2px var(--tw-amber-100);background:#fff;outline:none;font-weight:600}.hero-tile-editing-prefix{font-family:var(--tw-font-body);color:var(--tw-gray-500);font-weight:400;font-size:var(--tw-text-xs)}.texture-export-modal{max-width:480px}.texture-export-content{gap:var(--tw-space-4);margin-top:var(--tw-space-4);flex-direction:column;display:flex}.texture-export-field{gap:var(--tw-space-1);flex-direction:column;display:flex}.texture-export-field label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);font-weight:500}.texture-export-field input{padding:var(--tw-space-2);font-size:var(--tw-text-sm);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);background:#fff}.texture-export-field input:focus{border-color:var(--tw-amber-400);box-shadow:0 0 0 2px var(--tw-amber-100);outline:none}.texture-export-preview{padding:var(--tw-space-4);background:var(--tw-gray-100);border-radius:var(--tw-radius-md);justify-content:center;align-items:center;min-height:120px;display:flex}.texture-export-preview img{object-fit:contain;max-width:100%;max-height:200px;image-rendering:pixelated;border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-sm);box-shadow:var(--tw-shadow-md)}.texture-export-preview-loading{color:var(--tw-gray-500);font-size:var(--tw-text-sm)}.texture-export-settings{gap:var(--tw-space-3);display:flex}.texture-export-filename{align-items:center;display:flex}.texture-export-filename input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.texture-export-extension{padding:var(--tw-space-2);font-size:var(--tw-text-sm);background:var(--tw-gray-100);border:1px solid var(--tw-gray-300);border-top-right-radius:var(--tw-radius-md);border-bottom-right-radius:var(--tw-radius-md);color:var(--tw-gray-500)}.texture-export-info{gap:var(--tw-space-4);padding:var(--tw-space-3);background:var(--tw-gray-50);border-radius:var(--tw-radius-md);font-size:var(--tw-text-sm);color:var(--tw-gray-700);align-items:center;display:flex}.texture-export-info strong{color:var(--tw-gray-900)}.texture-export-native{font-size:var(--tw-text-xs);color:var(--tw-amber-600);font-weight:500}.texture-export-actions{gap:var(--tw-space-2);padding-top:var(--tw-space-3);border-top:1px solid var(--tw-gray-200);justify-content:flex-end;display:flex}.texture-export-actions button{padding:var(--tw-space-2)var(--tw-space-4);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-md);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);font-weight:500}.texture-export-actions button:not(.btn-primary){background:var(--tw-gray-100);border:1px solid var(--tw-gray-300);color:var(--tw-gray-700)}.texture-export-actions button:not(.btn-primary):hover{background:var(--tw-gray-200)}.texture-export-actions button.btn-primary{background:var(--tw-btn-primary-bg);border:1px solid var(--tw-btn-primary-bg);color:var(--tw-btn-primary-text)}.texture-export-actions button.btn-primary:hover{background:var(--tw-btn-primary-bg-hover)}.texture-export-actions button:disabled{opacity:.5;cursor:not-allowed}.canvas-wrapper{border-radius:var(--tw-radius-lg);width:100%;height:100%;box-shadow:var(--tw-shadow-inset);background:var(--tw-canvas);animation:fadeIn var(--tw-duration-slow)var(--tw-ease-out-soft);position:relative;overflow:hidden}.canvas-empty-state{z-index:10;pointer-events:none;color:var(--tw-gray-500);justify-content:center;align-items:center;gap:var(--tw-space-1);flex-direction:column;display:flex;position:absolute;inset:0}.canvas-empty-state p{margin:0}.canvas-container{width:100%;height:100%;position:relative;overflow:hidden}.app-header{animation:fadeInUp var(--tw-duration-slow)var(--tw-ease-out-soft)}.app-logo{font-family:var(--tw-font-display);font-weight:600;font-size:var(--tw-text-lg);color:var(--tw-gray-900);letter-spacing:-.01em}.app-logo-dot{color:var(--tw-amber-500)}.dialog-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--tw-duration-fast)var(--tw-ease-out-soft);z-index:100;background:#1e1d1c99;position:fixed;inset:0}.dialog-overlay[data-state=closed]{animation:fadeOut var(--tw-duration-fast)var(--tw-ease-out-soft)}.dialog-content{background:var(--tw-panel);border-radius:var(--tw-radius-lg);box-shadow:var(--tw-shadow-xl);padding:var(--tw-space-6);width:90vw;max-width:480px;max-height:85vh;animation:dialogIn var(--tw-duration-normal)var(--tw-ease-spring);z-index:101;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog-content[data-state=closed]{animation:dialogOut var(--tw-duration-fast)var(--tw-ease-out-soft)}@keyframes dialogIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes dialogOut{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-48%)scale(.96)}}.dialog-close{top:var(--tw-space-4);right:var(--tw-space-4);padding:var(--tw-space-1);color:var(--tw-gray-400);cursor:pointer;border-radius:var(--tw-radius-sm);transition:color var(--tw-duration-fast)var(--tw-ease-out-soft),background var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;border:none;position:absolute}.dialog-close:hover{color:var(--tw-gray-600);background:var(--tw-gray-100)}.dialog-title{margin:0 0 var(--tw-space-2)0;font-size:var(--tw-text-lg);color:var(--tw-gray-900);padding-right:var(--tw-space-6);font-weight:600}.dialog-description{margin:0 0 var(--tw-space-4)0;font-size:var(--tw-text-sm);color:var(--tw-gray-600);line-height:var(--tw-leading-relaxed)}.texture-tabs{gap:var(--tw-space-1);margin-bottom:var(--tw-space-3);padding:var(--tw-space-1);background:var(--tw-gray-100);border-radius:var(--tw-radius-md);display:flex}.texture-tab{padding:var(--tw-space-2);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-sm);color:var(--tw-gray-600);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),color var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;border:none;flex:1;font-weight:500}.texture-tab:hover{color:var(--tw-gray-800)}.texture-tab.active{background:var(--tw-panel);color:var(--tw-gray-900);box-shadow:var(--tw-shadow-sm)}.texture-generation-modal{text-align:center;max-width:720px}.texture-generation-input{margin:var(--tw-space-4)0 0;text-align:left}.tg-input-lane{padding:var(--tw-space-4);background:var(--tw-gray-50);border:1px solid var(--tw-gray-200);border-radius:var(--tw-radius-lg)}.tg-lane-header{align-items:flex-start;gap:var(--tw-space-3);margin-bottom:var(--tw-space-3);display:flex}.tg-lane-number{background:var(--tw-amber-100);width:24px;height:24px;color:var(--tw-amber-600);font-size:var(--tw-text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex}.tg-lane-title{font-size:var(--tw-text-sm);color:var(--tw-gray-800);font-weight:600;line-height:var(--tw-leading-tight);display:block}.tg-lane-optional{font-size:var(--tw-text-xs);color:var(--tw-amber-600);margin-top:2px;font-weight:500;display:block}.tg-prompt-textarea{width:100%;padding:var(--tw-space-3);font-size:var(--tw-text-sm);color:var(--tw-input-text);background:var(--tw-input-bg);border:1px solid var(--tw-input-border);border-radius:var(--tw-radius-md);resize:none;height:80px;transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);font-family:inherit;overflow-y:auto}.tg-prompt-textarea::placeholder{color:var(--tw-input-placeholder)}.tg-prompt-textarea:focus{border-color:var(--tw-amber-400);outline:none;box-shadow:0 0 0 3px #ffcf5633}.tg-lane-divider{align-items:center;gap:var(--tw-space-3);margin:var(--tw-space-3)0;display:flex}.tg-lane-divider:before,.tg-lane-divider:after{content:"";background:var(--tw-gray-200);flex:1;height:1px}.tg-lane-divider span{font-size:var(--tw-text-xs);color:var(--tw-gray-400);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-weight:500}.tg-ref-grid{gap:var(--tw-space-2);margin-bottom:var(--tw-space-3);grid-template-columns:repeat(auto-fill,minmax(80px,1fr));display:grid}.tg-ref-item{aspect-ratio:1;border-radius:var(--tw-radius-md);cursor:pointer;transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);border:2px solid #0000;position:relative;overflow:hidden}.tg-ref-item img{object-fit:cover;width:100%;height:100%;display:block}.tg-ref-item:hover{border-color:var(--tw-gray-300)}.tg-ref-item.selected{border-color:var(--tw-amber-500);box-shadow:0 0 0 2px var(--tw-amber-200)}.tg-ref-check{background:var(--tw-amber-400);width:22px;height:22px;color:var(--tw-gray-900);box-shadow:var(--tw-shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;left:4px}.tg-ref-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#0009);padding:2px 4px;font-size:10px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.tg-ref-delete{color:#fff;cursor:pointer;opacity:0;width:20px;height:20px;transition:opacity var(--tw-duration-fast)var(--tw-ease-out-soft);background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.tg-ref-item:hover .tg-ref-delete{opacity:1}.tg-ref-placeholder{background:var(--tw-gray-200);width:100%;height:100%}.tg-library-section{margin-top:var(--tw-space-3)}.tg-library-label{font-size:var(--tw-text-xs);color:var(--tw-gray-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--tw-space-2);font-weight:600;display:block}.tg-add-ref-btn{width:100%;padding:var(--tw-space-2);font-size:var(--tw-text-sm);color:var(--tw-gray-600);background:var(--tw-panel);border:1px dashed var(--tw-gray-300);border-radius:var(--tw-radius-md);cursor:pointer;transition:all var(--tw-transition-fast);font-weight:500}.tg-add-ref-btn:hover{background:var(--tw-gray-100);border-color:var(--tw-gray-400);color:var(--tw-gray-800)}.tg-input-footer{margin-top:var(--tw-space-4);justify-content:space-between;align-items:center;display:flex}.tg-workflow-pill{font-size:var(--tw-text-xs);color:var(--tw-amber-600);background:var(--tw-amber-100);padding:3px var(--tw-space-3);border-radius:999px;font-weight:600}.tg-input-actions{gap:var(--tw-space-3);margin-left:auto;display:flex}.tg-btn-cancel{padding:var(--tw-space-2)var(--tw-space-4);font-size:var(--tw-text-sm);background:var(--tw-gray-100);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);color:var(--tw-gray-700);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft);font-weight:600}.tg-btn-cancel:hover:not(:disabled){background:var(--tw-gray-200)}.tg-btn-cancel:disabled{opacity:.4;cursor:not-allowed}.tg-btn-generate{padding:var(--tw-space-2)var(--tw-space-5);font-size:var(--tw-text-sm);background:var(--tw-btn-primary-bg);border:1px solid var(--tw-btn-primary-bg);border-radius:var(--tw-radius-md);color:var(--tw-btn-primary-text);box-shadow:var(--tw-btn-primary-shadow);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft),transform var(--tw-duration-fast)var(--tw-ease-out-soft);font-weight:600}.tg-btn-generate:hover:not(:disabled){background:var(--tw-btn-primary-bg-hover);box-shadow:var(--tw-btn-primary-shadow-hover);transform:translateY(-1px)}.tg-btn-generate:disabled{opacity:.5;cursor:not-allowed}.btn-spinner{vertical-align:middle;border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.8s linear infinite spin;display:inline-block}.tg-results{margin-top:var(--tw-space-4)}.tg-results-warning{padding:var(--tw-space-3)var(--tw-space-4);background:var(--tw-warning-light);border:1px solid var(--tw-amber-200);border-radius:var(--tw-radius-md);color:var(--tw-warning);font-size:var(--tw-text-sm);text-align:center;margin-bottom:var(--tw-space-4);font-weight:500}.texture-candidate-gallery{gap:var(--tw-space-4);margin-bottom:var(--tw-space-4);grid-template-columns:repeat(3,1fr);display:grid}.texture-candidate-card{border:2px solid var(--tw-gray-200);border-radius:var(--tw-radius-lg);cursor:pointer;background:var(--tw-gray-50);transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft),transform var(--tw-duration-fast)var(--tw-ease-out-soft);overflow:hidden}.texture-candidate-card:hover{border-color:var(--tw-gray-400);box-shadow:var(--tw-shadow-md);transform:translateY(-2px)}.texture-candidate-card.selected{border-color:var(--tw-amber-500);box-shadow:0 0 0 3px var(--tw-amber-200),var(--tw-shadow-md);transform:translateY(-2px)}.texture-candidate-card .candidate-preview{aspect-ratio:1;background:var(--tw-gray-100);position:relative;overflow:hidden}.texture-candidate-card .candidate-preview img{object-fit:cover;width:100%;height:100%;display:block}.texture-candidate-card .candidate-preview:after{content:"";box-shadow:var(--tw-shadow-inset);pointer-events:none;position:absolute;inset:0}.candidate-selected-ring{top:var(--tw-space-2);left:var(--tw-space-2);background:var(--tw-amber-400);width:28px;height:28px;color:var(--tw-gray-900);box-shadow:var(--tw-shadow-sm);animation:badgePop var(--tw-duration-normal)var(--tw-ease-spring);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}@keyframes badgePop{0%{transform:scale(0)}to{transform:scale(1)}}.candidate-info{padding:var(--tw-space-2)var(--tw-space-3);justify-content:center;align-items:center;gap:var(--tw-space-2);display:flex}.candidate-badge{padding:2px var(--tw-space-2);text-transform:uppercase;border-radius:var(--tw-radius-sm);letter-spacing:.04em;flex-shrink:0;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.candidate-badge.pass,.candidate-badge.saved{background:var(--tw-success-light);color:var(--tw-success)}.candidate-badge.fail{background:var(--tw-error-light);color:var(--tw-error)}.candidate-delete-btn{top:var(--tw-space-2);right:var(--tw-space-2);color:#fff;cursor:pointer;opacity:0;width:24px;height:24px;transition:opacity var(--tw-duration-fast)var(--tw-ease-out-soft);z-index:2;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.texture-candidate-card:hover .candidate-delete-btn{opacity:1}.candidate-delete-btn:hover{background:var(--tw-error)}.candidate-expand-btn{bottom:var(--tw-space-2);right:var(--tw-space-2);border-radius:var(--tw-radius-sm);color:#fff;cursor:pointer;opacity:0;width:28px;height:28px;transition:opacity var(--tw-duration-fast)var(--tw-ease-out-soft);z-index:1;background:#0009;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.texture-candidate-card:hover .candidate-expand-btn{opacity:1}.candidate-expand-btn:hover{background:#000c}.tg-expand-modal{width:auto;max-width:90vw;max-height:90vh;padding:var(--tw-space-3);justify-content:center;align-items:center;display:flex}.tg-expand-image{object-fit:contain;border-radius:var(--tw-radius-md);max-width:100%;max-height:85vh;display:block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tg-library-manage{margin-top:var(--tw-space-3);padding:var(--tw-space-3);background:var(--tw-gray-50);border-radius:var(--tw-radius-md);border:1px solid var(--tw-gray-200)}.tg-library-manage-header{color:var(--tw-gray-500);margin-bottom:var(--tw-space-2);font-size:12px;font-weight:600;display:block}.tg-library-manage-grid{gap:var(--tw-space-2);grid-template-columns:repeat(auto-fill,minmax(64px,1fr));display:grid}.tg-library-manage-item{aspect-ratio:1;border-radius:var(--tw-radius-sm);cursor:default;position:relative;overflow:hidden}.tg-library-manage-item img{object-fit:cover;width:100%;height:100%}.tg-library-manage-item .tg-ref-delete{opacity:0}.tg-library-manage-item:hover .tg-ref-delete{opacity:1}.tg-results-footer{align-items:center;gap:var(--tw-space-3);display:flex}.tg-name-input{padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);color:var(--tw-input-text);background:var(--tw-input-bg);border:1px solid var(--tw-input-border);border-radius:var(--tw-radius-md);transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);flex:1;font-family:inherit}.tg-name-input::placeholder{color:var(--tw-input-placeholder)}.tg-name-input:focus{border-color:var(--tw-amber-400);outline:none;box-shadow:0 0 0 3px #ffcf5633}@media (max-width:768px){.texture-candidate-gallery{grid-template-columns:1fr}.tg-results-footer{flex-direction:column;align-items:stretch}}.texture-preview-loading{align-items:center;gap:var(--tw-space-3);padding:var(--tw-space-8)0;color:var(--tw-gray-600);flex-direction:column;display:flex}.texture-loading-spinner{background:conic-gradient(transparent 30%,var(--tw-amber-500));border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}.spinner{border:2px solid var(--tw-gray-200);border-top-color:currentColor;border-radius:50%;flex-shrink:0;animation:.6s linear infinite spin;display:inline-block}.texture-preview-error{padding:var(--tw-space-4);background:var(--tw-error-light);border-radius:var(--tw-radius-md);color:var(--tw-error);text-align:center}.texture-preview-error p{margin:0 0 var(--tw-space-3)0}.texture-preview-error button{background:var(--tw-error);color:#fff;padding:var(--tw-space-2)var(--tw-space-4);border-radius:var(--tw-radius-md);cursor:pointer;border:none;font-weight:600}.texture-tiled-preview{border-radius:var(--tw-radius-md);border:var(--tw-border-width)solid var(--tw-gray-200);width:fit-content;box-shadow:var(--tw-shadow-md);grid-template-columns:repeat(2,1fr);gap:0;margin:0 auto;display:grid;overflow:hidden}.texture-tiled-preview img{object-fit:cover;width:128px;height:128px;display:block}.texture-preview-hint{margin:var(--tw-space-3)0 0 0;font-size:var(--tw-text-xs);color:var(--tw-gray-500)}.texture-preview-actions{gap:var(--tw-space-3);margin-top:var(--tw-space-4);justify-content:center;display:flex}.texture-preview-actions button{padding:var(--tw-space-2)var(--tw-space-4);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-md);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),transform var(--tw-duration-fast)var(--tw-ease-out-soft);font-weight:600}.texture-preview-actions button:first-child{background:var(--tw-gray-100);border:var(--tw-border-width)solid var(--tw-gray-300);color:var(--tw-gray-700)}.texture-preview-actions button:first-child:hover{background:var(--tw-gray-200)}.texture-preview-actions button.btn-primary{background:var(--tw-btn-primary-bg);border:var(--tw-border-width)solid var(--tw-btn-primary-bg);color:var(--tw-btn-primary-text);box-shadow:var(--tw-btn-primary-shadow)}.texture-preview-actions button.btn-primary:hover{background:var(--tw-btn-primary-bg-hover);transform:translateY(-1px)}.texture-library-save-option{gap:var(--tw-space-2);padding:var(--tw-space-3);background:var(--tw-gray-50);border-radius:var(--tw-radius-md);margin-top:var(--tw-space-3);flex-direction:column;display:flex}.texture-library-save-option .checkbox-label{align-items:center;gap:var(--tw-space-2);font-size:var(--tw-text-sm);color:var(--tw-gray-700);cursor:pointer;display:flex}.texture-library-save-option .checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--tw-teal-500)}.texture-name-input{padding:var(--tw-space-2);font-size:var(--tw-text-sm);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);background:#fff}.texture-name-input:focus{border-color:var(--tw-teal-400);box-shadow:0 0 0 2px var(--tw-teal-100);outline:none}.texture-phase-indicator{align-items:center;gap:var(--tw-space-3);padding:var(--tw-space-8)0;color:var(--tw-gray-600);flex-direction:column;display:flex}.texture-phase-indicator span{font-size:var(--tw-text-sm);font-weight:500}.texture-library-empty{text-align:center;padding:var(--tw-space-4)var(--tw-space-2);color:var(--tw-gray-500)}.texture-library-empty p{font-size:var(--tw-text-sm);margin:0}.texture-library-empty .hint{margin-top:var(--tw-space-1);font-size:var(--tw-text-xs)}.texture-library-grid{gap:var(--tw-space-2);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.texture-library-item{align-items:center;gap:var(--tw-space-1);padding:var(--tw-space-2);background:var(--tw-gray-100);border-radius:var(--tw-radius-md);cursor:pointer;min-width:0;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),border-color var(--tw-duration-fast)var(--tw-ease-out-soft);border:2px solid #0000;flex-direction:column;display:flex;position:relative}.texture-library-item:hover{background:var(--tw-gray-50)}.texture-library-item.active{border-color:var(--tw-teal-400);background:var(--tw-teal-50)}.texture-library-item img{object-fit:cover;border-radius:var(--tw-radius-sm);border:var(--tw-border-width)solid var(--tw-gray-200);width:48px;height:48px}.texture-library-item.active img{border-color:var(--tw-teal-300)}.texture-library-name{font-size:var(--tw-text-xs);color:var(--tw-gray-700);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.texture-library-name-input{border:1px solid var(--tw-amber-400);border-radius:var(--tw-radius-sm);text-align:center;width:calc(100% + 16px);box-shadow:var(--tw-shadow-md);box-sizing:border-box;background:#fff;outline:none;height:18px;margin-left:-8px;padding:1px 4px;font-family:inherit;font-size:10px;line-height:1.2}.texture-library-name-input:focus{border-color:var(--tw-amber-500);box-shadow:var(--tw-focus-ring),var(--tw-shadow-md)}.texture-library-active-badge{background:var(--tw-teal-500);border-radius:var(--tw-radius-full);color:#fff;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:4px;left:4px}.texture-library-placeholder{background:var(--tw-gray-200);border-radius:var(--tw-radius-sm);width:48px;height:48px;font-size:var(--tw-text-xs);color:var(--tw-gray-500);justify-content:center;align-items:center;display:flex}.texture-library-item .remove-btn{opacity:0;top:2px;right:2px}.texture-library-item:hover .remove-btn{opacity:1}.texture-library-item.has-error{border-color:var(--tw-red-500)}.texture-library-loading{background:var(--tw-gray-800);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.texture-library-loading .loading-spinner{border:2px solid var(--tw-gray-600);border-top-color:var(--tw-primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.texture-library-error{background:var(--tw-gray-800);flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:100%;display:flex}.texture-library-error .error-icon{color:var(--tw-red-500);font-size:14px;font-weight:700}.texture-library-error .retry-btn{background:var(--tw-gray-700);border:1px solid var(--tw-gray-600);color:var(--tw-gray-300);cursor:pointer;border-radius:3px;padding:2px 6px;font-size:10px}.texture-library-error .retry-btn:hover{background:var(--tw-gray-600);border-color:var(--tw-gray-500)}.sync-indicator{font-size:var(--tw-text-xs);color:var(--tw-gray-400);animation:1s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.texture-action-buttons{gap:var(--tw-space-2);margin-top:var(--tw-space-3);flex-direction:column;display:flex}.panel button.secondary-btn{width:100%;padding:var(--tw-space-2);font-size:var(--tw-text-sm);background:var(--tw-btn-secondary-bg);border:1px solid var(--tw-btn-secondary-border);border-radius:var(--tw-radius-sm);color:var(--tw-btn-secondary-text);cursor:pointer;transition:all var(--tw-transition-fast)}.panel button.secondary-btn:hover:not(:disabled){background:var(--tw-btn-secondary-bg-hover);border-color:var(--tw-gray-400)}.panel button.secondary-btn:active:not(:disabled){background:var(--tw-btn-secondary-bg-active)}.panel button.secondary-btn:disabled{opacity:.5;cursor:not-allowed}.heal-algorithm-group{gap:var(--tw-space-3);margin-top:var(--tw-space-1);display:flex}.heal-algorithm-group label{font-size:var(--tw-text-xs);color:var(--tw-text-secondary);cursor:pointer;align-items:center;gap:6px;display:flex}.heal-algorithm-group input[type=radio]{width:14px;height:14px;accent-color:var(--tw-amber-500);cursor:pointer;margin:0}.panel button.cancel-btn{width:100%;padding:var(--tw-space-2);font-size:var(--tw-text-sm);color:var(--tw-gray-500);cursor:pointer;transition:color var(--tw-transition-fast);background:0 0;border:none}.panel button.cancel-btn:hover{color:var(--tw-gray-700)}.reference-empty{text-align:center;padding:var(--tw-space-4)var(--tw-space-2);color:var(--tw-gray-500)}.reference-empty p{font-size:var(--tw-text-sm);margin:0}.reference-empty .hint{margin-top:var(--tw-space-1);font-size:var(--tw-text-xs)}.reference-grid{gap:var(--tw-space-2);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.reference-item{align-items:center;gap:var(--tw-space-1);padding:var(--tw-space-2);background:var(--tw-gray-100);border-radius:var(--tw-radius-md);cursor:pointer;min-width:0;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),border-color var(--tw-duration-fast)var(--tw-ease-out-soft);border:2px solid #0000;flex-direction:column;display:flex;position:relative}.reference-item:hover{background:var(--tw-gray-50)}.reference-item.selected{border-color:var(--tw-amber-400);background:var(--tw-amber-50)}.reference-item.draft{border:1px dashed var(--tw-amber-400)}.draft-badge{color:var(--tw-amber-700);background:var(--tw-amber-100);border-radius:var(--tw-radius-sm);text-transform:uppercase;margin-right:4px;padding:1px 5px;font-size:.65em;font-weight:600}.reference-item img{object-fit:cover;border-radius:var(--tw-radius-sm);border:var(--tw-border-width)solid var(--tw-gray-200);width:48px;height:48px}.reference-item.selected img{border-color:var(--tw-amber-300)}.reference-name{font-size:var(--tw-text-xs);color:var(--tw-gray-700);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tile-size-badge{opacity:.6;margin-left:4px;font-size:.7em}.panel button.reference-delete{width:18px;height:18px;font-size:var(--tw-text-sm);background:var(--tw-gray-200);border-radius:var(--tw-radius-sm);color:var(--tw-gray-500);cursor:pointer;opacity:0;box-shadow:none;transition:opacity var(--tw-duration-fast)var(--tw-ease-out-soft),background var(--tw-duration-fast)var(--tw-ease-out-soft),color var(--tw-duration-fast)var(--tw-ease-out-soft);border:none;padding:0;line-height:1;position:absolute;top:2px;right:2px}.reference-item:hover .reference-delete{opacity:1}.panel button.reference-delete:hover{background:var(--tw-error);color:#fff}.reference-selected-preview{align-items:center;gap:var(--tw-space-2);padding:var(--tw-space-2);background:var(--tw-amber-50);border:1px solid var(--tw-amber-200);border-radius:var(--tw-radius-md);display:flex}.reference-selected-preview img{object-fit:cover;border-radius:var(--tw-radius-sm);border:var(--tw-border-width)solid var(--tw-amber-300);width:48px;height:48px}.reference-selected-info{flex:1;min-width:0}.reference-selected-name{font-size:var(--tw-text-sm);color:var(--tw-gray-800);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.reference-selected-hint{font-size:var(--tw-text-xs);color:var(--tw-gray-500)}@keyframes toolbarExpand{0%{opacity:0;border-radius:50%;transform:scale(.13)}50%{opacity:1;border-radius:var(--tw-radius-xl)}to{border-radius:var(--tw-radius-lg);transform:scale(1)}}@keyframes toolbarContentFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.floating-toolbar{z-index:50;pointer-events:auto;position:absolute}.floating-toolbar-icon{--icon-scale:1;background:var(--tw-amber-500);color:#fff;cursor:pointer;width:36px;height:36px;transform:scale(var(--icon-scale));transition:transform var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;box-shadow:0 2px 8px #d9770659}.floating-toolbar-icon:hover{transform:scale(calc(var(--icon-scale)*1.1));box-shadow:0 4px 12px #d9770673}.floating-toolbar-icon:active{transform:scale(calc(var(--icon-scale)*.95))}.floating-toolbar-panel{background:var(--tw-panel);border:var(--tw-border-width)solid var(--tw-gray-300);border-radius:var(--tw-radius-lg);width:280px;box-shadow:var(--tw-shadow-lg);padding:var(--tw-space-3);gap:var(--tw-space-3);transform-origin:top;animation:toolbarExpand .25s var(--tw-ease-spring)forwards;flex-direction:column;display:flex}.floating-toolbar-panel>*{animation:toolbarContentFadeIn .2s var(--tw-ease-out-soft)backwards}.floating-toolbar-panel>:first-child{animation-delay:.1s}.floating-toolbar-panel>:nth-child(2){animation-delay:.15s}.floating-toolbar-panel>:nth-child(3){animation-delay:.2s}.floating-toolbar-panel>:nth-child(4){animation-delay:.25s}.floating-toolbar-header{align-items:center;gap:var(--tw-space-2);display:flex}.floating-toolbar-collapse{background:var(--tw-gray-100);border-radius:var(--tw-radius-sm);width:24px;height:24px;color:var(--tw-gray-500);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),color var(--tw-duration-fast)var(--tw-ease-out-soft);border:none;justify-content:center;align-items:center;padding:0;display:flex}.floating-toolbar-collapse:hover{background:var(--tw-gray-200);color:var(--tw-gray-700)}.floating-toolbar-title{font-size:var(--tw-text-sm);color:var(--tw-gray-700);font-weight:600}.floating-toolbar-references{gap:var(--tw-space-2);grid-template-columns:repeat(4,1fr);max-height:120px;margin:-4px;padding:4px;display:grid;overflow-y:auto}.floating-toolbar-empty{text-align:center;font-size:var(--tw-text-xs);color:var(--tw-gray-500);padding:var(--tw-space-2);grid-column:1/-1}.floating-toolbar-ref-item{aspect-ratio:1;border:2px solid var(--tw-gray-200);border-radius:var(--tw-radius-md);cursor:pointer;transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;padding:0;overflow:hidden}.floating-toolbar-ref-item img{object-fit:cover;width:100%;height:100%;display:block}.floating-toolbar-ref-item:hover{border-color:var(--tw-gray-400)}.floating-toolbar-ref-item.selected{border-color:var(--tw-gray-700);box-shadow:0 0 0 3px var(--tw-amber-400)}.floating-toolbar-ref-upload{aspect-ratio:1;border:2px dashed var(--tw-gray-300);border-radius:var(--tw-radius-md);cursor:pointer;color:var(--tw-gray-400);transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),color var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;justify-content:center;align-items:center;padding:0;font-size:20px;display:flex}.floating-toolbar-ref-upload:hover{border-color:var(--tw-gray-500);color:var(--tw-gray-600)}.floating-toolbar-prompt{width:100%;padding:var(--tw-space-2);font-size:var(--tw-text-sm);background:var(--tw-input-bg);border:var(--tw-border-width)solid var(--tw-input-border);border-radius:var(--tw-radius-md);color:var(--tw-input-text);resize:none;transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);font-family:inherit}.floating-toolbar-prompt:hover{border-color:var(--tw-input-border-hover)}.floating-toolbar-prompt:focus{border-color:var(--tw-input-border-focus);box-shadow:var(--tw-focus-ring);outline:none}.floating-toolbar-prompt::placeholder{color:var(--tw-input-placeholder)}.floating-toolbar-hint{font-size:var(--tw-text-xs);color:var(--tw-warning);text-align:center}.floating-toolbar-generate{width:100%;padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);background:var(--tw-btn-primary-bg);border:var(--tw-border-width)solid var(--tw-btn-primary-bg);border-radius:var(--tw-radius-md);color:var(--tw-btn-primary-text);box-shadow:var(--tw-btn-primary-shadow);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),transform var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);font-family:inherit;font-weight:600}.floating-toolbar-generate:hover:not(:disabled){background:var(--tw-btn-primary-bg-hover);border-color:var(--tw-btn-primary-bg-hover);box-shadow:var(--tw-btn-primary-shadow-hover);transform:translateY(-1px)}.floating-toolbar-generate:active:not(:disabled){background:var(--tw-btn-primary-bg-active);transform:scale(.98)translateY(0)}.floating-toolbar-generate:disabled{opacity:.5;cursor:not-allowed}.floating-toolbar-generate.generating{justify-content:space-between;align-items:center;gap:var(--tw-space-2);display:flex}.generate-status-text{text-align:left;flex:1}.floating-toolbar-error{font-size:var(--tw-text-xs);color:var(--tw-error);text-align:center;margin-top:var(--tw-space-1)}@keyframes slideInFromRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.floating-toolbar-edit-panel{background:var(--tw-panel);border:var(--tw-border-width)solid var(--tw-gray-300);border-radius:var(--tw-radius-lg);width:280px;box-shadow:var(--tw-shadow-lg);padding:var(--tw-space-3);gap:var(--tw-space-3);animation:slideInFromRight .2s var(--tw-ease-out-soft)forwards;flex-direction:column;display:flex}.floating-toolbar-edit-preview{padding:var(--tw-space-2);background:var(--tw-gray-100);border-radius:var(--tw-radius-md);justify-content:center;display:flex}.floating-toolbar-edit-preview img{border-radius:var(--tw-radius-sm);box-shadow:var(--tw-shadow-sm);object-fit:contain}.floating-toolbar-feathering{gap:var(--tw-space-1);flex-direction:column;display:flex}.floating-toolbar-feathering label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);font-weight:500}.floating-toolbar-feathering input[type=range]{appearance:none;background:var(--tw-gray-200);cursor:pointer;border-radius:9999px;width:100%;height:6px}.floating-toolbar-feathering input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--tw-panel);border:2px solid var(--tw-amber-500);width:16px;height:16px;box-shadow:var(--tw-shadow-sm);cursor:grab;transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft);border-radius:50%}.floating-toolbar-feathering input[type=range]::-webkit-slider-thumb:hover{border-color:var(--tw-amber-600)}.floating-toolbar-feathering input[type=range]::-moz-range-thumb{background:var(--tw-panel);border:2px solid var(--tw-amber-500);width:16px;height:16px;box-shadow:var(--tw-shadow-sm);cursor:grab;border-radius:50%}.floating-toolbar-error{font-size:var(--tw-text-xs);color:var(--tw-error);background:var(--tw-error-light);padding:var(--tw-space-2);border-radius:var(--tw-radius-sm)}.floating-toolbar-versions{gap:var(--tw-space-2);flex-direction:column;display:flex}.floating-toolbar-versions-label{font-size:var(--tw-text-xs);color:var(--tw-gray-500);font-weight:500}.floating-toolbar-versions-grid{gap:var(--tw-space-1);grid-template-columns:repeat(5,1fr);display:grid}.floating-toolbar-version-item{aspect-ratio:1;background:var(--tw-gray-100);border:2px solid var(--tw-gray-200);border-radius:var(--tw-radius-sm);cursor:pointer;transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);padding:0;overflow:hidden}.floating-toolbar-version-item img{object-fit:cover;width:100%;height:100%}.floating-toolbar-version-item:hover:not(:disabled){border-color:var(--tw-gray-400)}.floating-toolbar-version-item.current{border-color:var(--tw-amber-500);box-shadow:0 0 0 2px var(--tw-amber-200)}.floating-toolbar-version-item:disabled{opacity:.5;cursor:not-allowed}.aspect-ratio-info{align-items:center;gap:var(--tw-space-2);padding:var(--tw-space-2);background:var(--tw-amber-50);border-radius:var(--tw-radius-md);font-size:var(--tw-text-xs);color:var(--tw-gray-600);display:flex}.aspect-ratio-dims{color:var(--tw-gray-700);font-weight:500}.aspect-ratio-arrow{color:var(--tw-gray-400)}.aspect-ratio-match{color:var(--tw-gray-800);font-weight:600}.aspect-ratio-status.match{color:var(--tw-success);font-weight:500}.aspect-ratio-status.warning{color:var(--tw-warning);font-weight:500}.shape-preset-section{gap:var(--tw-space-2);flex-direction:column;display:flex}.shape-preset-label{font-size:var(--tw-text-xs);color:var(--tw-gray-500)}.shape-preset-grid{gap:var(--tw-space-1);grid-template-columns:repeat(5,1fr);display:grid}.shape-preset-btn{padding:var(--tw-space-1)var(--tw-space-2);font-size:var(--tw-text-xs);background:var(--tw-gray-100);border:1px solid var(--tw-gray-200);border-radius:var(--tw-radius-sm);color:var(--tw-gray-700);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);font-family:inherit;font-weight:500}.shape-preset-btn:hover:not(:disabled){background:var(--tw-gray-200);border-color:var(--tw-gray-300)}.shape-preset-btn:active:not(:disabled){transform:scale(.95)}.shape-preset-btn:disabled{opacity:.4;cursor:not-allowed}.feature-item.selected{background:var(--tw-amber-50);border:2px solid var(--tw-amber-400);box-shadow:0 0 0 2px #fbbf2433}.feature-item.selected:hover{background:var(--tw-amber-50)}.feature-actions{gap:var(--tw-space-1);margin-left:auto;display:flex}.panel button.feature-action-btn{padding:var(--tw-space-1)var(--tw-space-2);font-size:var(--tw-text-xs);background:var(--tw-gray-200);border:1px solid var(--tw-gray-300);color:var(--tw-gray-700)}.panel button.feature-action-btn:hover:not(:disabled){background:var(--tw-gray-300);border-color:var(--tw-gray-400)}.panel button.feature-action-btn.edit-btn:hover:not(:disabled){background:var(--tw-amber-100);border-color:var(--tw-amber-400);color:var(--tw-amber-700)}.panel button.feature-action-btn.move-btn:hover:not(:disabled){background:var(--tw-blue-100);border-color:var(--tw-blue-400);color:var(--tw-blue-700)}.panel button.feature-action-btn.move-btn.active{background:var(--tw-blue-500);border-color:var(--tw-blue-600);color:#fff}.feature-edit-dialog{max-width:520px}.feature-edit-preview{margin-bottom:var(--tw-space-4);background:var(--tw-gray-100);border-radius:var(--tw-radius-md);padding:var(--tw-space-3);justify-content:center;display:flex}.feature-edit-preview img{border-radius:var(--tw-radius-md);border:var(--tw-border-width)solid var(--tw-gray-200);object-fit:contain;box-shadow:var(--tw-shadow-md)}.feathering-control{gap:var(--tw-space-2);margin-bottom:var(--tw-space-4);padding:var(--tw-space-3);background:var(--tw-gray-50);border-radius:var(--tw-radius-md);flex-direction:column;display:flex}.feathering-control label{font-size:var(--tw-text-sm);color:var(--tw-gray-700);font-weight:500}.feathering-control input[type=range]{background:var(--tw-gray-200);appearance:none;cursor:pointer;border-radius:3px;width:100%;height:6px}.feathering-control input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--tw-amber-500);cursor:pointer;width:18px;height:18px;transition:transform var(--tw-duration-fast)var(--tw-ease-out-soft);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003}.feathering-control input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.feathering-control input[type=range]::-moz-range-thumb{background:var(--tw-amber-500);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 4px #0003}.feature-edit-form{gap:var(--tw-space-3);flex-direction:column;display:flex}.feature-edit-form label{font-size:var(--tw-text-sm);color:var(--tw-gray-700);font-weight:500}.feature-edit-form textarea{width:100%;padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);background:var(--tw-input-bg);border:var(--tw-border-width)solid var(--tw-input-border);border-radius:var(--tw-radius-md);color:var(--tw-input-text);resize:vertical;min-height:80px;font-family:inherit}.feature-edit-form textarea:focus{border-color:var(--tw-input-border-focus);box-shadow:var(--tw-focus-ring);outline:none}.feature-edit-actions{gap:var(--tw-space-2);margin-top:var(--tw-space-2);justify-content:flex-end;display:flex}.feature-edit-actions button{padding:var(--tw-space-2)var(--tw-space-4);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-md);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);font-weight:600}.feature-edit-actions button.cancel-btn{background:var(--tw-gray-100);border:var(--tw-border-width)solid var(--tw-gray-300);color:var(--tw-gray-700)}.feature-edit-actions button.cancel-btn:hover{background:var(--tw-gray-200)}.feature-edit-actions button.apply-btn{background:var(--tw-btn-primary-bg);border:var(--tw-border-width)solid var(--tw-btn-primary-bg);color:var(--tw-btn-primary-text);box-shadow:var(--tw-btn-primary-shadow)}.feature-edit-actions button.apply-btn:hover:not(:disabled){background:var(--tw-btn-primary-bg-hover);transform:translateY(-1px)}.feature-edit-actions button.apply-btn:disabled{opacity:.5;cursor:not-allowed}.version-history{margin-top:var(--tw-space-4);padding-top:var(--tw-space-4);border-top:1px solid var(--tw-gray-200)}.version-history h4{font-size:var(--tw-text-sm);color:var(--tw-gray-700);margin:0 0 var(--tw-space-3)0;font-weight:600}.version-history-grid{gap:var(--tw-space-2);flex-wrap:wrap;display:flex}.version-thumbnail{border:2px solid var(--tw-gray-200);border-radius:var(--tw-radius-md);cursor:pointer;width:64px;height:64px;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;padding:0;position:relative;overflow:hidden}.version-thumbnail img{object-fit:cover;width:100%;height:100%}.version-thumbnail:hover{border-color:var(--tw-gray-400)}.version-thumbnail.current{border-color:var(--tw-amber-400);box-shadow:0 0 0 2px #fbbf244d}.version-thumbnail .version-index{color:#fff;background:#0009;border-radius:2px;padding:1px 4px;font-size:10px;position:absolute;bottom:2px;right:2px}:root{--tw-blue-100:#dbeafe;--tw-blue-400:#60a5fa;--tw-blue-500:#3b82f6;--tw-blue-600:#2563eb;--tw-blue-700:#1d4ed8}.landing-page{background:var(--tw-canvas);min-height:100vh;overflow-x:hidden}.landing-page:before{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;inset:0}.hero{padding:80px var(--tw-space-6)100px;position:relative;overflow:hidden}.hero-content{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1200px;margin:0 auto;display:grid}@media (max-width:900px){.hero-content{text-align:center;grid-template-columns:1fr}}.hero-text{animation:fadeInUp .6s var(--tw-ease-out-soft)backwards}.hero-headline{font-family:var(--tw-font-display);color:var(--tw-gray-900);margin:0 0 var(--tw-space-6)0;letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:600;line-height:1.1}.hero-highlight{color:var(--tw-amber-500)}.hero-subtitle{color:var(--tw-gray-600);max-width:480px;margin:0 0 32px;font-size:1.125rem;line-height:1.7}@media (max-width:900px){.hero-subtitle{max-width:none}}.hero-actions{gap:var(--tw-space-4);flex-wrap:wrap;display:flex}@media (max-width:900px){.hero-actions{justify-content:center}}.hero-cta-primary{align-items:center;gap:var(--tw-space-2);background:var(--tw-amber-400);color:var(--tw-gray-900);font-size:var(--tw-text-base);border-radius:var(--tw-radius-lg);transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);padding:14px 28px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #ffcf5659}.hero-cta-primary:hover{background:var(--tw-amber-500);transform:translateY(-2px);box-shadow:0 6px 20px #ffcf5666}.hero-cta-primary svg{transition:transform var(--tw-duration-fast)var(--tw-ease-out-soft)}.hero-cta-primary:hover svg{transform:translate(3px)}.hero-cta-secondary{color:var(--tw-gray-700);font-size:var(--tw-text-base);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-lg);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;padding:14px 28px;font-family:inherit;font-weight:500;text-decoration:none}.hero-cta-secondary:hover{background:var(--tw-gray-100);border-color:var(--tw-gray-400)}.hero-visual{animation:fadeInUp .6s var(--tw-ease-out-soft).2s backwards;position:relative}@media (max-width:900px){.hero-visual{max-width:400px;margin:0 auto}}.hero-showcase{background:var(--tw-panel);border:1px solid var(--tw-gray-200);border-radius:var(--tw-radius-xl);box-shadow:var(--tw-shadow-lg);aspect-ratio:1;position:relative;overflow:hidden}.showcase-grid{grid-template-columns:repeat(3,1fr);gap:0;display:grid;position:absolute;inset:-30%}.showcase-tile{aspect-ratio:1;animation:tileBuild .4s var(--tw-ease-out-soft)backwards;background-position:50%;background-size:cover}@keyframes tileBuild{0%{opacity:0;transform:scale(.5)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.showcase-tile-center{position:relative}.showcase-feature{object-fit:cover;opacity:0;width:100%;height:100%;animation:featureReveal .6s var(--tw-ease-out-soft)1.4s forwards;position:absolute;inset:0}@keyframes featureReveal{0%{opacity:0}to{opacity:1}}.showcase-callout{pointer-events:none;z-index:1;opacity:0;animation:calloutAppear .5s var(--tw-ease-out-soft)2.1s forwards;flex-direction:column;align-items:center;gap:0;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.showcase-callout-text{font-family:var(--tw-font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--tw-gray-800);border-radius:var(--tw-radius-sm);white-space:nowrap;background:#ffcf56;padding:4px 14px;font-size:16px;font-weight:600}.showcase-callout-arrow{color:var(--tw-amber-500);opacity:0;animation:arrowDrop .4s var(--tw-ease-out-soft)2.5s forwards}@keyframes calloutAppear{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes arrowDrop{0%{opacity:0;transform:translateY(-4px)}60%{opacity:1;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.showcase-glow{pointer-events:none;z-index:-1;background:radial-gradient(circle,#ffcf5626 0%,#0000 70%);position:absolute;inset:-20px}.hero-badge{align-items:center;gap:var(--tw-space-2);padding:var(--tw-space-2)var(--tw-space-3);background:var(--tw-gray-900);color:var(--tw-gray-50);font-size:var(--tw-text-xs);border-radius:var(--tw-radius-md);box-shadow:var(--tw-shadow-md);font-weight:600;display:flex;position:absolute;bottom:-12px;right:24px}@media (max-width:900px){.hero-badge{display:none}}.hero-decoration{pointer-events:none;position:absolute;inset:0;overflow:hidden}.decoration-line{background:var(--tw-gray-200);position:absolute}.decoration-line-1{opacity:.5;width:100px;height:1px;top:20%;right:5%;transform:rotate(-45deg)}.decoration-line-2{opacity:.3;width:60px;height:1px;bottom:30%;left:3%;transform:rotate(30deg)}.decoration-dot{background:var(--tw-amber-300);opacity:.6;border-radius:50%;width:6px;height:6px;position:absolute}.decoration-dot-1{top:25%;right:15%}.decoration-dot-2{bottom:35%;left:10%}.features{padding:100px var(--tw-space-6);background:var(--tw-panel);border-top:1px solid var(--tw-gray-200);border-bottom:1px solid var(--tw-gray-200);position:relative}.features-header{text-align:center;max-width:600px;margin:0 auto 60px}.features-label{padding:var(--tw-space-1)var(--tw-space-3);background:var(--tw-amber-100);color:var(--tw-amber-600);font-size:var(--tw-text-xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--tw-radius-sm);margin-bottom:var(--tw-space-4);font-weight:600;display:inline-block}.features-title{font-family:var(--tw-font-display);color:var(--tw-gray-900);margin:0 0 var(--tw-space-4)0;letter-spacing:-.02em;font-size:clamp(2rem,4vw,2.5rem);font-weight:600}.features-subtitle{color:var(--tw-gray-600);margin:0;font-size:1.125rem;line-height:1.6}.features-grid{grid-template-columns:repeat(3,1fr);gap:32px;max-width:1100px;margin:0 auto;display:grid}@media (max-width:900px){.features-grid{grid-template-columns:1fr;max-width:500px}}.feature-card{background:var(--tw-canvas);border:1px solid var(--tw-gray-200);border-radius:var(--tw-radius-xl);transition:all var(--tw-duration-normal)var(--tw-ease-out-soft);animation:fadeInUp .5s var(--tw-ease-out-soft)backwards;padding:32px;position:relative}.feature-card:hover{box-shadow:var(--tw-shadow-lg);transform:translateY(-4px)}.feature-card-amber:hover{border-color:var(--tw-amber-300)}.feature-card-warm:hover{border-color:#d4a574}.feature-card-earth:hover{border-color:#8b9a7d}.feature-icon{background:var(--tw-gray-100);border-radius:var(--tw-radius-lg);width:56px;height:56px;color:var(--tw-gray-700);margin-bottom:var(--tw-space-4);transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);justify-content:center;align-items:center;display:flex}.feature-card-amber:hover .feature-icon{background:var(--tw-amber-100);color:var(--tw-amber-600)}.feature-card-warm:hover .feature-icon{color:#b8860b;background:#fef3e3}.feature-card-earth:hover .feature-icon{color:#5a8a5e;background:#e8f0e9}.feature-title{font-family:var(--tw-font-sans);color:var(--tw-gray-900);margin:0 0 var(--tw-space-2)0;font-size:1.125rem;font-weight:600}.feature-description{font-size:var(--tw-text-sm);color:var(--tw-gray-600);margin:0;line-height:1.6}.feature-corner{border-top-right-radius:var(--tw-radius-xl);opacity:0;width:40px;height:40px;transition:opacity var(--tw-duration-fast)var(--tw-ease-out-soft);position:absolute;top:0;right:0}.feature-card-amber:hover .feature-corner{opacity:1;background:linear-gradient(135deg,transparent 50%,var(--tw-amber-100)50%)}.feature-card-warm:hover .feature-corner{opacity:1;background:linear-gradient(135deg,#0000 50%,#fef3e3 50%)}.feature-card-earth:hover .feature-corner{opacity:1;background:linear-gradient(135deg,#0000 50%,#e8f0e9 50%)}.how-it-works{padding:100px var(--tw-space-6);position:relative}.how-header{text-align:center;max-width:600px;margin:0 auto 60px}.how-label{padding:var(--tw-space-1)var(--tw-space-3);background:var(--tw-gray-100);color:var(--tw-gray-600);font-size:var(--tw-text-xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--tw-radius-sm);margin-bottom:var(--tw-space-4);font-weight:600;display:inline-block}.how-title{font-family:var(--tw-font-display);color:var(--tw-gray-900);letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4vw,2.5rem);font-weight:600}.steps-container{grid-template-columns:repeat(4,1fr);gap:24px;max-width:1100px;margin:0 auto;display:grid}@media (max-width:1000px){.steps-container{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.steps-container{grid-template-columns:1fr;max-width:400px}}.step-card{background:var(--tw-panel);border:1px solid var(--tw-gray-200);border-radius:var(--tw-radius-xl);animation:fadeInUp .5s var(--tw-ease-out-soft)backwards;transition:all var(--tw-duration-normal)var(--tw-ease-out-soft);flex-direction:column;padding:28px 24px;display:flex;position:relative}.step-card:hover{border-color:var(--tw-gray-300);box-shadow:var(--tw-shadow-md)}.step-number{font-family:var(--tw-font-display);color:var(--tw-amber-300);margin-bottom:var(--tw-space-4);font-size:2.5rem;font-weight:600;line-height:1}.step-title{color:var(--tw-gray-900);margin:0 0 var(--tw-space-2)0;font-size:1rem;font-weight:600}.step-content{flex:1}.step-description{font-size:var(--tw-text-sm);color:var(--tw-gray-600);margin:0 0 var(--tw-space-4)0;line-height:1.6}.step-visual{background:var(--tw-gray-100);border-radius:var(--tw-radius-md);justify-content:center;align-items:center;height:80px;display:flex;overflow:hidden}.texture-preview-grid{grid-template-columns:repeat(2,1fr);gap:4px;padding:12px;display:grid}.texture-swatch{border-radius:4px;width:28px;height:28px}.texture-swatch-1{background:linear-gradient(135deg,#8b7355 0%,#a08060 100%)}.texture-swatch-2{background:linear-gradient(135deg,#7a9b6d 0%,#5a8a5e 100%)}.texture-swatch-3{background:linear-gradient(135deg,#6b8cae 0%,#5a7a9e 100%)}.texture-swatch-4{background:linear-gradient(135deg,#a08060 0%,#8b7355 100%)}.step-visual-texture{position:relative}.visual-spark{background:var(--tw-amber-400);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite sparkle;position:absolute}.visual-spark-1{top:20px;right:20px}@keyframes sparkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.grid-preview{grid-template-columns:repeat(3,1fr);gap:4px;padding:16px;display:grid}.grid-cell{background:var(--tw-gray-200);border-radius:3px;width:20px;height:20px;transition:all .2s}.grid-cell.selected{background:var(--tw-amber-400);box-shadow:0 0 8px #ffcf5666}.step-visual-select{position:relative}.cursor-hint{color:var(--tw-gray-400);animation:2s ease-in-out infinite cursorBob;position:absolute;bottom:12px;right:16px}@keyframes cursorBob{0%,to{transform:translate(0)}50%{transform:translate(-4px,-4px)}}.prompt-preview{border-radius:var(--tw-radius-sm);box-shadow:var(--tw-shadow-sm);background:#fff;align-items:center;padding:8px 12px;display:flex}.prompt-text{font-size:var(--tw-text-xs);color:var(--tw-gray-600);font-family:var(--tw-font-mono)}.prompt-cursor{background:var(--tw-amber-500);width:2px;height:14px;margin-left:2px;animation:1s step-end infinite blink}.generation-indicator{gap:4px;display:flex;position:absolute;bottom:12px}.gen-dot{background:var(--tw-amber-400);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite genPulse}.gen-dot-2{animation-delay:.2s}.gen-dot-3{animation-delay:.4s}@keyframes genPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.export-preview{flex-direction:column;align-items:center;gap:8px;display:flex}.export-file{border-radius:var(--tw-radius-sm);box-shadow:var(--tw-shadow-sm);background:#fff;align-items:center;gap:6px;padding:8px 12px;display:flex}.export-file svg{color:var(--tw-gray-400)}.export-file span{font-size:var(--tw-text-xs);color:var(--tw-gray-700);font-weight:500}.export-arrow{color:var(--tw-success);animation:2s ease-in-out infinite downloadBounce}@keyframes downloadBounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.step-connector{display:none}@media (min-width:1001px){.step-connector{color:var(--tw-gray-300);z-index:10;display:flex;position:absolute;top:50%;right:-24px;transform:translateY(-50%)}}.cta{padding:100px var(--tw-space-6);background:var(--tw-gray-900);position:relative;overflow:hidden}.cta-container{text-align:center;max-width:800px;margin:0 auto;position:relative}.cta-decoration{opacity:.05;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cta-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid;transform:rotate(-12deg)scale(1.5)}.cta-grid-cell{background:#fff;border-radius:4px;width:40px;height:40px}.cta-content{z-index:1;position:relative}.cta-title{font-family:var(--tw-font-display);color:#fff;margin:0 0 var(--tw-space-4)0;letter-spacing:-.02em;font-size:clamp(2rem,5vw,3rem);font-weight:600}.cta-question{color:var(--tw-amber-400)}.cta-subtitle{color:var(--tw-gray-400);margin:0 0 32px;font-size:1.125rem}.cta-button{align-items:center;gap:var(--tw-space-2);background:var(--tw-amber-400);color:var(--tw-gray-900);border-radius:var(--tw-radius-lg);transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);padding:16px 32px;font-size:1.125rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 20px #ffcf564d}.cta-button:hover{background:var(--tw-amber-300);transform:translateY(-2px);box-shadow:0 8px 30px #ffcf5666}.cta-button svg{transition:transform var(--tw-duration-fast)var(--tw-ease-out-soft)}.cta-button:hover svg{transform:translate(4px)}.cta-accent{color:var(--tw-amber-400);opacity:.3;position:absolute;bottom:-40px;right:-40px}.landing-footer{padding:60px var(--tw-space-6)40px;background:var(--tw-panel);border-top:1px solid var(--tw-gray-200)}.footer-container{text-align:center;flex-direction:column;align-items:center;max-width:1000px;margin:0 auto;display:flex}.footer-brand{margin-bottom:var(--tw-space-6)}.footer-logo{font-family:var(--tw-font-display);color:var(--tw-gray-900);font-size:1.25rem;font-weight:600}.footer-logo-dot{color:var(--tw-amber-500)}.footer-tagline{font-size:var(--tw-text-sm);color:var(--tw-gray-500);margin:var(--tw-space-2)0 0 0}.footer-links{gap:var(--tw-space-6);margin-bottom:var(--tw-space-6);display:flex}.footer-link{font-size:var(--tw-text-sm);color:var(--tw-gray-600);transition:color var(--tw-duration-fast)var(--tw-ease-out-soft);text-decoration:none}.footer-link:hover{color:var(--tw-gray-900)}.footer-divider{background:var(--tw-gray-200);width:60px;height:1px;margin-bottom:var(--tw-space-6)}.footer-copyright{font-size:var(--tw-text-xs);color:var(--tw-gray-400);margin:0}.auth-page{min-height:100vh;padding:var(--tw-space-6);background:var(--tw-canvas);justify-content:center;align-items:center;display:flex}.auth-container{width:100%;max-width:400px;padding:var(--tw-space-8);background:var(--tw-panel);border:1px solid var(--tw-gray-200);border-radius:var(--tw-radius-xl);box-shadow:var(--tw-shadow-lg);animation:fadeInUp .4s var(--tw-ease-out-soft)}.auth-header{text-align:center;margin-bottom:var(--tw-space-6)}.auth-logo{font-family:var(--tw-font-display);color:var(--tw-gray-900);margin-bottom:var(--tw-space-6);font-size:1.5rem;font-weight:600;text-decoration:none;display:inline-block}.auth-logo-dot{color:var(--tw-amber-500)}.auth-title{font-family:var(--tw-font-display);color:var(--tw-gray-900);margin:0 0 var(--tw-space-2)0;font-size:1.5rem;font-weight:600}.auth-subtitle{font-size:var(--tw-text-sm);color:var(--tw-gray-600);margin:0}.auth-form{gap:var(--tw-space-4);flex-direction:column;display:flex}.auth-field{gap:var(--tw-space-2);flex-direction:column;display:flex}.auth-field label{font-size:var(--tw-text-sm);color:var(--tw-gray-700);font-weight:500}.auth-field input{padding:var(--tw-space-3);font-size:var(--tw-text-sm);background:var(--tw-input-bg);border:var(--tw-border-width)solid var(--tw-input-border);border-radius:var(--tw-radius-md);color:var(--tw-input-text);transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);font-family:inherit}.auth-field input:hover{border-color:var(--tw-input-border-hover)}.auth-field input:focus{border-color:var(--tw-input-border-focus);box-shadow:var(--tw-focus-ring);outline:none}.auth-field input::placeholder{color:var(--tw-input-placeholder)}.auth-submit{margin-top:var(--tw-space-2);padding:var(--tw-space-3);font-size:var(--tw-text-sm);background:var(--tw-btn-primary-bg);border:var(--tw-border-width)solid var(--tw-btn-primary-bg);border-radius:var(--tw-radius-md);color:var(--tw-btn-primary-text);box-shadow:var(--tw-btn-primary-shadow);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),transform var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);font-family:inherit;font-weight:600}.auth-submit:hover:not(:disabled){background:var(--tw-btn-primary-bg-hover);border-color:var(--tw-btn-primary-bg-hover);box-shadow:var(--tw-btn-primary-shadow-hover);transform:translateY(-1px)}.auth-submit:active:not(:disabled){background:var(--tw-btn-primary-bg-active);transform:scale(.98)translateY(0)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-error{padding:var(--tw-space-3);background:var(--tw-error-light);border-radius:var(--tw-radius-md);font-size:var(--tw-text-sm);color:var(--tw-error);justify-content:space-between;align-items:center;display:flex}.auth-error-dismiss{color:var(--tw-error);cursor:pointer;opacity:.7;transition:opacity var(--tw-duration-fast);background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.auth-error-dismiss:hover{opacity:1}.auth-footer{margin-top:var(--tw-space-6);text-align:center;font-size:var(--tw-text-sm);color:var(--tw-gray-600)}.auth-link{color:var(--tw-amber-600);transition:color var(--tw-duration-fast);font-weight:500;text-decoration:none}.auth-link:hover{color:var(--tw-amber-500);text-decoration:underline}.auth-loading{background:var(--tw-canvas);justify-content:center;align-items:center;min-height:100vh;display:flex}.header-sign-out{padding:var(--tw-space-1)var(--tw-space-3);font-size:var(--tw-text-sm);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);color:var(--tw-gray-600);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),border-color var(--tw-duration-fast)var(--tw-ease-out-soft),color var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;font-family:inherit;font-weight:500}.header-sign-out:hover{background:var(--tw-gray-100);border-color:var(--tw-gray-400);color:var(--tw-gray-800)}.editor-back-btn{border-radius:var(--tw-radius-md);width:32px;height:32px;color:var(--tw-gray-500);transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);justify-content:center;align-items:center;display:flex}.editor-back-btn:hover{background:var(--tw-gray-100);color:var(--tw-gray-700)}.editor-mode-toggle{background:var(--tw-gray-100);border:1px solid var(--tw-gray-200);border-radius:var(--tw-radius-lg);align-items:center;gap:2px;padding:3px;display:flex}.mode-toggle-btn{font-size:var(--tw-text-sm);border-radius:calc(var(--tw-radius-lg) - 2px);color:var(--tw-gray-500);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);white-space:nowrap;background:0 0;border:1px solid #0000;padding:5px 14px;font-family:inherit;font-weight:500;line-height:1}.mode-toggle-btn:hover:not(.active){color:var(--tw-gray-700)}.mode-toggle-btn.active{background:var(--tw-panel);border-color:var(--tw-gray-200);color:var(--tw-gray-900);box-shadow:0 1px 2px #785a3214}.dropdown-content{background:var(--tw-panel);border:var(--tw-border-width)solid var(--tw-gray-200);border-radius:var(--tw-radius-lg);min-width:220px;box-shadow:var(--tw-shadow-lg);padding:var(--tw-space-1);animation:fadeInUp var(--tw-duration-fast)var(--tw-ease-out-soft);z-index:100}.dropdown-content[data-state=closed]{animation:fadeOut var(--tw-duration-fast)var(--tw-ease-out-soft)}.dropdown-item{align-items:center;gap:var(--tw-space-2);padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);color:var(--tw-gray-700);border-radius:var(--tw-radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft);outline:none;display:flex}.dropdown-item svg{color:var(--tw-gray-500);flex-shrink:0}.dropdown-item[data-highlighted]{background:var(--tw-gray-100);color:var(--tw-gray-900)}.dropdown-item[data-highlighted] svg{color:var(--tw-gray-700)}.dropdown-item-danger,.dropdown-item-danger svg{color:var(--tw-error)}.dropdown-item-danger[data-highlighted]{background:var(--tw-error-light);color:var(--tw-error)}.dropdown-separator{background:var(--tw-gray-200);height:1px;margin:var(--tw-space-1)0}.dropdown-label{padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);color:var(--tw-gray-500)}.profile-dropdown-trigger{cursor:pointer;width:40px;height:40px;transition:transform var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.profile-dropdown-trigger:hover{transform:scale(1.05)}.profile-dropdown-trigger:focus-visible{box-shadow:var(--tw-focus-ring);outline:none}.profile-dropdown-avatar{background:linear-gradient(135deg,var(--tw-amber-400),var(--tw-amber-500));width:40px;height:40px;font-size:var(--tw-text-base);color:#fff;text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.profile-dropdown-avatar-small{width:32px;height:32px;font-size:var(--tw-text-sm)}.profile-dropdown-header{align-items:center;gap:var(--tw-space-3);padding:var(--tw-space-1)0;display:flex}.profile-dropdown-user-info{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-dropdown-name{color:var(--tw-gray-900);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.profile-dropdown-email{font-size:var(--tw-text-xs);color:var(--tw-gray-500);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-dialog{max-width:420px}.subscription-subscriber-dialog{max-width:560px}.profile-dialog-loading{padding:var(--tw-space-8);justify-content:center;align-items:center;display:flex}.profile-dialog-content{gap:var(--tw-space-4);margin-top:var(--tw-space-4);flex-direction:column;display:flex}.profile-dialog-error{font-size:var(--tw-text-sm);color:var(--tw-error);background:var(--tw-error-light);padding:var(--tw-space-2)var(--tw-space-3);border-radius:var(--tw-radius-md)}.profile-dialog-success{align-items:center;gap:var(--tw-space-3);padding:var(--tw-space-8);color:var(--tw-success);text-align:center;flex-direction:column;display:flex}.profile-dialog-field{gap:var(--tw-space-1);flex-direction:column;display:flex}.profile-dialog-label{font-size:var(--tw-text-sm);color:var(--tw-gray-700);font-weight:500}.profile-dialog-input{padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);background:var(--tw-input-bg);border:var(--tw-border-width)solid var(--tw-input-border);border-radius:var(--tw-radius-md);color:var(--tw-input-text);transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft);font-family:inherit}.profile-dialog-input:hover{border-color:var(--tw-input-border-hover)}.profile-dialog-input:focus{border-color:var(--tw-input-border-focus);box-shadow:var(--tw-focus-ring);outline:none}.profile-dialog-input::placeholder{color:var(--tw-input-placeholder)}.scene-rename-input{padding:2px 6px;font-size:.85em}.scene-dirty-dot{background:var(--tw-amber-500);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.scene-actions-row{gap:var(--tw-space-2);margin-top:var(--tw-space-3);display:flex}.scene-actions-row .upload-btn{flex:1}.scene-save-btn{padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);color:var(--tw-amber-500);border:1px solid var(--tw-amber-500);border-radius:var(--tw-radius-md);cursor:pointer;background:0 0;transition:background .15s,color .15s}.scene-save-btn:hover:not(:disabled){background:var(--tw-amber-500);color:var(--tw-gray-900)}.scene-save-btn:disabled{opacity:.35;cursor:default}.profile-dialog-input-disabled{background:var(--tw-gray-100);color:var(--tw-gray-500);cursor:not-allowed}.profile-dialog-actions{justify-content:flex-end;gap:var(--tw-space-2);margin-top:var(--tw-space-2);display:flex}.profile-dialog-btn{justify-content:center;align-items:center;gap:var(--tw-space-2);padding:var(--tw-space-2)var(--tw-space-4);font-size:var(--tw-text-sm);border-radius:var(--tw-radius-md);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),border-color var(--tw-duration-fast)var(--tw-ease-out-soft),transform var(--tw-duration-fast)var(--tw-ease-out-soft);font-family:inherit;font-weight:600;display:inline-flex}.profile-dialog-btn:active:not(:disabled){transform:scale(.98)}.profile-dialog-btn:disabled{opacity:.5;cursor:not-allowed}.profile-dialog-btn-secondary{border:var(--tw-border-width)solid var(--tw-gray-300);color:var(--tw-gray-700);background:0 0}.profile-dialog-btn-secondary:hover:not(:disabled){background:var(--tw-gray-100);border-color:var(--tw-gray-400)}.profile-dialog-btn-primary{background:var(--tw-btn-primary-bg);border:var(--tw-border-width)solid var(--tw-btn-primary-bg);color:var(--tw-btn-primary-text)}.profile-dialog-btn-primary:hover:not(:disabled){background:var(--tw-btn-primary-bg-hover);border-color:var(--tw-btn-primary-bg-hover)}.profile-dialog-btn-danger{background:var(--tw-error);border:var(--tw-border-width)solid var(--tw-error);color:#fff}.profile-dialog-btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.profile-dialog-title-danger{color:var(--tw-error)}.subscription-card{background:var(--tw-gray-50);border:var(--tw-border-width)solid var(--tw-gray-200);border-radius:var(--tw-radius-lg);padding:var(--tw-space-4)}.subscription-header{align-items:center;gap:var(--tw-space-2);margin-bottom:var(--tw-space-2);display:flex}.subscription-badge{padding:var(--tw-space-1)var(--tw-space-2);font-size:var(--tw-text-xs);border-radius:var(--tw-radius-full);text-transform:uppercase;letter-spacing:.025em;align-items:center;font-weight:600;display:inline-flex}.subscription-badge-inline{margin-left:auto}.subscription-badge-free{background:var(--tw-amber-100);color:var(--tw-amber-700)}.subscription-badge-pro{background:var(--tw-indigo-100);color:var(--tw-indigo-700)}.subscription-badge-starter{background:var(--tw-emerald-100);color:var(--tw-emerald-700)}.subscription-status{font-size:var(--tw-text-xs);font-weight:500}.subscription-status-warning{color:var(--tw-warning)}.subscription-description{font-size:var(--tw-text-sm);color:var(--tw-gray-600);margin:0}.subscription-end-date{font-size:var(--tw-text-xs);color:var(--tw-gray-500);margin:var(--tw-space-2)0 0 0}.subscription-status-active{color:var(--tw-success)}.subscription-credit-section{margin:var(--tw-space-3)0}.subscription-credit-label{font-size:var(--tw-text-xs);color:var(--tw-gray-500);text-transform:uppercase;letter-spacing:.025em;margin:0 0 var(--tw-space-2)0;font-weight:600}.subscription-credit-bar{background:var(--tw-gray-200);border-radius:var(--tw-radius-full);height:8px;overflow:hidden}.subscription-credit-bar-fill{background:var(--tw-amber-400);border-radius:var(--tw-radius-full);height:100%;transition:width var(--tw-duration-normal)var(--tw-ease-out-soft)}.subscription-credit-summary{font-size:var(--tw-text-sm);color:var(--tw-gray-700);margin:var(--tw-space-2)0 0 0;justify-content:space-between;align-items:baseline;font-weight:500;display:flex}.subscription-credit-remaining{font-size:var(--tw-text-xs);color:var(--tw-gray-500);font-weight:400}.subscription-renewal{font-size:var(--tw-text-sm);color:var(--tw-gray-500);margin:var(--tw-space-3)0 0 0}.subscription-warning{background:var(--tw-amber-50);border:var(--tw-border-width)solid var(--tw-amber-300);border-radius:var(--tw-radius-md);padding:var(--tw-space-3);font-size:var(--tw-text-sm);color:var(--tw-amber-800);margin:var(--tw-space-3)0 0 0;line-height:var(--tw-leading-normal)}.subscription-pending-info{margin:0 0 var(--tw-space-2)0}.subscription-cancel-downgrade-btn{align-items:center;gap:var(--tw-space-1);padding:var(--tw-space-1)var(--tw-space-3);font-size:var(--tw-text-sm);color:var(--tw-amber-800);background:var(--tw-amber-100);border:var(--tw-border-width)solid var(--tw-amber-400);border-radius:var(--tw-radius-sm);cursor:pointer;transition:background var(--tw-duration-fast)var(--tw-ease-default);font-weight:500;display:inline-flex}.subscription-cancel-downgrade-btn:hover{background:var(--tw-amber-200)}.subscription-cancel-downgrade-btn:disabled{opacity:.6;cursor:not-allowed}.subscription-actions{gap:var(--tw-space-2);margin-top:var(--tw-space-4);display:flex}.subscription-actions .profile-dialog-btn{flex:1}.subscription-change-title{font-family:var(--tw-font-display);font-size:var(--tw-text-base);color:var(--tw-gray-900);margin:0 0 var(--tw-space-4)0;font-weight:600}.subscription-change-comparison{gap:var(--tw-space-2);margin-bottom:var(--tw-space-4);flex-direction:column;display:flex}.subscription-change-row{align-items:baseline;gap:var(--tw-space-2);font-size:var(--tw-text-sm);display:flex}.subscription-change-label{color:var(--tw-gray-500);min-width:60px}.subscription-change-value{color:var(--tw-gray-700);font-weight:500}.subscription-change-row-new .subscription-change-value{color:var(--tw-gray-900);font-weight:600}.subscription-change-details{margin:0 0 var(--tw-space-3)0;gap:var(--tw-space-2);flex-direction:column;padding:0;list-style:none;display:flex}.subscription-change-details li{font-size:var(--tw-text-sm);color:var(--tw-gray-600);padding-left:var(--tw-space-4);position:relative}.subscription-change-details li:before{content:"•";left:var(--tw-space-1);color:var(--tw-gray-400);position:absolute}.subscription-topup{border-top:var(--tw-border-width)solid var(--tw-gray-200);margin-top:var(--tw-space-4);padding-top:var(--tw-space-4)}.subscription-topup-btn{text-align:center;justify-content:center;width:100%}.subscription-change-actions{justify-content:space-between}.subscription-change-note{font-size:var(--tw-text-sm);color:var(--tw-gray-500);margin:var(--tw-space-4)0 0 0;text-align:center;line-height:var(--tw-leading-normal)}[data-sonner-toast].toast-success [data-icon] svg{color:var(--tw-success)}[data-sonner-toast].toast-error{border-color:var(--tw-error)}[data-sonner-toast].toast-error [data-icon] svg{color:var(--tw-error)}.delete-account-warning{gap:var(--tw-space-3);background:var(--tw-error-light);border:var(--tw-border-width)solid var(--tw-error);border-radius:var(--tw-radius-lg);padding:var(--tw-space-4);display:flex}.delete-account-warning svg{color:var(--tw-error);flex-shrink:0}.delete-account-warning-title{color:var(--tw-error);margin:0 0 var(--tw-space-1)0;font-weight:600}.delete-account-warning-text{font-size:var(--tw-text-sm);color:var(--tw-gray-700);margin:0 0 var(--tw-space-2)0}.delete-account-list{font-size:var(--tw-text-sm);color:var(--tw-gray-600);padding-left:var(--tw-space-4);margin:0}.delete-account-list li{margin-bottom:var(--tw-space-1)}.delete-account-list li:last-child{margin-bottom:0}.delete-account-recovery-note{font-size:var(--tw-text-sm);color:var(--tw-gray-600);margin:var(--tw-space-3)0 0 0;font-style:italic}.sidebar-left,.sidebar-right{width:260px;transition:width var(--tw-duration-normal)var(--tw-ease-out-soft);flex-shrink:0;overflow:hidden}.sidebar-left.collapsed,.sidebar-right.collapsed{width:0}.sidebar-content{flex-direction:column;width:260px;min-width:260px;height:100%;display:flex;overflow-y:auto}.sidebar-toggle-icon{z-index:20;background:var(--tw-panel);border:1px solid var(--tw-gray-300);width:24px;height:48px;color:var(--tw-gray-600);cursor:pointer;animation:fadeIn var(--tw-duration-normal)var(--tw-ease-out-soft);transition:background var(--tw-duration-fast)var(--tw-ease-out-soft),color var(--tw-duration-fast)var(--tw-ease-out-soft);justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 6px #785a3226}.sidebar-toggle-icon:hover{background:var(--tw-gray-100);color:var(--tw-gray-700)}.sidebar-toggle-icon.left{border-radius:0 var(--tw-radius-md)var(--tw-radius-md)0;border-left:none;left:0}.sidebar-toggle-icon.right{border-radius:var(--tw-radius-md)0 0 var(--tw-radius-md);border-right:none;right:0}.texture-preview-canvas-wrapper{width:100%;height:100%;position:relative;overflow:hidden auto}.texture-preview-scroll{width:100%;min-height:100%}.texture-preview-empty{color:var(--tw-gray-500);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.texture-preview-empty p{margin:0}.texture-preview-empty .hint{font-size:var(--tw-text-xs);color:var(--tw-gray-400);margin-top:var(--tw-space-1)}.texture-scale-toolbar{z-index:20;align-items:center;gap:var(--tw-space-3);background:var(--tw-panel);border:var(--tw-border-width)solid var(--tw-gray-300);border-radius:var(--tw-radius-lg);box-shadow:var(--tw-shadow-lg);animation:fadeInUp var(--tw-duration-normal)var(--tw-ease-out-soft);padding:8px 16px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.texture-scale-toolbar label{font-size:var(--tw-text-sm);color:var(--tw-gray-700);white-space:nowrap;min-width:72px;font-weight:500}.texture-scale-toolbar input[type=range]{appearance:none;background:var(--tw-gray-200);border-radius:2px;outline:none;width:160px;height:4px}.texture-scale-toolbar input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--tw-amber-500);cursor:pointer;width:16px;height:16px;transition:transform var(--tw-duration-fast)var(--tw-ease-out-soft);border-radius:50%;box-shadow:0 1px 4px #d977064d}.texture-scale-toolbar input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.texture-scale-toolbar input[type=range]::-moz-range-thumb{background:var(--tw-amber-500);cursor:pointer;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #d977064d}.texture-scale-toolbar .toolbar-divider{background:var(--tw-gray-300);flex-shrink:0;width:1px;height:20px}.texture-scale-toolbar .toolbar-checkbox{align-items:center;gap:var(--tw-space-1);cursor:pointer;min-width:auto;display:flex}.texture-scale-toolbar .toolbar-checkbox input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--tw-amber-500)}.texture-scale-toolbar .toolbar-icon-btn{border:var(--tw-border-width)solid var(--tw-gray-300);border-radius:var(--tw-radius-md);width:28px;height:28px;color:var(--tw-gray-600);cursor:pointer;transition:color var(--tw-duration-fast),border-color var(--tw-duration-fast);background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.texture-scale-toolbar .toolbar-icon-btn:hover:not(:disabled){color:var(--tw-gray-900);border-color:var(--tw-gray-400)}.texture-scale-toolbar .toolbar-icon-btn:active:not(:disabled){color:var(--tw-amber-600);border-color:var(--tw-amber-400);background:var(--tw-amber-50)}.texture-scale-toolbar .toolbar-icon-btn:disabled{opacity:.4;cursor:default}.terrain-config-panel h3{margin-bottom:var(--tw-space-3)}.scene-tool-toggle{background:var(--tw-gray-100);border-radius:var(--tw-radius-md);margin-bottom:var(--tw-space-3);gap:2px;padding:2px;display:flex}.scene-tool-toggle button{padding:var(--tw-space-2);font-size:var(--tw-text-xs);border-radius:var(--tw-radius-sm);color:var(--tw-gray-600);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:4px;font-weight:500;display:flex}.scene-tool-toggle button:hover{color:var(--tw-gray-800)}.scene-tool-toggle button.active{color:var(--tw-gray-900);box-shadow:var(--tw-shadow-sm);background:#fff}.terrain-autotile-setup{margin-bottom:var(--tw-space-3)}.terrain-autotile-setup summary{font-size:var(--tw-text-sm);color:var(--tw-gray-700);cursor:pointer;padding:var(--tw-space-1)0;-webkit-user-select:none;user-select:none;font-weight:600}.terrain-autotile-setup summary:hover{color:var(--tw-gray-900)}.terrain-texture-row{gap:var(--tw-space-2);margin-top:var(--tw-space-2);flex-direction:column;display:flex}.terrain-texture-select label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);margin-bottom:2px;font-weight:500;display:block}.terrain-format-row{margin-top:var(--tw-space-2)}.terrain-format-row>label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);margin-bottom:4px;font-weight:500;display:block}.terrain-tile-size{font-size:var(--tw-text-xs);color:var(--tw-gray-500);margin-top:var(--tw-space-2)}.terrain-advanced-toggle{font-size:var(--tw-text-xs);color:var(--tw-amber-600);cursor:pointer;padding:var(--tw-space-1)0;margin-top:var(--tw-space-2);background:0 0;border:none;align-items:center;gap:4px;display:inline-flex}.terrain-advanced-toggle:hover{color:var(--tw-amber-500)}.panel button.inline-disclosure{font-size:var(--tw-text-xs);color:var(--tw-gray-500);cursor:pointer;margin-top:var(--tw-space-2);background:0 0;border:none;border-radius:0;align-items:center;gap:4px;padding:0;font-weight:500;display:inline-flex}.panel button.inline-disclosure:hover{color:var(--tw-gray-600);background:0 0;border:none;transform:none}.disclosure-chevron{transition:transform var(--tw-transition-fast)}.disclosure-chevron.open{transform:rotate(90deg)}.terrain-advanced-settings{gap:var(--tw-space-2);margin-top:var(--tw-space-2);padding:var(--tw-space-2);background:var(--tw-gray-50);border-radius:var(--tw-radius-md);flex-direction:column;display:flex}.terrain-generate-btn{width:100%;margin-top:var(--tw-space-3)}.terrain-info{margin-bottom:var(--tw-space-2)}.terrain-info-badge{font-size:var(--tw-text-xs);color:var(--tw-amber-600);background:var(--tw-amber-50);border-radius:var(--tw-radius-sm);padding:2px 8px;display:inline-block}.terrain-actions{gap:var(--tw-space-2);display:flex}.terrain-actions button{padding:var(--tw-space-2);font-size:var(--tw-text-xs);border:1px solid var(--tw-gray-300);border-radius:var(--tw-radius-md);color:var(--tw-gray-700);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);background:#fff;flex:1}.terrain-actions button:hover:not(:disabled){background:var(--tw-gray-50);border-color:var(--tw-gray-400)}.terrain-actions button:disabled{opacity:.5;cursor:not-allowed}.paint-disabled-tooltip{pointer-events:none;z-index:10;background:var(--tw-gray-800);color:var(--tw-gray-100);font-size:var(--tw-text-xs);padding:var(--tw-space-1-5)var(--tw-space-2-5);border-radius:var(--tw-radius-md);white-space:nowrap;box-shadow:var(--tw-shadow-md);position:absolute}.color-variant-modal{width:94vw;max-width:660px;padding:var(--tw-space-5)}.cv-preview-frame{border-radius:var(--tw-radius-xl);background:var(--tw-gray-200);box-shadow:var(--tw-shadow-inset),0 0 0 1px var(--tw-gray-300);margin-bottom:var(--tw-space-4);overflow:hidden}.cv-preview-canvas{aspect-ratio:16/9;width:100%;height:auto;display:block}.cv-presets{gap:var(--tw-space-4);margin-bottom:var(--tw-space-4);grid-template-columns:1fr 1fr;display:grid}.cv-preset-group{flex-direction:column;gap:6px;display:flex}.cv-preset-label{color:var(--tw-gray-500);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:600}.cv-preset-row{flex-wrap:wrap;gap:6px;display:flex}.cv-preset-chip{font-size:var(--tw-text-xs);border-radius:var(--tw-radius-md);border:var(--tw-border-width)solid var(--tw-gray-300);background:var(--tw-gray-50);color:var(--tw-gray-600);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);padding:5px 12px;font-weight:500}.cv-preset-chip:hover{background:var(--tw-panel);border-color:var(--tw-amber-300);color:var(--tw-gray-800)}.cv-preset-chip.active{border-color:var(--tw-amber-500);background:var(--tw-amber-50);color:var(--tw-gray-900);box-shadow:0 0 0 1px var(--tw-amber-300);font-weight:600}.cv-controls{background:var(--tw-gray-50);border:var(--tw-border-width)solid var(--tw-gray-200);border-radius:var(--tw-radius-xl);padding:var(--tw-space-4);margin-bottom:var(--tw-space-4)}.cv-controls-header{margin-bottom:var(--tw-space-3);justify-content:space-between;align-items:center;display:flex}.cv-controls-title{font-size:var(--tw-text-xs);color:var(--tw-gray-500);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.cv-reset-btn{font-size:var(--tw-text-xs);color:var(--tw-gray-500);background:var(--tw-panel);border:var(--tw-border-width)solid var(--tw-gray-300);border-radius:var(--tw-radius-sm);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);padding:3px 10px;font-weight:500}.cv-reset-btn:hover{color:var(--tw-gray-700);border-color:var(--tw-gray-400);background:var(--tw-gray-100)}.cv-sliders{gap:var(--tw-space-3);flex-direction:column;display:flex}.cv-slider-row{align-items:center;gap:var(--tw-space-3);grid-template-columns:80px 1fr 40px;display:grid}.cv-slider-label{font-size:var(--tw-text-xs);color:var(--tw-gray-600);font-weight:500}.cv-slider-track-wrap{position:relative}.cv-slider-value{font-size:var(--tw-text-xs);color:var(--tw-gray-400);text-align:right;font-variant-numeric:tabular-nums;font-family:var(--tw-font-mono),monospace;transition:color var(--tw-duration-fast)var(--tw-ease-out-soft)}.cv-slider-value.modified{color:var(--tw-gray-700)}.cv-save-row{gap:var(--tw-space-2);flex-direction:column;display:flex}.cv-name-input{width:100%;padding:var(--tw-space-2)var(--tw-space-3);font-size:var(--tw-text-sm);border:var(--tw-border-width)solid var(--tw-gray-300);border-radius:var(--tw-radius-md);background:var(--tw-input-bg);color:var(--tw-gray-900);transition:border-color var(--tw-duration-fast)var(--tw-ease-out-soft),box-shadow var(--tw-duration-fast)var(--tw-ease-out-soft)}.cv-name-input::placeholder{color:var(--tw-input-placeholder)}.cv-name-input:focus{border-color:var(--tw-amber-400);box-shadow:var(--tw-focus-ring);outline:none}.cv-save-actions{gap:var(--tw-space-2);display:flex}.cv-btn-cancel{padding:var(--tw-space-2)var(--tw-space-4);font-size:var(--tw-text-sm);color:var(--tw-gray-600);background:var(--tw-panel);border:var(--tw-border-width)solid var(--tw-gray-300);border-radius:var(--tw-radius-md);cursor:pointer;transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);flex:none;font-weight:500}.cv-btn-cancel:hover{background:var(--tw-gray-100);border-color:var(--tw-gray-400)}.cv-btn-save{justify-content:center;align-items:center;gap:var(--tw-space-2);padding:var(--tw-space-2)var(--tw-space-5);font-size:var(--tw-text-sm);color:var(--tw-btn-primary-text);background:var(--tw-btn-primary-bg);border-radius:var(--tw-radius-md);cursor:pointer;box-shadow:var(--tw-btn-primary-shadow);transition:all var(--tw-duration-fast)var(--tw-ease-out-soft);border:1px solid #0000;flex:1;font-weight:600;display:inline-flex}.cv-btn-save:hover:not(:disabled){background:var(--tw-btn-primary-bg-hover);box-shadow:var(--tw-btn-primary-shadow-hover);transform:translateY(-1px)}.cv-btn-save:active:not(:disabled){background:var(--tw-btn-primary-bg-active);transform:scale(.98)translateY(0)}.cv-btn-save:disabled{opacity:.45;cursor:not-allowed}.cv-limit-hint{font-size:var(--tw-text-xs);color:var(--tw-amber-600);margin:0}@media (max-width:480px){.cv-presets{gap:var(--tw-space-2);grid-template-columns:1fr}.cv-slider-row{gap:var(--tw-space-2);grid-template-columns:64px 1fr 36px}}.credit-badge{align-items:center;gap:var(--tw-space-1);padding:var(--tw-space-1)var(--tw-space-2);background:var(--tw-amber-100);color:var(--tw-amber-600);border:var(--tw-border-width)solid var(--tw-amber-300);border-radius:var(--tw-radius-md);font-size:var(--tw-text-xs);cursor:pointer;transition:background var(--tw-transition-fast),border-color var(--tw-transition-fast);white-space:nowrap;font-weight:600;line-height:1;display:inline-flex}.credit-badge:hover{background:var(--tw-amber-200);border-color:var(--tw-amber-400)}.credit-badge-icon{flex-shrink:0}.credit-badge-empty{background:var(--tw-error-light);color:var(--tw-error);border-color:var(--tw-error)}.credit-badge-empty:hover{border-color:var(--tw-error);background:#ffedd5}.credit-badge-low{animation:2s ease-in-out infinite glow-pulse}.credit-cost-inline{opacity:.85;vertical-align:baseline;align-items:center;gap:3px;display:inline-flex}.credit-cost-dot{margin:0 2px}.credit-cost-icon{flex-shrink:0;display:block;position:relative;top:.5px}.credit-confirm-body{gap:var(--tw-space-2);background:var(--tw-gray-50);border:var(--tw-border-width)solid var(--tw-gray-200);border-radius:var(--tw-radius-lg);padding:var(--tw-space-3)var(--tw-space-4);margin-bottom:var(--tw-space-3);flex-direction:column;display:flex}.credit-confirm-row{justify-content:space-between;align-items:center;display:flex}.credit-confirm-label{font-size:var(--tw-text-sm);color:var(--tw-gray-600)}.credit-confirm-value{font-size:var(--tw-text-sm);color:var(--tw-gray-900);font-weight:600}.credit-confirm-cost{color:var(--tw-amber-600)}.credit-confirm-low{color:var(--tw-error)}.credit-confirm-divider{background:var(--tw-gray-200);height:1px}.export-watermark-notice{font-size:var(--tw-text-xs);color:var(--tw-warning);background:var(--tw-warning-light);border:var(--tw-border-width)solid var(--tw-warning);border-radius:var(--tw-radius-md);padding:var(--tw-space-2)var(--tw-space-3);text-align:center}.floating-toolbar-turn-info{font-size:var(--tw-text-xs);color:var(--tw-gray-500);padding:0 var(--tw-space-1);justify-content:space-between;align-items:center;display:flex}.floating-toolbar-turn-info.warning{color:var(--tw-warning)}.floating-toolbar-turn-cost{font-weight:600}.floating-toolbar-edit-limit{font-size:var(--tw-text-xs);color:var(--tw-gray-500);background:var(--tw-gray-100);border:var(--tw-border-width)solid var(--tw-gray-200);border-radius:var(--tw-radius-md);padding:var(--tw-space-3);text-align:center}#root{width:100%;min-height:100vh}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
