@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a1a;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#fdf9f2;--text-primary:#2e3d31;--text-secondary:#4f5d51;--accent:#547f68;--accent-light:#92b7a3;--button-bg:#547f68;--button-hover:#3e614e;--input-bg:#fff;--input-border:#c5d1c8;--border-color:#e2e2e2;--highlight:#f4e5b5;--font-heading:"Poppins",sans-serif;--font-body:"Poppins",sans-serif}body{background-color:#fdf9f2;background-color:var(--bg);color:#2e3d31;color:var(--text-primary);font-family:Poppins,sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.5;margin:0;padding:0}#root,.App{min-height:100vh}.App{background-color:#fdf9f2;background-color:var(--bg);display:flex;flex-direction:column}.App-header{background:#fff;border-bottom:1px solid #e2e2e2;border-bottom:1px solid var(--border-color);padding:1rem 2rem;position:sticky;top:0;z-index:100}.App-header h1{color:#2e3d31;color:var(--text-primary);font-family:Poppins,sans-serif;font-family:var(--font-heading);font-size:2rem;margin:0 0 .5rem;text-align:center}.brand-link{color:inherit;text-decoration:none}.brand-link:hover{opacity:.8}.app-nav{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.nav-btn{background-color:#547f68;background-color:var(--button-bg);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:.6rem 1.2rem;text-decoration:none;transition:background-color .2s ease}.nav-btn:hover{background-color:#3e614e;background-color:var(--button-hover)}.nav-btn.active{background-color:#547f68;background-color:var(--accent)}main{flex:1 1;overflow-y:auto;padding:2rem}h1,h2,h3{color:#2e3d31;color:var(--text-primary);font-family:Poppins,sans-serif;font-family:var(--font-heading);font-weight:600;margin-bottom:.5em}h2{font-size:1.5rem}.button,button{background-color:#547f68;background-color:var(--button-bg);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.6rem 1.2rem;transition:background-color .2s ease}.button:hover,button:hover{background-color:#3e614e;background-color:var(--button-hover)}input[type=number],input[type=text],select{background-color:#fff;background-color:var(--input-bg);border:1px solid #c5d1c8;border:1px solid var(--input-border);border-radius:6px;box-sizing:border-box;font-family:Poppins,sans-serif;font-family:var(--font-body);font-size:1rem;padding:.5rem;width:100%}.main-layout{display:flex;gap:2rem;margin:0 auto;max-width:1200px}.main-panel{background:#fff;border:1px solid #e2e2e2;border:1px solid var(--border-color);border-radius:10px;flex:3 1;min-height:400px;padding:1rem}.sidebar{display:flex;flex:1 1;flex-direction:column;gap:2rem}.sidebar-section{background-color:#fff;border:1px solid #e2e2e2;border:1px solid var(--border-color);border-radius:10px}.sidebar-section h3{color:#4f5d51;color:var(--text-secondary);font-size:1rem;margin-top:0}.animated-logo-container{position:relative}.animated-logo,.animated-logo-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.animated-logo svg{height:100%;max-height:750px;max-width:750px;width:100%}.animated-logo path{stroke:#000;stroke-width:.5;stroke-opacity:.3;transition:fill .5s ease,opacity .5s ease}.animation-indicator{bottom:20px;height:12px;position:absolute;right:20px;width:12px}.pulse{animation:pulse 1.5s ease-in-out infinite;background:var(--accent);border-radius:50%;height:100%;width:100%}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.homepage{background-color:#f5f0e8;display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.homepage-container{overflow:hidden;padding:2rem}.homepage-container,.logo-side{align-items:center;display:flex;flex:1 1;justify-content:center}.logo-side{max-height:calc(100vh - 100px);padding:1rem}.homepage-logo{height:auto;max-width:500px;object-fit:contain;width:100%}.content-side{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem}.content-wrapper{max-width:400px;text-align:left;width:100%}.brand-name{font-size:4rem;font-weight:500;letter-spacing:-2px;margin:0 0 .5rem}.brand-name,.tagline{color:#2d3e30;font-family:Poppins,sans-serif}.tagline{font-size:1.25rem;font-weight:400;margin:0 0 2rem}.subtitle-section{margin-bottom:3rem}.subtitle-line{color:#5a6b5d;font-family:Poppins,sans-serif;font-size:1.1rem;line-height:1.5;margin:0}.subtitle-line.italic{font-style:italic}.nav-buttons{flex-direction:column;width:100%}.button-row,.nav-buttons{display:flex;gap:1rem}.nav-button{align-items:center;background-color:#6b9080;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;justify-content:center;letter-spacing:0;line-height:1.2;min-height:80px;padding:1.5rem 1rem;text-transform:none;transition:all .2s ease}.nav-button:hover{background-color:#5a7f6f;box-shadow:0 4px 12px #6b90804d;transform:translateY(-2px)}.workbench-button{background-color:#6b9080;width:100%}.workbench-button:hover{background-color:#5a7f6f}.homepage-footer{align-items:center;bottom:1rem;color:#5a6b5d;display:flex;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:400;gap:.5rem;left:50%;padding:.5rem;position:absolute;transform:translateX(-50%)}.claude-logo{opacity:.6;transition:opacity .2s ease}.homepage-footer:hover .claude-logo{opacity:1}@media (max-width:968px){.homepage-container{flex-direction:column}.logo-side{flex:none;padding:2rem 1rem}.homepage-logo{max-width:250px}.content-side{flex:none;padding:1rem}.content-wrapper{text-align:center}.brand-name{font-size:3rem}}@media (max-width:480px){.button-row{flex-direction:column}.nav-button{width:100%}}.app-layout{background-color:var(--bg);display:flex;flex-direction:column;min-height:100vh}.app-header-minimal{align-items:center;background:#fff;border-bottom:1px solid var(--border-color);display:flex;height:60px;justify-content:space-between;padding:.75rem 1.5rem;position:sticky;top:0;z-index:100}.app-title{color:var(--text-primary);cursor:pointer;font-family:var(--font-heading);font-size:1.75rem;font-weight:500;margin:0}.app-title:hover{opacity:.8}.header-nav{align-items:center;display:flex;gap:.5rem}.header-nav-button{background:none;border:1px solid #0000;border-radius:4px;color:var(--text-secondary);font-size:.95rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.header-nav-button:hover{background-color:var(--bg);color:var(--text-primary)}.header-nav-button.active{background-color:var(--accent);border-color:var(--accent);color:#fff}@media (max-width:768px){.app-header-minimal{padding:.5rem 1rem}.app-title{font-size:1.5rem}.header-nav{gap:.25rem}.header-nav-button{font-size:.875rem;padding:.4rem .75rem}}@media (max-width:480px){.header-nav-button{font-size:.8rem;padding:.4rem .5rem}}.app-main{display:flex;flex:1 1;flex-direction:column}.glass-coverflow{align-items:center;background:linear-gradient(180deg,#0000,#0000000d);border-radius:10px;display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:2rem 0}.coverflow-container,.glass-coverflow{min-height:0;position:relative;width:100%}.coverflow-container{cursor:grab;flex:1 1;perspective:1200px;-webkit-user-select:none;user-select:none}.coverflow-container:active{cursor:grabbing}.coverflow-track{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transform-style:preserve-3d;width:100%}.coverflow-item{position:absolute;transform-style:preserve-3d;transition:all .5s cubic-bezier(.4,0,.2,1);width:360px;will-change:transform,opacity}.coverflow-item.active,.coverflow-item:not(.active){cursor:pointer}.coverflow-item .glass-card{box-shadow:0 10px 40px #0000004d;transform-style:preserve-3d}.coverflow-item.active .glass-card{box-shadow:0 20px 60px #0006}.coverflow-item .glass-image-container{position:relative}.coverflow-item .glass-image-container:after{background:linear-gradient(180deg,#0000,#0000001a);bottom:0;content:"";height:50%;left:0;pointer-events:none;position:absolute;right:0}.coverflow-controls{align-items:center;display:flex;flex-shrink:0;gap:2rem;margin-top:2rem}.coverflow-nav{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.5rem;font-weight:300;height:48px;justify-content:center;transition:all .2s ease;width:48px}.coverflow-nav:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.1)}.coverflow-nav:disabled{cursor:not-allowed;opacity:.3}.coverflow-indicators{align-items:center;display:flex;gap:.5rem}.indicator{background:var(--border-color);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:all .3s ease;width:8px}.indicator.active{background:var(--accent);border-radius:4px;width:24px}.indicator:hover:not(.active){background:var(--accent-light)}.coverflow-item .glass-card:after{background:inherit;content:"";filter:blur(10px);height:100%;left:0;mask-image:linear-gradient(180deg,#0000004d,#0000 30%);-webkit-mask-image:linear-gradient(180deg,#0000004d,#0000 30%);opacity:.1;pointer-events:none;position:absolute;right:0;top:100%;transform:scaleY(-1)}.coverflow-container.dragging .coverflow-item{transition:none}@media (max-width:768px){.glass-coverflow{min-height:500px;padding:1rem 0}.coverflow-container{min-height:400px}.coverflow-item,.coverflow-item .glass-card{width:280px}.coverflow-item .glass-image-container{height:280px;width:280px}}@media (prefers-reduced-motion:no-preference){.glass-coverflow:focus-visible .coverflow-item{transition-duration:.3s}}.glass-editor-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.glass-editor{display:flex;flex-direction:column;max-width:500px}.editor-header h3{font-size:1.5rem;font-weight:600}.close-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.close-btn:hover{background-color:#f0f0f0;color:var(--text-primary)}.editor-content{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.editor-preview{background:var(--bg);border:1px solid var(--border-color);border-radius:10px;height:360px;margin:0 auto;overflow:hidden;width:360px}.editor-image{height:100%;object-fit:cover;width:100%}.editor-form{gap:1rem}.editor-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:var(--text-secondary);font-family:var(--font-body);font-size:.9rem;font-weight:600}.form-group input[type=text],.form-group select,.form-group textarea{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;font-family:var(--font-body);font-size:1rem;padding:.5rem;transition:border-color .2s ease}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);outline:none}.form-group textarea{min-height:80px;resize:vertical}.color-input-group,.color-inputs{display:flex;gap:.5rem}.color-input-group{align-items:center}.color-input-group input[type=color]{border:1px solid var(--input-border);border-radius:6px;cursor:pointer;height:40px;padding:2px;width:40px}.color-text{flex:1 1;max-width:120px}.tag-input-group,.tags-list{display:flex;gap:.5rem}.tags-list{flex-wrap:wrap;margin-top:.5rem}.tag{background-color:var(--accent-light);border-radius:20px;display:inline-flex;font-size:.85rem;gap:.25rem;padding:.25rem .75rem}.remove-tag,.tag{align-items:center;color:#fff}.remove-tag{background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1.2rem;height:16px;justify-content:center;padding:0;transition:background-color .2s ease;width:16px}.remove-tag:hover{background-color:#ffffff4d}.simple-select-wrapper{position:relative}.texture-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%234f5d51' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px;padding-right:2rem;width:100%}.form-actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.btn-cancel,.btn-primary{border:none;border-radius:8px;cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s ease}.btn-cancel{background-color:#f0f0f0;color:var(--text-primary)}.btn-cancel:hover{background-color:#e0e0e0}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--button-hover);transform:translateY(-1px)}@media (max-width:768px){.glass-editor{margin:1rem;max-width:100%}.editor-preview{height:280px;width:280px}}.inventory-manager{background-color:var(--bg);display:flex;height:calc(100vh - 60px);overflow:hidden}.inventory-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden;padding:2rem}.inventory-header{flex-shrink:0;margin-bottom:2rem}.inventory-header h2{color:var(--text-primary);font-family:var(--font-heading);font-size:2rem;margin:0 0 .5rem}.inventory-stats{color:var(--text-secondary);font-size:1rem}.glass-carousel{margin-top:2rem}.glass-carousel-container{-webkit-overflow-scrolling:touch;margin:0 -2rem;overflow-x:auto;overflow-y:visible;padding:1rem 2rem 2rem;scrollbar-color:var(--accent) var(--border-color);scrollbar-width:thin}.glass-carousel-container::-webkit-scrollbar{height:8px}.glass-carousel-container::-webkit-scrollbar-track{background:var(--border-color);border-radius:4px}.glass-carousel-container::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}.glass-grid{display:flex;gap:1rem;padding-bottom:1rem}.inventory-sidebar{background-color:#fff;border-left:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow:hidden;width:280px}.sidebar-section{padding:1rem}.sidebar-section h3{font-size:1.1rem;margin:0 0 .75rem}.filter-select{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;font-family:var(--font-body);font-size:1rem;padding:.5rem;width:100%}.color-filter-wrapper{align-items:center;display:flex;gap:.5rem}.color-filter-select{flex:1 1}.color-indicator{border:1px solid var(--border-color);border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff4d;height:24px;width:24px}.action-buttons{gap:.5rem}.export-button,.import-button,.import-json-button{align-items:center;background-color:var(--button-bg);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;padding:.6rem 1.2rem;text-align:center;transition:background-color .2s ease;width:100%}.export-button:hover,.import-button:hover,.import-json-button:hover{background-color:var(--button-hover)}.import-json-button{background-color:initial;border:1px solid var(--accent);color:var(--accent);font-size:.9rem;padding:.5rem 1rem}.import-json-button:hover{background-color:var(--accent);color:#fff}.glass-card{background:#fff;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;overflow:visible;position:relative;transition:all .2s ease;width:360px}.glass-image-container{border-radius:10px 10px 0 0;height:360px;overflow:hidden;position:relative;width:360px}.glass-image{height:100%;object-fit:cover;width:100%}.glass-info{background:#fff;border-radius:0 0 10px 10px;border-top:1px solid var(--border-color);min-height:80px;padding:1rem}.glass-name{color:var(--text-primary);font-size:1rem;font-weight:500;margin:0 0 .5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-details{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.75rem}.detail-item{position:relative}.detail-item:not(:last-child):after{color:var(--border-color);content:"•";position:absolute;right:-.4rem}.glass-card .color-info,.glass-card .glass-meta{display:none}.glass-actions{bottom:10px;display:flex;gap:.5rem;opacity:0;position:absolute;right:10px;transition:opacity .2s ease}.glass-card:hover .glass-actions{opacity:1}.glass-actions .action-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease}.glass-actions .edit{background-color:var(--accent);color:#fff}.glass-actions .edit:hover{background-color:var(--button-hover)}.glass-actions .delete{background-color:#f0f0f0;color:var(--text-secondary)}.glass-actions .delete:hover{background-color:#e0e0e0;color:#d32f2f}.glass-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.glass-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px #547f6833}.glass-editor-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.glass-editor{background:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.editor-header{padding:1.5rem}.editor-header h3{color:var(--text-primary);font-family:var(--font-heading);margin:0}.editor-body{padding:1.5rem}.editor-actions{background-color:#f9f9f9;border-top:1px solid var(--border-color);gap:1rem;justify-content:flex-end;padding:1.5rem}.sidebar-section .glass-uploader{margin:0}.sidebar-section .dropzone{background:var(--bg);border:2px dashed var(--input-border);border-radius:8px;cursor:pointer;padding:1.5rem 1rem;text-align:center;transition:all .2s ease}.sidebar-section .dropzone.active,.sidebar-section .dropzone:hover{background-color:#fff;border-color:var(--accent)}.sidebar-section .dropzone-content{pointer-events:none}@media (max-width:768px){.inventory-manager{flex-direction:column}.inventory-sidebar{border-left:none;border-top:1px solid var(--border-color);width:100%}.glass-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.template-coverflow{align-items:center;background:linear-gradient(180deg,#0000,#0000000d);border-radius:10px;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:2rem 0;position:relative;width:100%}.template-coverflow .coverflow-container{cursor:grab;flex:1 1;min-height:0;perspective:1200px;position:relative;-webkit-user-select:none;user-select:none;width:100%}.template-coverflow .coverflow-container:active{cursor:grabbing}.template-coverflow .coverflow-track{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transform-style:preserve-3d;width:100%}.template-coverflow .coverflow-item{position:absolute;transform-style:preserve-3d;transition:all .5s cubic-bezier(.4,0,.2,1);width:360px;will-change:transform,opacity}.template-coverflow .coverflow-item.active{cursor:pointer}.template-card{background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 10px 40px #0000004d;cursor:pointer;display:flex;flex-direction:column;overflow:visible;position:relative;transition:all .2s ease;width:360px}.template-coverflow .coverflow-item.active .template-card{box-shadow:0 20px 60px #0006}.template-image-container{background:#f9f9f9;border-radius:10px 10px 0 0;height:360px;overflow:hidden;position:relative;width:360px}.template-image-container,.template-svg-preview{align-items:center;display:flex;justify-content:center}.template-svg-preview{height:100%;padding:20px;width:100%}.template-svg-preview svg{height:auto!important;max-height:100%;max-width:100%;width:auto!important}.template-placeholder{color:var(--text-secondary);font-size:1.2rem}.template-info{background:#fff;border-radius:0 0 10px 10px;border-top:1px solid var(--border-color);min-height:80px;padding:1rem}.template-name{color:var(--text-primary);font-size:1rem;font-weight:500;margin:0 0 .5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-details{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.75rem}.template-details .detail-item{position:relative}.template-details .detail-item:not(:last-child):after{color:var(--border-color);content:"•";position:absolute;right:-.4rem}.template-actions{bottom:10px;display:flex;gap:.5rem;opacity:0;position:absolute;right:10px;transition:opacity .2s ease}.template-card:hover .template-actions{opacity:1}.template-actions .action-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease}.template-actions .edit{background-color:var(--accent);color:#fff}.template-actions .edit:hover{background-color:var(--button-hover)}.template-actions .delete{background-color:#f0f0f0;color:var(--text-secondary)}.template-actions .delete:hover{background-color:#e0e0e0;color:#d32f2f}.template-card:hover{transform:translateY(-2px)}.template-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px #547f6833}.template-coverflow .coverflow-controls{align-items:center;display:flex;flex-shrink:0;gap:2rem;margin-top:2rem}.template-coverflow .coverflow-nav{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.5rem;font-weight:300;height:48px;justify-content:center;transition:all .2s ease;width:48px}.template-coverflow .coverflow-nav:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.1)}.template-coverflow .coverflow-indicators{align-items:center;display:flex;gap:.5rem}.template-coverflow .indicator{background:var(--border-color);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:all .3s ease;width:8px}.template-coverflow .indicator.active{background:var(--accent);border-radius:4px;width:24px}.template-coverflow .indicator:hover:not(.active){background:var(--accent-light)}.template-card:after{background:inherit;content:"";filter:blur(10px);height:100%;left:0;mask-image:linear-gradient(180deg,#0000004d,#0000 30%);-webkit-mask-image:linear-gradient(180deg,#0000004d,#0000 30%);opacity:.1;pointer-events:none;position:absolute;right:0;top:100%;transform:scaleY(-1)}@media (max-width:768px){.template-coverflow{min-height:500px;padding:1rem 0}.template-coverflow .coverflow-container{min-height:400px}.template-card,.template-coverflow .coverflow-item{width:280px}.template-image-container{height:280px;width:280px}}.glass-placement-preview{z-index:1000}.glass-placement-panel{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:250px;padding:15px}.glass-placement-panel h4{color:#333;font-size:16px;margin:0 0 15px}.placement-preview{border:2px solid #4da6ff;height:100%;opacity:.9;overflow:hidden;position:relative;width:100%}.glass-texture-preview{transition:transform .1s}.glass-color-preview{opacity:.9}.grain-direction-indicator{height:80%;left:50%;margin-left:-40%;margin-top:-40%;pointer-events:none;position:absolute;top:50%;transform-origin:center;transition:transform .1s;width:80%}.grain-line{background-color:#ff9800cc;height:100%;margin-left:-1px;top:0;width:2px}.grain-arrow,.grain-line{left:50%;position:absolute}.grain-arrow{color:#ff9800;font-size:20px;font-weight:700;text-shadow:0 0 4px #00000080;top:10px;transform:translateX(-50%)}.placement-controls{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:250px;padding:15px;z-index:101}.rotation-control{position:relative}.rotation-control label{color:#333;font-size:14px;font-weight:500;margin-bottom:5px}.rotation-control:before{background-color:#999;bottom:12px;content:"";height:10px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);width:2px;z-index:1}.rotation-slider{background:linear-gradient(90deg,#e8e8e8 0,#ddd 50%,#e8e8e8);border-radius:3px;height:6px;position:relative}.rotation-slider::-webkit-slider-thumb{height:18px;width:18px}.rotation-slider::-moz-range-thumb{height:18px;width:18px}.cancel-btn,.confirm-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.confirm-btn{background-color:#4caf50;color:#fff}.confirm-btn:hover{background-color:#45a049}.cancel-btn{background-color:#f44336;color:#fff}.cancel-btn:hover{background-color:#da190b}.glass-placement-preview .placement-preview{border:2px solid #4da6ff;box-shadow:0 0 8px #4da6ff66}.design-canvas{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.canvas-controls{background-color:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;display:flex;gap:5px;left:20px;padding:5px;position:absolute;top:20px;z-index:10}.canvas-controls button{align-items:center;background-color:#fff;border:none;border-radius:4px;color:#333;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:36px;justify-content:center;min-width:36px;padding:0 8px;transition:all .2s}.canvas-controls button:hover{background-color:#f0f0f0}.canvas-controls .zoom-level{align-items:center;border-left:1px solid #ddd;color:#666;display:flex;font-size:14px;padding:0 10px}.canvas-viewport{background-color:#f0f0f0;background-image:linear-gradient(45deg,#e0e0e0 25%,#0000 0),linear-gradient(-45deg,#e0e0e0 25%,#0000 0),linear-gradient(45deg,#0000 75%,#e0e0e0 0),linear-gradient(-45deg,#0000 75%,#e0e0e0 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;cursor:grab;flex:1 1;overflow:hidden;position:relative}.canvas-viewport.panning{cursor:grabbing}.svg-container{left:50%;position:absolute;top:50%}.svg-content-wrapper{pointer-events:auto;position:relative}.svg-content-wrapper svg{display:block;height:100%;pointer-events:auto;width:100%}.svg-container [data-piece-index]{transition:all .2s}.svg-container [data-piece-index]:hover{filter:brightness(1.1) drop-shadow(0 0 4px rgba(0,0,0,.3))}.svg-container [data-piece-index].selected-piece{animation:pulse-selection 2s ease-in-out infinite}@keyframes pulse-selection{0%,to{stroke-width:4px;filter:drop-shadow(0 0 8px rgba(0,128,255,.6))}50%{stroke-width:5px;filter:drop-shadow(0 0 12px rgba(0,128,255,.8))}}.pattern-editor-canvas{background-color:var(--bg);display:flex;flex-direction:column;height:100vh}.editor-header{background-color:#fff;border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000000d;justify-content:space-between;padding:1.5rem 2rem}.back-btn,.editor-header{align-items:center;display:flex}.back-btn{background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:500;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s}.back-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateX(-2px)}.editor-header h2{color:var(--text-primary);font-family:var(--font-heading);font-size:1.5rem;font-weight:600;margin:0}.editor-actions{align-items:center;display:flex;gap:10px}.piece-count{background:var(--bg);border-radius:6px;color:var(--text-secondary);font-size:.9rem;padding:.4rem .8rem}.delete-btn,.piece-count{font-family:var(--font-body)}.delete-btn{background-color:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s}.delete-btn:hover{background-color:#c82333;transform:translateY(-1px)}.editor-layout{display:flex;flex:1 1;overflow:hidden}.editor-layout .design-canvas{flex:1 1}.shapes-panel{background:#fff;border-left:1px solid var(--border-color);box-shadow:-2px 0 8px #0000000d;display:flex;flex-direction:column;width:320px}.shapes-panel h3{background-color:var(--bg);border-bottom:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-heading);font-size:1.1rem;font-weight:600;margin:0;padding:1rem 1.5rem}.shapes-list{flex:1 1;overflow-y:auto;padding:20px}.shape-item{align-items:center;background-color:var(--bg);border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:1rem;margin-bottom:.5rem;padding:1rem;position:relative;transition:all .2s}.shape-item:hover{background-color:#fff;border-color:var(--border-color)}.shape-item.selected{background-color:#547f681a;border-color:var(--accent)}.shape-number{align-items:center;background-color:var(--accent);border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;font-family:var(--font-body);font-size:.9rem;font-weight:600;height:40px;justify-content:center;width:40px}.shape-info{align-items:center;flex:1 1;gap:10px}.shape-type{color:var(--text-secondary);font-family:var(--font-body);font-size:.9rem}.shape-color{border:1px solid var(--border-color);border-radius:4px;height:20px;width:20px}.delete-shape-btn{align-items:center;background-color:initial;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;opacity:0;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s;width:30px}.shape-item:hover .delete-shape-btn{opacity:.6}.delete-shape-btn:hover{background-color:#dc35451a;color:#dc3545;opacity:1!important}.deleted-info{background-color:#ffc1071a;border-top:1px solid var(--border-color);padding:1.5rem}.deleted-info p{color:var(--text-secondary);font-family:var(--font-body);font-size:.9rem;margin:0 0 .75rem}.undo-all-btn{background-color:#ffc107;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;font-family:var(--font-body);font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.undo-all-btn:hover{background-color:#e0a800}.delete-confirm-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-confirm-dialog{background-color:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;max-width:400px;padding:2rem;width:90%}.delete-confirm-dialog h3{color:var(--text-primary);font-family:var(--font-heading);font-size:1.25rem;font-weight:600;margin:0 0 1rem}.delete-confirm-dialog p{color:var(--text-secondary);font-family:var(--font-body);font-size:1rem;margin:0 0 1.5rem}.confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-no,.confirm-yes{border:none;border-radius:8px;cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s}.confirm-yes{background-color:#dc3545;color:#fff}.confirm-yes:hover{background-color:#c82333;transform:translateY(-1px)}.confirm-no{background-color:#f0f0f0;color:var(--text-primary)}.confirm-no:hover{background-color:#e0e0e0}.pattern-manager{background-color:var(--bg);display:flex;height:calc(100vh - 60px);overflow:hidden}.pattern-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:2rem}.pattern-header{flex-shrink:0;margin-bottom:2rem}.pattern-header h2{color:var(--text-primary);font-family:var(--font-heading);font-size:2rem;margin:0 0 .5rem}.pattern-subtitle{color:var(--text-secondary);font-size:1rem}.pattern-sidebar{background-color:#fff;border-left:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow:hidden;width:320px}.sidebar-content{flex:1 1;overflow-x:hidden;overflow-y:auto}.sidebar-section{border-bottom:1px solid var(--border-color);padding:1.5rem}.sidebar-section h3{color:var(--text-primary);font-family:var(--font-heading);font-size:1.2rem;margin:0 0 1rem}.search-input{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;font-family:var(--font-body);font-size:1rem;padding:.5rem}.search-input:focus{border-color:var(--accent);outline:none}.filter-group{margin-bottom:1rem}.filter-label{color:var(--text-secondary);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.filter-input,.filter-select{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;font-family:var(--font-body);font-size:1rem;padding:.5rem;width:100%}input[type=number].filter-input{-moz-appearance:textfield}input[type=number].filter-input::-webkit-inner-spin-button,input[type=number].filter-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.export-button,.import-button{background-color:var(--button-bg);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.6rem 1.2rem;text-align:center;transition:background-color .2s ease}.export-button:hover,.import-button:hover{background-color:var(--button-hover)}.reset-button{background-color:initial;border:1px solid #dc3545;border-radius:8px;color:#dc3545;cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:600;padding:.6rem 1.2rem;text-align:center;transition:all .2s ease}.reset-button:hover{background-color:#dc3545;color:#fff}.reset-button:disabled{cursor:not-allowed;opacity:.6}.pattern-gallery{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:2rem}.pattern-card{background:#fff;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease}.pattern-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.pattern-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px #547f6833}.pattern-preview{align-items:center;background:#f9f9f9;display:flex;height:200px;justify-content:center;padding:1rem;width:100%}.pattern-preview svg{height:auto;max-height:100%;max-width:100%;width:auto}.pattern-info{padding:1rem}.pattern-name{color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.pattern-details{color:var(--text-secondary);font-size:.9rem}.pattern-actions{display:flex;gap:.5rem;margin-top:.75rem}.delete-btn,.edit-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.9rem;padding:.4rem .8rem;transition:all .2s ease}.edit-btn{background-color:var(--accent-light);color:#fff}.edit-btn:hover{background-color:var(--accent)}.delete-btn{background-color:#f0f0f0;color:var(--text-secondary)}.delete-btn:hover{background-color:#e0e0e0;color:#d32f2f}.pattern-uploader{background:#fff;border:2px dashed var(--input-border);border-radius:10px;cursor:pointer;padding:2rem;text-align:center;transition:all .2s ease}.pattern-uploader:hover{background-color:#f9f9f9;border-color:var(--accent)}.sidebar-section .pattern-uploader{background:var(--bg);border-radius:8px;padding:1.5rem 1rem}.sidebar-section .pattern-uploader:hover{background-color:#fff}.sidebar-section .upload-text{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0}.upload-icon{font-size:2.5rem;margin-bottom:1rem;opacity:.6}.upload-text{margin-bottom:.5rem}.upload-hint,.upload-text{color:var(--text-secondary)}.upload-hint{font-size:.9rem;opacity:.8}.empty-state{color:var(--text-secondary);padding:4rem 2rem;text-align:center}.empty-state h3{color:var(--text-primary);font-family:var(--font-heading);margin-bottom:1rem}.pattern-editor-modal{background:#0000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.pattern-editor{background:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}@media (max-width:768px){.pattern-manager{flex-direction:column}.pattern-sidebar{border-left:none;border-top:1px solid var(--border-color);width:100%}.pattern-gallery{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.side-panel{background-color:#fff;box-shadow:-2px 0 8px #0000001a;height:100%;position:absolute;right:0;top:0;transition:transform .3s ease;width:320px;z-index:20}.side-panel:not(.open){transform:translateX(100%)}.panel-toggle{background-color:#fff;border:none;border-radius:6px 0 0 6px;box-shadow:-2px 0 4px #0000001a;color:#666;cursor:pointer;font-size:20px;height:60px;left:-30px;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s;width:30px}.panel-toggle:hover{background-color:#f0f0f0;color:#333}.panel-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.panel-tabs{background-color:#f8f8f8;border-bottom:1px solid #ddd;display:flex}.panel-tabs .tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:14px;padding:12px;transition:all .2s}.panel-tabs .tab:hover{background-color:#f0f0f0}.panel-tabs .tab.active{background-color:#fff;border-bottom-color:#4da6ff;color:#333;font-weight:500}.inventory-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.applied-content{flex:1 1;overflow-y:auto;padding:20px}.search-filter{border-bottom:1px solid #eee;padding:15px 20px}.search-input{border:1px solid #ddd;border-radius:4px;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s;width:100%}.search-input:focus{border-color:#4da6ff}.glass-placement-section{background-color:#f9f9f9;border-bottom:2px solid #ddd;margin-bottom:10px;padding:20px}.glass-placement-section h3{color:#666;font-size:14px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.placement-preview-info{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:15px;padding:8px 12px}.placement-preview-info .glass-name{color:#333;font-size:14px;font-weight:500}.placement-preview-info .shape-info{color:#666;font-size:13px}.rotation-control{margin-bottom:15px}.rotation-control label{color:#666;display:block;font-size:13px;margin-bottom:8px}.rotation-slider{appearance:none;background:#ddd;border-radius:2px;cursor:pointer;height:4px;outline:none;width:100%}.rotation-slider::-webkit-slider-thumb{appearance:none;background:#4da6ff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;-webkit-transition:all .2s;transition:all .2s;width:16px}.rotation-slider::-webkit-slider-thumb:hover{background:#0080ff;transform:scale(1.1)}.rotation-slider::-moz-range-thumb{background:#4da6ff;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;-moz-transition:all .2s;transition:all .2s;width:16px}.rotation-slider::-moz-range-thumb:hover{background:#0080ff;transform:scale(1.1)}.placement-actions{display:flex;gap:10px}.placement-actions button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.placement-actions .confirm-btn{background-color:#4da6ff;color:#fff}.placement-actions .confirm-btn:hover{background-color:#0080ff;box-shadow:0 2px 8px #4da6ff4d;transform:translateY(-1px)}.placement-actions .cancel-btn{background-color:#f0f0f0;color:#666}.placement-actions .cancel-btn:hover{background-color:#e0e0e0;color:#333}.selection-hint{background-color:#f0f8ff;border-bottom:1px solid #ddd;padding:20px;text-align:center}.selection-hint p{color:#4da6ff;font-size:14px;font-weight:500;margin:0}.glass-container{flex:1 1;overflow-y:auto;padding:12px}.panel-section{margin-bottom:30px}.panel-section:last-child{margin-bottom:0}.panel-section h3{color:#333;font-size:16px;margin:0 0 15px}.glass-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);width:100%}.glass-tile{align-items:center;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;min-height:100px;padding:5px;text-align:center;transition:all .2s}.glass-tile:hover{transform:translateY(-2px)}.glass-preview{background-position:50%;background-size:cover;border:1px solid #ddd;border-radius:4px;height:60px;overflow:hidden;width:60px}.glass-preview.color-only{border:2px solid #ccc}.glass-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:11px;line-height:1.3;margin-top:4px;min-height:28px;overflow:hidden;text-align:center;text-overflow:ellipsis;width:100%;word-break:break-word}.applied-list{display:flex;flex-direction:column;gap:8px}.applied-item{align-items:center;background-color:#f8f8f8;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;transition:all .2s}.applied-item:hover{background-color:#f0f0f0}.applied-item.selected{background-color:#e3f2ff;border-color:#4da6ff}.shape-info{display:flex;flex-direction:column;gap:2px}.shape-label{color:#333;font-size:14px;font-weight:500}.glass-name{color:#666;font-size:12px}.shape-actions{align-items:center;display:flex;gap:10px}.rotation-info{color:#999;font-size:12px}.remove-btn{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;height:24px;line-height:1;transition:background-color .2s;width:24px}.remove-btn:hover{background-color:#c0392b}.usage-list{display:flex;flex-direction:column;gap:12px}.usage-item{background-color:#f8f8f8;border-radius:6px;padding:12px}.usage-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.usage-header .glass-name{color:#333;font-weight:500}.usage-count{color:#4da6ff;font-size:14px;font-weight:500}.usage-shapes{color:#666;font-size:12px}.empty-message{color:#999;font-style:italic;padding:20px;text-align:center}.design-workspace{background-color:var(--bg);display:flex;flex-direction:column;height:calc(100vh - 80px)}.workspace-header{align-items:center;background-color:#fff;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:20px;padding:1rem 2rem}.template-selector{align-items:center;display:flex;gap:10px}.template-selector label{color:var(--text-primary);font-family:var(--font-body);font-weight:600}.template-selector select{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;font-family:var(--font-body);font-size:1rem;min-width:200px;padding:.5rem}.project-name{display:flex;flex:1 1;justify-content:center}.project-name input{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;font-family:var(--font-body);font-size:1rem;font-weight:500;padding:.5rem 1rem;text-align:center;width:300px}.workspace-actions{display:flex;gap:.5rem}.export-button,.print-button{align-items:center;background-color:var(--button-bg);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:6px;padding:.6rem 1.2rem;transition:background-color .2s ease}.export-button:hover,.print-button:hover{background-color:var(--button-hover)}.workspace-content{background-color:#f0f0f0;flex:1 1;overflow:hidden;position:relative}.empty-workspace{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.empty-workspace h2{color:var(--text-primary);font-family:var(--font-heading);margin-bottom:10px}.loading{align-items:center;color:var(--text-secondary);display:flex;font-size:1.1rem;height:100%;justify-content:center}@media (max-width:768px){.workspace-header{flex-wrap:wrap}.project-name{margin-top:10px;order:3;width:100%}.project-name input{width:100%}}
/*# sourceMappingURL=main.d0267ac7.css.map*/